diff --git a/src/main/java/geoinfo/admins/main/MainController.java b/src/main/java/geoinfo/admins/main/MainController.java index eb21d3d..0fe7c92 100644 --- a/src/main/java/geoinfo/admins/main/MainController.java +++ b/src/main/java/geoinfo/admins/main/MainController.java @@ -186,12 +186,12 @@ public class MainController { EgovMap getMemberInfo = mainService.getMemberInfo(params); if( getMemberInfo != null ) { if( getMemberInfo != null && getMemberInfo.get("cls") != null) { - System.out.println("mainService.getMemberInfo - 후:" + getMemberInfo.get("cls").toString()); + System.out.println("mainService.getMemberInfo - 후:" + getMemberInfo.get("cls").toString() + "- IP:" + ipAdd); } else { - System.out.println("mainService.getMemberInfo - 후: getMemberInfo.get(\"cls\") is null"); + System.out.println("mainService.getMemberInfo - 후: getMemberInfo.get(\"cls\") is null - IP:" + ipAdd); } } else { - System.out.println("mainService.getMemberInfo - 후: null"); + System.out.println("mainService.getMemberInfo - 후: null - IP:" + ipAdd); } if (getMemberInfo != null) { diff --git a/src/main/java/geoinfo/admins/user/GeneralUserMngController.java b/src/main/java/geoinfo/admins/user/GeneralUserMngController.java index 449644d..f8fab44 100644 --- a/src/main/java/geoinfo/admins/user/GeneralUserMngController.java +++ b/src/main/java/geoinfo/admins/user/GeneralUserMngController.java @@ -672,8 +672,7 @@ public class GeneralUserMngController { "\n--------------------------------------------------------------\n" + "strJSON" + strJSON + "\n" + "\n--------------------------------------------------------------\n" - ); - + ); JSONParser jsonParser = new JSONParser(); JSONArray jsonArr = null; boolean isFail = false; @@ -697,7 +696,6 @@ public class GeneralUserMngController { long lWvtRegId = MyUtil.getLongFromObject(hashMap.get("p_wvt_reg_id")); - if( nRetCode == 100 ) { jsonResponse.put("resultCode", nRetCode); jsonResponse.put("result", "true"); diff --git a/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java b/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java index dd44367..ca8f65a 100644 --- a/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java +++ b/src/main/java/geoinfo/admins/user/service/impl/HomeTrainingServiceImpl.java @@ -32,16 +32,16 @@ public class HomeTrainingServiceImpl implements HomeTrainingService { @Override public HashMap addHomeTraining(HttpServletRequest request, HttpServletResponse response, HashMap params) throws Exception { - + if (!UserInfo.isValidSession(request, response, "admin")) { throw new Exception("로그인이 필요한 서비스입니다."); } + System.out.println( "thkim test 5"); params.put("trainingAdmin", "류지송"); params.put("trainingTel", "031-995-0934"); String userId = (String)request.getSession().getAttribute("admin.userID"); - params.put("userId", userId); - + params.put("userId", userId); String str = MyUtil.getStringFromObject(params.get("trainingDatetime") ); // DateTimeFormatter를 사용하여 문자열을 LocalDateTime으로 파싱합니다. DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; diff --git a/src/main/webapp/WEB-INF/views/admins/user/home-training-index.jsp b/src/main/webapp/WEB-INF/views/admins/user/home-training-index.jsp index fb1c594..1cce9ed 100644 --- a/src/main/webapp/WEB-INF/views/admins/user/home-training-index.jsp +++ b/src/main/webapp/WEB-INF/views/admins/user/home-training-index.jsp @@ -157,6 +157,15 @@ const wvtRegId = e.getAttribute('data-seq'); const trainingName = e.getAttribute('data-training-name'); + + // 클릭된 행에서 input radio 요소 찾기 + const radioInput = e.querySelector('input[type="radio"][name="wht-reg-id"]'); + + // input radio 요소 체크 + if (radioInput) { + radioInput.checked = true; + } + xhr.open('GET', 'home-training-index/item/list.do?wvtRegId=' + wvtRegId, true); xhr.setRequestHeader('Content-type', 'application/json'); @@ -231,9 +240,9 @@ } else if( stateCode === 'C' ) { return '취소됨'; } else if( stateCode === 'P' ) { - return '예정'; + return '오픈전'; } else if( stateCode === 'F' ) { - return '마감'; + return '마감됨'; } } @@ -249,8 +258,18 @@ const homeVisitListEle = document.getElementById('home-visit-list'); let homeVisitListHTML = ''; + + let aliveEducationsCount = 0; for( idx in data ) { + ////A:접수중,D:삭제,C:취소,P:예정,F:마감 + if( data[idx].stateCode === 'D' ) { + continue; + } else if( data[idx].stateCode === 'C' ) { + continue; + } + aliveEducationsCount++; + homeVisitListHTML += ` @@ -264,7 +283,7 @@ `; } - if( data.length === 0 ) { + if( aliveEducationsCount === 0 ) { homeVisitListHTML = ` @@ -375,6 +394,48 @@ xhr.send(JSON.stringify(jsonData)); }); } + + const trainingDatetimeInput = document.getElementById('training-datetime'); + const regEndDateInput = document.getElementById('reg-end-date'); + + trainingDatetimeInput.addEventListener('change', function() { + const selectedDatetime = new Date(this.value); + const year = selectedDatetime.getFullYear(); + const month = ('0' + (selectedDatetime.getMonth() + 1)).slice(-2); + const day = ('0' + selectedDatetime.getDate()).slice(-2); + const formattedDate = year + '-' + month + '-' + day; + + regEndDateInput.value = formattedDate; + + + let [date, time] = this.value.split('T'); + time = time.split(':'); + time[1] = '00'; // 분을 00으로 설정 + const newDatetime = date + 'T' + time.join(':'); + this.value = newDatetime; + + }); + + + + { + const regStartDateInput = document.getElementById('reg-start-date'); + + const today = new Date(); + const year = today.getFullYear(); + const month = ('0' + (today.getMonth() + 1)).slice(-2); + const day = ('0' + today.getDate()).slice(-2); + const formattedDate = year + '-' + month + '-' + day; + + regStartDateInput.value = formattedDate; + + } + + + + + + updateList(); }); @@ -433,10 +494,10 @@ - - - - ~ + + + + ~ diff --git a/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc b/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc new file mode 100644 index 0000000..9a7ff33 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc @@ -0,0 +1,12 @@ +#!/bin/sh +basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") + +case `uname` in + *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;; +esac + +if [ -x "$basedir/node" ]; then + exec "$basedir/node" "$basedir/../detect-libc/bin/detect-libc.js" "$@" +else + exec node "$basedir/../detect-libc/bin/detect-libc.js" "$@" +fi diff --git a/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc.cmd b/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc.cmd new file mode 100644 index 0000000..1c5d86d --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc.cmd @@ -0,0 +1,17 @@ +@ECHO off +GOTO start +:find_dp0 +SET dp0=%~dp0 +EXIT /b +:start +SETLOCAL +CALL :find_dp0 + +IF EXIST "%dp0%\node.exe" ( + SET "_prog=%dp0%\node.exe" +) ELSE ( + SET "_prog=node" + SET PATHEXT=%PATHEXT:;.JS;=;% +) + +endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%" "%dp0%\..\detect-libc\bin\detect-libc.js" %* diff --git a/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc.ps1 b/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc.ps1 new file mode 100644 index 0000000..5ebeae1 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/.bin/detect-libc.ps1 @@ -0,0 +1,28 @@ +#!/usr/bin/env pwsh +$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent + +$exe="" +if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) { + # Fix case when both the Windows and Linux builds of Node + # are installed in the same directory + $exe=".exe" +} +$ret=0 +if (Test-Path "$basedir/node$exe") { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "$basedir/node$exe" "$basedir/../detect-libc/bin/detect-libc.js" $args + } else { + & "$basedir/node$exe" "$basedir/../detect-libc/bin/detect-libc.js" $args + } + $ret=$LASTEXITCODE +} else { + # Support pipeline input + if ($MyInvocation.ExpectingInput) { + $input | & "node$exe" "$basedir/../detect-libc/bin/detect-libc.js" $args + } else { + & "node$exe" "$basedir/../detect-libc/bin/detect-libc.js" $args + } + $ret=$LASTEXITCODE +} +exit $ret diff --git a/src/main/webapp/css/admins/sass/node_modules/.package-lock.json b/src/main/webapp/css/admins/sass/node_modules/.package-lock.json index 32ba8c7..23f4fc8 100644 --- a/src/main/webapp/css/admins/sass/node_modules/.package-lock.json +++ b/src/main/webapp/css/admins/sass/node_modules/.package-lock.json @@ -4,27 +4,55 @@ "lockfileVersion": 3, "requires": true, "packages": { - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "engines": { - "node": ">=8" + "node": ">= 10.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/braces": { @@ -39,26 +67,28 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "engines": { + "node": ">=0.10" } }, "node_modules/fill-range": { @@ -72,32 +102,10 @@ "node": ">=8" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/immutable": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", - "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -126,14 +134,23 @@ "node": ">=0.12.0" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -146,22 +163,24 @@ } }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/sass": { - "version": "1.77.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz", - "integrity": "sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==", + "version": "1.80.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.4.tgz", + "integrity": "sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w==", "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", + "@parcel/watcher": "^2.4.1", + "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, @@ -173,9 +192,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/LICENSE b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/LICENSE new file mode 100644 index 0000000..7fb9bc9 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/README.md b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/README.md new file mode 100644 index 0000000..7620831 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/README.md @@ -0,0 +1 @@ +This is the win32-x64 build of @parcel/watcher. See https://github.com/parcel-bundler/watcher for details. \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/package.json b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/package.json new file mode 100644 index 0000000..c0f8fd8 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/package.json @@ -0,0 +1,30 @@ +{ + "name": "@parcel/watcher-win32-x64", + "version": "2.4.1", + "main": "watcher.node", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/watcher.git" + }, + "description": "A native C++ Node module for querying and subscribing to filesystem events. Used by Parcel 2.", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "files": [ + "watcher.node" + ], + "engines": { + "node": ">= 10.0.0" + }, + "os": [ + "win32" + ], + "cpu": [ + "x64" + ] +} diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/watcher.node b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/watcher.node new file mode 100644 index 0000000..05b5723 Binary files /dev/null and b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher-win32-x64/watcher.node differ diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/LICENSE b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/LICENSE new file mode 100644 index 0000000..7fb9bc9 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017-present Devon Govett + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/README.md b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/README.md new file mode 100644 index 0000000..d212b93 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/README.md @@ -0,0 +1,135 @@ +# @parcel/watcher + +A native C++ Node module for querying and subscribing to filesystem events. Used by [Parcel 2](https://github.com/parcel-bundler/parcel). + +## Features + +- **Watch** - subscribe to realtime recursive directory change notifications when files or directories are created, updated, or deleted. +- **Query** - performantly query for historical change events in a directory, even when your program is not running. +- **Native** - implemented in C++ for performance and low-level integration with the operating system. +- **Cross platform** - includes backends for macOS, Linux, Windows, FreeBSD, and Watchman. +- **Performant** - events are throttled in C++ so the JavaScript thread is not overwhelmed during large filesystem changes (e.g. `git checkout` or `npm install`). +- **Scalable** - tens of thousands of files can be watched or queried at once with good performance. + +## Example + +```javascript +const watcher = require('@parcel/watcher'); +const path = require('path'); + +// Subscribe to events +let subscription = await watcher.subscribe(process.cwd(), (err, events) => { + console.log(events); +}); + +// later on... +await subscription.unsubscribe(); + +// Get events since some saved snapshot in the past +let snapshotPath = path.join(process.cwd(), 'snapshot.txt'); +let events = await watcher.getEventsSince(process.cwd(), snapshotPath); + +// Save a snapshot for later +await watcher.writeSnapshot(process.cwd(), snapshotPath); +``` + +## Watching + +`@parcel/watcher` supports subscribing to realtime notifications of changes in a directory. It works recursively, so changes in sub-directories will also be emitted. + +Events are throttled and coalesced for performance during large changes like `git checkout` or `npm install`, and a single notification will be emitted with all of the events at the end. + +Only one notification will be emitted per file. For example, if a file was both created and updated since the last event, you'll get only a `create` event. If a file is both created and deleted, you will not be notifed of that file. Renames cause two events: a `delete` for the old name, and a `create` for the new name. + +```javascript +let subscription = await watcher.subscribe(process.cwd(), (err, events) => { + console.log(events); +}); +``` + +Events have two properties: + +- `type` - the event type: `create`, `update`, or `delete`. +- `path` - the absolute path to the file or directory. + +To unsubscribe from change notifications, call the `unsubscribe` method on the returned subscription object. + +```javascript +await subscription.unsubscribe(); +``` + +`@parcel/watcher` has the following watcher backends, listed in priority order: + +- [FSEvents](https://developer.apple.com/documentation/coreservices/file_system_events) on macOS +- [Watchman](https://facebook.github.io/watchman/) if installed +- [inotify](http://man7.org/linux/man-pages/man7/inotify.7.html) on Linux +- [ReadDirectoryChangesW](https://msdn.microsoft.com/en-us/library/windows/desktop/aa365465%28v%3Dvs.85%29.aspx) on Windows +- [kqueue](https://man.freebsd.org/cgi/man.cgi?kqueue) on FreeBSD, or as an alternative to FSEvents on macOS + +You can specify the exact backend you wish to use by passing the `backend` option. If that backend is not available on the current platform, the default backend will be used instead. See below for the list of backend names that can be passed to the options. + +## Querying + +`@parcel/watcher` also supports querying for historical changes made in a directory, even when your program is not running. This makes it easy to invalidate a cache and re-build only the files that have changed, for example. It can be **significantly** faster than traversing the entire filesystem to determine what files changed, depending on the platform. + +In order to query for historical changes, you first need a previous snapshot to compare to. This can be saved to a file with the `writeSnapshot` function, e.g. just before your program exits. + +```javascript +await watcher.writeSnapshot(dirPath, snapshotPath); +``` + +When your program starts up, you can query for changes that have occurred since that snapshot using the `getEventsSince` function. + +```javascript +let events = await watcher.getEventsSince(dirPath, snapshotPath); +``` + +The events returned are exactly the same as the events that would be passed to the `subscribe` callback (see above). + +`@parcel/watcher` has the following watcher backends, listed in priority order: + +- [FSEvents](https://developer.apple.com/documentation/coreservices/file_system_events) on macOS +- [Watchman](https://facebook.github.io/watchman/) if installed +- [fts](http://man7.org/linux/man-pages/man3/fts.3.html) (brute force) on Linux and FreeBSD +- [FindFirstFile](https://docs.microsoft.com/en-us/windows/desktop/api/fileapi/nf-fileapi-findfirstfilea) (brute force) on Windows + +The FSEvents (macOS) and Watchman backends are significantly more performant than the brute force backends used by default on Linux and Windows, for example returning results in miliseconds instead of seconds for large directory trees. This is because a background daemon monitoring filesystem changes on those platforms allows us to query cached data rather than traversing the filesystem manually (brute force). + +macOS has good performance with FSEvents by default. For the best performance on other platforms, install [Watchman](https://facebook.github.io/watchman/) and it will be used by `@parcel/watcher` automatically. + +You can specify the exact backend you wish to use by passing the `backend` option. If that backend is not available on the current platform, the default backend will be used instead. See below for the list of backend names that can be passed to the options. + +## Options + +All of the APIs in `@parcel/watcher` support the following options, which are passed as an object as the last function argument. + +- `ignore` - an array of paths or glob patterns to ignore. uses [`is-glob`](https://github.com/micromatch/is-glob) to distinguish paths from globs. glob patterns are parsed with [`micromatch`](https://github.com/micromatch/micromatch) (see [features](https://github.com/micromatch/micromatch#matching-features)). + - paths can be relative or absolute and can either be files or directories. No events will be emitted about these files or directories or their children. + - glob patterns match on relative paths from the root that is watched. No events will be emitted for matching paths. +- `backend` - the name of an explicitly chosen backend to use. Allowed options are `"fs-events"`, `"watchman"`, `"inotify"`, `"kqueue"`, `"windows"`, or `"brute-force"` (only for querying). If the specified backend is not available on the current platform, the default backend will be used instead. + +## WASM + +The `@parcel/watcher-wasm` package can be used in place of `@parcel/watcher` on unsupported platforms. It relies on the Node `fs` module, so in non-Node environments such as browsers, an `fs` polyfill will be needed. + +**Note**: the WASM implementation is significantly less efficient than the native implementations because it must crawl the file system to watch each directory individually. Use the native `@parcel/watcher` package wherever possible. + +```js +import {subscribe} from '@parcel/watcher-wasm'; + +// Use the module as documented above. +subscribe(/* ... */); +``` + +## Who is using this? + +- [Parcel 2](https://parceljs.org/) +- [VSCode](https://code.visualstudio.com/updates/v1_62#_file-watching-changes) +- [Tailwind CSS Intellisense](https://github.com/tailwindlabs/tailwindcss-intellisense) +- [Gatsby Cloud](https://twitter.com/chatsidhartha/status/1435647412828196867) +- [Nx](https://nx.dev) +- [Nuxt](https://nuxt.com) + +## License + +MIT diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.d.ts new file mode 100644 index 0000000..07ce9b5 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.d.ts @@ -0,0 +1,49 @@ +declare type FilePath = string; +declare type GlobPattern = string; + +declare namespace ParcelWatcher { + export type BackendType = + | 'fs-events' + | 'watchman' + | 'inotify' + | 'windows' + | 'brute-force'; + export type EventType = 'create' | 'update' | 'delete'; + export interface Options { + ignore?: (FilePath|GlobPattern)[]; + backend?: BackendType; + } + export type SubscribeCallback = ( + err: Error | null, + events: Event[] + ) => unknown; + export interface AsyncSubscription { + unsubscribe(): Promise; + } + export interface Event { + path: FilePath; + type: EventType; + } + export function getEventsSince( + dir: FilePath, + snapshot: FilePath, + opts?: Options + ): Promise; + export function subscribe( + dir: FilePath, + fn: SubscribeCallback, + opts?: Options + ): Promise; + export function unsubscribe( + dir: FilePath, + fn: SubscribeCallback, + opts?: Options + ): Promise; + export function writeSnapshot( + dir: FilePath, + snapshot: FilePath, + opts?: Options + ): Promise; +} + +export = ParcelWatcher; \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.js b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.js new file mode 100644 index 0000000..8afb2b1 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.js @@ -0,0 +1,41 @@ +const {createWrapper} = require('./wrapper'); + +let name = `@parcel/watcher-${process.platform}-${process.arch}`; +if (process.platform === 'linux') { + const { MUSL, family } = require('detect-libc'); + if (family === MUSL) { + name += '-musl'; + } else { + name += '-glibc'; + } +} + +let binding; +try { + binding = require(name); +} catch (err) { + handleError(err); + try { + binding = require('./build/Release/watcher.node'); + } catch (err) { + handleError(err); + try { + binding = require('./build/Debug/watcher.node'); + } catch (err) { + handleError(err); + throw new Error(`No prebuild or local build of @parcel/watcher found. Tried ${name}. Please ensure it is installed (don't use --no-optional when installing with npm). Otherwise it is possible we don't support your platform yet. If this is the case, please report an issue to https://github.com/parcel-bundler/watcher.`); + } + } +} + +function handleError(err) { + if (err?.code !== 'MODULE_NOT_FOUND') { + throw err; + } +} + +const wrapper = createWrapper(binding); +exports.writeSnapshot = wrapper.writeSnapshot; +exports.getEventsSince = wrapper.getEventsSince; +exports.subscribe = wrapper.subscribe; +exports.unsubscribe = wrapper.unsubscribe; diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.js.flow b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.js.flow new file mode 100644 index 0000000..d75da93 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/index.js.flow @@ -0,0 +1,48 @@ +// @flow +declare type FilePath = string; +declare type GlobPattern = string; + +export type BackendType = + | 'fs-events' + | 'watchman' + | 'inotify' + | 'windows' + | 'brute-force'; +export type EventType = 'create' | 'update' | 'delete'; +export interface Options { + ignore?: Array, + backend?: BackendType +} +export type SubscribeCallback = ( + err: ?Error, + events: Array +) => mixed; +export interface AsyncSubscription { + unsubscribe(): Promise +} +export interface Event { + path: FilePath, + type: EventType +} +declare module.exports: { + getEventsSince( + dir: FilePath, + snapshot: FilePath, + opts?: Options + ): Promise>, + subscribe( + dir: FilePath, + fn: SubscribeCallback, + opts?: Options + ): Promise, + unsubscribe( + dir: FilePath, + fn: SubscribeCallback, + opts?: Options + ): Promise, + writeSnapshot( + dir: FilePath, + snapshot: FilePath, + opts?: Options + ): Promise +} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/package.json b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/package.json new file mode 100644 index 0000000..6b2c950 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/package.json @@ -0,0 +1,83 @@ +{ + "name": "@parcel/watcher", + "version": "2.4.1", + "main": "index.js", + "types": "index.d.ts", + "repository": { + "type": "git", + "url": "https://github.com/parcel-bundler/watcher.git" + }, + "description": "A native C++ Node module for querying and subscribing to filesystem events. Used by Parcel 2.", + "license": "MIT", + "publishConfig": { + "access": "public" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "files": [ + "index.js", + "index.js.flow", + "index.d.ts", + "wrapper.js", + "package.json", + "README.md", + "LICENSE" + ], + "scripts": { + "prebuild": "prebuildify --napi --strip --tag-libc", + "format": "prettier --write \"./**/*.{js,json,md}\"", + "build": "node-gyp rebuild -j 8 --debug --verbose", + "test": "mocha" + }, + "engines": { + "node": ">= 10.0.0" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "*.{js,json,md}": [ + "prettier --write", + "git add" + ] + }, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "devDependencies": { + "esbuild": "^0.19.8", + "fs-extra": "^10.0.0", + "husky": "^7.0.2", + "lint-staged": "^11.1.2", + "mocha": "^9.1.1", + "napi-wasm": "^1.1.0", + "prebuildify": "^5.0.1", + "prettier": "^2.3.2" + }, + "binary": { + "napi_versions": [ + 3 + ] + }, + "optionalDependencies": { + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1" + } +} diff --git a/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/wrapper.js b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/wrapper.js new file mode 100644 index 0000000..496d56b --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/@parcel/watcher/wrapper.js @@ -0,0 +1,77 @@ +const path = require('path'); +const micromatch = require('micromatch'); +const isGlob = require('is-glob'); + +function normalizeOptions(dir, opts = {}) { + const { ignore, ...rest } = opts; + + if (Array.isArray(ignore)) { + opts = { ...rest }; + + for (const value of ignore) { + if (isGlob(value)) { + if (!opts.ignoreGlobs) { + opts.ignoreGlobs = []; + } + + const regex = micromatch.makeRe(value, { + // We set `dot: true` to workaround an issue with the + // regular expression on Linux where the resulting + // negative lookahead `(?!(\\/|^)` was never matching + // in some cases. See also https://bit.ly/3UZlQDm + dot: true, + // C++ does not support lookbehind regex patterns, they + // were only added later to JavaScript engines + // (https://bit.ly/3V7S6UL) + lookbehinds: false + }); + opts.ignoreGlobs.push(regex.source); + } else { + if (!opts.ignorePaths) { + opts.ignorePaths = []; + } + + opts.ignorePaths.push(path.resolve(dir, value)); + } + } + } + + return opts; +} + +exports.createWrapper = (binding) => { + return { + writeSnapshot(dir, snapshot, opts) { + return binding.writeSnapshot( + path.resolve(dir), + path.resolve(snapshot), + normalizeOptions(dir, opts), + ); + }, + getEventsSince(dir, snapshot, opts) { + return binding.getEventsSince( + path.resolve(dir), + path.resolve(snapshot), + normalizeOptions(dir, opts), + ); + }, + async subscribe(dir, fn, opts) { + dir = path.resolve(dir); + opts = normalizeOptions(dir, opts); + await binding.subscribe(dir, fn, opts); + + return { + unsubscribe() { + return binding.unsubscribe(dir, fn, opts); + }, + }; + }, + unsubscribe(dir, fn, opts) { + return binding.unsubscribe( + path.resolve(dir), + fn, + normalizeOptions(dir, opts), + ); + } + }; +}; diff --git a/src/main/webapp/css/admins/sass/node_modules/anymatch/LICENSE b/src/main/webapp/css/admins/sass/node_modules/anymatch/LICENSE deleted file mode 100644 index 491766c..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/anymatch/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) 2019 Elan Shanker, Paul Miller (https://paulmillr.com) - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/src/main/webapp/css/admins/sass/node_modules/anymatch/README.md b/src/main/webapp/css/admins/sass/node_modules/anymatch/README.md deleted file mode 100644 index 1dd67f5..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/anymatch/README.md +++ /dev/null @@ -1,87 +0,0 @@ -anymatch [![Build Status](https://travis-ci.org/micromatch/anymatch.svg?branch=master)](https://travis-ci.org/micromatch/anymatch) [![Coverage Status](https://img.shields.io/coveralls/micromatch/anymatch.svg?branch=master)](https://coveralls.io/r/micromatch/anymatch?branch=master) -====== -Javascript module to match a string against a regular expression, glob, string, -or function that takes the string as an argument and returns a truthy or falsy -value. The matcher can also be an array of any or all of these. Useful for -allowing a very flexible user-defined config to define things like file paths. - -__Note: This module has Bash-parity, please be aware that Windows-style backslashes are not supported as separators. See https://github.com/micromatch/micromatch#backslashes for more information.__ - - -Usage ------ -```sh -npm install anymatch -``` - -#### anymatch(matchers, testString, [returnIndex], [options]) -* __matchers__: (_Array|String|RegExp|Function_) -String to be directly matched, string with glob patterns, regular expression -test, function that takes the testString as an argument and returns a truthy -value if it should be matched, or an array of any number and mix of these types. -* __testString__: (_String|Array_) The string to test against the matchers. If -passed as an array, the first element of the array will be used as the -`testString` for non-function matchers, while the entire array will be applied -as the arguments for function matchers. -* __options__: (_Object_ [optional]_) Any of the [picomatch](https://github.com/micromatch/picomatch#options) options. - * __returnIndex__: (_Boolean [optional]_) If true, return the array index of -the first matcher that that testString matched, or -1 if no match, instead of a -boolean result. - -```js -const anymatch = require('anymatch'); - -const matchers = [ 'path/to/file.js', 'path/anyjs/**/*.js', /foo.js$/, string => string.includes('bar') && string.length > 10 ] ; - -anymatch(matchers, 'path/to/file.js'); // true -anymatch(matchers, 'path/anyjs/baz.js'); // true -anymatch(matchers, 'path/to/foo.js'); // true -anymatch(matchers, 'path/to/bar.js'); // true -anymatch(matchers, 'bar.js'); // false - -// returnIndex = true -anymatch(matchers, 'foo.js', {returnIndex: true}); // 2 -anymatch(matchers, 'path/anyjs/foo.js', {returnIndex: true}); // 1 - -// any picomatc - -// using globs to match directories and their children -anymatch('node_modules', 'node_modules'); // true -anymatch('node_modules', 'node_modules/somelib/index.js'); // false -anymatch('node_modules/**', 'node_modules/somelib/index.js'); // true -anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false -anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true - -const matcher = anymatch(matchers); -['foo.js', 'bar.js'].filter(matcher); // [ 'foo.js' ] -anymatch master* ❯ - -``` - -#### anymatch(matchers) -You can also pass in only your matcher(s) to get a curried function that has -already been bound to the provided matching criteria. This can be used as an -`Array#filter` callback. - -```js -var matcher = anymatch(matchers); - -matcher('path/to/file.js'); // true -matcher('path/anyjs/baz.js', true); // 1 - -['foo.js', 'bar.js'].filter(matcher); // ['foo.js'] -``` - -Changelog ----------- -[See release notes page on GitHub](https://github.com/micromatch/anymatch/releases) - -- **v3.0:** Removed `startIndex` and `endIndex` arguments. Node 8.x-only. -- **v2.0:** [micromatch](https://github.com/jonschlinkert/micromatch) moves away from minimatch-parity and inline with Bash. This includes handling backslashes differently (see https://github.com/micromatch/micromatch#backslashes for more information). -- **v1.2:** anymatch uses [micromatch](https://github.com/jonschlinkert/micromatch) -for glob pattern matching. Issues with glob pattern matching should be -reported directly to the [micromatch issue tracker](https://github.com/jonschlinkert/micromatch/issues). - -License -------- -[ISC](https://raw.github.com/micromatch/anymatch/master/LICENSE) diff --git a/src/main/webapp/css/admins/sass/node_modules/anymatch/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/anymatch/index.d.ts deleted file mode 100644 index 3ef7eaa..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/anymatch/index.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -type AnymatchFn = (testString: string) => boolean; -type AnymatchPattern = string|RegExp|AnymatchFn; -type AnymatchMatcher = AnymatchPattern|AnymatchPattern[] -type AnymatchTester = { - (testString: string|any[], returnIndex: true): number; - (testString: string|any[]): boolean; -} - -type PicomatchOptions = {dot: boolean}; - -declare const anymatch: { - (matchers: AnymatchMatcher): AnymatchTester; - (matchers: AnymatchMatcher, testString: null, returnIndex: true | PicomatchOptions): AnymatchTester; - (matchers: AnymatchMatcher, testString: string|any[], returnIndex: true | PicomatchOptions): number; - (matchers: AnymatchMatcher, testString: string|any[]): boolean; -} - -export {AnymatchMatcher as Matcher} -export {AnymatchTester as Tester} -export default anymatch diff --git a/src/main/webapp/css/admins/sass/node_modules/anymatch/index.js b/src/main/webapp/css/admins/sass/node_modules/anymatch/index.js deleted file mode 100644 index 8eb73e9..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/anymatch/index.js +++ /dev/null @@ -1,104 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { value: true }); - -const picomatch = require('picomatch'); -const normalizePath = require('normalize-path'); - -/** - * @typedef {(testString: string) => boolean} AnymatchFn - * @typedef {string|RegExp|AnymatchFn} AnymatchPattern - * @typedef {AnymatchPattern|AnymatchPattern[]} AnymatchMatcher - */ -const BANG = '!'; -const DEFAULT_OPTIONS = {returnIndex: false}; -const arrify = (item) => Array.isArray(item) ? item : [item]; - -/** - * @param {AnymatchPattern} matcher - * @param {object} options - * @returns {AnymatchFn} - */ -const createPattern = (matcher, options) => { - if (typeof matcher === 'function') { - return matcher; - } - if (typeof matcher === 'string') { - const glob = picomatch(matcher, options); - return (string) => matcher === string || glob(string); - } - if (matcher instanceof RegExp) { - return (string) => matcher.test(string); - } - return (string) => false; -}; - -/** - * @param {Array} patterns - * @param {Array} negPatterns - * @param {String|Array} args - * @param {Boolean} returnIndex - * @returns {boolean|number} - */ -const matchPatterns = (patterns, negPatterns, args, returnIndex) => { - const isList = Array.isArray(args); - const _path = isList ? args[0] : args; - if (!isList && typeof _path !== 'string') { - throw new TypeError('anymatch: second argument must be a string: got ' + - Object.prototype.toString.call(_path)) - } - const path = normalizePath(_path, false); - - for (let index = 0; index < negPatterns.length; index++) { - const nglob = negPatterns[index]; - if (nglob(path)) { - return returnIndex ? -1 : false; - } - } - - const applied = isList && [path].concat(args.slice(1)); - for (let index = 0; index < patterns.length; index++) { - const pattern = patterns[index]; - if (isList ? pattern(...applied) : pattern(path)) { - return returnIndex ? index : true; - } - } - - return returnIndex ? -1 : false; -}; - -/** - * @param {AnymatchMatcher} matchers - * @param {Array|string} testString - * @param {object} options - * @returns {boolean|number|Function} - */ -const anymatch = (matchers, testString, options = DEFAULT_OPTIONS) => { - if (matchers == null) { - throw new TypeError('anymatch: specify first argument'); - } - const opts = typeof options === 'boolean' ? {returnIndex: options} : options; - const returnIndex = opts.returnIndex || false; - - // Early cache for matchers. - const mtchers = arrify(matchers); - const negatedGlobs = mtchers - .filter(item => typeof item === 'string' && item.charAt(0) === BANG) - .map(item => item.slice(1)) - .map(item => picomatch(item, opts)); - const patterns = mtchers - .filter(item => typeof item !== 'string' || (typeof item === 'string' && item.charAt(0) !== BANG)) - .map(matcher => createPattern(matcher, opts)); - - if (testString == null) { - return (testString, ri = false) => { - const returnIndex = typeof ri === 'boolean' ? ri : false; - return matchPatterns(patterns, negatedGlobs, testString, returnIndex); - } - } - - return matchPatterns(patterns, negatedGlobs, testString, returnIndex); -}; - -anymatch.default = anymatch; -module.exports = anymatch; diff --git a/src/main/webapp/css/admins/sass/node_modules/anymatch/package.json b/src/main/webapp/css/admins/sass/node_modules/anymatch/package.json deleted file mode 100644 index 2cb2307..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/anymatch/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "anymatch", - "version": "3.1.3", - "description": "Matches strings against configurable strings, globs, regular expressions, and/or functions", - "files": [ - "index.js", - "index.d.ts" - ], - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "author": { - "name": "Elan Shanker", - "url": "https://github.com/es128" - }, - "license": "ISC", - "homepage": "https://github.com/micromatch/anymatch", - "repository": { - "type": "git", - "url": "https://github.com/micromatch/anymatch" - }, - "keywords": [ - "match", - "any", - "string", - "file", - "fs", - "list", - "glob", - "regex", - "regexp", - "regular", - "expression", - "function" - ], - "scripts": { - "test": "nyc mocha", - "mocha": "mocha" - }, - "devDependencies": { - "mocha": "^6.1.3", - "nyc": "^14.0.0" - }, - "engines": { - "node": ">= 8" - } -} diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/binary-extensions.json b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/binary-extensions.json deleted file mode 100644 index ac08048..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/binary-extensions.json +++ /dev/null @@ -1,263 +0,0 @@ -[ - "3dm", - "3ds", - "3g2", - "3gp", - "7z", - "a", - "aac", - "adp", - "afdesign", - "afphoto", - "afpub", - "ai", - "aif", - "aiff", - "alz", - "ape", - "apk", - "appimage", - "ar", - "arj", - "asf", - "au", - "avi", - "bak", - "baml", - "bh", - "bin", - "bk", - "bmp", - "btif", - "bz2", - "bzip2", - "cab", - "caf", - "cgm", - "class", - "cmx", - "cpio", - "cr2", - "cur", - "dat", - "dcm", - "deb", - "dex", - "djvu", - "dll", - "dmg", - "dng", - "doc", - "docm", - "docx", - "dot", - "dotm", - "dra", - "DS_Store", - "dsk", - "dts", - "dtshd", - "dvb", - "dwg", - "dxf", - "ecelp4800", - "ecelp7470", - "ecelp9600", - "egg", - "eol", - "eot", - "epub", - "exe", - "f4v", - "fbs", - "fh", - "fla", - "flac", - "flatpak", - "fli", - "flv", - "fpx", - "fst", - "fvt", - "g3", - "gh", - "gif", - "graffle", - "gz", - "gzip", - "h261", - "h263", - "h264", - "icns", - "ico", - "ief", - "img", - "ipa", - "iso", - "jar", - "jpeg", - "jpg", - "jpgv", - "jpm", - "jxr", - "key", - "ktx", - "lha", - "lib", - "lvp", - "lz", - "lzh", - "lzma", - "lzo", - "m3u", - "m4a", - "m4v", - "mar", - "mdi", - "mht", - "mid", - "midi", - "mj2", - "mka", - "mkv", - "mmr", - "mng", - "mobi", - "mov", - "movie", - "mp3", - "mp4", - "mp4a", - "mpeg", - "mpg", - "mpga", - "mxu", - "nef", - "npx", - "numbers", - "nupkg", - "o", - "odp", - "ods", - "odt", - "oga", - "ogg", - "ogv", - "otf", - "ott", - "pages", - "pbm", - "pcx", - "pdb", - "pdf", - "pea", - "pgm", - "pic", - "png", - "pnm", - "pot", - "potm", - "potx", - "ppa", - "ppam", - "ppm", - "pps", - "ppsm", - "ppsx", - "ppt", - "pptm", - "pptx", - "psd", - "pya", - "pyc", - "pyo", - "pyv", - "qt", - "rar", - "ras", - "raw", - "resources", - "rgb", - "rip", - "rlc", - "rmf", - "rmvb", - "rpm", - "rtf", - "rz", - "s3m", - "s7z", - "scpt", - "sgi", - "shar", - "snap", - "sil", - "sketch", - "slk", - "smv", - "snk", - "so", - "stl", - "suo", - "sub", - "swf", - "tar", - "tbz", - "tbz2", - "tga", - "tgz", - "thmx", - "tif", - "tiff", - "tlz", - "ttc", - "ttf", - "txz", - "udf", - "uvh", - "uvi", - "uvm", - "uvp", - "uvs", - "uvu", - "viv", - "vob", - "war", - "wav", - "wax", - "wbmp", - "wdp", - "weba", - "webm", - "webp", - "whl", - "wim", - "wm", - "wma", - "wmv", - "wmx", - "woff", - "woff2", - "wrm", - "wvx", - "xbm", - "xif", - "xla", - "xlam", - "xls", - "xlsb", - "xlsm", - "xlsx", - "xlt", - "xltm", - "xltx", - "xm", - "xmind", - "xpi", - "xpm", - "xwd", - "xz", - "z", - "zip", - "zipx" -] diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/binary-extensions.json.d.ts b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/binary-extensions.json.d.ts deleted file mode 100644 index 94a248c..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/binary-extensions.json.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare const binaryExtensionsJson: readonly string[]; - -export = binaryExtensionsJson; diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/index.d.ts deleted file mode 100644 index f469ac5..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** -List of binary file extensions. - -@example -``` -import binaryExtensions = require('binary-extensions'); - -console.log(binaryExtensions); -//=> ['3ds', '3g2', …] -``` -*/ -declare const binaryExtensions: readonly string[]; - -export = binaryExtensions; diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/index.js b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/index.js deleted file mode 100644 index d46e468..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./binary-extensions.json'); diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/license b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/license deleted file mode 100644 index 5493a1a..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/license +++ /dev/null @@ -1,10 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus (https://sindresorhus.com) -Copyright (c) Paul Miller (https://paulmillr.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/package.json b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/package.json deleted file mode 100644 index 4710c33..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "binary-extensions", - "version": "2.3.0", - "description": "List of binary file extensions", - "license": "MIT", - "repository": "sindresorhus/binary-extensions", - "funding": "https://github.com/sponsors/sindresorhus", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "https://sindresorhus.com" - }, - "sideEffects": false, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "files": [ - "index.js", - "index.d.ts", - "binary-extensions.json", - "binary-extensions.json.d.ts" - ], - "keywords": [ - "binary", - "extensions", - "extension", - "file", - "json", - "list", - "array" - ], - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - } -} diff --git a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/readme.md b/src/main/webapp/css/admins/sass/node_modules/binary-extensions/readme.md deleted file mode 100644 index 88519b3..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/binary-extensions/readme.md +++ /dev/null @@ -1,25 +0,0 @@ -# binary-extensions - -> List of binary file extensions - -The list is just a [JSON file](binary-extensions.json) and can be used anywhere. - -## Install - -```sh -npm install binary-extensions -``` - -## Usage - -```js -const binaryExtensions = require('binary-extensions'); - -console.log(binaryExtensions); -//=> ['3ds', '3g2', …] -``` - -## Related - -- [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file -- [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/LICENSE b/src/main/webapp/css/admins/sass/node_modules/chokidar/LICENSE index fa9162b..8c27184 100644 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/LICENSE +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2012-2019 Paul Miller (https://paulmillr.com), Elan Shanker +Copyright (c) 2012 Paul Miller (https://paulmillr.com), Elan Shanker Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/README.md b/src/main/webapp/css/admins/sass/node_modules/chokidar/README.md index 8e25dec..73189f5 100644 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/README.md +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/README.md @@ -1,57 +1,40 @@ -# Chokidar [![Weekly downloads](https://img.shields.io/npm/dw/chokidar.svg)](https://github.com/paulmillr/chokidar) [![Yearly downloads](https://img.shields.io/npm/dy/chokidar.svg)](https://github.com/paulmillr/chokidar) +# Chokidar [![Weekly downloads](https://img.shields.io/npm/dw/chokidar.svg)](https://github.com/paulmillr/chokidar) > Minimal and efficient cross-platform file watching library -[![NPM](https://nodei.co/npm/chokidar.png)](https://www.npmjs.com/package/chokidar) - ## Why? -Node.js `fs.watch`: +There are many reasons to prefer Chokidar to raw fs.watch / fs.watchFile in 2024: -* Doesn't report filenames on MacOS. -* Doesn't report events at all when using editors like Sublime on MacOS. -* Often reports events twice. -* Emits most changes as `rename`. -* Does not provide an easy way to recursively watch file trees. -* Does not support recursive watching on Linux. +- Events are properly reported + - macOS events report filenames + - events are not reported twice + - changes are reported as add / change / unlink instead of useless `rename` +- Atomic writes are supported, using `atomic` option + - Some file editors use them +- Chunked writes are supported, using `awaitWriteFinish` option + - Large files are commonly written in chunks +- File / dir filtering is supported +- Symbolic links are supported +- Recursive watching is always supported, instead of partial when using raw events + - Includes a way to limit recursion depth -Node.js `fs.watchFile`: - -* Almost as bad at event handling. -* Also does not provide any recursive watching. -* Results in high CPU utilization. - -Chokidar resolves these problems. - -Initially made for **[Brunch](https://brunch.io/)** (an ultra-swift web app build tool), it is now used in -[Microsoft's Visual Studio Code](https://github.com/microsoft/vscode), -[gulp](https://github.com/gulpjs/gulp/), -[karma](https://karma-runner.github.io/), -[PM2](https://github.com/Unitech/PM2), -[browserify](http://browserify.org/), -[webpack](https://webpack.github.io/), -[BrowserSync](https://www.browsersync.io/), -and [many others](https://www.npmjs.com/browse/depended/chokidar). -It has proven itself in production environments. - -Version 3 is out! Check out our blog post about it: [Chokidar 3: How to save 32TB of traffic every week](https://paulmillr.com/posts/chokidar-3-save-32tb-of-traffic/) - -## How? - -Chokidar does still rely on the Node.js core `fs` module, but when using +Chokidar relies on the Node.js core `fs` module, but when using `fs.watch` and `fs.watchFile` for watching, it normalizes the events it receives, often checking for truth by getting file stats and/or dir contents. - -On MacOS, chokidar by default uses a native extension exposing the Darwin -`FSEvents` API. This provides very efficient recursive watching compared with -implementations like `kqueue` available on most \*nix platforms. Chokidar still -does have to do some work to normalize the events received that way as well. - -On most other platforms, the `fs.watch`-based implementation is the default, which +The `fs.watch`-based implementation is the default, which avoids polling and keeps CPU usage down. Be advised that chokidar will initiate watchers recursively for everything within scope of the paths that have been specified, so be judicious about not wasting system resources by watching much -more than needed. +more than needed. For some cases, `fs.watchFile`, which utilizes polling and uses more resources, is used. + +Made for [Brunch](https://brunch.io/) in 2012, +it is now used in [~30 million repositories](https://www.npmjs.com/browse/depended/chokidar) and +has proven itself in production environments. + +**Sep 2024 update:** v4 is out! It decreases dependency count from 13 to 1, removes +support for globs, adds support for ESM / Common.js modules, and bumps minimum node.js version from v8 to v14. +Check out [upgrading](#upgrading). ## Getting started @@ -61,25 +44,23 @@ Install with npm: npm install chokidar ``` -Then `require` and use it in your code: +Use it in your code: ```javascript -const chokidar = require('chokidar'); +import chokidar from 'chokidar'; // One-liner for current directory chokidar.watch('.').on('all', (event, path) => { console.log(event, path); }); -``` -## API -```javascript -// Example of a more typical implementation structure +// Extended options +// ---------------- // Initialize watcher. -const watcher = chokidar.watch('file, dir, glob, or array', { - ignored: /(^|[\/\\])\../, // ignore dotfiles +const watcher = chokidar.watch('file, dir, or array', { + ignored: (path, stats) => stats?.isFile() && !path.endsWith('.js'), // only watch js files persistent: true }); @@ -109,41 +90,47 @@ watcher.on('change', (path, stats) => { // Watch new files. watcher.add('new-file'); -watcher.add(['new-file-2', 'new-file-3', '**/other-file*']); +watcher.add(['new-file-2', 'new-file-3']); // Get list of actual paths being watched on the filesystem -var watchedPaths = watcher.getWatched(); +let watchedPaths = watcher.getWatched(); // Un-watch some files. -await watcher.unwatch('new-file*'); +await watcher.unwatch('new-file'); -// Stop watching. -// The method is async! -watcher.close().then(() => console.log('closed')); +// Stop watching. The method is async! +await watcher.close().then(() => console.log('closed')); // Full list of options. See below for descriptions. // Do not use this example! chokidar.watch('file', { persistent: true, - ignored: '*.txt', - ignoreInitial: false, - followSymlinks: true, - cwd: '.', - disableGlobbing: false, + // ignore .txt files + ignored: (file) => file.endsWith('.txt'), + // watch only .txt files + // ignored: (file, _stats) => _stats?.isFile() && !file.endsWith('.txt'), - usePolling: false, + awaitWriteFinish: true, // emit single event when chunked writes are completed + atomic: true // emit proper events when "atomic writes" (mv _tmp file) are used + + // The options also allow specifying custom intervals in ms + // awaitWriteFinish: { + // stabilityThreshold: 2000, + // pollInterval: 100 + // }, + // atomic: 100, interval: 100, binaryInterval: 300, - alwaysStat: false, - depth: 99, - awaitWriteFinish: { - stabilityThreshold: 2000, - pollInterval: 100 - }, + cwd: '.', + depth: 99, + + followSymlinks: true, + ignoreInitial: false, ignorePermissionErrors: false, - atomic: true // or a custom 'atomicity delay', in milliseconds (default 100) + usePolling: false, + alwaysStat: false, }); ``` @@ -151,27 +138,19 @@ chokidar.watch('file', { `chokidar.watch(paths, [options])` * `paths` (string or array of strings). Paths to files, dirs to be watched -recursively, or glob patterns. - - Note: globs must not contain windows separators (`\`), - because that's how they work by the standard — - you'll need to replace them with forward slashes (`/`). - - Note 2: for additional glob documentation, check out low-level - library: [picomatch](https://github.com/micromatch/picomatch). +recursively. * `options` (object) Options object as defined below: #### Persistence * `persistent` (default: `true`). Indicates whether the process -should continue to run as long as files are being watched. If set to -`false` when using `fsevents` to watch, no more events will be emitted -after `ready`, even if the process continues to run. +should continue to run as long as files are being watched. #### Path filtering -* `ignored` ([anymatch](https://github.com/es128/anymatch)-compatible definition) -Defines files/paths to be ignored. The whole relative or absolute path is -tested, not just filename. If a function with two arguments is provided, it -gets called twice per path - once with a single argument (the path), second +* `ignored` function, regex, or path. Defines files/paths to be ignored. +The whole relative or absolute path is tested, not just filename. If a function with two arguments +is provided, it gets called twice per path - once with a single argument (the path), second time with two arguments (the path and the [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) object of that path). @@ -182,8 +161,6 @@ symlinks themselves will be watched for changes instead of following the link references and bubbling events through the link's path. * `cwd` (no default). The base directory from which watch `paths` are to be derived. Paths emitted with events will be relative to this. -* `disableGlobbing` (default: `false`). If set to `true` then the strings passed to `.watch()` and `.add()` are treated as -literal path names, even if they look like globs. #### Performance @@ -201,10 +178,6 @@ to true (1) or false (0) in order to override this option. * `binaryInterval` (default: `300`). Interval of file system polling for binary files. ([see list of binary extensions](https://github.com/sindresorhus/binary-extensions/blob/master/binary-extensions.json)) -* `useFsEvents` (default: `true` on MacOS). Whether to use the -`fsevents` watching interface if available. When set to `true` explicitly -and `fsevents` is available this supercedes the `usePolling` setting. When -set to `false` on MacOS, `usePolling: true` becomes the default. * `alwaysStat` (default: `false`). If relying upon the [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) object that may get passed with `add`, `addDir`, and `change` events, set @@ -247,14 +220,14 @@ milliseconds. `chokidar.watch()` produces an instance of `FSWatcher`. Methods of `FSWatcher`: -* `.add(path / paths)`: Add files, directories, or glob patterns for tracking. +* `.add(path / paths)`: Add files, directories for tracking. Takes an array of strings or just one string. * `.on(event, callback)`: Listen for an FS event. Available events: `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `ready`, `raw`, `error`. Additionally `all` is available which gets emitted with the underlying event name and path for every event other than `ready`, `raw`, and `error`. `raw` is internal, use it carefully. -* `.unwatch(path / paths)`: Stop watching files, directories, or glob patterns. +* `.unwatch(path / paths)`: Stop watching files or directories. Takes an array of strings or just one string. * `.close()`: **async** Removes all listeners from watched files. Asynchronous, returns Promise. Use with `await` to ensure bugs don't happen. * `.getWatched()`: Returns an object representing all the paths on the file @@ -265,37 +238,53 @@ values are arrays of the names of the items contained in each directory. ## CLI If you need a CLI interface for your file watching, check out -[chokidar-cli](https://github.com/open-cli-tools/chokidar-cli), allowing you to +third party [chokidar-cli](https://github.com/open-cli-tools/chokidar-cli), allowing you to execute a command on each change, or get a stdio stream of change events. -## Install Troubleshooting +## Troubleshooting -* `npm WARN optional dep failed, continuing fsevents@n.n.n` - * This message is normal part of how `npm` handles optional dependencies and is - not indicative of a problem. Even if accompanied by other related error messages, - Chokidar should function properly. - -* `TypeError: fsevents is not a constructor` - * Update chokidar by doing `rm -rf node_modules package-lock.json yarn.lock && npm install`, or update your dependency that uses chokidar. - -* Chokidar is producing `ENOSP` error on Linux, like this: - * `bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell` +* On Linux, sometimes there's `ENOSP` error: + * `bash: cannot set terminal process group (-1): Inappropriate ioctl for device bash: no job control in this shell` `Error: watch /home/ ENOSPC` - * This means Chokidar ran out of file handles and you'll need to increase their count by executing the following command in Terminal: + * This means Chokidar ran out of file handles and you'll need to increase their count by executing the following command in Terminal: `echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p` +* If using 3.x, upgrade to latest chokidar to prevent fsevents-related issues: + * `npm WARN optional dep failed, continuing fsevents@n.n.n` + * `TypeError: fsevents is not a constructor` ## Changelog -For more detailed changelog, see [`full_changelog.md`](.github/full_changelog.md). -- **v3.5 (Jan 6, 2021):** Support for ARM Macs with Apple Silicon. Fixes for deleted symlinks. -- **v3.4 (Apr 26, 2020):** Support for directory-based symlinks. Fixes for macos file replacement. -- **v3.3 (Nov 2, 2019):** `FSWatcher#close()` method became async. That fixes IO race conditions related to close method. -- **v3.2 (Oct 1, 2019):** Improve Linux RAM usage by 50%. Race condition fixes. Windows glob fixes. Improve stability by using tight range of dependency versions. -- **v3.1 (Sep 16, 2019):** dotfiles are no longer filtered out by default. Use `ignored` option if needed. Improve initial Linux scan time by 50%. -- **v3 (Apr 30, 2019):** massive CPU & RAM consumption improvements; reduces deps / package size by a factor of 17x and bumps Node.js requirement to v8.16 and higher. -- **v2 (Dec 29, 2017):** Globs are now posix-style-only; without windows support. Tons of bugfixes. -- **v1 (Apr 7, 2015):** Glob support, symlink support, tons of bugfixes. Node 0.8+ is supported -- **v0.1 (Apr 20, 2012):** Initial release, extracted from [Brunch](https://github.com/brunch/brunch/blob/9847a065aea300da99bd0753f90354cde9de1261/src/helpers.coffee#L66) +- **v4 (Sep 2024):** remove glob support and bundled fsevents. Decrease dependency count from 13 to 1. Rewrite in typescript. Bumps minimum node.js requirement to v14+ +- **v3 (Apr 2019):** massive CPU & RAM consumption improvements; reduces deps / package size by a factor of 17x and bumps Node.js requirement to v8.16+. +- **v2 (Dec 2017):** globs are now posix-style-only. Tons of bugfixes. +- **v1 (Apr 2015):** glob support, symlink support, tons of bugfixes. Node 0.8+ is supported +- **v0.1 (Apr 2012):** Initial release, extracted from [Brunch](https://github.com/brunch/brunch/blob/9847a065aea300da99bd0753f90354cde9de1261/src/helpers.coffee#L66) + +### Upgrading + +If you've used globs before and want do replicate the functionality with v4: + +```js +// v3 +chok.watch('**/*.js'); +chok.watch("./directory/**/*"); + +// v4 +chok.watch('.', { + ignored: (path, stats) => stats?.isFile() && !path.endsWith('.js'), // only watch js files +}); +chok.watch('./directory'); + +// other way +import { glob } from 'node:fs/promises'; +const watcher = watch(await glob('**/*.js')); + +// unwatching +// v3 +chok.unwatch('**/*.js'); +// v4 +chok.unwatch(await glob('**/*.js')); +``` ## Also diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.d.ts b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.d.ts new file mode 100644 index 0000000..2a5666a --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.d.ts @@ -0,0 +1,90 @@ +import type { WatchEventType, Stats, FSWatcher as NativeFsWatcher } from 'fs'; +import type { FSWatcher, WatchHelper, Throttler } from './index.js'; +import type { EntryInfo } from 'readdirp'; +export type Path = string; +export declare const STR_DATA = "data"; +export declare const STR_END = "end"; +export declare const STR_CLOSE = "close"; +export declare const EMPTY_FN: () => void; +export declare const IDENTITY_FN: (val: unknown) => unknown; +export declare const isWindows: boolean; +export declare const isMacos: boolean; +export declare const isLinux: boolean; +export declare const isIBMi: boolean; +export declare const EVENTS: { + readonly ALL: "all"; + readonly READY: "ready"; + readonly ADD: "add"; + readonly CHANGE: "change"; + readonly ADD_DIR: "addDir"; + readonly UNLINK: "unlink"; + readonly UNLINK_DIR: "unlinkDir"; + readonly RAW: "raw"; + readonly ERROR: "error"; +}; +export type EventName = (typeof EVENTS)[keyof typeof EVENTS]; +export type FsWatchContainer = { + listeners: (path: string) => void | Set; + errHandlers: (err: unknown) => void | Set; + rawEmitters: (ev: WatchEventType, path: string, opts: unknown) => void | Set; + watcher: NativeFsWatcher; + watcherUnusable?: boolean; +}; +export interface WatchHandlers { + listener: (path: string) => void; + errHandler: (err: unknown) => void; + rawEmitter: (ev: WatchEventType, path: string, opts: unknown) => void; +} +/** + * @mixin + */ +export declare class NodeFsHandler { + fsw: FSWatcher; + _boundHandleError: (error: unknown) => void; + constructor(fsW: FSWatcher); + /** + * Watch file for changes with fs_watchFile or fs_watch. + * @param path to file or dir + * @param listener on fs change + * @returns closer for the watcher instance + */ + _watchWithNodeFs(path: string, listener: (path: string, newStats?: any) => void | Promise): (() => void) | undefined; + /** + * Watch a file and emit add event if warranted. + * @returns closer for the watcher instance + */ + _handleFile(file: Path, stats: Stats, initialAdd: boolean): (() => void) | undefined; + /** + * Handle symlinks encountered while reading a dir. + * @param entry returned by readdirp + * @param directory path of dir being read + * @param path of this item + * @param item basename of this item + * @returns true if no more processing is needed for this entry. + */ + _handleSymlink(entry: EntryInfo, directory: string, path: Path, item: string): Promise; + _handleRead(directory: string, initialAdd: boolean, wh: WatchHelper, target: Path, dir: Path, depth: number, throttler: Throttler): Promise | undefined; + /** + * Read directory to add / remove files from `@watched` list and re-read it on change. + * @param dir fs path + * @param stats + * @param initialAdd + * @param depth relative to user-supplied path + * @param target child path targeted for watch + * @param wh Common watch helpers for this path + * @param realpath + * @returns closer for the watcher instance. + */ + _handleDir(dir: string, stats: Stats, initialAdd: boolean, depth: number, target: string, wh: WatchHelper, realpath: string): Promise<(() => void) | undefined>; + /** + * Handle added file, directory, or glob pattern. + * Delegates call to _handleFile / _handleDir after checks. + * @param path to file or ir + * @param initialAdd was the file added at watch instantiation? + * @param priorWh depth relative to user-supplied path + * @param depth Child path actually targeted for watch + * @param target Child path actually targeted for watch + */ + _addToNodeFs(path: string, initialAdd: boolean, priorWh: WatchHelper | undefined, depth: number, target?: string): Promise; +} +//# sourceMappingURL=handler.d.ts.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.d.ts.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.d.ts.map new file mode 100644 index 0000000..25e6a3b --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,cAAc,EAAE,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,IAAI,CAAC;AAI7F,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAsB,SAAS,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,eAAO,MAAM,QAAQ,SAAS,CAAC;AAC/B,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,QAAQ,YAAW,CAAC;AACjC,eAAO,MAAM,WAAW,QAAS,OAAO,YAAQ,CAAC;AAGjD,eAAO,MAAM,SAAS,SAAiB,CAAC;AACxC,eAAO,MAAM,OAAO,SAAkB,CAAC;AACvC,eAAO,MAAM,OAAO,SAAiB,CAAC;AACtC,eAAO,MAAM,MAAM,SAAuB,CAAC;AAE3C,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AA4F7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClF,OAAO,EAAE,eAAe,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8DF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvE;AAkKD;;GAEG;AACH,qBAAa,aAAa;IACxB,GAAG,EAAE,SAAS,CAAC;IACf,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;gBAChC,GAAG,EAAE,SAAS;IAK1B;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,UA3EvF,IAAI;IAyGZ;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IA4DpF;;;;;;;OAOG;IACG,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA0C/B,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,IAAI,EACZ,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS;IAkFtB;;;;;;;;;;OAUG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IA8BpC;;;;;;;;OAQG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM;CAsElB"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.js new file mode 100644 index 0000000..7912fdc --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.js @@ -0,0 +1,629 @@ +import { watchFile, unwatchFile, watch as fs_watch } from 'fs'; +import { open, stat, lstat, realpath as fsrealpath } from 'fs/promises'; +import * as sysPath from 'path'; +import { type as osType } from 'os'; +export const STR_DATA = 'data'; +export const STR_END = 'end'; +export const STR_CLOSE = 'close'; +export const EMPTY_FN = () => { }; +export const IDENTITY_FN = (val) => val; +const pl = process.platform; +export const isWindows = pl === 'win32'; +export const isMacos = pl === 'darwin'; +export const isLinux = pl === 'linux'; +export const isIBMi = osType() === 'OS400'; +export const EVENTS = { + ALL: 'all', + READY: 'ready', + ADD: 'add', + CHANGE: 'change', + ADD_DIR: 'addDir', + UNLINK: 'unlink', + UNLINK_DIR: 'unlinkDir', + RAW: 'raw', + ERROR: 'error', +}; +const EV = EVENTS; +const THROTTLE_MODE_WATCH = 'watch'; +const statMethods = { lstat, stat }; +const KEY_LISTENERS = 'listeners'; +const KEY_ERR = 'errHandlers'; +const KEY_RAW = 'rawEmitters'; +const HANDLER_KEYS = [KEY_LISTENERS, KEY_ERR, KEY_RAW]; +// prettier-ignore +const binaryExtensions = new Set([ + '3dm', '3ds', '3g2', '3gp', '7z', 'a', 'aac', 'adp', 'afdesign', 'afphoto', 'afpub', 'ai', + 'aif', 'aiff', 'alz', 'ape', 'apk', 'appimage', 'ar', 'arj', 'asf', 'au', 'avi', + 'bak', 'baml', 'bh', 'bin', 'bk', 'bmp', 'btif', 'bz2', 'bzip2', + 'cab', 'caf', 'cgm', 'class', 'cmx', 'cpio', 'cr2', 'cur', 'dat', 'dcm', 'deb', 'dex', 'djvu', + 'dll', 'dmg', 'dng', 'doc', 'docm', 'docx', 'dot', 'dotm', 'dra', 'DS_Store', 'dsk', 'dts', + 'dtshd', 'dvb', 'dwg', 'dxf', + 'ecelp4800', 'ecelp7470', 'ecelp9600', 'egg', 'eol', 'eot', 'epub', 'exe', + 'f4v', 'fbs', 'fh', 'fla', 'flac', 'flatpak', 'fli', 'flv', 'fpx', 'fst', 'fvt', + 'g3', 'gh', 'gif', 'graffle', 'gz', 'gzip', + 'h261', 'h263', 'h264', 'icns', 'ico', 'ief', 'img', 'ipa', 'iso', + 'jar', 'jpeg', 'jpg', 'jpgv', 'jpm', 'jxr', 'key', 'ktx', + 'lha', 'lib', 'lvp', 'lz', 'lzh', 'lzma', 'lzo', + 'm3u', 'm4a', 'm4v', 'mar', 'mdi', 'mht', 'mid', 'midi', 'mj2', 'mka', 'mkv', 'mmr', 'mng', + 'mobi', 'mov', 'movie', 'mp3', + 'mp4', 'mp4a', 'mpeg', 'mpg', 'mpga', 'mxu', + 'nef', 'npx', 'numbers', 'nupkg', + 'o', 'odp', 'ods', 'odt', 'oga', 'ogg', 'ogv', 'otf', 'ott', + 'pages', 'pbm', 'pcx', 'pdb', 'pdf', 'pea', 'pgm', 'pic', 'png', 'pnm', 'pot', 'potm', + 'potx', 'ppa', 'ppam', + 'ppm', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx', 'psd', 'pya', 'pyc', 'pyo', 'pyv', + 'qt', + 'rar', 'ras', 'raw', 'resources', 'rgb', 'rip', 'rlc', 'rmf', 'rmvb', 'rpm', 'rtf', 'rz', + 's3m', 's7z', 'scpt', 'sgi', 'shar', 'snap', 'sil', 'sketch', 'slk', 'smv', 'snk', 'so', + 'stl', 'suo', 'sub', 'swf', + 'tar', 'tbz', 'tbz2', 'tga', 'tgz', 'thmx', 'tif', 'tiff', 'tlz', 'ttc', 'ttf', 'txz', + 'udf', 'uvh', 'uvi', 'uvm', 'uvp', 'uvs', 'uvu', + 'viv', 'vob', + 'war', 'wav', 'wax', 'wbmp', 'wdp', 'weba', 'webm', 'webp', 'whl', 'wim', 'wm', 'wma', + 'wmv', 'wmx', 'woff', 'woff2', 'wrm', 'wvx', + 'xbm', 'xif', 'xla', 'xlam', 'xls', 'xlsb', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx', 'xm', + 'xmind', 'xpi', 'xpm', 'xwd', 'xz', + 'z', 'zip', 'zipx', +]); +const isBinaryPath = (filePath) => binaryExtensions.has(sysPath.extname(filePath).slice(1).toLowerCase()); +// TODO: emit errors properly. Example: EMFILE on Macos. +const foreach = (val, fn) => { + if (val instanceof Set) { + val.forEach(fn); + } + else { + fn(val); + } +}; +const addAndConvert = (main, prop, item) => { + let container = main[prop]; + if (!(container instanceof Set)) { + main[prop] = container = new Set([container]); + } + container.add(item); +}; +const clearItem = (cont) => (key) => { + const set = cont[key]; + if (set instanceof Set) { + set.clear(); + } + else { + delete cont[key]; + } +}; +const delFromSet = (main, prop, item) => { + const container = main[prop]; + if (container instanceof Set) { + container.delete(item); + } + else if (container === item) { + delete main[prop]; + } +}; +const isEmptySet = (val) => (val instanceof Set ? val.size === 0 : !val); +const FsWatchInstances = new Map(); +/** + * Instantiates the fs_watch interface + * @param path to be watched + * @param options to be passed to fs_watch + * @param listener main event handler + * @param errHandler emits info about errors + * @param emitRaw emits raw event data + * @returns {NativeFsWatcher} + */ +function createFsWatchInstance(path, options, listener, errHandler, emitRaw) { + const handleEvent = (rawEvent, evPath) => { + listener(path); + emitRaw(rawEvent, evPath, { watchedPath: path }); + // emit based on events occurring for files from a directory's watcher in + // case the file's watcher misses it (and rely on throttling to de-dupe) + if (evPath && path !== evPath) { + fsWatchBroadcast(sysPath.resolve(path, evPath), KEY_LISTENERS, sysPath.join(path, evPath)); + } + }; + try { + return fs_watch(path, { + persistent: options.persistent, + }, handleEvent); + } + catch (error) { + errHandler(error); + return undefined; + } +} +/** + * Helper for passing fs_watch event data to a collection of listeners + * @param fullPath absolute path bound to fs_watch instance + */ +const fsWatchBroadcast = (fullPath, listenerType, val1, val2, val3) => { + const cont = FsWatchInstances.get(fullPath); + if (!cont) + return; + foreach(cont[listenerType], (listener) => { + listener(val1, val2, val3); + }); +}; +/** + * Instantiates the fs_watch interface or binds listeners + * to an existing one covering the same file system entry + * @param path + * @param fullPath absolute path + * @param options to be passed to fs_watch + * @param handlers container for event listener functions + */ +const setFsWatchListener = (path, fullPath, options, handlers) => { + const { listener, errHandler, rawEmitter } = handlers; + let cont = FsWatchInstances.get(fullPath); + let watcher; + if (!options.persistent) { + watcher = createFsWatchInstance(path, options, listener, errHandler, rawEmitter); + if (!watcher) + return; + return watcher.close.bind(watcher); + } + if (cont) { + addAndConvert(cont, KEY_LISTENERS, listener); + addAndConvert(cont, KEY_ERR, errHandler); + addAndConvert(cont, KEY_RAW, rawEmitter); + } + else { + watcher = createFsWatchInstance(path, options, fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS), errHandler, // no need to use broadcast here + fsWatchBroadcast.bind(null, fullPath, KEY_RAW)); + if (!watcher) + return; + watcher.on(EV.ERROR, async (error) => { + const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR); + if (cont) + cont.watcherUnusable = true; // documented since Node 10.4.1 + // Workaround for https://github.com/joyent/node/issues/4337 + if (isWindows && error.code === 'EPERM') { + try { + const fd = await open(path, 'r'); + await fd.close(); + broadcastErr(error); + } + catch (err) { + // do nothing + } + } + else { + broadcastErr(error); + } + }); + cont = { + listeners: listener, + errHandlers: errHandler, + rawEmitters: rawEmitter, + watcher, + }; + FsWatchInstances.set(fullPath, cont); + } + // const index = cont.listeners.indexOf(listener); + // removes this instance's listeners and closes the underlying fs_watch + // instance if there are no more listeners left + return () => { + delFromSet(cont, KEY_LISTENERS, listener); + delFromSet(cont, KEY_ERR, errHandler); + delFromSet(cont, KEY_RAW, rawEmitter); + if (isEmptySet(cont.listeners)) { + // Check to protect against issue gh-730. + // if (cont.watcherUnusable) { + cont.watcher.close(); + // } + FsWatchInstances.delete(fullPath); + HANDLER_KEYS.forEach(clearItem(cont)); + // @ts-ignore + cont.watcher = undefined; + Object.freeze(cont); + } + }; +}; +// fs_watchFile helpers +// object to hold per-process fs_watchFile instances +// (may be shared across chokidar FSWatcher instances) +const FsWatchFileInstances = new Map(); +/** + * Instantiates the fs_watchFile interface or binds listeners + * to an existing one covering the same file system entry + * @param path to be watched + * @param fullPath absolute path + * @param options options to be passed to fs_watchFile + * @param handlers container for event listener functions + * @returns closer + */ +const setFsWatchFileListener = (path, fullPath, options, handlers) => { + const { listener, rawEmitter } = handlers; + let cont = FsWatchFileInstances.get(fullPath); + // let listeners = new Set(); + // let rawEmitters = new Set(); + const copts = cont && cont.options; + if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) { + // "Upgrade" the watcher to persistence or a quicker interval. + // This creates some unlikely edge case issues if the user mixes + // settings in a very weird way, but solving for those cases + // doesn't seem worthwhile for the added complexity. + // listeners = cont.listeners; + // rawEmitters = cont.rawEmitters; + unwatchFile(fullPath); + cont = undefined; + } + if (cont) { + addAndConvert(cont, KEY_LISTENERS, listener); + addAndConvert(cont, KEY_RAW, rawEmitter); + } + else { + // TODO + // listeners.add(listener); + // rawEmitters.add(rawEmitter); + cont = { + listeners: listener, + rawEmitters: rawEmitter, + options, + watcher: watchFile(fullPath, options, (curr, prev) => { + foreach(cont.rawEmitters, (rawEmitter) => { + rawEmitter(EV.CHANGE, fullPath, { curr, prev }); + }); + const currmtime = curr.mtimeMs; + if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) { + foreach(cont.listeners, (listener) => listener(path, curr)); + } + }), + }; + FsWatchFileInstances.set(fullPath, cont); + } + // const index = cont.listeners.indexOf(listener); + // Removes this instance's listeners and closes the underlying fs_watchFile + // instance if there are no more listeners left. + return () => { + delFromSet(cont, KEY_LISTENERS, listener); + delFromSet(cont, KEY_RAW, rawEmitter); + if (isEmptySet(cont.listeners)) { + FsWatchFileInstances.delete(fullPath); + unwatchFile(fullPath); + cont.options = cont.watcher = undefined; + Object.freeze(cont); + } + }; +}; +/** + * @mixin + */ +export class NodeFsHandler { + constructor(fsW) { + this.fsw = fsW; + this._boundHandleError = (error) => fsW._handleError(error); + } + /** + * Watch file for changes with fs_watchFile or fs_watch. + * @param path to file or dir + * @param listener on fs change + * @returns closer for the watcher instance + */ + _watchWithNodeFs(path, listener) { + const opts = this.fsw.options; + const directory = sysPath.dirname(path); + const basename = sysPath.basename(path); + const parent = this.fsw._getWatchedDir(directory); + parent.add(basename); + const absolutePath = sysPath.resolve(path); + const options = { + persistent: opts.persistent, + }; + if (!listener) + listener = EMPTY_FN; + let closer; + if (opts.usePolling) { + const enableBin = opts.interval !== opts.binaryInterval; + options.interval = enableBin && isBinaryPath(basename) ? opts.binaryInterval : opts.interval; + closer = setFsWatchFileListener(path, absolutePath, options, { + listener, + rawEmitter: this.fsw._emitRaw, + }); + } + else { + closer = setFsWatchListener(path, absolutePath, options, { + listener, + errHandler: this._boundHandleError, + rawEmitter: this.fsw._emitRaw, + }); + } + return closer; + } + /** + * Watch a file and emit add event if warranted. + * @returns closer for the watcher instance + */ + _handleFile(file, stats, initialAdd) { + if (this.fsw.closed) { + return; + } + const dirname = sysPath.dirname(file); + const basename = sysPath.basename(file); + const parent = this.fsw._getWatchedDir(dirname); + // stats is always present + let prevStats = stats; + // if the file is already being watched, do nothing + if (parent.has(basename)) + return; + const listener = async (path, newStats) => { + if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5)) + return; + if (!newStats || newStats.mtimeMs === 0) { + try { + const newStats = await stat(file); + if (this.fsw.closed) + return; + // Check that change event was not fired because of changed only accessTime. + const at = newStats.atimeMs; + const mt = newStats.mtimeMs; + if (!at || at <= mt || mt !== prevStats.mtimeMs) { + this.fsw._emit(EV.CHANGE, file, newStats); + } + if ((isMacos || isLinux) && prevStats.ino !== newStats.ino) { + this.fsw._closeFile(path); + prevStats = newStats; + const closer = this._watchWithNodeFs(file, listener); + if (closer) + this.fsw._addPathCloser(path, closer); + } + else { + prevStats = newStats; + } + } + catch (error) { + // Fix issues where mtime is null but file is still present + this.fsw._remove(dirname, basename); + } + // add is about to be emitted if file not already tracked in parent + } + else if (parent.has(basename)) { + // Check that change event was not fired because of changed only accessTime. + const at = newStats.atimeMs; + const mt = newStats.mtimeMs; + if (!at || at <= mt || mt !== prevStats.mtimeMs) { + this.fsw._emit(EV.CHANGE, file, newStats); + } + prevStats = newStats; + } + }; + // kick off the watcher + const closer = this._watchWithNodeFs(file, listener); + // emit an add event if we're supposed to + if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file)) { + if (!this.fsw._throttle(EV.ADD, file, 0)) + return; + this.fsw._emit(EV.ADD, file, stats); + } + return closer; + } + /** + * Handle symlinks encountered while reading a dir. + * @param entry returned by readdirp + * @param directory path of dir being read + * @param path of this item + * @param item basename of this item + * @returns true if no more processing is needed for this entry. + */ + async _handleSymlink(entry, directory, path, item) { + if (this.fsw.closed) { + return; + } + const full = entry.fullPath; + const dir = this.fsw._getWatchedDir(directory); + if (!this.fsw.options.followSymlinks) { + // watch symlink directly (don't follow) and detect changes + this.fsw._incrReadyCount(); + let linkPath; + try { + linkPath = await fsrealpath(path); + } + catch (e) { + this.fsw._emitReady(); + return true; + } + if (this.fsw.closed) + return; + if (dir.has(item)) { + if (this.fsw._symlinkPaths.get(full) !== linkPath) { + this.fsw._symlinkPaths.set(full, linkPath); + this.fsw._emit(EV.CHANGE, path, entry.stats); + } + } + else { + dir.add(item); + this.fsw._symlinkPaths.set(full, linkPath); + this.fsw._emit(EV.ADD, path, entry.stats); + } + this.fsw._emitReady(); + return true; + } + // don't follow the same symlink more than once + if (this.fsw._symlinkPaths.has(full)) { + return true; + } + this.fsw._symlinkPaths.set(full, true); + } + _handleRead(directory, initialAdd, wh, target, dir, depth, throttler) { + // Normalize the directory name on Windows + directory = sysPath.join(directory, ''); + throttler = this.fsw._throttle('readdir', directory, 1000); + if (!throttler) + return; + const previous = this.fsw._getWatchedDir(wh.path); + const current = new Set(); + let stream = this.fsw._readdirp(directory, { + fileFilter: (entry) => wh.filterPath(entry), + directoryFilter: (entry) => wh.filterDir(entry), + }); + if (!stream) + return; + stream + .on(STR_DATA, async (entry) => { + if (this.fsw.closed) { + stream = undefined; + return; + } + const item = entry.path; + let path = sysPath.join(directory, item); + current.add(item); + if (entry.stats.isSymbolicLink() && + (await this._handleSymlink(entry, directory, path, item))) { + return; + } + if (this.fsw.closed) { + stream = undefined; + return; + } + // Files that present in current directory snapshot + // but absent in previous are added to watch list and + // emit `add` event. + if (item === target || (!target && !previous.has(item))) { + this.fsw._incrReadyCount(); + // ensure relativeness of path is preserved in case of watcher reuse + path = sysPath.join(dir, sysPath.relative(dir, path)); + this._addToNodeFs(path, initialAdd, wh, depth + 1); + } + }) + .on(EV.ERROR, this._boundHandleError); + return new Promise((resolve, reject) => { + if (!stream) + return reject(); + stream.once(STR_END, () => { + if (this.fsw.closed) { + stream = undefined; + return; + } + const wasThrottled = throttler ? throttler.clear() : false; + resolve(undefined); + // Files that absent in current directory snapshot + // but present in previous emit `remove` event + // and are removed from @watched[directory]. + previous + .getChildren() + .filter((item) => { + return item !== directory && !current.has(item); + }) + .forEach((item) => { + this.fsw._remove(directory, item); + }); + stream = undefined; + // one more time for any missed in case changes came in extremely quickly + if (wasThrottled) + this._handleRead(directory, false, wh, target, dir, depth, throttler); + }); + }); + } + /** + * Read directory to add / remove files from `@watched` list and re-read it on change. + * @param dir fs path + * @param stats + * @param initialAdd + * @param depth relative to user-supplied path + * @param target child path targeted for watch + * @param wh Common watch helpers for this path + * @param realpath + * @returns closer for the watcher instance. + */ + async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) { + const parentDir = this.fsw._getWatchedDir(sysPath.dirname(dir)); + const tracked = parentDir.has(sysPath.basename(dir)); + if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) { + this.fsw._emit(EV.ADD_DIR, dir, stats); + } + // ensure dir is tracked (harmless if redundant) + parentDir.add(sysPath.basename(dir)); + this.fsw._getWatchedDir(dir); + let throttler; + let closer; + const oDepth = this.fsw.options.depth; + if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) { + if (!target) { + await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler); + if (this.fsw.closed) + return; + } + closer = this._watchWithNodeFs(dir, (dirPath, stats) => { + // if current directory is removed, do nothing + if (stats && stats.mtimeMs === 0) + return; + this._handleRead(dirPath, false, wh, target, dir, depth, throttler); + }); + } + return closer; + } + /** + * Handle added file, directory, or glob pattern. + * Delegates call to _handleFile / _handleDir after checks. + * @param path to file or ir + * @param initialAdd was the file added at watch instantiation? + * @param priorWh depth relative to user-supplied path + * @param depth Child path actually targeted for watch + * @param target Child path actually targeted for watch + */ + async _addToNodeFs(path, initialAdd, priorWh, depth, target) { + const ready = this.fsw._emitReady; + if (this.fsw._isIgnored(path) || this.fsw.closed) { + ready(); + return false; + } + const wh = this.fsw._getWatchHelpers(path); + if (priorWh) { + wh.filterPath = (entry) => priorWh.filterPath(entry); + wh.filterDir = (entry) => priorWh.filterDir(entry); + } + // evaluate what is at the path we're being asked to watch + try { + const stats = await statMethods[wh.statMethod](wh.watchPath); + if (this.fsw.closed) + return; + if (this.fsw._isIgnored(wh.watchPath, stats)) { + ready(); + return false; + } + const follow = this.fsw.options.followSymlinks; + let closer; + if (stats.isDirectory()) { + const absPath = sysPath.resolve(path); + const targetPath = follow ? await fsrealpath(path) : path; + if (this.fsw.closed) + return; + closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath); + if (this.fsw.closed) + return; + // preserve this symlink's target path + if (absPath !== targetPath && targetPath !== undefined) { + this.fsw._symlinkPaths.set(absPath, targetPath); + } + } + else if (stats.isSymbolicLink()) { + const targetPath = follow ? await fsrealpath(path) : path; + if (this.fsw.closed) + return; + const parent = sysPath.dirname(wh.watchPath); + this.fsw._getWatchedDir(parent).add(wh.watchPath); + this.fsw._emit(EV.ADD, wh.watchPath, stats); + closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath); + if (this.fsw.closed) + return; + // preserve this symlink's target path + if (targetPath !== undefined) { + this.fsw._symlinkPaths.set(sysPath.resolve(path), targetPath); + } + } + else { + closer = this._handleFile(wh.watchPath, stats, initialAdd); + } + ready(); + if (closer) + this.fsw._addPathCloser(path, closer); + return false; + } + catch (error) { + if (this.fsw._handleError(error)) { + ready(); + return path; + } + } + } +} +//# sourceMappingURL=handler.js.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.js.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.js.map new file mode 100644 index 0000000..248dea9 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/handler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAE/D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,IAAI,UAAU,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,OAAO,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,IAAI,IAAI,MAAM,EAAE,MAAM,IAAI,CAAC;AAMpC,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,CAAC;AAC7B,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC;AACjC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC;AAEjD,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;AAC5B,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,KAAK,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,KAAK,QAAQ,CAAC;AACvC,MAAM,CAAC,MAAM,OAAO,GAAG,EAAE,KAAK,OAAO,CAAC;AACtC,MAAM,CAAC,MAAM,MAAM,GAAG,MAAM,EAAE,KAAK,OAAO,CAAC;AAE3C,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,WAAW;IACvB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;CACN,CAAC;AAGX,MAAM,EAAE,GAAG,MAAM,CAAC;AAClB,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEpC,MAAM,WAAW,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AAEpC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEvD,kBAAkB;AAClB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI;IACzF,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAC/E,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAC/D,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAC7F,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;IAC1F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC5B,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IACzE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC/E,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM;IAC1C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACjE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACxD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC/C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK;IACzF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAC7B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC3C,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO;IAChC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IACrF,MAAM,EAAE,KAAK,EAAE,MAAM;IACrB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACtF,IAAI;IACJ,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IACxF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IACvF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC1B,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACrF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC/C,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IACrF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAC3C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;IACvF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IAClC,GAAG,EAAE,KAAK,EAAE,MAAM;CACnB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CACxC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAEzE,wDAAwD;AACxD,MAAM,OAAO,GAAG,CAAoB,GAAM,EAAE,EAAuB,EAAE,EAAE;IACrE,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;IACnF,IAAI,SAAS,GAAI,IAAgC,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,SAAS,YAAY,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAgC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC;IACA,SAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAA4C,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;IAC/F,MAAM,SAAS,GAAI,IAAgC,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;QAC7B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAQ,IAAgC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAelF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE7D;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,IAAY,EACZ,OAAoC,EACpC,QAAmC,EACnC,UAAuC,EACvC,OAAoC;IAEpC,MAAM,WAAW,GAA0B,CAAC,QAAQ,EAAE,MAAqB,EAAE,EAAE;QAC7E,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,QAAQ,EAAE,MAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,OAAO,QAAQ,CACb,IAAI,EACJ;YACE,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CACvB,QAAc,EACd,YAAoB,EACpB,IAAc,EACd,IAAc,EACd,IAAc,EACd,EAAE;IACF,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,OAAO,CAAC,IAAI,CAAC,YAAiC,CAAC,EAAE,CAAC,QAAa,EAAE,EAAE;QACjE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAQF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CACzB,IAAY,EACZ,QAAgB,EAChB,OAAoC,EACpC,QAAuB,EACvB,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACtD,IAAI,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,OAAoC,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACzC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,qBAAqB,CAC7B,IAAI,EACJ,OAAO,EACP,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EACpD,UAAU,EAAE,gCAAgC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAC/C,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAA+B,EAAE,EAAE;YAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,IAAI;gBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,+BAA+B;YACtE,4DAA4D;YAC5D,IAAI,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACjC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;oBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,aAAa;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,GAAG;YACL,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,OAAO;SACR,CAAC;QACF,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,kDAAkD;IAElD,uEAAuE;IACvE,+CAA+C;IAC/C,OAAO,GAAG,EAAE;QACV,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC1C,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,yCAAyC;YACzC,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI;YACJ,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,aAAa;YACb,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,uBAAuB;AAEvB,oDAAoD;AACpD,sDAAsD;AACtD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAe,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAG,CAC7B,IAAU,EACV,QAAc,EACd,OAAoC,EACpC,QAAwD,EAC1C,EAAE;IAChB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAC1C,IAAI,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,+BAA+B;IAE/B,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;IACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAW,IAAI,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAS,CAAC,EAAE,CAAC;QAC5F,8DAA8D;QAC9D,gEAAgE;QAChE,4DAA4D;QAC5D,oDAAoD;QACpD,8BAA8B;QAC9B,kCAAkC;QAClC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO;QACP,2BAA2B;QAC3B,+BAA+B;QAC/B,IAAI,GAAG;YACL,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,OAAO;YACP,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACnD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE;oBACvC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC3E,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,CAAC;SACH,CAAC;QACF,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,kDAAkD;IAElD,2EAA2E;IAC3E,gDAAgD;IAChD,OAAO,GAAG,EAAE;QACV,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC1C,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAa;IAGxB,YAAY,GAAc;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,KAAc,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,IAAY,EAAE,QAAgE;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAgC;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,QAAQ,CAAC;QAEnC,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7F,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC3D,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;gBACvD,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,iBAAiB;gBAClC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAU,EAAE,KAAY,EAAE,UAAmB;QACvD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,0BAA0B;QAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,mDAAmD;QACnD,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAEjC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAU,EAAE,QAAe,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO;YAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;wBAAE,OAAO;oBAC5B,4EAA4E;oBAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;wBAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5C,CAAC;oBACD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,SAAS,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;wBAC3D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC1B,SAAS,GAAG,QAAQ,CAAC;wBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACrD,IAAI,MAAM;4BAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBACN,SAAS,GAAG,QAAQ,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,2DAA2D;oBAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC;gBACD,mEAAmE;YACrE,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,4EAA4E;gBAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBACD,SAAS,GAAG,QAAQ,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QACF,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,yCAAyC;QACzC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO;YACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,KAAgB,EAChB,SAAiB,EACjB,IAAU,EACV,IAAY;QAEZ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACrC,2DAA2D;YAC3D,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAE3B,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YAC5B,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+CAA+C;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CACT,SAAiB,EACjB,UAAmB,EACnB,EAAe,EACf,MAAY,EACZ,GAAS,EACT,KAAa,EACb,SAAoB;QAEpB,0CAA0C;QAC1C,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAExC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAc,CAAC;QACxE,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE;YACzC,UAAU,EAAE,CAAC,KAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACtD,eAAe,EAAE,CAAC,KAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM;aACH,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,SAAS,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,IACE,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC5B,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EACzD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,SAAS,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,mDAAmD;YACnD,qDAAqD;YACrD,oBAAoB;YACpB,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;gBAE3B,oEAAoE;gBACpE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBAEtD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAExC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM;gBAAE,OAAO,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,GAAG,SAAS,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE3D,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEnB,kDAAkD;gBAClD,8CAA8C;gBAC9C,4CAA4C;gBAC5C,QAAQ;qBACL,WAAW,EAAE;qBACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBACf,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC,CAAC;qBACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEL,MAAM,GAAG,SAAS,CAAC;gBAEnB,yEAAyE;gBACzE,IAAI,YAAY;oBAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CACd,GAAW,EACX,KAAY,EACZ,UAAmB,EACnB,KAAa,EACb,MAAc,EACd,EAAe,EACf,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,gDAAgD;QAChD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,SAAqB,CAAC;QAC1B,IAAI,MAAM,CAAC;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;YAC9B,CAAC;YAED,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACrD,8CAA8C;gBAC9C,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAEzC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,UAAmB,EACnB,OAAgC,EAChC,KAAa,EACb,MAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACjD,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7C,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;YAC/C,IAAI,MAAM,CAAC;YACX,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC5B,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAC5B,EAAE,CAAC,SAAS,EACZ,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAO,EACP,EAAE,EACF,UAAU,CACX,CAAC;gBACF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC5B,sCAAsC;gBACtC,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACvF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAE5B,sCAAsC;gBACtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,EAAE,CAAC;YAER,IAAI,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAY,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,CAAC;gBACR,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;CACF"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.d.ts new file mode 100644 index 0000000..c9dec7c --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.d.ts @@ -0,0 +1,204 @@ +import { Stats } from 'fs'; +import { EventEmitter } from 'events'; +import { ReaddirpStream, ReaddirpOptions, EntryInfo } from 'readdirp'; +import { NodeFsHandler, EventName, Path } from './handler.js'; +type AWF = { + stabilityThreshold: number; + pollInterval: number; +}; +type BasicOpts = { + persistent: boolean; + ignoreInitial: boolean; + followSymlinks: boolean; + cwd?: string; + usePolling: boolean; + interval: number; + binaryInterval: number; + alwaysStat?: boolean; + depth?: number; + ignorePermissionErrors: boolean; + atomic: boolean | number; +}; +export type Throttler = { + timeoutObject: NodeJS.Timeout; + clear: () => void; + count: number; +}; +export type ChokidarOptions = Partial; +}>; +export type FSWInstanceOptions = BasicOpts & { + ignored: Matcher[]; + awaitWriteFinish: false | AWF; +}; +export type ThrottleType = 'readdir' | 'watch' | 'add' | 'remove' | 'change'; +export type EmitArgs = [EventName, Path | Error, any?, any?, any?]; +export type MatchFunction = (val: string, stats?: Stats) => boolean; +export interface MatcherObject { + path: string; + recursive?: boolean; +} +export type Matcher = string | RegExp | MatchFunction | MatcherObject; +/** + * Directory entry. + */ +declare class DirEntry { + path: Path; + _removeWatcher: (dir: string, base: string) => void; + items: Set; + constructor(dir: Path, removeWatcher: (dir: string, base: string) => void); + add(item: string): void; + remove(item: string): Promise; + has(item: string): boolean | undefined; + getChildren(): string[]; + dispose(): void; +} +export declare class WatchHelper { + fsw: FSWatcher; + path: string; + watchPath: string; + fullWatchPath: string; + dirParts: string[][]; + followSymlinks: boolean; + statMethod: 'stat' | 'lstat'; + constructor(path: string, follow: boolean, fsw: FSWatcher); + entryPath(entry: EntryInfo): Path; + filterPath(entry: EntryInfo): boolean; + filterDir(entry: EntryInfo): boolean; +} +/** + * Watches files & directories for changes. Emitted events: + * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error` + * + * new FSWatcher() + * .add(directories) + * .on('add', path => log('File', path, 'was added')) + */ +export declare class FSWatcher extends EventEmitter { + closed: boolean; + options: FSWInstanceOptions; + _closers: Map>; + _ignoredPaths: Set; + _throttled: Map>; + _streams: Set; + _symlinkPaths: Map; + _watched: Map; + _pendingWrites: Map; + _pendingUnlinks: Map; + _readyCount: number; + _emitReady: () => void; + _closePromise?: Promise; + _userIgnored?: MatchFunction; + _readyEmitted: boolean; + _emitRaw: () => void; + _boundRemove: (dir: string, item: string) => void; + _nodeFsHandler: NodeFsHandler; + constructor(_opts?: ChokidarOptions); + _addIgnoredPath(matcher: Matcher): void; + _removeIgnoredPath(matcher: Matcher): void; + /** + * Adds paths to be watched on an existing FSWatcher instance. + * @param paths_ file or file list. Other arguments are unused + */ + add(paths_: Path | Path[], _origAdd?: string, _internal?: boolean): FSWatcher; + /** + * Close watchers or start ignoring events from specified paths. + */ + unwatch(paths_: Path | Path[]): FSWatcher; + /** + * Close watchers and remove all listeners from watched paths. + */ + close(): Promise; + /** + * Expose list of watched paths + * @returns for chaining + */ + getWatched(): Record; + emitWithAll(event: EventName, args: EmitArgs): void; + /** + * Normalize and emit events. + * Calling _emit DOES NOT MEAN emit() would be called! + * @param event Type of event + * @param path File or directory path + * @param stats arguments to be passed with event + * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + _emit(event: EventName, path: Path, stats?: Stats): Promise; + /** + * Common handler for errors + * @returns The error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + _handleError(error: Error): Error | boolean; + /** + * Helper utility for throttling + * @param actionType type being throttled + * @param path being acted upon + * @param timeout duration of time to suppress duplicate actions + * @returns tracking object or false if action should be suppressed + */ + _throttle(actionType: ThrottleType, path: Path, timeout: number): Throttler | false; + _incrReadyCount(): number; + /** + * Awaits write operation to finish. + * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. + * @param path being acted upon + * @param threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished + * @param event + * @param awfEmit Callback to be called when ready for event to be emitted. + */ + _awaitWriteFinish(path: Path, threshold: number, event: EventName, awfEmit: (err?: Error, stat?: Stats) => void): void; + /** + * Determines whether user has asked to ignore this path. + */ + _isIgnored(path: Path, stats?: Stats): boolean; + _isntIgnored(path: Path, stat?: Stats): boolean; + /** + * Provides a set of common helpers and properties relating to symlink handling. + * @param path file or directory pattern being watched + */ + _getWatchHelpers(path: Path): WatchHelper; + /** + * Provides directory tracking objects + * @param directory path of the directory + */ + _getWatchedDir(directory: string): DirEntry; + /** + * Check for read permissions: https://stackoverflow.com/a/11781404/1358405 + */ + _hasReadPermissions(stats: Stats): boolean; + /** + * Handles emitting unlink events for + * files and directories, and via recursion, for + * files and directories within directories that are unlinked + * @param directory within which the following item is located + * @param item base path of item/directory + */ + _remove(directory: string, item: string, isDirectory?: boolean): void; + /** + * Closes all watchers for a path + */ + _closePath(path: Path): void; + /** + * Closes only file-specific watchers + */ + _closeFile(path: Path): void; + _addPathCloser(path: Path, closer: () => void): void; + _readdirp(root: Path, opts?: Partial): ReaddirpStream | undefined; +} +/** + * Instantiates watcher with paths to be tracked. + * @param paths file / directory paths + * @param options opts, such as `atomic`, `awaitWriteFinish`, `ignored`, and others + * @returns an instance of FSWatcher for chaining. + * @example + * const watcher = watch('.').on('all', (event, path) => { console.log(event, path); }); + * watch('.', { atomic: true, awaitWriteFinish: true, ignored: (f, stats) => stats?.isFile() && !f.endsWith('.js') }) + */ +export declare function watch(paths: string | string[], options?: ChokidarOptions): FSWatcher; +declare const _default: { + watch: typeof watch; + FSWatcher: typeof FSWatcher; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.d.ts.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.d.ts.map new file mode 100644 index 0000000..800c410 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAY,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EACL,aAAa,EACb,SAAS,EACT,IAAI,EAOL,MAAM,cAAc,CAAC;AAEtB,KAAK,GAAG,GAAG;IACT,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAI1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,SAAS,GAAG;IACV,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC7B,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG;IAC3C,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,gBAAgB,EAAE,KAAK,GAAG,GAAG,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC;AACpE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;AAoItE;;GAEG;AACH,cAAM,QAAQ;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEL,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI;IAMzE,GAAG,CAAC,IAAI,EAAE,MAAM;IAMV,MAAM,CAAC,IAAI,EAAE,MAAM;IAgBzB,GAAG,CAAC,IAAI,EAAE,MAAM;IAMhB,WAAW,IAAI,MAAM,EAAE;IAMvB,OAAO;CAOR;AAID,qBAAa,WAAW;IACtB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS;IAczD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIjC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAQrC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;CAGrC;AAED;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAC3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAElD,cAAc,EAAE,aAAa,CAAC;gBAGlB,KAAK,GAAE,eAAoB;IAyEvC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAiBvC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB1C;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS;IA4C7E;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS;IA8BzC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCtB;;;OAGG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAUtC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;IAQ5C;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK;IAoFvD;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO;IAa3C;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK;IA8BnF,eAAe;IAIf;;;;;;;OAOG;IACH,iBAAiB,CACf,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI;IAoD9C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;IAe9C,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK;IAIrC;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW;IAOzC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IAS3C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAK1C;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IA2DrE;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI;IAMrB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI;IAOrB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI;IAU7C,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;CAgBtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAIxF;;;;;AAED,wBAAoC"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.js new file mode 100644 index 0000000..b0abfde --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.js @@ -0,0 +1,798 @@ +import { stat as statcb } from 'fs'; +import { stat, readdir } from 'fs/promises'; +import { EventEmitter } from 'events'; +import * as sysPath from 'path'; +import { readdirp } from 'readdirp'; +import { NodeFsHandler, EVENTS as EV, isWindows, isIBMi, EMPTY_FN, STR_CLOSE, STR_END, } from './handler.js'; +const SLASH = '/'; +const SLASH_SLASH = '//'; +const ONE_DOT = '.'; +const TWO_DOTS = '..'; +const STRING_TYPE = 'string'; +const BACK_SLASH_RE = /\\/g; +const DOUBLE_SLASH_RE = /\/\//; +const DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/; +const REPLACER_RE = /^\.[/\\]/; +function arrify(item) { + return Array.isArray(item) ? item : [item]; +} +const isMatcherObject = (matcher) => typeof matcher === 'object' && matcher !== null && !(matcher instanceof RegExp); +function createPattern(matcher) { + if (typeof matcher === 'function') + return matcher; + if (typeof matcher === 'string') + return (string) => matcher === string; + if (matcher instanceof RegExp) + return (string) => matcher.test(string); + if (typeof matcher === 'object' && matcher !== null) { + return (string) => { + if (matcher.path === string) + return true; + if (matcher.recursive) { + const relative = sysPath.relative(matcher.path, string); + if (!relative) { + return false; + } + return !relative.startsWith('..') && !sysPath.isAbsolute(relative); + } + return false; + }; + } + return () => false; +} +function normalizePath(path) { + if (typeof path !== 'string') + throw new Error('string expected'); + path = sysPath.normalize(path); + path = path.replace(/\\/g, '/'); + let prepend = false; + if (path.startsWith('//')) + prepend = true; + const DOUBLE_SLASH_RE = /\/\//; + while (path.match(DOUBLE_SLASH_RE)) + path = path.replace(DOUBLE_SLASH_RE, '/'); + if (prepend) + path = '/' + path; + return path; +} +function matchPatterns(patterns, testString, stats) { + const path = normalizePath(testString); + for (let index = 0; index < patterns.length; index++) { + const pattern = patterns[index]; + if (pattern(path, stats)) { + return true; + } + } + return false; +} +function anymatch(matchers, testString) { + if (matchers == null) { + throw new TypeError('anymatch: specify first argument'); + } + // Early cache for matchers. + const matchersArray = arrify(matchers); + const patterns = matchersArray.map((matcher) => createPattern(matcher)); + if (testString == null) { + return (testString, stats) => { + return matchPatterns(patterns, testString, stats); + }; + } + return matchPatterns(patterns, testString); +} +const unifyPaths = (paths_) => { + const paths = arrify(paths_).flat(); + if (!paths.every((p) => typeof p === STRING_TYPE)) { + throw new TypeError(`Non-string provided as watch path: ${paths}`); + } + return paths.map(normalizePathToUnix); +}; +// If SLASH_SLASH occurs at the beginning of path, it is not replaced +// because "//StoragePC/DrivePool/Movies" is a valid network path +const toUnix = (string) => { + let str = string.replace(BACK_SLASH_RE, SLASH); + let prepend = false; + if (str.startsWith(SLASH_SLASH)) { + prepend = true; + } + while (str.match(DOUBLE_SLASH_RE)) { + str = str.replace(DOUBLE_SLASH_RE, SLASH); + } + if (prepend) { + str = SLASH + str; + } + return str; +}; +// Our version of upath.normalize +// TODO: this is not equal to path-normalize module - investigate why +const normalizePathToUnix = (path) => toUnix(sysPath.normalize(toUnix(path))); +// TODO: refactor +const normalizeIgnored = (cwd = '') => (path) => { + if (typeof path === 'string') { + return normalizePathToUnix(sysPath.isAbsolute(path) ? path : sysPath.join(cwd, path)); + } + else { + return path; + } +}; +const getAbsolutePath = (path, cwd) => { + if (sysPath.isAbsolute(path)) { + return path; + } + return sysPath.join(cwd, path); +}; +const EMPTY_SET = Object.freeze(new Set()); +/** + * Directory entry. + */ +class DirEntry { + constructor(dir, removeWatcher) { + this.path = dir; + this._removeWatcher = removeWatcher; + this.items = new Set(); + } + add(item) { + const { items } = this; + if (!items) + return; + if (item !== ONE_DOT && item !== TWO_DOTS) + items.add(item); + } + async remove(item) { + const { items } = this; + if (!items) + return; + items.delete(item); + if (items.size > 0) + return; + const dir = this.path; + try { + await readdir(dir); + } + catch (err) { + if (this._removeWatcher) { + this._removeWatcher(sysPath.dirname(dir), sysPath.basename(dir)); + } + } + } + has(item) { + const { items } = this; + if (!items) + return; + return items.has(item); + } + getChildren() { + const { items } = this; + if (!items) + return []; + return [...items.values()]; + } + dispose() { + this.items.clear(); + this.path = ''; + this._removeWatcher = EMPTY_FN; + this.items = EMPTY_SET; + Object.freeze(this); + } +} +const STAT_METHOD_F = 'stat'; +const STAT_METHOD_L = 'lstat'; +export class WatchHelper { + constructor(path, follow, fsw) { + this.fsw = fsw; + const watchPath = path; + this.path = path = path.replace(REPLACER_RE, ''); + this.watchPath = watchPath; + this.fullWatchPath = sysPath.resolve(watchPath); + this.dirParts = []; + this.dirParts.forEach((parts) => { + if (parts.length > 1) + parts.pop(); + }); + this.followSymlinks = follow; + this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L; + } + entryPath(entry) { + return sysPath.join(this.watchPath, sysPath.relative(this.watchPath, entry.fullPath)); + } + filterPath(entry) { + const { stats } = entry; + if (stats && stats.isSymbolicLink()) + return this.filterDir(entry); + const resolvedPath = this.entryPath(entry); + // TODO: what if stats is undefined? remove ! + return this.fsw._isntIgnored(resolvedPath, stats) && this.fsw._hasReadPermissions(stats); + } + filterDir(entry) { + return this.fsw._isntIgnored(this.entryPath(entry), entry.stats); + } +} +/** + * Watches files & directories for changes. Emitted events: + * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error` + * + * new FSWatcher() + * .add(directories) + * .on('add', path => log('File', path, 'was added')) + */ +export class FSWatcher extends EventEmitter { + // Not indenting methods for history sake; for now. + constructor(_opts = {}) { + super(); + this.closed = false; + this._closers = new Map(); + this._ignoredPaths = new Set(); + this._throttled = new Map(); + this._streams = new Set(); + this._symlinkPaths = new Map(); + this._watched = new Map(); + this._pendingWrites = new Map(); + this._pendingUnlinks = new Map(); + this._readyCount = 0; + this._readyEmitted = false; + const awf = _opts.awaitWriteFinish; + const DEF_AWF = { stabilityThreshold: 2000, pollInterval: 100 }; + const opts = { + // Defaults + persistent: true, + ignoreInitial: false, + ignorePermissionErrors: false, + interval: 100, + binaryInterval: 300, + followSymlinks: true, + usePolling: false, + // useAsync: false, + atomic: true, // NOTE: overwritten later (depends on usePolling) + ..._opts, + // Change format + ignored: _opts.ignored ? arrify(_opts.ignored) : arrify([]), + awaitWriteFinish: awf === true ? DEF_AWF : typeof awf === 'object' ? { ...DEF_AWF, ...awf } : false, + }; + // Always default to polling on IBM i because fs.watch() is not available on IBM i. + if (isIBMi) + opts.usePolling = true; + // Editor atomic write normalization enabled by default with fs.watch + if (opts.atomic === undefined) + opts.atomic = !opts.usePolling; + // opts.atomic = typeof _opts.atomic === 'number' ? _opts.atomic : 100; + // Global override. Useful for developers, who need to force polling for all + // instances of chokidar, regardless of usage / dependency depth + const envPoll = process.env.CHOKIDAR_USEPOLLING; + if (envPoll !== undefined) { + const envLower = envPoll.toLowerCase(); + if (envLower === 'false' || envLower === '0') + opts.usePolling = false; + else if (envLower === 'true' || envLower === '1') + opts.usePolling = true; + else + opts.usePolling = !!envLower; + } + const envInterval = process.env.CHOKIDAR_INTERVAL; + if (envInterval) + opts.interval = Number.parseInt(envInterval, 10); + // This is done to emit ready only once, but each 'add' will increase that? + let readyCalls = 0; + this._emitReady = () => { + readyCalls++; + if (readyCalls >= this._readyCount) { + this._emitReady = EMPTY_FN; + this._readyEmitted = true; + // use process.nextTick to allow time for listener to be bound + process.nextTick(() => this.emit(EV.READY)); + } + }; + this._emitRaw = (...args) => this.emit(EV.RAW, ...args); + this._boundRemove = this._remove.bind(this); + this.options = opts; + this._nodeFsHandler = new NodeFsHandler(this); + // You’re frozen when your heart’s not open. + Object.freeze(opts); + } + _addIgnoredPath(matcher) { + if (isMatcherObject(matcher)) { + // return early if we already have a deeply equal matcher object + for (const ignored of this._ignoredPaths) { + if (isMatcherObject(ignored) && + ignored.path === matcher.path && + ignored.recursive === matcher.recursive) { + return; + } + } + } + this._ignoredPaths.add(matcher); + } + _removeIgnoredPath(matcher) { + this._ignoredPaths.delete(matcher); + // now find any matcher objects with the matcher as path + if (typeof matcher === 'string') { + for (const ignored of this._ignoredPaths) { + // TODO (43081j): make this more efficient. + // probably just make a `this._ignoredDirectories` or some + // such thing. + if (isMatcherObject(ignored) && ignored.path === matcher) { + this._ignoredPaths.delete(ignored); + } + } + } + } + // Public methods + /** + * Adds paths to be watched on an existing FSWatcher instance. + * @param paths_ file or file list. Other arguments are unused + */ + add(paths_, _origAdd, _internal) { + const { cwd } = this.options; + this.closed = false; + this._closePromise = undefined; + let paths = unifyPaths(paths_); + if (cwd) { + paths = paths.map((path) => { + const absPath = getAbsolutePath(path, cwd); + // Check `path` instead of `absPath` because the cwd portion can't be a glob + return absPath; + }); + } + paths.forEach((path) => { + this._removeIgnoredPath(path); + }); + this._userIgnored = undefined; + if (!this._readyCount) + this._readyCount = 0; + this._readyCount += paths.length; + Promise.all(paths.map(async (path) => { + const res = await this._nodeFsHandler._addToNodeFs(path, !_internal, undefined, 0, _origAdd); + if (res) + this._emitReady(); + return res; + })).then((results) => { + if (this.closed) + return; + results.forEach((item) => { + if (item) + this.add(sysPath.dirname(item), sysPath.basename(_origAdd || item)); + }); + }); + return this; + } + /** + * Close watchers or start ignoring events from specified paths. + */ + unwatch(paths_) { + if (this.closed) + return this; + const paths = unifyPaths(paths_); + const { cwd } = this.options; + paths.forEach((path) => { + // convert to absolute path unless relative path already matches + if (!sysPath.isAbsolute(path) && !this._closers.has(path)) { + if (cwd) + path = sysPath.join(cwd, path); + path = sysPath.resolve(path); + } + this._closePath(path); + this._addIgnoredPath(path); + if (this._watched.has(path)) { + this._addIgnoredPath({ + path, + recursive: true, + }); + } + // reset the cached userIgnored anymatch fn + // to make ignoredPaths changes effective + this._userIgnored = undefined; + }); + return this; + } + /** + * Close watchers and remove all listeners from watched paths. + */ + close() { + if (this._closePromise) { + return this._closePromise; + } + this.closed = true; + // Memory management. + this.removeAllListeners(); + const closers = []; + this._closers.forEach((closerList) => closerList.forEach((closer) => { + const promise = closer(); + if (promise instanceof Promise) + closers.push(promise); + })); + this._streams.forEach((stream) => stream.destroy()); + this._userIgnored = undefined; + this._readyCount = 0; + this._readyEmitted = false; + this._watched.forEach((dirent) => dirent.dispose()); + this._closers.clear(); + this._watched.clear(); + this._streams.clear(); + this._symlinkPaths.clear(); + this._throttled.clear(); + this._closePromise = closers.length + ? Promise.all(closers).then(() => undefined) + : Promise.resolve(); + return this._closePromise; + } + /** + * Expose list of watched paths + * @returns for chaining + */ + getWatched() { + const watchList = {}; + this._watched.forEach((entry, dir) => { + const key = this.options.cwd ? sysPath.relative(this.options.cwd, dir) : dir; + const index = key || ONE_DOT; + watchList[index] = entry.getChildren().sort(); + }); + return watchList; + } + emitWithAll(event, args) { + this.emit(...args); + if (event !== EV.ERROR) + this.emit(EV.ALL, ...args); + } + // Common helpers + // -------------- + /** + * Normalize and emit events. + * Calling _emit DOES NOT MEAN emit() would be called! + * @param event Type of event + * @param path File or directory path + * @param stats arguments to be passed with event + * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + async _emit(event, path, stats) { + if (this.closed) + return; + const opts = this.options; + if (isWindows) + path = sysPath.normalize(path); + if (opts.cwd) + path = sysPath.relative(opts.cwd, path); + const args = [event, path]; + if (stats != null) + args.push(stats); + const awf = opts.awaitWriteFinish; + let pw; + if (awf && (pw = this._pendingWrites.get(path))) { + pw.lastChange = new Date(); + return this; + } + if (opts.atomic) { + if (event === EV.UNLINK) { + this._pendingUnlinks.set(path, args); + setTimeout(() => { + this._pendingUnlinks.forEach((entry, path) => { + this.emit(...entry); + this.emit(EV.ALL, ...entry); + this._pendingUnlinks.delete(path); + }); + }, typeof opts.atomic === 'number' ? opts.atomic : 100); + return this; + } + if (event === EV.ADD && this._pendingUnlinks.has(path)) { + event = args[0] = EV.CHANGE; + this._pendingUnlinks.delete(path); + } + } + if (awf && (event === EV.ADD || event === EV.CHANGE) && this._readyEmitted) { + const awfEmit = (err, stats) => { + if (err) { + event = args[0] = EV.ERROR; + args[1] = err; + this.emitWithAll(event, args); + } + else if (stats) { + // if stats doesn't exist the file must have been deleted + if (args.length > 2) { + args[2] = stats; + } + else { + args.push(stats); + } + this.emitWithAll(event, args); + } + }; + this._awaitWriteFinish(path, awf.stabilityThreshold, event, awfEmit); + return this; + } + if (event === EV.CHANGE) { + const isThrottled = !this._throttle(EV.CHANGE, path, 50); + if (isThrottled) + return this; + } + if (opts.alwaysStat && + stats === undefined && + (event === EV.ADD || event === EV.ADD_DIR || event === EV.CHANGE)) { + const fullPath = opts.cwd ? sysPath.join(opts.cwd, path) : path; + let stats; + try { + stats = await stat(fullPath); + } + catch (err) { + // do nothing + } + // Suppress event when fs_stat fails, to avoid sending undefined 'stat' + if (!stats || this.closed) + return; + args.push(stats); + } + this.emitWithAll(event, args); + return this; + } + /** + * Common handler for errors + * @returns The error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + _handleError(error) { + const code = error && error.code; + if (error && + code !== 'ENOENT' && + code !== 'ENOTDIR' && + (!this.options.ignorePermissionErrors || (code !== 'EPERM' && code !== 'EACCES'))) { + this.emit(EV.ERROR, error); + } + return error || this.closed; + } + /** + * Helper utility for throttling + * @param actionType type being throttled + * @param path being acted upon + * @param timeout duration of time to suppress duplicate actions + * @returns tracking object or false if action should be suppressed + */ + _throttle(actionType, path, timeout) { + if (!this._throttled.has(actionType)) { + this._throttled.set(actionType, new Map()); + } + const action = this._throttled.get(actionType); + if (!action) + throw new Error('invalid throttle'); + const actionPath = action.get(path); + if (actionPath) { + actionPath.count++; + return false; + } + // eslint-disable-next-line prefer-const + let timeoutObject; + const clear = () => { + const item = action.get(path); + const count = item ? item.count : 0; + action.delete(path); + clearTimeout(timeoutObject); + if (item) + clearTimeout(item.timeoutObject); + return count; + }; + timeoutObject = setTimeout(clear, timeout); + const thr = { timeoutObject, clear, count: 0 }; + action.set(path, thr); + return thr; + } + _incrReadyCount() { + return this._readyCount++; + } + /** + * Awaits write operation to finish. + * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. + * @param path being acted upon + * @param threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished + * @param event + * @param awfEmit Callback to be called when ready for event to be emitted. + */ + _awaitWriteFinish(path, threshold, event, awfEmit) { + const awf = this.options.awaitWriteFinish; + if (typeof awf !== 'object') + return; + const pollInterval = awf.pollInterval; + let timeoutHandler; + let fullPath = path; + if (this.options.cwd && !sysPath.isAbsolute(path)) { + fullPath = sysPath.join(this.options.cwd, path); + } + const now = new Date(); + const writes = this._pendingWrites; + function awaitWriteFinishFn(prevStat) { + statcb(fullPath, (err, curStat) => { + if (err || !writes.has(path)) { + if (err && err.code !== 'ENOENT') + awfEmit(err); + return; + } + const now = Number(new Date()); + if (prevStat && curStat.size !== prevStat.size) { + writes.get(path).lastChange = now; + } + const pw = writes.get(path); + const df = now - pw.lastChange; + if (df >= threshold) { + writes.delete(path); + awfEmit(undefined, curStat); + } + else { + timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval, curStat); + } + }); + } + if (!writes.has(path)) { + writes.set(path, { + lastChange: now, + cancelWait: () => { + writes.delete(path); + clearTimeout(timeoutHandler); + return event; + }, + }); + timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval); + } + } + /** + * Determines whether user has asked to ignore this path. + */ + _isIgnored(path, stats) { + if (this.options.atomic && DOT_RE.test(path)) + return true; + if (!this._userIgnored) { + const { cwd } = this.options; + const ign = this.options.ignored; + const ignored = (ign || []).map(normalizeIgnored(cwd)); + const ignoredPaths = [...this._ignoredPaths]; + const list = [...ignoredPaths.map(normalizeIgnored(cwd)), ...ignored]; + this._userIgnored = anymatch(list, undefined); + } + return this._userIgnored(path, stats); + } + _isntIgnored(path, stat) { + return !this._isIgnored(path, stat); + } + /** + * Provides a set of common helpers and properties relating to symlink handling. + * @param path file or directory pattern being watched + */ + _getWatchHelpers(path) { + return new WatchHelper(path, this.options.followSymlinks, this); + } + // Directory helpers + // ----------------- + /** + * Provides directory tracking objects + * @param directory path of the directory + */ + _getWatchedDir(directory) { + const dir = sysPath.resolve(directory); + if (!this._watched.has(dir)) + this._watched.set(dir, new DirEntry(dir, this._boundRemove)); + return this._watched.get(dir); + } + // File helpers + // ------------ + /** + * Check for read permissions: https://stackoverflow.com/a/11781404/1358405 + */ + _hasReadPermissions(stats) { + if (this.options.ignorePermissionErrors) + return true; + return Boolean(Number(stats.mode) & 0o400); + } + /** + * Handles emitting unlink events for + * files and directories, and via recursion, for + * files and directories within directories that are unlinked + * @param directory within which the following item is located + * @param item base path of item/directory + */ + _remove(directory, item, isDirectory) { + // if what is being deleted is a directory, get that directory's paths + // for recursive deleting and cleaning of watched object + // if it is not a directory, nestedDirectoryChildren will be empty array + const path = sysPath.join(directory, item); + const fullPath = sysPath.resolve(path); + isDirectory = + isDirectory != null ? isDirectory : this._watched.has(path) || this._watched.has(fullPath); + // prevent duplicate handling in case of arriving here nearly simultaneously + // via multiple paths (such as _handleFile and _handleDir) + if (!this._throttle('remove', path, 100)) + return; + // if the only watched file is removed, watch for its return + if (!isDirectory && this._watched.size === 1) { + this.add(directory, item, true); + } + // This will create a new entry in the watched object in either case + // so we got to do the directory check beforehand + const wp = this._getWatchedDir(path); + const nestedDirectoryChildren = wp.getChildren(); + // Recursively remove children directories / files. + nestedDirectoryChildren.forEach((nested) => this._remove(path, nested)); + // Check if item was on the watched list and remove it + const parent = this._getWatchedDir(directory); + const wasTracked = parent.has(item); + parent.remove(item); + // Fixes issue #1042 -> Relative paths were detected and added as symlinks + // (https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L612), + // but never removed from the map in case the path was deleted. + // This leads to an incorrect state if the path was recreated: + // https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L553 + if (this._symlinkPaths.has(fullPath)) { + this._symlinkPaths.delete(fullPath); + } + // If we wait for this file to be fully written, cancel the wait. + let relPath = path; + if (this.options.cwd) + relPath = sysPath.relative(this.options.cwd, path); + if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) { + const event = this._pendingWrites.get(relPath).cancelWait(); + if (event === EV.ADD) + return; + } + // The Entry will either be a directory that just got removed + // or a bogus entry to a file, in either case we have to remove it + this._watched.delete(path); + this._watched.delete(fullPath); + const eventName = isDirectory ? EV.UNLINK_DIR : EV.UNLINK; + if (wasTracked && !this._isIgnored(path)) + this._emit(eventName, path); + // Avoid conflicts if we later create another file with the same name + this._closePath(path); + } + /** + * Closes all watchers for a path + */ + _closePath(path) { + this._closeFile(path); + const dir = sysPath.dirname(path); + this._getWatchedDir(dir).remove(sysPath.basename(path)); + } + /** + * Closes only file-specific watchers + */ + _closeFile(path) { + const closers = this._closers.get(path); + if (!closers) + return; + closers.forEach((closer) => closer()); + this._closers.delete(path); + } + _addPathCloser(path, closer) { + if (!closer) + return; + let list = this._closers.get(path); + if (!list) { + list = []; + this._closers.set(path, list); + } + list.push(closer); + } + _readdirp(root, opts) { + if (this.closed) + return; + const options = { type: EV.ALL, alwaysStat: true, lstat: true, ...opts, depth: 0 }; + let stream = readdirp(root, options); + this._streams.add(stream); + stream.once(STR_CLOSE, () => { + stream = undefined; + }); + stream.once(STR_END, () => { + if (stream) { + this._streams.delete(stream); + stream = undefined; + } + }); + return stream; + } +} +/** + * Instantiates watcher with paths to be tracked. + * @param paths file / directory paths + * @param options opts, such as `atomic`, `awaitWriteFinish`, `ignored`, and others + * @returns an instance of FSWatcher for chaining. + * @example + * const watcher = watch('.').on('all', (event, path) => { console.log(event, path); }); + * watch('.', { atomic: true, awaitWriteFinish: true, ignored: (f, stats) => stats?.isFile() && !f.endsWith('.js') }) + */ +export function watch(paths, options = {}) { + const watcher = new FSWatcher(options); + watcher.add(paths); + return watcher; +} +export default { watch, FSWatcher }; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.js.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.js.map new file mode 100644 index 0000000..7b94f59 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,MAAM,EAAS,MAAM,IAAI,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,MAAM,CAAC;AAChC,OAAO,EAAE,QAAQ,EAA8C,MAAM,UAAU,CAAC;AAChF,OAAO,EACL,aAAa,EAGb,MAAM,IAAI,EAAE,EACZ,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,GACR,MAAM,cAAc,CAAC;AAqDtB,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,GAAG,kCAAkC,CAAC;AAClD,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,SAAS,MAAM,CAAI,IAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,OAAgB,EAA4B,EAAE,CACrE,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC;AAElF,SAAS,aAAa,CAAC,OAAgB;IACrC,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC;IACvE,IAAI,OAAO,YAAY,MAAM;QAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,MAAM,eAAe,GAAG,MAAM,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,OAAO;QAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB,EAAE,UAAkB,EAAE,KAAa;IACjF,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAEvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAID,SAAS,QAAQ,CAAC,QAAmB,EAAE,UAA8B;IACnE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC1D,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAExE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,UAAkB,EAAE,KAAa,EAAW,EAAE;YACpD,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;IAChC,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,iCAAiC;AACjC,qEAAqE;AACrE,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpF,iBAAiB;AACjB,MAAM,gBAAgB,GACpB,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CACb,CAAC,IAAa,EAAU,EAAE;IACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,IAAc,CAAC;IACxB,CAAC;AACH,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,GAAS,EAAE,EAAE;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC;AACnD;;GAEG;AACH,MAAM,QAAQ;IAKZ,YAAY,GAAS,EAAE,aAAkD;QACvE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,WAAW;QACT,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAM,OAAO,WAAW;IAStB,YAAY,IAAY,EAAE,MAAe,EAAE,GAAc;QACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,KAAgB;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,UAAU,CAAC,KAAgB;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,6CAA6C;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAM,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,CAAC,KAAgB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,SAAU,SAAQ,YAAY;IAuBzC,mDAAmD;IACnD,YAAY,QAAyB,EAAE;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAW,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACnC,MAAM,OAAO,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAChE,MAAM,IAAI,GAAuB;YAC/B,WAAW;YACX,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,KAAK;YACpB,sBAAsB,EAAE,KAAK;YAC7B,QAAQ,EAAE,GAAG;YACb,cAAc,EAAE,GAAG;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,KAAK;YACjB,mBAAmB;YACnB,MAAM,EAAE,IAAI,EAAE,kDAAkD;YAChE,GAAG,KAAK;YACR,gBAAgB;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,gBAAgB,EACd,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK;SACpF,CAAC;QAEF,mFAAmF;QACnF,IAAI,MAAM;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACnC,qEAAqE;QACrE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9D,uEAAuE;QACvE,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACjE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;gBACpE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC;QACpC,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD,IAAI,WAAW;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClE,2EAA2E;QAC3E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,UAAU,EAAE,CAAC;YACb,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,8DAA8D;gBAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC9C,4CAA4C;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,gEAAgE;YAChE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzC,IACE,eAAe,CAAC,OAAO,CAAC;oBACxB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;oBAC7B,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EACvC,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,OAAgB;QACjC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,wDAAwD;QACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzC,2CAA2C;gBAC3C,0DAA0D;gBAC1D,cAAc;gBACd,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IAEjB;;;OAGG;IACH,GAAG,CAAC,MAAqB,EAAE,QAAiB,EAAE,SAAmB;QAC/D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAE3C,4EAA4E;gBAC5E,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAChD,IAAI,EACJ,CAAC,SAAS,EACV,SAAS,EACT,CAAC,EACD,QAAQ,CACT,CAAC;YACF,IAAI,GAAG;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACjB,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,IAAI;oBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,MAAqB;QAC3B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,gEAAgE;YAChE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,GAAG;oBAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC;oBACnB,IAAI;oBACJ,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,yCAAyC;YACzC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACnC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;YACzB,IAAI,OAAO,YAAY,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM;YACjC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7E,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,KAAgB,EAAE,IAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,EAAE,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB;IACjB,iBAAiB;IAEjB;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,KAAgB,EAAE,IAAU,EAAE,KAAa;QACrD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,SAAS;YAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG;YAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,IAAI,EAAE,CAAC;QACP,IAAI,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAChD,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,UAAU,CACR,GAAG,EAAE;oBACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,IAAU,EAAE,EAAE;wBAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACL,CAAC,EACD,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CACpD,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3E,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;gBAC7C,IAAI,GAAG,EAAE,CAAC;oBACR,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;oBAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACjB,yDAAyD;oBACzD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,WAAW;gBAAE,OAAO,IAAI,CAAC;QAC/B,CAAC;QAED,IACE,IAAI,CAAC,UAAU;YACf,KAAK,KAAK,SAAS;YACnB,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC,OAAO,IAAI,KAAK,KAAK,EAAE,CAAC,MAAM,CAAC,EACjE,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,IAAI,KAAK,CAAC;YACV,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa;YACf,CAAC;YACD,uEAAuE;YACvE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAY;QACvB,MAAM,IAAI,GAAG,KAAK,IAAK,KAAkC,CAAC,IAAI,CAAC;QAC/D,IACE,KAAK;YACL,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,EACjF,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,UAAwB,EAAE,IAAU,EAAE,OAAe;QAC7D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wCAAwC;QACxC,IAAI,aAA6B,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,IAAI;gBAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,aAAa,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CACf,IAAU,EACV,SAAiB,EACjB,KAAgB,EAChB,OAA4C;QAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO;QACpC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAiC,CAAC;QAC3D,IAAI,cAA8B,CAAC;QAEnC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,SAAS,kBAAkB,CAAC,QAAgB;YAC1C,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBAChC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAE/B,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;gBACpC,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;gBAE/B,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,UAAU,CAAC,kBAAkB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;gBACf,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG,EAAE;oBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,YAAY,CAAC,cAAc,CAAC,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;YACH,cAAc,GAAG,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAU,EAAE,KAAa;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAEjC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAc,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;YACjF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,IAAU,EAAE,IAAY;QACnC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAU;QACzB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,oBAAoB;IACpB,oBAAoB;IAEpB;;;OAGG;IACH,cAAc,CAAC,SAAiB;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACjC,CAAC;IAED,eAAe;IACf,eAAe;IAEf;;OAEG;IACH,mBAAmB,CAAC,KAAY;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAiB,EAAE,IAAY,EAAE,WAAqB;QAC5D,sEAAsE;QACtE,wDAAwD;QACxD,wEAAwE;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,WAAW;YACT,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7F,4EAA4E;QAC5E,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO;QAEjD,4DAA4D;QAC5D,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,uBAAuB,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAEjD,mDAAmD;QACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAExE,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,0EAA0E;QAC1E,oHAAoH;QACpH,+DAA+D;QAC/D,8DAA8D;QAC9D,iHAAiH;QACjH,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,iEAAiE;QACjE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,EAAE,CAAC,GAAG;gBAAE,OAAO;QAC/B,CAAC;QAED,6DAA6D;QAC7D,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAc,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC;QACrE,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEtE,qEAAqE;QACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAU;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,IAAU,EAAE,MAAkB;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,IAAU,EAAE,IAA+B;QACnD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnF,IAAI,MAAM,GAA+B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,KAAK,CAAC,KAAwB,EAAE,UAA2B,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/package.json b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/package.json new file mode 100644 index 0000000..8769641 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/esm/package.json @@ -0,0 +1 @@ +{ "type": "module", "sideEffects": false } diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.d.ts b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.d.ts new file mode 100644 index 0000000..2a5666a --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.d.ts @@ -0,0 +1,90 @@ +import type { WatchEventType, Stats, FSWatcher as NativeFsWatcher } from 'fs'; +import type { FSWatcher, WatchHelper, Throttler } from './index.js'; +import type { EntryInfo } from 'readdirp'; +export type Path = string; +export declare const STR_DATA = "data"; +export declare const STR_END = "end"; +export declare const STR_CLOSE = "close"; +export declare const EMPTY_FN: () => void; +export declare const IDENTITY_FN: (val: unknown) => unknown; +export declare const isWindows: boolean; +export declare const isMacos: boolean; +export declare const isLinux: boolean; +export declare const isIBMi: boolean; +export declare const EVENTS: { + readonly ALL: "all"; + readonly READY: "ready"; + readonly ADD: "add"; + readonly CHANGE: "change"; + readonly ADD_DIR: "addDir"; + readonly UNLINK: "unlink"; + readonly UNLINK_DIR: "unlinkDir"; + readonly RAW: "raw"; + readonly ERROR: "error"; +}; +export type EventName = (typeof EVENTS)[keyof typeof EVENTS]; +export type FsWatchContainer = { + listeners: (path: string) => void | Set; + errHandlers: (err: unknown) => void | Set; + rawEmitters: (ev: WatchEventType, path: string, opts: unknown) => void | Set; + watcher: NativeFsWatcher; + watcherUnusable?: boolean; +}; +export interface WatchHandlers { + listener: (path: string) => void; + errHandler: (err: unknown) => void; + rawEmitter: (ev: WatchEventType, path: string, opts: unknown) => void; +} +/** + * @mixin + */ +export declare class NodeFsHandler { + fsw: FSWatcher; + _boundHandleError: (error: unknown) => void; + constructor(fsW: FSWatcher); + /** + * Watch file for changes with fs_watchFile or fs_watch. + * @param path to file or dir + * @param listener on fs change + * @returns closer for the watcher instance + */ + _watchWithNodeFs(path: string, listener: (path: string, newStats?: any) => void | Promise): (() => void) | undefined; + /** + * Watch a file and emit add event if warranted. + * @returns closer for the watcher instance + */ + _handleFile(file: Path, stats: Stats, initialAdd: boolean): (() => void) | undefined; + /** + * Handle symlinks encountered while reading a dir. + * @param entry returned by readdirp + * @param directory path of dir being read + * @param path of this item + * @param item basename of this item + * @returns true if no more processing is needed for this entry. + */ + _handleSymlink(entry: EntryInfo, directory: string, path: Path, item: string): Promise; + _handleRead(directory: string, initialAdd: boolean, wh: WatchHelper, target: Path, dir: Path, depth: number, throttler: Throttler): Promise | undefined; + /** + * Read directory to add / remove files from `@watched` list and re-read it on change. + * @param dir fs path + * @param stats + * @param initialAdd + * @param depth relative to user-supplied path + * @param target child path targeted for watch + * @param wh Common watch helpers for this path + * @param realpath + * @returns closer for the watcher instance. + */ + _handleDir(dir: string, stats: Stats, initialAdd: boolean, depth: number, target: string, wh: WatchHelper, realpath: string): Promise<(() => void) | undefined>; + /** + * Handle added file, directory, or glob pattern. + * Delegates call to _handleFile / _handleDir after checks. + * @param path to file or ir + * @param initialAdd was the file added at watch instantiation? + * @param priorWh depth relative to user-supplied path + * @param depth Child path actually targeted for watch + * @param target Child path actually targeted for watch + */ + _addToNodeFs(path: string, initialAdd: boolean, priorWh: WatchHelper | undefined, depth: number, target?: string): Promise; +} +//# sourceMappingURL=handler.d.ts.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.d.ts.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.d.ts.map new file mode 100644 index 0000000..f4d8683 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["src/handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,cAAc,EAAE,KAAK,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,IAAI,CAAC;AAI7F,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAsB,SAAS,EAAE,MAAM,YAAY,CAAC;AACxF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,eAAO,MAAM,QAAQ,SAAS,CAAC;AAC/B,eAAO,MAAM,OAAO,QAAQ,CAAC;AAC7B,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,QAAQ,YAAW,CAAC;AACjC,eAAO,MAAM,WAAW,QAAS,OAAO,YAAQ,CAAC;AAGjD,eAAO,MAAM,SAAS,SAAiB,CAAC;AACxC,eAAO,MAAM,OAAO,SAAkB,CAAC;AACvC,eAAO,MAAM,OAAO,SAAiB,CAAC;AACtC,eAAO,MAAM,MAAM,SAAuB,CAAC;AAE3C,eAAO,MAAM,MAAM;;;;;;;;;;CAUT,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AA4F7D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7C,WAAW,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClF,OAAO,EAAE,eAAe,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AA8DF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvE;AAkKD;;GAEG;AACH,qBAAa,aAAa;IACxB,GAAG,EAAE,SAAS,CAAC;IACf,iBAAiB,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;gBAChC,GAAG,EAAE,SAAS;IAK1B;;;;;OAKG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,UA3EvF,IAAI;IAyGZ;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IA4DpF;;;;;;;OAOG;IACG,cAAc,CAClB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IA0C/B,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,OAAO,EACnB,EAAE,EAAE,WAAW,EACf,MAAM,EAAE,IAAI,EACZ,GAAG,EAAE,IAAI,EACT,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS;IAkFtB;;;;;;;;;;OAUG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,OAAO,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,WAAW,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IA8BpC;;;;;;;;OAQG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,OAAO,EACnB,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM;CAsElB"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.js new file mode 100644 index 0000000..80e1750 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.js @@ -0,0 +1,635 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.NodeFsHandler = exports.EVENTS = exports.isIBMi = exports.isLinux = exports.isMacos = exports.isWindows = exports.IDENTITY_FN = exports.EMPTY_FN = exports.STR_CLOSE = exports.STR_END = exports.STR_DATA = void 0; +const fs_1 = require("fs"); +const promises_1 = require("fs/promises"); +const sysPath = require("path"); +const os_1 = require("os"); +exports.STR_DATA = 'data'; +exports.STR_END = 'end'; +exports.STR_CLOSE = 'close'; +const EMPTY_FN = () => { }; +exports.EMPTY_FN = EMPTY_FN; +const IDENTITY_FN = (val) => val; +exports.IDENTITY_FN = IDENTITY_FN; +const pl = process.platform; +exports.isWindows = pl === 'win32'; +exports.isMacos = pl === 'darwin'; +exports.isLinux = pl === 'linux'; +exports.isIBMi = (0, os_1.type)() === 'OS400'; +exports.EVENTS = { + ALL: 'all', + READY: 'ready', + ADD: 'add', + CHANGE: 'change', + ADD_DIR: 'addDir', + UNLINK: 'unlink', + UNLINK_DIR: 'unlinkDir', + RAW: 'raw', + ERROR: 'error', +}; +const EV = exports.EVENTS; +const THROTTLE_MODE_WATCH = 'watch'; +const statMethods = { lstat: promises_1.lstat, stat: promises_1.stat }; +const KEY_LISTENERS = 'listeners'; +const KEY_ERR = 'errHandlers'; +const KEY_RAW = 'rawEmitters'; +const HANDLER_KEYS = [KEY_LISTENERS, KEY_ERR, KEY_RAW]; +// prettier-ignore +const binaryExtensions = new Set([ + '3dm', '3ds', '3g2', '3gp', '7z', 'a', 'aac', 'adp', 'afdesign', 'afphoto', 'afpub', 'ai', + 'aif', 'aiff', 'alz', 'ape', 'apk', 'appimage', 'ar', 'arj', 'asf', 'au', 'avi', + 'bak', 'baml', 'bh', 'bin', 'bk', 'bmp', 'btif', 'bz2', 'bzip2', + 'cab', 'caf', 'cgm', 'class', 'cmx', 'cpio', 'cr2', 'cur', 'dat', 'dcm', 'deb', 'dex', 'djvu', + 'dll', 'dmg', 'dng', 'doc', 'docm', 'docx', 'dot', 'dotm', 'dra', 'DS_Store', 'dsk', 'dts', + 'dtshd', 'dvb', 'dwg', 'dxf', + 'ecelp4800', 'ecelp7470', 'ecelp9600', 'egg', 'eol', 'eot', 'epub', 'exe', + 'f4v', 'fbs', 'fh', 'fla', 'flac', 'flatpak', 'fli', 'flv', 'fpx', 'fst', 'fvt', + 'g3', 'gh', 'gif', 'graffle', 'gz', 'gzip', + 'h261', 'h263', 'h264', 'icns', 'ico', 'ief', 'img', 'ipa', 'iso', + 'jar', 'jpeg', 'jpg', 'jpgv', 'jpm', 'jxr', 'key', 'ktx', + 'lha', 'lib', 'lvp', 'lz', 'lzh', 'lzma', 'lzo', + 'm3u', 'm4a', 'm4v', 'mar', 'mdi', 'mht', 'mid', 'midi', 'mj2', 'mka', 'mkv', 'mmr', 'mng', + 'mobi', 'mov', 'movie', 'mp3', + 'mp4', 'mp4a', 'mpeg', 'mpg', 'mpga', 'mxu', + 'nef', 'npx', 'numbers', 'nupkg', + 'o', 'odp', 'ods', 'odt', 'oga', 'ogg', 'ogv', 'otf', 'ott', + 'pages', 'pbm', 'pcx', 'pdb', 'pdf', 'pea', 'pgm', 'pic', 'png', 'pnm', 'pot', 'potm', + 'potx', 'ppa', 'ppam', + 'ppm', 'pps', 'ppsm', 'ppsx', 'ppt', 'pptm', 'pptx', 'psd', 'pya', 'pyc', 'pyo', 'pyv', + 'qt', + 'rar', 'ras', 'raw', 'resources', 'rgb', 'rip', 'rlc', 'rmf', 'rmvb', 'rpm', 'rtf', 'rz', + 's3m', 's7z', 'scpt', 'sgi', 'shar', 'snap', 'sil', 'sketch', 'slk', 'smv', 'snk', 'so', + 'stl', 'suo', 'sub', 'swf', + 'tar', 'tbz', 'tbz2', 'tga', 'tgz', 'thmx', 'tif', 'tiff', 'tlz', 'ttc', 'ttf', 'txz', + 'udf', 'uvh', 'uvi', 'uvm', 'uvp', 'uvs', 'uvu', + 'viv', 'vob', + 'war', 'wav', 'wax', 'wbmp', 'wdp', 'weba', 'webm', 'webp', 'whl', 'wim', 'wm', 'wma', + 'wmv', 'wmx', 'woff', 'woff2', 'wrm', 'wvx', + 'xbm', 'xif', 'xla', 'xlam', 'xls', 'xlsb', 'xlsm', 'xlsx', 'xlt', 'xltm', 'xltx', 'xm', + 'xmind', 'xpi', 'xpm', 'xwd', 'xz', + 'z', 'zip', 'zipx', +]); +const isBinaryPath = (filePath) => binaryExtensions.has(sysPath.extname(filePath).slice(1).toLowerCase()); +// TODO: emit errors properly. Example: EMFILE on Macos. +const foreach = (val, fn) => { + if (val instanceof Set) { + val.forEach(fn); + } + else { + fn(val); + } +}; +const addAndConvert = (main, prop, item) => { + let container = main[prop]; + if (!(container instanceof Set)) { + main[prop] = container = new Set([container]); + } + container.add(item); +}; +const clearItem = (cont) => (key) => { + const set = cont[key]; + if (set instanceof Set) { + set.clear(); + } + else { + delete cont[key]; + } +}; +const delFromSet = (main, prop, item) => { + const container = main[prop]; + if (container instanceof Set) { + container.delete(item); + } + else if (container === item) { + delete main[prop]; + } +}; +const isEmptySet = (val) => (val instanceof Set ? val.size === 0 : !val); +const FsWatchInstances = new Map(); +/** + * Instantiates the fs_watch interface + * @param path to be watched + * @param options to be passed to fs_watch + * @param listener main event handler + * @param errHandler emits info about errors + * @param emitRaw emits raw event data + * @returns {NativeFsWatcher} + */ +function createFsWatchInstance(path, options, listener, errHandler, emitRaw) { + const handleEvent = (rawEvent, evPath) => { + listener(path); + emitRaw(rawEvent, evPath, { watchedPath: path }); + // emit based on events occurring for files from a directory's watcher in + // case the file's watcher misses it (and rely on throttling to de-dupe) + if (evPath && path !== evPath) { + fsWatchBroadcast(sysPath.resolve(path, evPath), KEY_LISTENERS, sysPath.join(path, evPath)); + } + }; + try { + return (0, fs_1.watch)(path, { + persistent: options.persistent, + }, handleEvent); + } + catch (error) { + errHandler(error); + return undefined; + } +} +/** + * Helper for passing fs_watch event data to a collection of listeners + * @param fullPath absolute path bound to fs_watch instance + */ +const fsWatchBroadcast = (fullPath, listenerType, val1, val2, val3) => { + const cont = FsWatchInstances.get(fullPath); + if (!cont) + return; + foreach(cont[listenerType], (listener) => { + listener(val1, val2, val3); + }); +}; +/** + * Instantiates the fs_watch interface or binds listeners + * to an existing one covering the same file system entry + * @param path + * @param fullPath absolute path + * @param options to be passed to fs_watch + * @param handlers container for event listener functions + */ +const setFsWatchListener = (path, fullPath, options, handlers) => { + const { listener, errHandler, rawEmitter } = handlers; + let cont = FsWatchInstances.get(fullPath); + let watcher; + if (!options.persistent) { + watcher = createFsWatchInstance(path, options, listener, errHandler, rawEmitter); + if (!watcher) + return; + return watcher.close.bind(watcher); + } + if (cont) { + addAndConvert(cont, KEY_LISTENERS, listener); + addAndConvert(cont, KEY_ERR, errHandler); + addAndConvert(cont, KEY_RAW, rawEmitter); + } + else { + watcher = createFsWatchInstance(path, options, fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS), errHandler, // no need to use broadcast here + fsWatchBroadcast.bind(null, fullPath, KEY_RAW)); + if (!watcher) + return; + watcher.on(EV.ERROR, async (error) => { + const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR); + if (cont) + cont.watcherUnusable = true; // documented since Node 10.4.1 + // Workaround for https://github.com/joyent/node/issues/4337 + if (exports.isWindows && error.code === 'EPERM') { + try { + const fd = await (0, promises_1.open)(path, 'r'); + await fd.close(); + broadcastErr(error); + } + catch (err) { + // do nothing + } + } + else { + broadcastErr(error); + } + }); + cont = { + listeners: listener, + errHandlers: errHandler, + rawEmitters: rawEmitter, + watcher, + }; + FsWatchInstances.set(fullPath, cont); + } + // const index = cont.listeners.indexOf(listener); + // removes this instance's listeners and closes the underlying fs_watch + // instance if there are no more listeners left + return () => { + delFromSet(cont, KEY_LISTENERS, listener); + delFromSet(cont, KEY_ERR, errHandler); + delFromSet(cont, KEY_RAW, rawEmitter); + if (isEmptySet(cont.listeners)) { + // Check to protect against issue gh-730. + // if (cont.watcherUnusable) { + cont.watcher.close(); + // } + FsWatchInstances.delete(fullPath); + HANDLER_KEYS.forEach(clearItem(cont)); + // @ts-ignore + cont.watcher = undefined; + Object.freeze(cont); + } + }; +}; +// fs_watchFile helpers +// object to hold per-process fs_watchFile instances +// (may be shared across chokidar FSWatcher instances) +const FsWatchFileInstances = new Map(); +/** + * Instantiates the fs_watchFile interface or binds listeners + * to an existing one covering the same file system entry + * @param path to be watched + * @param fullPath absolute path + * @param options options to be passed to fs_watchFile + * @param handlers container for event listener functions + * @returns closer + */ +const setFsWatchFileListener = (path, fullPath, options, handlers) => { + const { listener, rawEmitter } = handlers; + let cont = FsWatchFileInstances.get(fullPath); + // let listeners = new Set(); + // let rawEmitters = new Set(); + const copts = cont && cont.options; + if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) { + // "Upgrade" the watcher to persistence or a quicker interval. + // This creates some unlikely edge case issues if the user mixes + // settings in a very weird way, but solving for those cases + // doesn't seem worthwhile for the added complexity. + // listeners = cont.listeners; + // rawEmitters = cont.rawEmitters; + (0, fs_1.unwatchFile)(fullPath); + cont = undefined; + } + if (cont) { + addAndConvert(cont, KEY_LISTENERS, listener); + addAndConvert(cont, KEY_RAW, rawEmitter); + } + else { + // TODO + // listeners.add(listener); + // rawEmitters.add(rawEmitter); + cont = { + listeners: listener, + rawEmitters: rawEmitter, + options, + watcher: (0, fs_1.watchFile)(fullPath, options, (curr, prev) => { + foreach(cont.rawEmitters, (rawEmitter) => { + rawEmitter(EV.CHANGE, fullPath, { curr, prev }); + }); + const currmtime = curr.mtimeMs; + if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) { + foreach(cont.listeners, (listener) => listener(path, curr)); + } + }), + }; + FsWatchFileInstances.set(fullPath, cont); + } + // const index = cont.listeners.indexOf(listener); + // Removes this instance's listeners and closes the underlying fs_watchFile + // instance if there are no more listeners left. + return () => { + delFromSet(cont, KEY_LISTENERS, listener); + delFromSet(cont, KEY_RAW, rawEmitter); + if (isEmptySet(cont.listeners)) { + FsWatchFileInstances.delete(fullPath); + (0, fs_1.unwatchFile)(fullPath); + cont.options = cont.watcher = undefined; + Object.freeze(cont); + } + }; +}; +/** + * @mixin + */ +class NodeFsHandler { + constructor(fsW) { + this.fsw = fsW; + this._boundHandleError = (error) => fsW._handleError(error); + } + /** + * Watch file for changes with fs_watchFile or fs_watch. + * @param path to file or dir + * @param listener on fs change + * @returns closer for the watcher instance + */ + _watchWithNodeFs(path, listener) { + const opts = this.fsw.options; + const directory = sysPath.dirname(path); + const basename = sysPath.basename(path); + const parent = this.fsw._getWatchedDir(directory); + parent.add(basename); + const absolutePath = sysPath.resolve(path); + const options = { + persistent: opts.persistent, + }; + if (!listener) + listener = exports.EMPTY_FN; + let closer; + if (opts.usePolling) { + const enableBin = opts.interval !== opts.binaryInterval; + options.interval = enableBin && isBinaryPath(basename) ? opts.binaryInterval : opts.interval; + closer = setFsWatchFileListener(path, absolutePath, options, { + listener, + rawEmitter: this.fsw._emitRaw, + }); + } + else { + closer = setFsWatchListener(path, absolutePath, options, { + listener, + errHandler: this._boundHandleError, + rawEmitter: this.fsw._emitRaw, + }); + } + return closer; + } + /** + * Watch a file and emit add event if warranted. + * @returns closer for the watcher instance + */ + _handleFile(file, stats, initialAdd) { + if (this.fsw.closed) { + return; + } + const dirname = sysPath.dirname(file); + const basename = sysPath.basename(file); + const parent = this.fsw._getWatchedDir(dirname); + // stats is always present + let prevStats = stats; + // if the file is already being watched, do nothing + if (parent.has(basename)) + return; + const listener = async (path, newStats) => { + if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5)) + return; + if (!newStats || newStats.mtimeMs === 0) { + try { + const newStats = await (0, promises_1.stat)(file); + if (this.fsw.closed) + return; + // Check that change event was not fired because of changed only accessTime. + const at = newStats.atimeMs; + const mt = newStats.mtimeMs; + if (!at || at <= mt || mt !== prevStats.mtimeMs) { + this.fsw._emit(EV.CHANGE, file, newStats); + } + if ((exports.isMacos || exports.isLinux) && prevStats.ino !== newStats.ino) { + this.fsw._closeFile(path); + prevStats = newStats; + const closer = this._watchWithNodeFs(file, listener); + if (closer) + this.fsw._addPathCloser(path, closer); + } + else { + prevStats = newStats; + } + } + catch (error) { + // Fix issues where mtime is null but file is still present + this.fsw._remove(dirname, basename); + } + // add is about to be emitted if file not already tracked in parent + } + else if (parent.has(basename)) { + // Check that change event was not fired because of changed only accessTime. + const at = newStats.atimeMs; + const mt = newStats.mtimeMs; + if (!at || at <= mt || mt !== prevStats.mtimeMs) { + this.fsw._emit(EV.CHANGE, file, newStats); + } + prevStats = newStats; + } + }; + // kick off the watcher + const closer = this._watchWithNodeFs(file, listener); + // emit an add event if we're supposed to + if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file)) { + if (!this.fsw._throttle(EV.ADD, file, 0)) + return; + this.fsw._emit(EV.ADD, file, stats); + } + return closer; + } + /** + * Handle symlinks encountered while reading a dir. + * @param entry returned by readdirp + * @param directory path of dir being read + * @param path of this item + * @param item basename of this item + * @returns true if no more processing is needed for this entry. + */ + async _handleSymlink(entry, directory, path, item) { + if (this.fsw.closed) { + return; + } + const full = entry.fullPath; + const dir = this.fsw._getWatchedDir(directory); + if (!this.fsw.options.followSymlinks) { + // watch symlink directly (don't follow) and detect changes + this.fsw._incrReadyCount(); + let linkPath; + try { + linkPath = await (0, promises_1.realpath)(path); + } + catch (e) { + this.fsw._emitReady(); + return true; + } + if (this.fsw.closed) + return; + if (dir.has(item)) { + if (this.fsw._symlinkPaths.get(full) !== linkPath) { + this.fsw._symlinkPaths.set(full, linkPath); + this.fsw._emit(EV.CHANGE, path, entry.stats); + } + } + else { + dir.add(item); + this.fsw._symlinkPaths.set(full, linkPath); + this.fsw._emit(EV.ADD, path, entry.stats); + } + this.fsw._emitReady(); + return true; + } + // don't follow the same symlink more than once + if (this.fsw._symlinkPaths.has(full)) { + return true; + } + this.fsw._symlinkPaths.set(full, true); + } + _handleRead(directory, initialAdd, wh, target, dir, depth, throttler) { + // Normalize the directory name on Windows + directory = sysPath.join(directory, ''); + throttler = this.fsw._throttle('readdir', directory, 1000); + if (!throttler) + return; + const previous = this.fsw._getWatchedDir(wh.path); + const current = new Set(); + let stream = this.fsw._readdirp(directory, { + fileFilter: (entry) => wh.filterPath(entry), + directoryFilter: (entry) => wh.filterDir(entry), + }); + if (!stream) + return; + stream + .on(exports.STR_DATA, async (entry) => { + if (this.fsw.closed) { + stream = undefined; + return; + } + const item = entry.path; + let path = sysPath.join(directory, item); + current.add(item); + if (entry.stats.isSymbolicLink() && + (await this._handleSymlink(entry, directory, path, item))) { + return; + } + if (this.fsw.closed) { + stream = undefined; + return; + } + // Files that present in current directory snapshot + // but absent in previous are added to watch list and + // emit `add` event. + if (item === target || (!target && !previous.has(item))) { + this.fsw._incrReadyCount(); + // ensure relativeness of path is preserved in case of watcher reuse + path = sysPath.join(dir, sysPath.relative(dir, path)); + this._addToNodeFs(path, initialAdd, wh, depth + 1); + } + }) + .on(EV.ERROR, this._boundHandleError); + return new Promise((resolve, reject) => { + if (!stream) + return reject(); + stream.once(exports.STR_END, () => { + if (this.fsw.closed) { + stream = undefined; + return; + } + const wasThrottled = throttler ? throttler.clear() : false; + resolve(undefined); + // Files that absent in current directory snapshot + // but present in previous emit `remove` event + // and are removed from @watched[directory]. + previous + .getChildren() + .filter((item) => { + return item !== directory && !current.has(item); + }) + .forEach((item) => { + this.fsw._remove(directory, item); + }); + stream = undefined; + // one more time for any missed in case changes came in extremely quickly + if (wasThrottled) + this._handleRead(directory, false, wh, target, dir, depth, throttler); + }); + }); + } + /** + * Read directory to add / remove files from `@watched` list and re-read it on change. + * @param dir fs path + * @param stats + * @param initialAdd + * @param depth relative to user-supplied path + * @param target child path targeted for watch + * @param wh Common watch helpers for this path + * @param realpath + * @returns closer for the watcher instance. + */ + async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) { + const parentDir = this.fsw._getWatchedDir(sysPath.dirname(dir)); + const tracked = parentDir.has(sysPath.basename(dir)); + if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) { + this.fsw._emit(EV.ADD_DIR, dir, stats); + } + // ensure dir is tracked (harmless if redundant) + parentDir.add(sysPath.basename(dir)); + this.fsw._getWatchedDir(dir); + let throttler; + let closer; + const oDepth = this.fsw.options.depth; + if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) { + if (!target) { + await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler); + if (this.fsw.closed) + return; + } + closer = this._watchWithNodeFs(dir, (dirPath, stats) => { + // if current directory is removed, do nothing + if (stats && stats.mtimeMs === 0) + return; + this._handleRead(dirPath, false, wh, target, dir, depth, throttler); + }); + } + return closer; + } + /** + * Handle added file, directory, or glob pattern. + * Delegates call to _handleFile / _handleDir after checks. + * @param path to file or ir + * @param initialAdd was the file added at watch instantiation? + * @param priorWh depth relative to user-supplied path + * @param depth Child path actually targeted for watch + * @param target Child path actually targeted for watch + */ + async _addToNodeFs(path, initialAdd, priorWh, depth, target) { + const ready = this.fsw._emitReady; + if (this.fsw._isIgnored(path) || this.fsw.closed) { + ready(); + return false; + } + const wh = this.fsw._getWatchHelpers(path); + if (priorWh) { + wh.filterPath = (entry) => priorWh.filterPath(entry); + wh.filterDir = (entry) => priorWh.filterDir(entry); + } + // evaluate what is at the path we're being asked to watch + try { + const stats = await statMethods[wh.statMethod](wh.watchPath); + if (this.fsw.closed) + return; + if (this.fsw._isIgnored(wh.watchPath, stats)) { + ready(); + return false; + } + const follow = this.fsw.options.followSymlinks; + let closer; + if (stats.isDirectory()) { + const absPath = sysPath.resolve(path); + const targetPath = follow ? await (0, promises_1.realpath)(path) : path; + if (this.fsw.closed) + return; + closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath); + if (this.fsw.closed) + return; + // preserve this symlink's target path + if (absPath !== targetPath && targetPath !== undefined) { + this.fsw._symlinkPaths.set(absPath, targetPath); + } + } + else if (stats.isSymbolicLink()) { + const targetPath = follow ? await (0, promises_1.realpath)(path) : path; + if (this.fsw.closed) + return; + const parent = sysPath.dirname(wh.watchPath); + this.fsw._getWatchedDir(parent).add(wh.watchPath); + this.fsw._emit(EV.ADD, wh.watchPath, stats); + closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath); + if (this.fsw.closed) + return; + // preserve this symlink's target path + if (targetPath !== undefined) { + this.fsw._symlinkPaths.set(sysPath.resolve(path), targetPath); + } + } + else { + closer = this._handleFile(wh.watchPath, stats, initialAdd); + } + ready(); + if (closer) + this.fsw._addPathCloser(path, closer); + return false; + } + catch (error) { + if (this.fsw._handleError(error)) { + ready(); + return path; + } + } + } +} +exports.NodeFsHandler = NodeFsHandler; +//# sourceMappingURL=handler.js.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.js.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.js.map new file mode 100644 index 0000000..4473cec --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/handler.js.map @@ -0,0 +1 @@ +{"version":3,"file":"handler.js","sourceRoot":"","sources":["src/handler.ts"],"names":[],"mappings":";;;AAAA,2BAA+D;AAE/D,0CAAwE;AACxE,gCAAgC;AAChC,2BAAoC;AAMvB,QAAA,QAAQ,GAAG,MAAM,CAAC;AAClB,QAAA,OAAO,GAAG,KAAK,CAAC;AAChB,QAAA,SAAS,GAAG,OAAO,CAAC;AAC1B,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAApB,QAAA,QAAQ,YAAY;AAC1B,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,GAAG,CAAC;AAApC,QAAA,WAAW,eAAyB;AAEjD,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;AACf,QAAA,SAAS,GAAG,EAAE,KAAK,OAAO,CAAC;AAC3B,QAAA,OAAO,GAAG,EAAE,KAAK,QAAQ,CAAC;AAC1B,QAAA,OAAO,GAAG,EAAE,KAAK,OAAO,CAAC;AACzB,QAAA,MAAM,GAAG,IAAA,SAAM,GAAE,KAAK,OAAO,CAAC;AAE9B,QAAA,MAAM,GAAG;IACpB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;IACd,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,QAAQ;IACjB,MAAM,EAAE,QAAQ;IAChB,UAAU,EAAE,WAAW;IACvB,GAAG,EAAE,KAAK;IACV,KAAK,EAAE,OAAO;CACN,CAAC;AAGX,MAAM,EAAE,GAAG,cAAM,CAAC;AAClB,MAAM,mBAAmB,GAAG,OAAO,CAAC;AAEpC,MAAM,WAAW,GAAG,EAAE,KAAK,EAAL,gBAAK,EAAE,IAAI,EAAJ,eAAI,EAAE,CAAC;AAEpC,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B,MAAM,OAAO,GAAG,aAAa,CAAC;AAC9B,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEvD,kBAAkB;AAClB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAC/B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI;IACzF,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IAC/E,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAC/D,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IAC7F,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK;IAC1F,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC5B,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IACzE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC/E,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM;IAC1C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACjE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACxD,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC/C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,KAAK;IACzF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK;IAC7B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK;IAC3C,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO;IAChC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC3D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;IACrF,MAAM,EAAE,KAAK,EAAE,MAAM;IACrB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACtF,IAAI;IACJ,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IACxF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IACvF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC1B,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IACrF,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;IAC/C,KAAK,EAAE,KAAK;IACZ,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK;IACrF,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK;IAC3C,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI;IACvF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI;IAClC,GAAG,EAAE,KAAK,EAAE,MAAM;CACnB,CAAC,CAAC;AACH,MAAM,YAAY,GAAG,CAAC,QAAgB,EAAE,EAAE,CACxC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAEzE,wDAAwD;AACxD,MAAM,OAAO,GAAG,CAAoB,GAAM,EAAE,EAAuB,EAAE,EAAE;IACrE,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,EAAE,CAAC,GAAG,CAAC,CAAC;IACV,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAA6B,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;IACnF,IAAI,SAAS,GAAI,IAAgC,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,CAAC,CAAC,SAAS,YAAY,GAAG,CAAC,EAAE,CAAC;QAC/B,IAAgC,CAAC,IAAI,CAAC,GAAG,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;IAC7E,CAAC;IACA,SAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,IAA6B,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE;IACnE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,IAAI,GAAG,YAAY,GAAG,EAAE,CAAC;QACvB,GAAG,CAAC,KAAK,EAAE,CAAC;IACd,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,IAA4C,EAAE,IAAY,EAAE,IAAa,EAAE,EAAE;IAC/F,MAAM,SAAS,GAAI,IAAgC,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,SAAS,YAAY,GAAG,EAAE,CAAC;QAC7B,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;SAAM,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAQ,IAAgC,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAelF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA4B,CAAC;AAE7D;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAC5B,IAAY,EACZ,OAAoC,EACpC,QAAmC,EACnC,UAAuC,EACvC,OAAoC;IAEpC,MAAM,WAAW,GAA0B,CAAC,QAAQ,EAAE,MAAqB,EAAE,EAAE;QAC7E,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,OAAO,CAAC,QAAQ,EAAE,MAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;QAElD,yEAAyE;QACzE,wEAAwE;QACxE,IAAI,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9B,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC;QACH,OAAO,IAAA,UAAQ,EACb,IAAI,EACJ;YACE,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,gBAAgB,GAAG,CACvB,QAAc,EACd,YAAoB,EACpB,IAAc,EACd,IAAc,EACd,IAAc,EACd,EAAE;IACF,MAAM,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,OAAO,CAAC,IAAI,CAAC,YAAiC,CAAC,EAAE,CAAC,QAAa,EAAE,EAAE;QACjE,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAQF;;;;;;;GAOG;AACH,MAAM,kBAAkB,GAAG,CACzB,IAAY,EACZ,QAAgB,EAChB,OAAoC,EACpC,QAAuB,EACvB,EAAE;IACF,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACtD,IAAI,IAAI,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,OAAoC,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACzC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,qBAAqB,CAC7B,IAAI,EACJ,OAAO,EACP,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,aAAa,CAAC,EACpD,UAAU,EAAE,gCAAgC;QAC5C,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAC/C,CAAC;QACF,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAA+B,EAAE,EAAE;YAC7D,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpE,IAAI,IAAI;gBAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,+BAA+B;YACtE,4DAA4D;YAC5D,IAAI,iBAAS,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,EAAE,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;oBACjC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC;oBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,aAAa;gBACf,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,GAAG;YACL,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,UAAU;YACvB,OAAO;SACR,CAAC;QACF,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,kDAAkD;IAElD,uEAAuE;IACvE,+CAA+C;IAC/C,OAAO,GAAG,EAAE;QACV,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC1C,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,yCAAyC;YACzC,8BAA8B;YAC9B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI;YACJ,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,aAAa;YACb,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,uBAAuB;AAEvB,oDAAoD;AACpD,sDAAsD;AACtD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAe,CAAC;AAEpD;;;;;;;;GAQG;AACH,MAAM,sBAAsB,GAAG,CAC7B,IAAU,EACV,QAAc,EACd,OAAoC,EACpC,QAAwD,EAC1C,EAAE;IAChB,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IAC1C,IAAI,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE9C,6BAA6B;IAC7B,+BAA+B;IAE/B,MAAM,KAAK,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC;IACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,UAAW,IAAI,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAS,CAAC,EAAE,CAAC;QAC5F,8DAA8D;QAC9D,gEAAgE;QAChE,4DAA4D;QAC5D,oDAAoD;QACpD,8BAA8B;QAC9B,kCAAkC;QAClC,IAAA,gBAAW,EAAC,QAAQ,CAAC,CAAC;QACtB,IAAI,GAAG,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,IAAI,EAAE,CAAC;QACT,aAAa,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC7C,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,OAAO;QACP,2BAA2B;QAC3B,+BAA+B;QAC/B,IAAI,GAAG;YACL,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,UAAU;YACvB,OAAO;YACP,OAAO,EAAE,IAAA,cAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;gBACnD,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE;oBACvC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;gBACH,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,SAAS,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC3E,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC,CAAC;SACH,CAAC;QACF,oBAAoB,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;IACD,kDAAkD;IAElD,2EAA2E;IAC3E,gDAAgD;IAChD,OAAO,GAAG,EAAE;QACV,UAAU,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC1C,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtC,IAAA,gBAAW,EAAC,QAAQ,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAa,aAAa;IAGxB,YAAY,GAAc;QACxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,iBAAiB,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,KAAc,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,IAAY,EAAE,QAAgE;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;QAC9B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAgC;YAC3C,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,gBAAQ,CAAC;QAEnC,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,cAAc,CAAC;YACxD,OAAO,CAAC,QAAQ,GAAG,SAAS,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC7F,MAAM,GAAG,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;gBAC3D,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE;gBACvD,QAAQ;gBACR,UAAU,EAAE,IAAI,CAAC,iBAAiB;gBAClC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAU,EAAE,KAAY,EAAE,UAAmB;QACvD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAChD,0BAA0B;QAC1B,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,mDAAmD;QACnD,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAEjC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAU,EAAE,QAAe,EAAE,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO;YAC9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;wBAAE,OAAO;oBAC5B,4EAA4E;oBAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;oBAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;wBAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC5C,CAAC;oBACD,IAAI,CAAC,eAAO,IAAI,eAAO,CAAC,IAAI,SAAS,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,EAAE,CAAC;wBAC3D,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAC1B,SAAS,GAAG,QAAQ,CAAC;wBACrB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBACrD,IAAI,MAAM;4BAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBACN,SAAS,GAAG,QAAQ,CAAC;oBACvB,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,2DAA2D;oBAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACtC,CAAC;gBACD,mEAAmE;YACrE,CAAC;iBAAM,IAAI,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChC,4EAA4E;gBAC5E,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC5B,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAC5B,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;oBAChD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC5C,CAAC;gBACD,SAAS,GAAG,QAAQ,CAAC;YACvB,CAAC;QACH,CAAC,CAAC;QACF,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAErD,yCAAyC;QACzC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;YACnF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAE,OAAO;YACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,KAAgB,EAChB,SAAiB,EACjB,IAAU,EACV,IAAY;QAEZ,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAE/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YACrC,2DAA2D;YAC3D,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;YAE3B,IAAI,QAAQ,CAAC;YACb,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YAC5B,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClB,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBAClD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;oBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,+CAA+C;QAC/C,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,WAAW,CACT,SAAiB,EACjB,UAAmB,EACnB,EAAe,EACf,MAAY,EACZ,GAAS,EACT,KAAa,EACb,SAAoB;QAEpB,0CAA0C;QAC1C,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAExC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAc,CAAC;QACxE,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE;YACzC,UAAU,EAAE,CAAC,KAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC;YACtD,eAAe,EAAE,CAAC,KAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC;SAC3D,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM;aACH,EAAE,CAAC,gBAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,SAAS,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACxB,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAElB,IACE,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE;gBAC5B,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,EACzD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,GAAG,SAAS,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,mDAAmD;YACnD,qDAAqD;YACrD,oBAAoB;YACpB,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;gBAE3B,oEAAoE;gBACpE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;gBAEtD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC,CAAC;aACD,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAExC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM;gBAAE,OAAO,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,eAAO,EAAE,GAAG,EAAE;gBACxB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,GAAG,SAAS,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAE3D,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEnB,kDAAkD;gBAClD,8CAA8C;gBAC9C,4CAA4C;gBAC5C,QAAQ;qBACL,WAAW,EAAE;qBACb,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBACf,OAAO,IAAI,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClD,CAAC,CAAC;qBACD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACpC,CAAC,CAAC,CAAC;gBAEL,MAAM,GAAG,SAAS,CAAC;gBAEnB,yEAAyE;gBACzE,IAAI,YAAY;oBAAE,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC1F,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,UAAU,CACd,GAAW,EACX,KAAY,EACZ,UAAmB,EACnB,KAAa,EACb,MAAc,EACd,EAAe,EACf,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;YAC3E,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;QAED,gDAAgD;QAChD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,SAAqB,CAAC;QAC1B,IAAI,MAAM,CAAC;QAEX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC3E,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;YAC9B,CAAC;YAED,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;gBACrD,8CAA8C;gBAC9C,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAEzC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,UAAmB,EACnB,OAAgC,EAChC,KAAa,EACb,MAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;QAClC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YACjD,KAAK,EAAE,CAAC;YACR,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,OAAO,EAAE,CAAC;YACZ,EAAE,CAAC,UAAU,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACrD,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QAED,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;YAC7D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,OAAO;YAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC7C,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC;YAC/C,IAAI,MAAM,CAAC;YACX,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC5B,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAC5B,EAAE,CAAC,SAAS,EACZ,KAAK,EACL,UAAU,EACV,KAAK,EACL,MAAO,EACP,EAAE,EACF,UAAU,CACX,CAAC;gBACF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC5B,sCAAsC;gBACtC,IAAI,OAAO,KAAK,UAAU,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBACvD,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAA,mBAAU,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1D,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAC5C,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;gBACvF,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM;oBAAE,OAAO;gBAE5B,sCAAsC;gBACtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;YAC7D,CAAC;YACD,KAAK,EAAE,CAAC;YAER,IAAI,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAY,CAAC,EAAE,CAAC;gBACxC,KAAK,EAAE,CAAC;gBACR,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAjYD,sCAiYC"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.d.ts new file mode 100644 index 0000000..c9dec7c --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.d.ts @@ -0,0 +1,204 @@ +import { Stats } from 'fs'; +import { EventEmitter } from 'events'; +import { ReaddirpStream, ReaddirpOptions, EntryInfo } from 'readdirp'; +import { NodeFsHandler, EventName, Path } from './handler.js'; +type AWF = { + stabilityThreshold: number; + pollInterval: number; +}; +type BasicOpts = { + persistent: boolean; + ignoreInitial: boolean; + followSymlinks: boolean; + cwd?: string; + usePolling: boolean; + interval: number; + binaryInterval: number; + alwaysStat?: boolean; + depth?: number; + ignorePermissionErrors: boolean; + atomic: boolean | number; +}; +export type Throttler = { + timeoutObject: NodeJS.Timeout; + clear: () => void; + count: number; +}; +export type ChokidarOptions = Partial; +}>; +export type FSWInstanceOptions = BasicOpts & { + ignored: Matcher[]; + awaitWriteFinish: false | AWF; +}; +export type ThrottleType = 'readdir' | 'watch' | 'add' | 'remove' | 'change'; +export type EmitArgs = [EventName, Path | Error, any?, any?, any?]; +export type MatchFunction = (val: string, stats?: Stats) => boolean; +export interface MatcherObject { + path: string; + recursive?: boolean; +} +export type Matcher = string | RegExp | MatchFunction | MatcherObject; +/** + * Directory entry. + */ +declare class DirEntry { + path: Path; + _removeWatcher: (dir: string, base: string) => void; + items: Set; + constructor(dir: Path, removeWatcher: (dir: string, base: string) => void); + add(item: string): void; + remove(item: string): Promise; + has(item: string): boolean | undefined; + getChildren(): string[]; + dispose(): void; +} +export declare class WatchHelper { + fsw: FSWatcher; + path: string; + watchPath: string; + fullWatchPath: string; + dirParts: string[][]; + followSymlinks: boolean; + statMethod: 'stat' | 'lstat'; + constructor(path: string, follow: boolean, fsw: FSWatcher); + entryPath(entry: EntryInfo): Path; + filterPath(entry: EntryInfo): boolean; + filterDir(entry: EntryInfo): boolean; +} +/** + * Watches files & directories for changes. Emitted events: + * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error` + * + * new FSWatcher() + * .add(directories) + * .on('add', path => log('File', path, 'was added')) + */ +export declare class FSWatcher extends EventEmitter { + closed: boolean; + options: FSWInstanceOptions; + _closers: Map>; + _ignoredPaths: Set; + _throttled: Map>; + _streams: Set; + _symlinkPaths: Map; + _watched: Map; + _pendingWrites: Map; + _pendingUnlinks: Map; + _readyCount: number; + _emitReady: () => void; + _closePromise?: Promise; + _userIgnored?: MatchFunction; + _readyEmitted: boolean; + _emitRaw: () => void; + _boundRemove: (dir: string, item: string) => void; + _nodeFsHandler: NodeFsHandler; + constructor(_opts?: ChokidarOptions); + _addIgnoredPath(matcher: Matcher): void; + _removeIgnoredPath(matcher: Matcher): void; + /** + * Adds paths to be watched on an existing FSWatcher instance. + * @param paths_ file or file list. Other arguments are unused + */ + add(paths_: Path | Path[], _origAdd?: string, _internal?: boolean): FSWatcher; + /** + * Close watchers or start ignoring events from specified paths. + */ + unwatch(paths_: Path | Path[]): FSWatcher; + /** + * Close watchers and remove all listeners from watched paths. + */ + close(): Promise; + /** + * Expose list of watched paths + * @returns for chaining + */ + getWatched(): Record; + emitWithAll(event: EventName, args: EmitArgs): void; + /** + * Normalize and emit events. + * Calling _emit DOES NOT MEAN emit() would be called! + * @param event Type of event + * @param path File or directory path + * @param stats arguments to be passed with event + * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + _emit(event: EventName, path: Path, stats?: Stats): Promise; + /** + * Common handler for errors + * @returns The error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + _handleError(error: Error): Error | boolean; + /** + * Helper utility for throttling + * @param actionType type being throttled + * @param path being acted upon + * @param timeout duration of time to suppress duplicate actions + * @returns tracking object or false if action should be suppressed + */ + _throttle(actionType: ThrottleType, path: Path, timeout: number): Throttler | false; + _incrReadyCount(): number; + /** + * Awaits write operation to finish. + * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. + * @param path being acted upon + * @param threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished + * @param event + * @param awfEmit Callback to be called when ready for event to be emitted. + */ + _awaitWriteFinish(path: Path, threshold: number, event: EventName, awfEmit: (err?: Error, stat?: Stats) => void): void; + /** + * Determines whether user has asked to ignore this path. + */ + _isIgnored(path: Path, stats?: Stats): boolean; + _isntIgnored(path: Path, stat?: Stats): boolean; + /** + * Provides a set of common helpers and properties relating to symlink handling. + * @param path file or directory pattern being watched + */ + _getWatchHelpers(path: Path): WatchHelper; + /** + * Provides directory tracking objects + * @param directory path of the directory + */ + _getWatchedDir(directory: string): DirEntry; + /** + * Check for read permissions: https://stackoverflow.com/a/11781404/1358405 + */ + _hasReadPermissions(stats: Stats): boolean; + /** + * Handles emitting unlink events for + * files and directories, and via recursion, for + * files and directories within directories that are unlinked + * @param directory within which the following item is located + * @param item base path of item/directory + */ + _remove(directory: string, item: string, isDirectory?: boolean): void; + /** + * Closes all watchers for a path + */ + _closePath(path: Path): void; + /** + * Closes only file-specific watchers + */ + _closeFile(path: Path): void; + _addPathCloser(path: Path, closer: () => void): void; + _readdirp(root: Path, opts?: Partial): ReaddirpStream | undefined; +} +/** + * Instantiates watcher with paths to be tracked. + * @param paths file / directory paths + * @param options opts, such as `atomic`, `awaitWriteFinish`, `ignored`, and others + * @returns an instance of FSWatcher for chaining. + * @example + * const watcher = watch('.').on('all', (event, path) => { console.log(event, path); }); + * watch('.', { atomic: true, awaitWriteFinish: true, ignored: (f, stats) => stats?.isFile() && !f.endsWith('.js') }) + */ +export declare function watch(paths: string | string[], options?: ChokidarOptions): FSWatcher; +declare const _default: { + watch: typeof watch; + FSWatcher: typeof FSWatcher; +}; +export default _default; +//# sourceMappingURL=index.d.ts.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/index.d.ts.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.d.ts.map new file mode 100644 index 0000000..256fb57 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAE,MAAM,IAAI,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAY,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAChF,OAAO,EACL,aAAa,EACb,SAAS,EACT,IAAI,EAOL,MAAM,cAAc,CAAC;AAEtB,KAAK,GAAG,GAAG;IACT,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IAEvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;CAI1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC;IAC9B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,OAAO,CACnC,SAAS,GAAG;IACV,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,CAAC;IAC7B,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAC1C,CACF,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG;IAC3C,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,gBAAgB,EAAE,KAAK,GAAG,GAAG,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC7E,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,OAAO,CAAC;AACpE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AACD,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;AAoItE;;GAEG;AACH,cAAM,QAAQ;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEL,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI;IAMzE,GAAG,CAAC,IAAI,EAAE,MAAM;IAMV,MAAM,CAAC,IAAI,EAAE,MAAM;IAgBzB,GAAG,CAAC,IAAI,EAAE,MAAM;IAMhB,WAAW,IAAI,MAAM,EAAE;IAMvB,OAAO;CAOR;AAID,qBAAa,WAAW;IACtB,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;gBAEjB,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS;IAczD,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIjC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAQrC,SAAS,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;CAGrC;AAED;;;;;;;GAOG;AACH,qBAAa,SAAU,SAAQ,YAAY;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,kBAAkB,CAAC;IAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC5B,UAAU,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC9B,aAAa,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;IAC3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEhC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAElD,cAAc,EAAE,aAAa,CAAC;gBAGlB,KAAK,GAAE,eAAoB;IAyEvC,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAiBvC,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAkB1C;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS;IA4C7E;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,SAAS;IA8BzC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCtB;;;OAGG;IACH,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAUtC,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ;IAQ5C;;;;;;;OAOG;IACG,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK;IAoFvD;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO;IAa3C;;;;;;OAMG;IACH,SAAS,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK;IA8BnF,eAAe;IAIf;;;;;;;OAOG;IACH,iBAAiB,CACf,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,KAAK,IAAI;IAoD9C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO;IAe9C,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK;IAIrC;;;OAGG;IACH,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW;IAOzC;;;OAGG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ;IAS3C;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAK1C;;;;;;OAMG;IACH,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IA2DrE;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI;IAMrB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI;IAOrB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI;IAU7C,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;CAgBtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,eAAoB,GAAG,SAAS,CAIxF;;;;;AAED,wBAAoC"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js index 8752893..3036a98 100644 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js @@ -1,282 +1,216 @@ -'use strict'; - -const { EventEmitter } = require('events'); -const fs = require('fs'); -const sysPath = require('path'); -const { promisify } = require('util'); -const readdirp = require('readdirp'); -const anymatch = require('anymatch').default; -const globParent = require('glob-parent'); -const isGlob = require('is-glob'); -const braces = require('braces'); -const normalizePath = require('normalize-path'); - -const NodeFsHandler = require('./lib/nodefs-handler'); -const FsEventsHandler = require('./lib/fsevents-handler'); -const { - EV_ALL, - EV_READY, - EV_ADD, - EV_CHANGE, - EV_UNLINK, - EV_ADD_DIR, - EV_UNLINK_DIR, - EV_RAW, - EV_ERROR, - - STR_CLOSE, - STR_END, - - BACK_SLASH_RE, - DOUBLE_SLASH_RE, - SLASH_OR_BACK_SLASH_RE, - DOT_RE, - REPLACER_RE, - - SLASH, - SLASH_SLASH, - BRACE_START, - BANG, - ONE_DOT, - TWO_DOTS, - GLOBSTAR, - SLASH_GLOBSTAR, - ANYMATCH_OPTS, - STRING_TYPE, - FUNCTION_TYPE, - EMPTY_STR, - EMPTY_FN, - - isWindows, - isMacos, - isIBMi -} = require('./lib/constants'); - -const stat = promisify(fs.stat); -const readdir = promisify(fs.readdir); - -/** - * @typedef {String} Path - * @typedef {'all'|'add'|'addDir'|'change'|'unlink'|'unlinkDir'|'raw'|'error'|'ready'} EventName - * @typedef {'readdir'|'watch'|'add'|'remove'|'change'} ThrottleType - */ - -/** - * - * @typedef {Object} WatchHelpers - * @property {Boolean} followSymlinks - * @property {'stat'|'lstat'} statMethod - * @property {Path} path - * @property {Path} watchPath - * @property {Function} entryPath - * @property {Boolean} hasGlob - * @property {Object} globFilter - * @property {Function} filterPath - * @property {Function} filterDir - */ - -const arrify = (value = []) => Array.isArray(value) ? value : [value]; -const flatten = (list, result = []) => { - list.forEach(item => { - if (Array.isArray(item)) { - flatten(item, result); - } else { - result.push(item); +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.FSWatcher = exports.WatchHelper = void 0; +exports.watch = watch; +const fs_1 = require("fs"); +const promises_1 = require("fs/promises"); +const events_1 = require("events"); +const sysPath = require("path"); +const readdirp_1 = require("readdirp"); +const handler_js_1 = require("./handler.js"); +const SLASH = '/'; +const SLASH_SLASH = '//'; +const ONE_DOT = '.'; +const TWO_DOTS = '..'; +const STRING_TYPE = 'string'; +const BACK_SLASH_RE = /\\/g; +const DOUBLE_SLASH_RE = /\/\//; +const DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/; +const REPLACER_RE = /^\.[/\\]/; +function arrify(item) { + return Array.isArray(item) ? item : [item]; +} +const isMatcherObject = (matcher) => typeof matcher === 'object' && matcher !== null && !(matcher instanceof RegExp); +function createPattern(matcher) { + if (typeof matcher === 'function') + return matcher; + if (typeof matcher === 'string') + return (string) => matcher === string; + if (matcher instanceof RegExp) + return (string) => matcher.test(string); + if (typeof matcher === 'object' && matcher !== null) { + return (string) => { + if (matcher.path === string) + return true; + if (matcher.recursive) { + const relative = sysPath.relative(matcher.path, string); + if (!relative) { + return false; + } + return !relative.startsWith('..') && !sysPath.isAbsolute(relative); + } + return false; + }; } - }); - return result; -}; - + return () => false; +} +function normalizePath(path) { + if (typeof path !== 'string') + throw new Error('string expected'); + path = sysPath.normalize(path); + path = path.replace(/\\/g, '/'); + let prepend = false; + if (path.startsWith('//')) + prepend = true; + const DOUBLE_SLASH_RE = /\/\//; + while (path.match(DOUBLE_SLASH_RE)) + path = path.replace(DOUBLE_SLASH_RE, '/'); + if (prepend) + path = '/' + path; + return path; +} +function matchPatterns(patterns, testString, stats) { + const path = normalizePath(testString); + for (let index = 0; index < patterns.length; index++) { + const pattern = patterns[index]; + if (pattern(path, stats)) { + return true; + } + } + return false; +} +function anymatch(matchers, testString) { + if (matchers == null) { + throw new TypeError('anymatch: specify first argument'); + } + // Early cache for matchers. + const matchersArray = arrify(matchers); + const patterns = matchersArray.map((matcher) => createPattern(matcher)); + if (testString == null) { + return (testString, stats) => { + return matchPatterns(patterns, testString, stats); + }; + } + return matchPatterns(patterns, testString); +} const unifyPaths = (paths_) => { - /** - * @type {Array} - */ - const paths = flatten(arrify(paths_)); - if (!paths.every(p => typeof p === STRING_TYPE)) { - throw new TypeError(`Non-string provided as watch path: ${paths}`); - } - return paths.map(normalizePathToUnix); + const paths = arrify(paths_).flat(); + if (!paths.every((p) => typeof p === STRING_TYPE)) { + throw new TypeError(`Non-string provided as watch path: ${paths}`); + } + return paths.map(normalizePathToUnix); }; - // If SLASH_SLASH occurs at the beginning of path, it is not replaced // because "//StoragePC/DrivePool/Movies" is a valid network path const toUnix = (string) => { - let str = string.replace(BACK_SLASH_RE, SLASH); - let prepend = false; - if (str.startsWith(SLASH_SLASH)) { - prepend = true; - } - while (str.match(DOUBLE_SLASH_RE)) { - str = str.replace(DOUBLE_SLASH_RE, SLASH); - } - if (prepend) { - str = SLASH + str; - } - return str; + let str = string.replace(BACK_SLASH_RE, SLASH); + let prepend = false; + if (str.startsWith(SLASH_SLASH)) { + prepend = true; + } + while (str.match(DOUBLE_SLASH_RE)) { + str = str.replace(DOUBLE_SLASH_RE, SLASH); + } + if (prepend) { + str = SLASH + str; + } + return str; }; - // Our version of upath.normalize // TODO: this is not equal to path-normalize module - investigate why const normalizePathToUnix = (path) => toUnix(sysPath.normalize(toUnix(path))); - -const normalizeIgnored = (cwd = EMPTY_STR) => (path) => { - if (typeof path !== STRING_TYPE) return path; - return normalizePathToUnix(sysPath.isAbsolute(path) ? path : sysPath.join(cwd, path)); +// TODO: refactor +const normalizeIgnored = (cwd = '') => (path) => { + if (typeof path === 'string') { + return normalizePathToUnix(sysPath.isAbsolute(path) ? path : sysPath.join(cwd, path)); + } + else { + return path; + } }; - const getAbsolutePath = (path, cwd) => { - if (sysPath.isAbsolute(path)) { - return path; - } - if (path.startsWith(BANG)) { - return BANG + sysPath.join(cwd, path.slice(1)); - } - return sysPath.join(cwd, path); + if (sysPath.isAbsolute(path)) { + return path; + } + return sysPath.join(cwd, path); }; - -const undef = (opts, key) => opts[key] === undefined; - +const EMPTY_SET = Object.freeze(new Set()); /** * Directory entry. - * @property {Path} path - * @property {Set} items */ class DirEntry { - /** - * @param {Path} dir - * @param {Function} removeWatcher - */ - constructor(dir, removeWatcher) { - this.path = dir; - this._removeWatcher = removeWatcher; - /** @type {Set} */ - this.items = new Set(); - } - - add(item) { - const {items} = this; - if (!items) return; - if (item !== ONE_DOT && item !== TWO_DOTS) items.add(item); - } - - async remove(item) { - const {items} = this; - if (!items) return; - items.delete(item); - if (items.size > 0) return; - - const dir = this.path; - try { - await readdir(dir); - } catch (err) { - if (this._removeWatcher) { - this._removeWatcher(sysPath.dirname(dir), sysPath.basename(dir)); - } + constructor(dir, removeWatcher) { + this.path = dir; + this._removeWatcher = removeWatcher; + this.items = new Set(); + } + add(item) { + const { items } = this; + if (!items) + return; + if (item !== ONE_DOT && item !== TWO_DOTS) + items.add(item); + } + async remove(item) { + const { items } = this; + if (!items) + return; + items.delete(item); + if (items.size > 0) + return; + const dir = this.path; + try { + await (0, promises_1.readdir)(dir); + } + catch (err) { + if (this._removeWatcher) { + this._removeWatcher(sysPath.dirname(dir), sysPath.basename(dir)); + } + } + } + has(item) { + const { items } = this; + if (!items) + return; + return items.has(item); + } + getChildren() { + const { items } = this; + if (!items) + return []; + return [...items.values()]; + } + dispose() { + this.items.clear(); + this.path = ''; + this._removeWatcher = handler_js_1.EMPTY_FN; + this.items = EMPTY_SET; + Object.freeze(this); } - } - - has(item) { - const {items} = this; - if (!items) return; - return items.has(item); - } - - /** - * @returns {Array} - */ - getChildren() { - const {items} = this; - if (!items) return; - return [...items.values()]; - } - - dispose() { - this.items.clear(); - delete this.path; - delete this._removeWatcher; - delete this.items; - Object.freeze(this); - } } - const STAT_METHOD_F = 'stat'; const STAT_METHOD_L = 'lstat'; class WatchHelper { - constructor(path, watchPath, follow, fsw) { - this.fsw = fsw; - this.path = path = path.replace(REPLACER_RE, EMPTY_STR); - this.watchPath = watchPath; - this.fullWatchPath = sysPath.resolve(watchPath); - this.hasGlob = watchPath !== path; - /** @type {object|boolean} */ - if (path === EMPTY_STR) this.hasGlob = false; - this.globSymlink = this.hasGlob && follow ? undefined : false; - this.globFilter = this.hasGlob ? anymatch(path, undefined, ANYMATCH_OPTS) : false; - this.dirParts = this.getDirParts(path); - this.dirParts.forEach((parts) => { - if (parts.length > 1) parts.pop(); - }); - this.followSymlinks = follow; - this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L; - } - - checkGlobSymlink(entry) { - // only need to resolve once - // first entry should always have entry.parentDir === EMPTY_STR - if (this.globSymlink === undefined) { - this.globSymlink = entry.fullParentDir === this.fullWatchPath ? - false : {realPath: entry.fullParentDir, linkPath: this.fullWatchPath}; - } - - if (this.globSymlink) { - return entry.fullPath.replace(this.globSymlink.realPath, this.globSymlink.linkPath); - } - - return entry.fullPath; - } - - entryPath(entry) { - return sysPath.join(this.watchPath, - sysPath.relative(this.watchPath, this.checkGlobSymlink(entry)) - ); - } - - filterPath(entry) { - const {stats} = entry; - if (stats && stats.isSymbolicLink()) return this.filterDir(entry); - const resolvedPath = this.entryPath(entry); - const matchesGlob = this.hasGlob && typeof this.globFilter === FUNCTION_TYPE ? - this.globFilter(resolvedPath) : true; - return matchesGlob && - this.fsw._isntIgnored(resolvedPath, stats) && - this.fsw._hasReadPermissions(stats); - } - - getDirParts(path) { - if (!this.hasGlob) return []; - const parts = []; - const expandedPath = path.includes(BRACE_START) ? braces.expand(path) : [path]; - expandedPath.forEach((path) => { - parts.push(sysPath.relative(this.watchPath, path).split(SLASH_OR_BACK_SLASH_RE)); - }); - return parts; - } - - filterDir(entry) { - if (this.hasGlob) { - const entryParts = this.getDirParts(this.checkGlobSymlink(entry)); - let globstar = false; - this.unmatchedGlob = !this.dirParts.some((parts) => { - return parts.every((part, i) => { - if (part === GLOBSTAR) globstar = true; - return globstar || !entryParts[0][i] || anymatch(part, entryParts[0][i], ANYMATCH_OPTS); + constructor(path, follow, fsw) { + this.fsw = fsw; + const watchPath = path; + this.path = path = path.replace(REPLACER_RE, ''); + this.watchPath = watchPath; + this.fullWatchPath = sysPath.resolve(watchPath); + this.dirParts = []; + this.dirParts.forEach((parts) => { + if (parts.length > 1) + parts.pop(); }); - }); + this.followSymlinks = follow; + this.statMethod = follow ? STAT_METHOD_F : STAT_METHOD_L; + } + entryPath(entry) { + return sysPath.join(this.watchPath, sysPath.relative(this.watchPath, entry.fullPath)); + } + filterPath(entry) { + const { stats } = entry; + if (stats && stats.isSymbolicLink()) + return this.filterDir(entry); + const resolvedPath = this.entryPath(entry); + // TODO: what if stats is undefined? remove ! + return this.fsw._isntIgnored(resolvedPath, stats) && this.fsw._hasReadPermissions(stats); + } + filterDir(entry) { + return this.fsw._isntIgnored(this.entryPath(entry), entry.stats); } - return !this.unmatchedGlob && this.fsw._isntIgnored(this.entryPath(entry), entry.stats); - } } - +exports.WatchHelper = WatchHelper; /** * Watches files & directories for changes. Emitted events: * `add`, `addDir`, `change`, `unlink`, `unlinkDir`, `all`, `error` @@ -285,689 +219,586 @@ class WatchHelper { * .add(directories) * .on('add', path => log('File', path, 'was added')) */ -class FSWatcher extends EventEmitter { -// Not indenting methods for history sake; for now. -constructor(_opts) { - super(); - - const opts = {}; - if (_opts) Object.assign(opts, _opts); // for frozen objects - - /** @type {Map} */ - this._watched = new Map(); - /** @type {Map} */ - this._closers = new Map(); - /** @type {Set} */ - this._ignoredPaths = new Set(); - - /** @type {Map} */ - this._throttled = new Map(); - - /** @type {Map} */ - this._symlinkPaths = new Map(); - - this._streams = new Set(); - this.closed = false; - - // Set up default options. - if (undef(opts, 'persistent')) opts.persistent = true; - if (undef(opts, 'ignoreInitial')) opts.ignoreInitial = false; - if (undef(opts, 'ignorePermissionErrors')) opts.ignorePermissionErrors = false; - if (undef(opts, 'interval')) opts.interval = 100; - if (undef(opts, 'binaryInterval')) opts.binaryInterval = 300; - if (undef(opts, 'disableGlobbing')) opts.disableGlobbing = false; - opts.enableBinaryInterval = opts.binaryInterval !== opts.interval; - - // Enable fsevents on OS X when polling isn't explicitly enabled. - if (undef(opts, 'useFsEvents')) opts.useFsEvents = !opts.usePolling; - - // If we can't use fsevents, ensure the options reflect it's disabled. - const canUseFsEvents = FsEventsHandler.canUse(); - if (!canUseFsEvents) opts.useFsEvents = false; - - // Use polling on Mac if not using fsevents. - // Other platforms use non-polling fs_watch. - if (undef(opts, 'usePolling') && !opts.useFsEvents) { - opts.usePolling = isMacos; - } - - // Always default to polling on IBM i because fs.watch() is not available on IBM i. - if(isIBMi) { - opts.usePolling = true; - } - - // Global override (useful for end-developers that need to force polling for all - // instances of chokidar, regardless of usage/dependency depth) - const envPoll = process.env.CHOKIDAR_USEPOLLING; - if (envPoll !== undefined) { - const envLower = envPoll.toLowerCase(); - - if (envLower === 'false' || envLower === '0') { - opts.usePolling = false; - } else if (envLower === 'true' || envLower === '1') { - opts.usePolling = true; - } else { - opts.usePolling = !!envLower; +class FSWatcher extends events_1.EventEmitter { + // Not indenting methods for history sake; for now. + constructor(_opts = {}) { + super(); + this.closed = false; + this._closers = new Map(); + this._ignoredPaths = new Set(); + this._throttled = new Map(); + this._streams = new Set(); + this._symlinkPaths = new Map(); + this._watched = new Map(); + this._pendingWrites = new Map(); + this._pendingUnlinks = new Map(); + this._readyCount = 0; + this._readyEmitted = false; + const awf = _opts.awaitWriteFinish; + const DEF_AWF = { stabilityThreshold: 2000, pollInterval: 100 }; + const opts = { + // Defaults + persistent: true, + ignoreInitial: false, + ignorePermissionErrors: false, + interval: 100, + binaryInterval: 300, + followSymlinks: true, + usePolling: false, + // useAsync: false, + atomic: true, // NOTE: overwritten later (depends on usePolling) + ..._opts, + // Change format + ignored: _opts.ignored ? arrify(_opts.ignored) : arrify([]), + awaitWriteFinish: awf === true ? DEF_AWF : typeof awf === 'object' ? { ...DEF_AWF, ...awf } : false, + }; + // Always default to polling on IBM i because fs.watch() is not available on IBM i. + if (handler_js_1.isIBMi) + opts.usePolling = true; + // Editor atomic write normalization enabled by default with fs.watch + if (opts.atomic === undefined) + opts.atomic = !opts.usePolling; + // opts.atomic = typeof _opts.atomic === 'number' ? _opts.atomic : 100; + // Global override. Useful for developers, who need to force polling for all + // instances of chokidar, regardless of usage / dependency depth + const envPoll = process.env.CHOKIDAR_USEPOLLING; + if (envPoll !== undefined) { + const envLower = envPoll.toLowerCase(); + if (envLower === 'false' || envLower === '0') + opts.usePolling = false; + else if (envLower === 'true' || envLower === '1') + opts.usePolling = true; + else + opts.usePolling = !!envLower; + } + const envInterval = process.env.CHOKIDAR_INTERVAL; + if (envInterval) + opts.interval = Number.parseInt(envInterval, 10); + // This is done to emit ready only once, but each 'add' will increase that? + let readyCalls = 0; + this._emitReady = () => { + readyCalls++; + if (readyCalls >= this._readyCount) { + this._emitReady = handler_js_1.EMPTY_FN; + this._readyEmitted = true; + // use process.nextTick to allow time for listener to be bound + process.nextTick(() => this.emit(handler_js_1.EVENTS.READY)); + } + }; + this._emitRaw = (...args) => this.emit(handler_js_1.EVENTS.RAW, ...args); + this._boundRemove = this._remove.bind(this); + this.options = opts; + this._nodeFsHandler = new handler_js_1.NodeFsHandler(this); + // You’re frozen when your heart’s not open. + Object.freeze(opts); } - } - const envInterval = process.env.CHOKIDAR_INTERVAL; - if (envInterval) { - opts.interval = Number.parseInt(envInterval, 10); - } - - // Editor atomic write normalization enabled by default with fs.watch - if (undef(opts, 'atomic')) opts.atomic = !opts.usePolling && !opts.useFsEvents; - if (opts.atomic) this._pendingUnlinks = new Map(); - - if (undef(opts, 'followSymlinks')) opts.followSymlinks = true; - - if (undef(opts, 'awaitWriteFinish')) opts.awaitWriteFinish = false; - if (opts.awaitWriteFinish === true) opts.awaitWriteFinish = {}; - const awf = opts.awaitWriteFinish; - if (awf) { - if (!awf.stabilityThreshold) awf.stabilityThreshold = 2000; - if (!awf.pollInterval) awf.pollInterval = 100; - this._pendingWrites = new Map(); - } - if (opts.ignored) opts.ignored = arrify(opts.ignored); - - let readyCalls = 0; - this._emitReady = () => { - readyCalls++; - if (readyCalls >= this._readyCount) { - this._emitReady = EMPTY_FN; - this._readyEmitted = true; - // use process.nextTick to allow time for listener to be bound - process.nextTick(() => this.emit(EV_READY)); + _addIgnoredPath(matcher) { + if (isMatcherObject(matcher)) { + // return early if we already have a deeply equal matcher object + for (const ignored of this._ignoredPaths) { + if (isMatcherObject(ignored) && + ignored.path === matcher.path && + ignored.recursive === matcher.recursive) { + return; + } + } + } + this._ignoredPaths.add(matcher); } - }; - this._emitRaw = (...args) => this.emit(EV_RAW, ...args); - this._readyEmitted = false; - this.options = opts; - - // Initialize with proper watcher. - if (opts.useFsEvents) { - this._fsEventsHandler = new FsEventsHandler(this); - } else { - this._nodeFsHandler = new NodeFsHandler(this); - } - - // You’re frozen when your heart’s not open. - Object.freeze(opts); -} - -// Public methods - -/** - * Adds paths to be watched on an existing FSWatcher instance - * @param {Path|Array} paths_ - * @param {String=} _origAdd private; for handling non-existent paths to be watched - * @param {Boolean=} _internal private; indicates a non-user add - * @returns {FSWatcher} for chaining - */ -add(paths_, _origAdd, _internal) { - const {cwd, disableGlobbing} = this.options; - this.closed = false; - let paths = unifyPaths(paths_); - if (cwd) { - paths = paths.map((path) => { - const absPath = getAbsolutePath(path, cwd); - - // Check `path` instead of `absPath` because the cwd portion can't be a glob - if (disableGlobbing || !isGlob(path)) { - return absPath; - } - return normalizePath(absPath); - }); - } - - // set aside negated glob strings - paths = paths.filter((path) => { - if (path.startsWith(BANG)) { - this._ignoredPaths.add(path.slice(1)); - return false; + _removeIgnoredPath(matcher) { + this._ignoredPaths.delete(matcher); + // now find any matcher objects with the matcher as path + if (typeof matcher === 'string') { + for (const ignored of this._ignoredPaths) { + // TODO (43081j): make this more efficient. + // probably just make a `this._ignoredDirectories` or some + // such thing. + if (isMatcherObject(ignored) && ignored.path === matcher) { + this._ignoredPaths.delete(ignored); + } + } + } } - - // if a path is being added that was previously ignored, stop ignoring it - this._ignoredPaths.delete(path); - this._ignoredPaths.delete(path + SLASH_GLOBSTAR); - - // reset the cached userIgnored anymatch fn - // to make ignoredPaths changes effective - this._userIgnored = undefined; - - return true; - }); - - if (this.options.useFsEvents && this._fsEventsHandler) { - if (!this._readyCount) this._readyCount = paths.length; - if (this.options.persistent) this._readyCount += paths.length; - paths.forEach((path) => this._fsEventsHandler._addToFsEvents(path)); - } else { - if (!this._readyCount) this._readyCount = 0; - this._readyCount += paths.length; - Promise.all( - paths.map(async path => { - const res = await this._nodeFsHandler._addToNodeFs(path, !_internal, 0, 0, _origAdd); - if (res) this._emitReady(); - return res; - }) - ).then(results => { - if (this.closed) return; - results.filter(item => item).forEach(item => { - this.add(sysPath.dirname(item), sysPath.basename(_origAdd || item)); - }); - }); - } - - return this; -} - -/** - * Close watchers or start ignoring events from specified paths. - * @param {Path|Array} paths_ - string or array of strings, file/directory paths and/or globs - * @returns {FSWatcher} for chaining -*/ -unwatch(paths_) { - if (this.closed) return this; - const paths = unifyPaths(paths_); - const {cwd} = this.options; - - paths.forEach((path) => { - // convert to absolute path unless relative path already matches - if (!sysPath.isAbsolute(path) && !this._closers.has(path)) { - if (cwd) path = sysPath.join(cwd, path); - path = sysPath.resolve(path); - } - - this._closePath(path); - - this._ignoredPaths.add(path); - if (this._watched.has(path)) { - this._ignoredPaths.add(path + SLASH_GLOBSTAR); - } - - // reset the cached userIgnored anymatch fn - // to make ignoredPaths changes effective - this._userIgnored = undefined; - }); - - return this; -} - -/** - * Close watchers and remove all listeners from watched paths. - * @returns {Promise}. -*/ -close() { - if (this.closed) return this._closePromise; - this.closed = true; - - // Memory management. - this.removeAllListeners(); - const closers = []; - this._closers.forEach(closerList => closerList.forEach(closer => { - const promise = closer(); - if (promise instanceof Promise) closers.push(promise); - })); - this._streams.forEach(stream => stream.destroy()); - this._userIgnored = undefined; - this._readyCount = 0; - this._readyEmitted = false; - this._watched.forEach(dirent => dirent.dispose()); - ['closers', 'watched', 'streams', 'symlinkPaths', 'throttled'].forEach(key => { - this[`_${key}`].clear(); - }); - - this._closePromise = closers.length ? Promise.all(closers).then(() => undefined) : Promise.resolve(); - return this._closePromise; -} - -/** - * Expose list of watched paths - * @returns {Object} for chaining -*/ -getWatched() { - const watchList = {}; - this._watched.forEach((entry, dir) => { - const key = this.options.cwd ? sysPath.relative(this.options.cwd, dir) : dir; - watchList[key || ONE_DOT] = entry.getChildren().sort(); - }); - return watchList; -} - -emitWithAll(event, args) { - this.emit(...args); - if (event !== EV_ERROR) this.emit(EV_ALL, ...args); -} - -// Common helpers -// -------------- - -/** - * Normalize and emit events. - * Calling _emit DOES NOT MEAN emit() would be called! - * @param {EventName} event Type of event - * @param {Path} path File or directory path - * @param {*=} val1 arguments to be passed with event - * @param {*=} val2 - * @param {*=} val3 - * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag - */ -async _emit(event, path, val1, val2, val3) { - if (this.closed) return; - - const opts = this.options; - if (isWindows) path = sysPath.normalize(path); - if (opts.cwd) path = sysPath.relative(opts.cwd, path); - /** @type Array */ - const args = [event, path]; - if (val3 !== undefined) args.push(val1, val2, val3); - else if (val2 !== undefined) args.push(val1, val2); - else if (val1 !== undefined) args.push(val1); - - const awf = opts.awaitWriteFinish; - let pw; - if (awf && (pw = this._pendingWrites.get(path))) { - pw.lastChange = new Date(); - return this; - } - - if (opts.atomic) { - if (event === EV_UNLINK) { - this._pendingUnlinks.set(path, args); - setTimeout(() => { - this._pendingUnlinks.forEach((entry, path) => { - this.emit(...entry); - this.emit(EV_ALL, ...entry); - this._pendingUnlinks.delete(path); + // Public methods + /** + * Adds paths to be watched on an existing FSWatcher instance. + * @param paths_ file or file list. Other arguments are unused + */ + add(paths_, _origAdd, _internal) { + const { cwd } = this.options; + this.closed = false; + this._closePromise = undefined; + let paths = unifyPaths(paths_); + if (cwd) { + paths = paths.map((path) => { + const absPath = getAbsolutePath(path, cwd); + // Check `path` instead of `absPath` because the cwd portion can't be a glob + return absPath; + }); + } + paths.forEach((path) => { + this._removeIgnoredPath(path); }); - }, typeof opts.atomic === 'number' ? opts.atomic : 100); - return this; + this._userIgnored = undefined; + if (!this._readyCount) + this._readyCount = 0; + this._readyCount += paths.length; + Promise.all(paths.map(async (path) => { + const res = await this._nodeFsHandler._addToNodeFs(path, !_internal, undefined, 0, _origAdd); + if (res) + this._emitReady(); + return res; + })).then((results) => { + if (this.closed) + return; + results.forEach((item) => { + if (item) + this.add(sysPath.dirname(item), sysPath.basename(_origAdd || item)); + }); + }); + return this; } - if (event === EV_ADD && this._pendingUnlinks.has(path)) { - event = args[0] = EV_CHANGE; - this._pendingUnlinks.delete(path); + /** + * Close watchers or start ignoring events from specified paths. + */ + unwatch(paths_) { + if (this.closed) + return this; + const paths = unifyPaths(paths_); + const { cwd } = this.options; + paths.forEach((path) => { + // convert to absolute path unless relative path already matches + if (!sysPath.isAbsolute(path) && !this._closers.has(path)) { + if (cwd) + path = sysPath.join(cwd, path); + path = sysPath.resolve(path); + } + this._closePath(path); + this._addIgnoredPath(path); + if (this._watched.has(path)) { + this._addIgnoredPath({ + path, + recursive: true, + }); + } + // reset the cached userIgnored anymatch fn + // to make ignoredPaths changes effective + this._userIgnored = undefined; + }); + return this; } - } - - if (awf && (event === EV_ADD || event === EV_CHANGE) && this._readyEmitted) { - const awfEmit = (err, stats) => { - if (err) { - event = args[0] = EV_ERROR; - args[1] = err; - this.emitWithAll(event, args); - } else if (stats) { - // if stats doesn't exist the file must have been deleted - if (args.length > 2) { - args[2] = stats; - } else { - args.push(stats); + /** + * Close watchers and remove all listeners from watched paths. + */ + close() { + if (this._closePromise) { + return this._closePromise; + } + this.closed = true; + // Memory management. + this.removeAllListeners(); + const closers = []; + this._closers.forEach((closerList) => closerList.forEach((closer) => { + const promise = closer(); + if (promise instanceof Promise) + closers.push(promise); + })); + this._streams.forEach((stream) => stream.destroy()); + this._userIgnored = undefined; + this._readyCount = 0; + this._readyEmitted = false; + this._watched.forEach((dirent) => dirent.dispose()); + this._closers.clear(); + this._watched.clear(); + this._streams.clear(); + this._symlinkPaths.clear(); + this._throttled.clear(); + this._closePromise = closers.length + ? Promise.all(closers).then(() => undefined) + : Promise.resolve(); + return this._closePromise; + } + /** + * Expose list of watched paths + * @returns for chaining + */ + getWatched() { + const watchList = {}; + this._watched.forEach((entry, dir) => { + const key = this.options.cwd ? sysPath.relative(this.options.cwd, dir) : dir; + const index = key || ONE_DOT; + watchList[index] = entry.getChildren().sort(); + }); + return watchList; + } + emitWithAll(event, args) { + this.emit(...args); + if (event !== handler_js_1.EVENTS.ERROR) + this.emit(handler_js_1.EVENTS.ALL, ...args); + } + // Common helpers + // -------------- + /** + * Normalize and emit events. + * Calling _emit DOES NOT MEAN emit() would be called! + * @param event Type of event + * @param path File or directory path + * @param stats arguments to be passed with event + * @returns the error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + async _emit(event, path, stats) { + if (this.closed) + return; + const opts = this.options; + if (handler_js_1.isWindows) + path = sysPath.normalize(path); + if (opts.cwd) + path = sysPath.relative(opts.cwd, path); + const args = [event, path]; + if (stats != null) + args.push(stats); + const awf = opts.awaitWriteFinish; + let pw; + if (awf && (pw = this._pendingWrites.get(path))) { + pw.lastChange = new Date(); + return this; + } + if (opts.atomic) { + if (event === handler_js_1.EVENTS.UNLINK) { + this._pendingUnlinks.set(path, args); + setTimeout(() => { + this._pendingUnlinks.forEach((entry, path) => { + this.emit(...entry); + this.emit(handler_js_1.EVENTS.ALL, ...entry); + this._pendingUnlinks.delete(path); + }); + }, typeof opts.atomic === 'number' ? opts.atomic : 100); + return this; + } + if (event === handler_js_1.EVENTS.ADD && this._pendingUnlinks.has(path)) { + event = args[0] = handler_js_1.EVENTS.CHANGE; + this._pendingUnlinks.delete(path); + } + } + if (awf && (event === handler_js_1.EVENTS.ADD || event === handler_js_1.EVENTS.CHANGE) && this._readyEmitted) { + const awfEmit = (err, stats) => { + if (err) { + event = args[0] = handler_js_1.EVENTS.ERROR; + args[1] = err; + this.emitWithAll(event, args); + } + else if (stats) { + // if stats doesn't exist the file must have been deleted + if (args.length > 2) { + args[2] = stats; + } + else { + args.push(stats); + } + this.emitWithAll(event, args); + } + }; + this._awaitWriteFinish(path, awf.stabilityThreshold, event, awfEmit); + return this; + } + if (event === handler_js_1.EVENTS.CHANGE) { + const isThrottled = !this._throttle(handler_js_1.EVENTS.CHANGE, path, 50); + if (isThrottled) + return this; + } + if (opts.alwaysStat && + stats === undefined && + (event === handler_js_1.EVENTS.ADD || event === handler_js_1.EVENTS.ADD_DIR || event === handler_js_1.EVENTS.CHANGE)) { + const fullPath = opts.cwd ? sysPath.join(opts.cwd, path) : path; + let stats; + try { + stats = await (0, promises_1.stat)(fullPath); + } + catch (err) { + // do nothing + } + // Suppress event when fs_stat fails, to avoid sending undefined 'stat' + if (!stats || this.closed) + return; + args.push(stats); } this.emitWithAll(event, args); - } - }; - - this._awaitWriteFinish(path, awf.stabilityThreshold, event, awfEmit); - return this; - } - - if (event === EV_CHANGE) { - const isThrottled = !this._throttle(EV_CHANGE, path, 50); - if (isThrottled) return this; - } - - if (opts.alwaysStat && val1 === undefined && - (event === EV_ADD || event === EV_ADD_DIR || event === EV_CHANGE) - ) { - const fullPath = opts.cwd ? sysPath.join(opts.cwd, path) : path; - let stats; - try { - stats = await stat(fullPath); - } catch (err) {} - // Suppress event when fs_stat fails, to avoid sending undefined 'stat' - if (!stats || this.closed) return; - args.push(stats); - } - this.emitWithAll(event, args); - - return this; -} - -/** - * Common handler for errors - * @param {Error} error - * @returns {Error|Boolean} The error if defined, otherwise the value of the FSWatcher instance's `closed` flag - */ -_handleError(error) { - const code = error && error.code; - if (error && code !== 'ENOENT' && code !== 'ENOTDIR' && - (!this.options.ignorePermissionErrors || (code !== 'EPERM' && code !== 'EACCES')) - ) { - this.emit(EV_ERROR, error); - } - return error || this.closed; -} - -/** - * Helper utility for throttling - * @param {ThrottleType} actionType type being throttled - * @param {Path} path being acted upon - * @param {Number} timeout duration of time to suppress duplicate actions - * @returns {Object|false} tracking object or false if action should be suppressed - */ -_throttle(actionType, path, timeout) { - if (!this._throttled.has(actionType)) { - this._throttled.set(actionType, new Map()); - } - - /** @type {Map} */ - const action = this._throttled.get(actionType); - /** @type {Object} */ - const actionPath = action.get(path); - - if (actionPath) { - actionPath.count++; - return false; - } - - let timeoutObject; - const clear = () => { - const item = action.get(path); - const count = item ? item.count : 0; - action.delete(path); - clearTimeout(timeoutObject); - if (item) clearTimeout(item.timeoutObject); - return count; - }; - timeoutObject = setTimeout(clear, timeout); - const thr = {timeoutObject, clear, count: 0}; - action.set(path, thr); - return thr; -} - -_incrReadyCount() { - return this._readyCount++; -} - -/** - * Awaits write operation to finish. - * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. - * @param {Path} path being acted upon - * @param {Number} threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished - * @param {EventName} event - * @param {Function} awfEmit Callback to be called when ready for event to be emitted. - */ -_awaitWriteFinish(path, threshold, event, awfEmit) { - let timeoutHandler; - - let fullPath = path; - if (this.options.cwd && !sysPath.isAbsolute(path)) { - fullPath = sysPath.join(this.options.cwd, path); - } - - const now = new Date(); - - const awaitWriteFinish = (prevStat) => { - fs.stat(fullPath, (err, curStat) => { - if (err || !this._pendingWrites.has(path)) { - if (err && err.code !== 'ENOENT') awfEmit(err); - return; - } - - const now = Number(new Date()); - - if (prevStat && curStat.size !== prevStat.size) { - this._pendingWrites.get(path).lastChange = now; - } - const pw = this._pendingWrites.get(path); - const df = now - pw.lastChange; - - if (df >= threshold) { - this._pendingWrites.delete(path); - awfEmit(undefined, curStat); - } else { - timeoutHandler = setTimeout( - awaitWriteFinish, - this.options.awaitWriteFinish.pollInterval, - curStat - ); - } - }); - }; - - if (!this._pendingWrites.has(path)) { - this._pendingWrites.set(path, { - lastChange: now, - cancelWait: () => { - this._pendingWrites.delete(path); - clearTimeout(timeoutHandler); - return event; - } - }); - timeoutHandler = setTimeout( - awaitWriteFinish, - this.options.awaitWriteFinish.pollInterval - ); - } -} - -_getGlobIgnored() { - return [...this._ignoredPaths.values()]; -} - -/** - * Determines whether user has asked to ignore this path. - * @param {Path} path filepath or dir - * @param {fs.Stats=} stats result of fs.stat - * @returns {Boolean} - */ -_isIgnored(path, stats) { - if (this.options.atomic && DOT_RE.test(path)) return true; - if (!this._userIgnored) { - const {cwd} = this.options; - const ign = this.options.ignored; - - const ignored = ign && ign.map(normalizeIgnored(cwd)); - const paths = arrify(ignored) - .filter((path) => typeof path === STRING_TYPE && !isGlob(path)) - .map((path) => path + SLASH_GLOBSTAR); - const list = this._getGlobIgnored().map(normalizeIgnored(cwd)).concat(ignored, paths); - this._userIgnored = anymatch(list, undefined, ANYMATCH_OPTS); - } - - return this._userIgnored([path, stats]); -} - -_isntIgnored(path, stat) { - return !this._isIgnored(path, stat); -} - -/** - * Provides a set of common helpers and properties relating to symlink and glob handling. - * @param {Path} path file, directory, or glob pattern being watched - * @param {Number=} depth at any depth > 0, this isn't a glob - * @returns {WatchHelper} object containing helpers for this path - */ -_getWatchHelpers(path, depth) { - const watchPath = depth || this.options.disableGlobbing || !isGlob(path) ? path : globParent(path); - const follow = this.options.followSymlinks; - - return new WatchHelper(path, watchPath, follow, this); -} - -// Directory helpers -// ----------------- - -/** - * Provides directory tracking objects - * @param {String} directory path of the directory - * @returns {DirEntry} the directory's tracking object - */ -_getWatchedDir(directory) { - if (!this._boundRemove) this._boundRemove = this._remove.bind(this); - const dir = sysPath.resolve(directory); - if (!this._watched.has(dir)) this._watched.set(dir, new DirEntry(dir, this._boundRemove)); - return this._watched.get(dir); -} - -// File helpers -// ------------ - -/** - * Check for read permissions. - * Based on this answer on SO: https://stackoverflow.com/a/11781404/1358405 - * @param {fs.Stats} stats - object, result of fs_stat - * @returns {Boolean} indicates whether the file can be read -*/ -_hasReadPermissions(stats) { - if (this.options.ignorePermissionErrors) return true; - - // stats.mode may be bigint - const md = stats && Number.parseInt(stats.mode, 10); - const st = md & 0o777; - const it = Number.parseInt(st.toString(8)[0], 10); - return Boolean(4 & it); -} - -/** - * Handles emitting unlink events for - * files and directories, and via recursion, for - * files and directories within directories that are unlinked - * @param {String} directory within which the following item is located - * @param {String} item base path of item/directory - * @returns {void} -*/ -_remove(directory, item, isDirectory) { - // if what is being deleted is a directory, get that directory's paths - // for recursive deleting and cleaning of watched object - // if it is not a directory, nestedDirectoryChildren will be empty array - const path = sysPath.join(directory, item); - const fullPath = sysPath.resolve(path); - isDirectory = isDirectory != null - ? isDirectory - : this._watched.has(path) || this._watched.has(fullPath); - - // prevent duplicate handling in case of arriving here nearly simultaneously - // via multiple paths (such as _handleFile and _handleDir) - if (!this._throttle('remove', path, 100)) return; - - // if the only watched file is removed, watch for its return - if (!isDirectory && !this.options.useFsEvents && this._watched.size === 1) { - this.add(directory, item, true); - } - - // This will create a new entry in the watched object in either case - // so we got to do the directory check beforehand - const wp = this._getWatchedDir(path); - const nestedDirectoryChildren = wp.getChildren(); - - // Recursively remove children directories / files. - nestedDirectoryChildren.forEach(nested => this._remove(path, nested)); - - // Check if item was on the watched list and remove it - const parent = this._getWatchedDir(directory); - const wasTracked = parent.has(item); - parent.remove(item); - - // Fixes issue #1042 -> Relative paths were detected and added as symlinks - // (https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L612), - // but never removed from the map in case the path was deleted. - // This leads to an incorrect state if the path was recreated: - // https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L553 - if (this._symlinkPaths.has(fullPath)) { - this._symlinkPaths.delete(fullPath); - } - - // If we wait for this file to be fully written, cancel the wait. - let relPath = path; - if (this.options.cwd) relPath = sysPath.relative(this.options.cwd, path); - if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) { - const event = this._pendingWrites.get(relPath).cancelWait(); - if (event === EV_ADD) return; - } - - // The Entry will either be a directory that just got removed - // or a bogus entry to a file, in either case we have to remove it - this._watched.delete(path); - this._watched.delete(fullPath); - const eventName = isDirectory ? EV_UNLINK_DIR : EV_UNLINK; - if (wasTracked && !this._isIgnored(path)) this._emit(eventName, path); - - // Avoid conflicts if we later create another file with the same name - if (!this.options.useFsEvents) { - this._closePath(path); - } -} - -/** - * Closes all watchers for a path - * @param {Path} path - */ -_closePath(path) { - this._closeFile(path) - const dir = sysPath.dirname(path); - this._getWatchedDir(dir).remove(sysPath.basename(path)); -} - -/** - * Closes only file-specific watchers - * @param {Path} path - */ -_closeFile(path) { - const closers = this._closers.get(path); - if (!closers) return; - closers.forEach(closer => closer()); - this._closers.delete(path); -} - -/** - * - * @param {Path} path - * @param {Function} closer - */ -_addPathCloser(path, closer) { - if (!closer) return; - let list = this._closers.get(path); - if (!list) { - list = []; - this._closers.set(path, list); - } - list.push(closer); -} - -_readdirp(root, opts) { - if (this.closed) return; - const options = {type: EV_ALL, alwaysStat: true, lstat: true, ...opts}; - let stream = readdirp(root, options); - this._streams.add(stream); - stream.once(STR_CLOSE, () => { - stream = undefined; - }); - stream.once(STR_END, () => { - if (stream) { - this._streams.delete(stream); - stream = undefined; + return this; + } + /** + * Common handler for errors + * @returns The error if defined, otherwise the value of the FSWatcher instance's `closed` flag + */ + _handleError(error) { + const code = error && error.code; + if (error && + code !== 'ENOENT' && + code !== 'ENOTDIR' && + (!this.options.ignorePermissionErrors || (code !== 'EPERM' && code !== 'EACCES'))) { + this.emit(handler_js_1.EVENTS.ERROR, error); + } + return error || this.closed; + } + /** + * Helper utility for throttling + * @param actionType type being throttled + * @param path being acted upon + * @param timeout duration of time to suppress duplicate actions + * @returns tracking object or false if action should be suppressed + */ + _throttle(actionType, path, timeout) { + if (!this._throttled.has(actionType)) { + this._throttled.set(actionType, new Map()); + } + const action = this._throttled.get(actionType); + if (!action) + throw new Error('invalid throttle'); + const actionPath = action.get(path); + if (actionPath) { + actionPath.count++; + return false; + } + // eslint-disable-next-line prefer-const + let timeoutObject; + const clear = () => { + const item = action.get(path); + const count = item ? item.count : 0; + action.delete(path); + clearTimeout(timeoutObject); + if (item) + clearTimeout(item.timeoutObject); + return count; + }; + timeoutObject = setTimeout(clear, timeout); + const thr = { timeoutObject, clear, count: 0 }; + action.set(path, thr); + return thr; + } + _incrReadyCount() { + return this._readyCount++; + } + /** + * Awaits write operation to finish. + * Polls a newly created file for size variations. When files size does not change for 'threshold' milliseconds calls callback. + * @param path being acted upon + * @param threshold Time in milliseconds a file size must be fixed before acknowledging write OP is finished + * @param event + * @param awfEmit Callback to be called when ready for event to be emitted. + */ + _awaitWriteFinish(path, threshold, event, awfEmit) { + const awf = this.options.awaitWriteFinish; + if (typeof awf !== 'object') + return; + const pollInterval = awf.pollInterval; + let timeoutHandler; + let fullPath = path; + if (this.options.cwd && !sysPath.isAbsolute(path)) { + fullPath = sysPath.join(this.options.cwd, path); + } + const now = new Date(); + const writes = this._pendingWrites; + function awaitWriteFinishFn(prevStat) { + (0, fs_1.stat)(fullPath, (err, curStat) => { + if (err || !writes.has(path)) { + if (err && err.code !== 'ENOENT') + awfEmit(err); + return; + } + const now = Number(new Date()); + if (prevStat && curStat.size !== prevStat.size) { + writes.get(path).lastChange = now; + } + const pw = writes.get(path); + const df = now - pw.lastChange; + if (df >= threshold) { + writes.delete(path); + awfEmit(undefined, curStat); + } + else { + timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval, curStat); + } + }); + } + if (!writes.has(path)) { + writes.set(path, { + lastChange: now, + cancelWait: () => { + writes.delete(path); + clearTimeout(timeoutHandler); + return event; + }, + }); + timeoutHandler = setTimeout(awaitWriteFinishFn, pollInterval); + } + } + /** + * Determines whether user has asked to ignore this path. + */ + _isIgnored(path, stats) { + if (this.options.atomic && DOT_RE.test(path)) + return true; + if (!this._userIgnored) { + const { cwd } = this.options; + const ign = this.options.ignored; + const ignored = (ign || []).map(normalizeIgnored(cwd)); + const ignoredPaths = [...this._ignoredPaths]; + const list = [...ignoredPaths.map(normalizeIgnored(cwd)), ...ignored]; + this._userIgnored = anymatch(list, undefined); + } + return this._userIgnored(path, stats); + } + _isntIgnored(path, stat) { + return !this._isIgnored(path, stat); + } + /** + * Provides a set of common helpers and properties relating to symlink handling. + * @param path file or directory pattern being watched + */ + _getWatchHelpers(path) { + return new WatchHelper(path, this.options.followSymlinks, this); + } + // Directory helpers + // ----------------- + /** + * Provides directory tracking objects + * @param directory path of the directory + */ + _getWatchedDir(directory) { + const dir = sysPath.resolve(directory); + if (!this._watched.has(dir)) + this._watched.set(dir, new DirEntry(dir, this._boundRemove)); + return this._watched.get(dir); + } + // File helpers + // ------------ + /** + * Check for read permissions: https://stackoverflow.com/a/11781404/1358405 + */ + _hasReadPermissions(stats) { + if (this.options.ignorePermissionErrors) + return true; + return Boolean(Number(stats.mode) & 0o400); + } + /** + * Handles emitting unlink events for + * files and directories, and via recursion, for + * files and directories within directories that are unlinked + * @param directory within which the following item is located + * @param item base path of item/directory + */ + _remove(directory, item, isDirectory) { + // if what is being deleted is a directory, get that directory's paths + // for recursive deleting and cleaning of watched object + // if it is not a directory, nestedDirectoryChildren will be empty array + const path = sysPath.join(directory, item); + const fullPath = sysPath.resolve(path); + isDirectory = + isDirectory != null ? isDirectory : this._watched.has(path) || this._watched.has(fullPath); + // prevent duplicate handling in case of arriving here nearly simultaneously + // via multiple paths (such as _handleFile and _handleDir) + if (!this._throttle('remove', path, 100)) + return; + // if the only watched file is removed, watch for its return + if (!isDirectory && this._watched.size === 1) { + this.add(directory, item, true); + } + // This will create a new entry in the watched object in either case + // so we got to do the directory check beforehand + const wp = this._getWatchedDir(path); + const nestedDirectoryChildren = wp.getChildren(); + // Recursively remove children directories / files. + nestedDirectoryChildren.forEach((nested) => this._remove(path, nested)); + // Check if item was on the watched list and remove it + const parent = this._getWatchedDir(directory); + const wasTracked = parent.has(item); + parent.remove(item); + // Fixes issue #1042 -> Relative paths were detected and added as symlinks + // (https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L612), + // but never removed from the map in case the path was deleted. + // This leads to an incorrect state if the path was recreated: + // https://github.com/paulmillr/chokidar/blob/e1753ddbc9571bdc33b4a4af172d52cb6e611c10/lib/nodefs-handler.js#L553 + if (this._symlinkPaths.has(fullPath)) { + this._symlinkPaths.delete(fullPath); + } + // If we wait for this file to be fully written, cancel the wait. + let relPath = path; + if (this.options.cwd) + relPath = sysPath.relative(this.options.cwd, path); + if (this.options.awaitWriteFinish && this._pendingWrites.has(relPath)) { + const event = this._pendingWrites.get(relPath).cancelWait(); + if (event === handler_js_1.EVENTS.ADD) + return; + } + // The Entry will either be a directory that just got removed + // or a bogus entry to a file, in either case we have to remove it + this._watched.delete(path); + this._watched.delete(fullPath); + const eventName = isDirectory ? handler_js_1.EVENTS.UNLINK_DIR : handler_js_1.EVENTS.UNLINK; + if (wasTracked && !this._isIgnored(path)) + this._emit(eventName, path); + // Avoid conflicts if we later create another file with the same name + this._closePath(path); + } + /** + * Closes all watchers for a path + */ + _closePath(path) { + this._closeFile(path); + const dir = sysPath.dirname(path); + this._getWatchedDir(dir).remove(sysPath.basename(path)); + } + /** + * Closes only file-specific watchers + */ + _closeFile(path) { + const closers = this._closers.get(path); + if (!closers) + return; + closers.forEach((closer) => closer()); + this._closers.delete(path); + } + _addPathCloser(path, closer) { + if (!closer) + return; + let list = this._closers.get(path); + if (!list) { + list = []; + this._closers.set(path, list); + } + list.push(closer); + } + _readdirp(root, opts) { + if (this.closed) + return; + const options = { type: handler_js_1.EVENTS.ALL, alwaysStat: true, lstat: true, ...opts, depth: 0 }; + let stream = (0, readdirp_1.readdirp)(root, options); + this._streams.add(stream); + stream.once(handler_js_1.STR_CLOSE, () => { + stream = undefined; + }); + stream.once(handler_js_1.STR_END, () => { + if (stream) { + this._streams.delete(stream); + stream = undefined; + } + }); + return stream; } - }); - return stream; } - -} - -// Export FSWatcher class exports.FSWatcher = FSWatcher; - /** * Instantiates watcher with paths to be tracked. - * @param {String|Array} paths file/directory paths and/or globs - * @param {Object=} options chokidar opts + * @param paths file / directory paths + * @param options opts, such as `atomic`, `awaitWriteFinish`, `ignored`, and others * @returns an instance of FSWatcher for chaining. + * @example + * const watcher = watch('.').on('all', (event, path) => { console.log(event, path); }); + * watch('.', { atomic: true, awaitWriteFinish: true, ignored: (f, stats) => stats?.isFile() && !f.endsWith('.js') }) */ -const watch = (paths, options) => { - const watcher = new FSWatcher(options); - watcher.add(paths); - return watcher; -}; - -exports.watch = watch; +function watch(paths, options = {}) { + const watcher = new FSWatcher(options); + watcher.add(paths); + return watcher; +} +exports.default = { watch, FSWatcher }; +//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js.map b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js.map new file mode 100644 index 0000000..dfd6b2b --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/index.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":";;;AAs8BA,sBAIC;AA18BD,2BAA2C;AAC3C,0CAA4C;AAC5C,mCAAsC;AACtC,gCAAgC;AAChC,uCAAgF;AAChF,6CAUsB;AAqDtB,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,WAAW,GAAG,IAAI,CAAC;AACzB,MAAM,OAAO,GAAG,GAAG,CAAC;AACpB,MAAM,QAAQ,GAAG,IAAI,CAAC;AACtB,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,aAAa,GAAG,KAAK,CAAC;AAC5B,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,MAAM,GAAG,kCAAkC,CAAC;AAClD,MAAM,WAAW,GAAG,UAAU,CAAC;AAE/B,SAAS,MAAM,CAAI,IAAa;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,eAAe,GAAG,CAAC,OAAgB,EAA4B,EAAE,CACrE,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,YAAY,MAAM,CAAC,CAAC;AAElF,SAAS,aAAa,CAAC,OAAgB;IACrC,IAAI,OAAO,OAAO,KAAK,UAAU;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC;IACvE,IAAI,OAAO,YAAY,MAAM;QAAE,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,CAAC,MAAM,EAAE,EAAE;YAChB,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;gBAAE,OAAO,IAAI,CAAC;YACzC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACxD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrE,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,IAAU;IAC/B,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACjE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC;IAC1C,MAAM,eAAe,GAAG,MAAM,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAAE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,OAAO;QAAE,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,aAAa,CAAC,QAAyB,EAAE,UAAkB,EAAE,KAAa;IACjF,MAAM,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IAEvC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAID,SAAS,QAAQ,CAAC,QAAmB,EAAE,UAA8B;IACnE,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,kCAAkC,CAAC,CAAC;IAC1D,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAExE,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,UAAkB,EAAE,KAAa,EAAW,EAAE;YACpD,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,MAAqB,EAAE,EAAE;IAC3C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,qEAAqE;AACrE,qEAAqE;AACrE,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,EAAE;IAChC,IAAI,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAC/C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QAClC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,GAAG,KAAK,GAAG,GAAG,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,iCAAiC;AACjC,qEAAqE;AACrE,MAAM,mBAAmB,GAAG,CAAC,IAAU,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpF,iBAAiB;AACjB,MAAM,gBAAgB,GACpB,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,CACb,CAAC,IAAa,EAAU,EAAE;IACxB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,OAAO,mBAAmB,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IACxF,CAAC;SAAM,CAAC;QACN,OAAO,IAAc,CAAC;IACxB,CAAC;AACH,CAAC,CAAC;AAEJ,MAAM,eAAe,GAAG,CAAC,IAAU,EAAE,GAAS,EAAE,EAAE;IAChD,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAU,CAAC,CAAC;AACnD;;GAEG;AACH,MAAM,QAAQ;IAKZ,YAAY,GAAS,EAAE,aAAkD;QACvE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAQ,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC;YAAE,OAAO;QAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,IAAA,kBAAO,EAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAY;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,WAAW;QACT,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,qBAAQ,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACF;AAED,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,aAAa,GAAG,OAAO,CAAC;AAC9B,MAAa,WAAW;IAStB,YAAY,IAAY,EAAE,MAAe,EAAE,GAAc;QACvD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC;IAC3D,CAAC;IAED,SAAS,CAAC,KAAgB;QACxB,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,UAAU,CAAC,KAAgB;QACzB,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,IAAI,KAAK,CAAC,cAAc,EAAE;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,6CAA6C;QAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,KAAM,CAAC,CAAC;IAC5F,CAAC;IAED,SAAS,CAAC,KAAgB;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACnE,CAAC;CACF;AAtCD,kCAsCC;AAED;;;;;;;GAOG;AACH,MAAa,SAAU,SAAQ,qBAAY;IAuBzC,mDAAmD;IACnD,YAAY,QAAyB,EAAE;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAW,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAE1B,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACnC,MAAM,OAAO,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;QAChE,MAAM,IAAI,GAAuB;YAC/B,WAAW;YACX,UAAU,EAAE,IAAI;YAChB,aAAa,EAAE,KAAK;YACpB,sBAAsB,EAAE,KAAK;YAC7B,QAAQ,EAAE,GAAG;YACb,cAAc,EAAE,GAAG;YACnB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,KAAK;YACjB,mBAAmB;YACnB,MAAM,EAAE,IAAI,EAAE,kDAAkD;YAChE,GAAG,KAAK;YACR,gBAAgB;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,gBAAgB,EACd,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK;SACpF,CAAC;QAEF,mFAAmF;QACnF,IAAI,mBAAM;YAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACnC,qEAAqE;QACrE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;QAC9D,uEAAuE;QACvE,4EAA4E;QAC5E,gEAAgE;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QAChD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YACvC,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;iBACjE,IAAI,QAAQ,KAAK,MAAM,IAAI,QAAQ,KAAK,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;;gBACpE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC;QACpC,CAAC;QACD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAClD,IAAI,WAAW;YAAE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAClE,2EAA2E;QAC3E,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,GAAG,EAAE;YACrB,UAAU,EAAE,CAAC;YACb,IAAI,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,GAAG,qBAAQ,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,8DAA8D;gBAC9D,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QAExD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,0BAAa,CAAC,IAAI,CAAC,CAAC;QAC9C,4CAA4C;QAC5C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,eAAe,CAAC,OAAgB;QAC9B,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,gEAAgE;YAChE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzC,IACE,eAAe,CAAC,OAAO,CAAC;oBACxB,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;oBAC7B,OAAO,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,EACvC,CAAC;oBACD,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,OAAgB;QACjC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEnC,wDAAwD;QACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzC,2CAA2C;gBAC3C,0DAA0D;gBAC1D,cAAc;gBACd,IAAI,eAAe,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IAEjB;;;OAGG;IACH,GAAG,CAAC,MAAqB,EAAE,QAAiB,EAAE,SAAmB;QAC/D,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,GAAG,EAAE,CAAC;YACR,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAE3C,4EAA4E;gBAC5E,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;QACjC,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACvB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAChD,IAAI,EACJ,CAAC,SAAS,EACV,SAAS,EACT,CAAC,EACD,QAAQ,CACT,CAAC;YACF,IAAI,GAAG;gBAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YAC3B,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;YACjB,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YACxB,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvB,IAAI,IAAI;oBAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC;YAChF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,MAAqB;QAC3B,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,gEAAgE;YAChE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,GAAG;oBAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACxC,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAEtB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC;oBACnB,IAAI;oBACJ,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;YACL,CAAC;YAED,2CAA2C;YAC3C,yCAAyC;YACzC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,qBAAqB;QACrB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAyB,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE,CACnC,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;YACzB,IAAI,OAAO,YAAY,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,CAAC,CAAC,CACH,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAExB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM;YACjC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAC5C,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,SAAS,GAA6B,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACnC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7E,MAAM,KAAK,GAAG,GAAG,IAAI,OAAO,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,KAAgB,EAAE,IAAc;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACnB,IAAI,KAAK,KAAK,mBAAE,CAAC,KAAK;YAAE,IAAI,CAAC,IAAI,CAAC,mBAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,iBAAiB;IACjB,iBAAiB;IAEjB;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,KAAgB,EAAE,IAAU,EAAE,KAAa;QACrD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,IAAI,sBAAS;YAAE,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9C,IAAI,IAAI,CAAC,GAAG;YAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,IAAI,EAAE,CAAC;QACP,IAAI,GAAG,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAChD,EAAE,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,KAAK,KAAK,mBAAE,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,UAAU,CACR,GAAG,EAAE;oBACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,IAAU,EAAE,EAAE;wBAC3D,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC,mBAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;wBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC,CAAC,CAAC;gBACL,CAAC,EACD,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CACpD,CAAC;gBACF,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,KAAK,KAAK,mBAAE,CAAC,GAAG,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,mBAAE,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAED,IAAI,GAAG,IAAI,CAAC,KAAK,KAAK,mBAAE,CAAC,GAAG,IAAI,KAAK,KAAK,mBAAE,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3E,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,KAAa,EAAE,EAAE;gBAC7C,IAAI,GAAG,EAAE,CAAC;oBACR,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,mBAAE,CAAC,KAAK,CAAC;oBAC3B,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;qBAAM,IAAI,KAAK,EAAE,CAAC;oBACjB,yDAAyD;oBACzD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpB,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;oBAClB,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACnB,CAAC;oBACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC,CAAC;YAEF,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,kBAAkB,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,KAAK,KAAK,mBAAE,CAAC,MAAM,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAE,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;YACzD,IAAI,WAAW;gBAAE,OAAO,IAAI,CAAC;QAC/B,CAAC;QAED,IACE,IAAI,CAAC,UAAU;YACf,KAAK,KAAK,SAAS;YACnB,CAAC,KAAK,KAAK,mBAAE,CAAC,GAAG,IAAI,KAAK,KAAK,mBAAE,CAAC,OAAO,IAAI,KAAK,KAAK,mBAAE,CAAC,MAAM,CAAC,EACjE,CAAC;YACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAChE,IAAI,KAAK,CAAC;YACV,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,IAAA,eAAI,EAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,aAAa;YACf,CAAC;YACD,uEAAuE;YACvE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO;YAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAAY;QACvB,MAAM,IAAI,GAAG,KAAK,IAAK,KAAkC,CAAC,IAAI,CAAC;QAC/D,IACE,KAAK;YACL,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,SAAS;YAClB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,EACjF,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,mBAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,UAAwB,EAAE,IAAU,EAAE,OAAe;QAC7D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEpC,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,wCAAwC;QACxC,IAAI,aAA6B,CAAC;QAClC,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpB,YAAY,CAAC,aAAa,CAAC,CAAC;YAC5B,IAAI,IAAI;gBAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,aAAa,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CACf,IAAU,EACV,SAAiB,EACjB,KAAgB,EAChB,OAA4C;QAE5C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC1C,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,OAAO;QACpC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAiC,CAAC;QAC3D,IAAI,cAA8B,CAAC;QAEnC,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClD,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC;QACnC,SAAS,kBAAkB,CAAC,QAAgB;YAC1C,IAAA,SAAM,EAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBAChC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;wBAAE,OAAO,CAAC,GAAG,CAAC,CAAC;oBAC/C,OAAO;gBACT,CAAC;gBAED,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAE/B,IAAI,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC/C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC;gBACpC,CAAC;gBACD,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5B,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC;gBAE/B,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC;oBACpB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,UAAU,CAAC,kBAAkB,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;gBACf,UAAU,EAAE,GAAG;gBACf,UAAU,EAAE,GAAG,EAAE;oBACf,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpB,YAAY,CAAC,cAAc,CAAC,CAAC;oBAC7B,OAAO,KAAK,CAAC;gBACf,CAAC;aACF,CAAC,CAAC;YACH,cAAc,GAAG,UAAU,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAU,EAAE,KAAa;QAClC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAC1D,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAEjC,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,IAAI,GAAc,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;YACjF,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,YAAY,CAAC,IAAU,EAAE,IAAY;QACnC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,IAAU;QACzB,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,oBAAoB;IACpB,oBAAoB;IAEpB;;;OAGG;IACH,cAAc,CAAC,SAAiB;QAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1F,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACjC,CAAC;IAED,eAAe;IACf,eAAe;IAEf;;OAEG;IACH,mBAAmB,CAAC,KAAY;QAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB;YAAE,OAAO,IAAI,CAAC;QACrD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,SAAiB,EAAE,IAAY,EAAE,WAAqB;QAC5D,sEAAsE;QACtE,wDAAwD;QACxD,wEAAwE;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,WAAW;YACT,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE7F,4EAA4E;QAC5E,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC;YAAE,OAAO;QAEjD,4DAA4D;QAC5D,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,CAAC;QAED,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrC,MAAM,uBAAuB,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAEjD,mDAAmD;QACnD,uBAAuB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAExE,sDAAsD;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEpB,0EAA0E;QAC1E,oHAAoH;QACpH,+DAA+D;QAC/D,8DAA8D;QAC9D,iHAAiH;QACjH,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;QAED,iEAAiE;QACjE,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG;YAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzE,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,CAAC;YAC5D,IAAI,KAAK,KAAK,mBAAE,CAAC,GAAG;gBAAE,OAAO;QAC/B,CAAC;QAED,6DAA6D;QAC7D,kEAAkE;QAClE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAc,WAAW,CAAC,CAAC,CAAC,mBAAE,CAAC,UAAU,CAAC,CAAC,CAAC,mBAAE,CAAC,MAAM,CAAC;QACrE,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAEtE,qEAAqE;QACrE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAU;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAU;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,cAAc,CAAC,IAAU,EAAE,MAAkB;QAC3C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC;IAED,SAAS,CAAC,IAAU,EAAE,IAA+B;QACnD,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,mBAAE,CAAC,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACnF,IAAI,MAAM,GAA+B,IAAA,mBAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,sBAAS,EAAE,GAAG,EAAE;YAC1B,MAAM,GAAG,SAAS,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,oBAAO,EAAE,GAAG,EAAE;YACxB,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7B,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1oBD,8BA0oBC;AAED;;;;;;;;GAQG;AACH,SAAgB,KAAK,CAAC,KAAwB,EAAE,UAA2B,EAAE;IAC3E,MAAM,OAAO,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,kBAAe,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/constants.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/constants.js deleted file mode 100644 index 4743865..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/constants.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - -const {sep} = require('path'); -const {platform} = process; -const os = require('os'); - -exports.EV_ALL = 'all'; -exports.EV_READY = 'ready'; -exports.EV_ADD = 'add'; -exports.EV_CHANGE = 'change'; -exports.EV_ADD_DIR = 'addDir'; -exports.EV_UNLINK = 'unlink'; -exports.EV_UNLINK_DIR = 'unlinkDir'; -exports.EV_RAW = 'raw'; -exports.EV_ERROR = 'error'; - -exports.STR_DATA = 'data'; -exports.STR_END = 'end'; -exports.STR_CLOSE = 'close'; - -exports.FSEVENT_CREATED = 'created'; -exports.FSEVENT_MODIFIED = 'modified'; -exports.FSEVENT_DELETED = 'deleted'; -exports.FSEVENT_MOVED = 'moved'; -exports.FSEVENT_CLONED = 'cloned'; -exports.FSEVENT_UNKNOWN = 'unknown'; -exports.FSEVENT_FLAG_MUST_SCAN_SUBDIRS = 1; -exports.FSEVENT_TYPE_FILE = 'file'; -exports.FSEVENT_TYPE_DIRECTORY = 'directory'; -exports.FSEVENT_TYPE_SYMLINK = 'symlink'; - -exports.KEY_LISTENERS = 'listeners'; -exports.KEY_ERR = 'errHandlers'; -exports.KEY_RAW = 'rawEmitters'; -exports.HANDLER_KEYS = [exports.KEY_LISTENERS, exports.KEY_ERR, exports.KEY_RAW]; - -exports.DOT_SLASH = `.${sep}`; - -exports.BACK_SLASH_RE = /\\/g; -exports.DOUBLE_SLASH_RE = /\/\//; -exports.SLASH_OR_BACK_SLASH_RE = /[/\\]/; -exports.DOT_RE = /\..*\.(sw[px])$|~$|\.subl.*\.tmp/; -exports.REPLACER_RE = /^\.[/\\]/; - -exports.SLASH = '/'; -exports.SLASH_SLASH = '//'; -exports.BRACE_START = '{'; -exports.BANG = '!'; -exports.ONE_DOT = '.'; -exports.TWO_DOTS = '..'; -exports.STAR = '*'; -exports.GLOBSTAR = '**'; -exports.ROOT_GLOBSTAR = '/**/*'; -exports.SLASH_GLOBSTAR = '/**'; -exports.DIR_SUFFIX = 'Dir'; -exports.ANYMATCH_OPTS = {dot: true}; -exports.STRING_TYPE = 'string'; -exports.FUNCTION_TYPE = 'function'; -exports.EMPTY_STR = ''; -exports.EMPTY_FN = () => {}; -exports.IDENTITY_FN = val => val; - -exports.isWindows = platform === 'win32'; -exports.isMacos = platform === 'darwin'; -exports.isLinux = platform === 'linux'; -exports.isIBMi = os.type() === 'OS400'; diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/fsevents-handler.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/fsevents-handler.js deleted file mode 100644 index fe29393..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/fsevents-handler.js +++ /dev/null @@ -1,526 +0,0 @@ -'use strict'; - -const fs = require('fs'); -const sysPath = require('path'); -const { promisify } = require('util'); - -let fsevents; -try { - fsevents = require('fsevents'); -} catch (error) { - if (process.env.CHOKIDAR_PRINT_FSEVENTS_REQUIRE_ERROR) console.error(error); -} - -if (fsevents) { - // TODO: real check - const mtch = process.version.match(/v(\d+)\.(\d+)/); - if (mtch && mtch[1] && mtch[2]) { - const maj = Number.parseInt(mtch[1], 10); - const min = Number.parseInt(mtch[2], 10); - if (maj === 8 && min < 16) { - fsevents = undefined; - } - } -} - -const { - EV_ADD, - EV_CHANGE, - EV_ADD_DIR, - EV_UNLINK, - EV_ERROR, - STR_DATA, - STR_END, - FSEVENT_CREATED, - FSEVENT_MODIFIED, - FSEVENT_DELETED, - FSEVENT_MOVED, - // FSEVENT_CLONED, - FSEVENT_UNKNOWN, - FSEVENT_FLAG_MUST_SCAN_SUBDIRS, - FSEVENT_TYPE_FILE, - FSEVENT_TYPE_DIRECTORY, - FSEVENT_TYPE_SYMLINK, - - ROOT_GLOBSTAR, - DIR_SUFFIX, - DOT_SLASH, - FUNCTION_TYPE, - EMPTY_FN, - IDENTITY_FN -} = require('./constants'); - -const Depth = (value) => isNaN(value) ? {} : {depth: value}; - -const stat = promisify(fs.stat); -const lstat = promisify(fs.lstat); -const realpath = promisify(fs.realpath); - -const statMethods = { stat, lstat }; - -/** - * @typedef {String} Path - */ - -/** - * @typedef {Object} FsEventsWatchContainer - * @property {Set} listeners - * @property {Function} rawEmitter - * @property {{stop: Function}} watcher - */ - -// fsevents instance helper functions -/** - * Object to hold per-process fsevents instances (may be shared across chokidar FSWatcher instances) - * @type {Map} - */ -const FSEventsWatchers = new Map(); - -// Threshold of duplicate path prefixes at which to start -// consolidating going forward -const consolidateThreshhold = 10; - -const wrongEventFlags = new Set([ - 69888, 70400, 71424, 72704, 73472, 131328, 131840, 262912 -]); - -/** - * Instantiates the fsevents interface - * @param {Path} path path to be watched - * @param {Function} callback called when fsevents is bound and ready - * @returns {{stop: Function}} new fsevents instance - */ -const createFSEventsInstance = (path, callback) => { - const stop = fsevents.watch(path, callback); - return {stop}; -}; - -/** - * Instantiates the fsevents interface or binds listeners to an existing one covering - * the same file tree. - * @param {Path} path - to be watched - * @param {Path} realPath - real path for symlinks - * @param {Function} listener - called when fsevents emits events - * @param {Function} rawEmitter - passes data to listeners of the 'raw' event - * @returns {Function} closer - */ -function setFSEventsListener(path, realPath, listener, rawEmitter) { - let watchPath = sysPath.extname(realPath) ? sysPath.dirname(realPath) : realPath; - - const parentPath = sysPath.dirname(watchPath); - let cont = FSEventsWatchers.get(watchPath); - - // If we've accumulated a substantial number of paths that - // could have been consolidated by watching one directory - // above the current one, create a watcher on the parent - // path instead, so that we do consolidate going forward. - if (couldConsolidate(parentPath)) { - watchPath = parentPath; - } - - const resolvedPath = sysPath.resolve(path); - const hasSymlink = resolvedPath !== realPath; - - const filteredListener = (fullPath, flags, info) => { - if (hasSymlink) fullPath = fullPath.replace(realPath, resolvedPath); - if ( - fullPath === resolvedPath || - !fullPath.indexOf(resolvedPath + sysPath.sep) - ) listener(fullPath, flags, info); - }; - - // check if there is already a watcher on a parent path - // modifies `watchPath` to the parent path when it finds a match - let watchedParent = false; - for (const watchedPath of FSEventsWatchers.keys()) { - if (realPath.indexOf(sysPath.resolve(watchedPath) + sysPath.sep) === 0) { - watchPath = watchedPath; - cont = FSEventsWatchers.get(watchPath); - watchedParent = true; - break; - } - } - - if (cont || watchedParent) { - cont.listeners.add(filteredListener); - } else { - cont = { - listeners: new Set([filteredListener]), - rawEmitter, - watcher: createFSEventsInstance(watchPath, (fullPath, flags) => { - if (!cont.listeners.size) return; - if (flags & FSEVENT_FLAG_MUST_SCAN_SUBDIRS) return; - const info = fsevents.getInfo(fullPath, flags); - cont.listeners.forEach(list => { - list(fullPath, flags, info); - }); - - cont.rawEmitter(info.event, fullPath, info); - }) - }; - FSEventsWatchers.set(watchPath, cont); - } - - // removes this instance's listeners and closes the underlying fsevents - // instance if there are no more listeners left - return () => { - const lst = cont.listeners; - - lst.delete(filteredListener); - if (!lst.size) { - FSEventsWatchers.delete(watchPath); - if (cont.watcher) return cont.watcher.stop().then(() => { - cont.rawEmitter = cont.watcher = undefined; - Object.freeze(cont); - }); - } - }; -} - -// Decide whether or not we should start a new higher-level -// parent watcher -const couldConsolidate = (path) => { - let count = 0; - for (const watchPath of FSEventsWatchers.keys()) { - if (watchPath.indexOf(path) === 0) { - count++; - if (count >= consolidateThreshhold) { - return true; - } - } - } - - return false; -}; - -// returns boolean indicating whether fsevents can be used -const canUse = () => fsevents && FSEventsWatchers.size < 128; - -// determines subdirectory traversal levels from root to path -const calcDepth = (path, root) => { - let i = 0; - while (!path.indexOf(root) && (path = sysPath.dirname(path)) !== root) i++; - return i; -}; - -// returns boolean indicating whether the fsevents' event info has the same type -// as the one returned by fs.stat -const sameTypes = (info, stats) => ( - info.type === FSEVENT_TYPE_DIRECTORY && stats.isDirectory() || - info.type === FSEVENT_TYPE_SYMLINK && stats.isSymbolicLink() || - info.type === FSEVENT_TYPE_FILE && stats.isFile() -) - -/** - * @mixin - */ -class FsEventsHandler { - -/** - * @param {import('../index').FSWatcher} fsw - */ -constructor(fsw) { - this.fsw = fsw; -} -checkIgnored(path, stats) { - const ipaths = this.fsw._ignoredPaths; - if (this.fsw._isIgnored(path, stats)) { - ipaths.add(path); - if (stats && stats.isDirectory()) { - ipaths.add(path + ROOT_GLOBSTAR); - } - return true; - } - - ipaths.delete(path); - ipaths.delete(path + ROOT_GLOBSTAR); -} - -addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts) { - const event = watchedDir.has(item) ? EV_CHANGE : EV_ADD; - this.handleEvent(event, path, fullPath, realPath, parent, watchedDir, item, info, opts); -} - -async checkExists(path, fullPath, realPath, parent, watchedDir, item, info, opts) { - try { - const stats = await stat(path) - if (this.fsw.closed) return; - if (sameTypes(info, stats)) { - this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); - } else { - this.handleEvent(EV_UNLINK, path, fullPath, realPath, parent, watchedDir, item, info, opts); - } - } catch (error) { - if (error.code === 'EACCES') { - this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); - } else { - this.handleEvent(EV_UNLINK, path, fullPath, realPath, parent, watchedDir, item, info, opts); - } - } -} - -handleEvent(event, path, fullPath, realPath, parent, watchedDir, item, info, opts) { - if (this.fsw.closed || this.checkIgnored(path)) return; - - if (event === EV_UNLINK) { - const isDirectory = info.type === FSEVENT_TYPE_DIRECTORY - // suppress unlink events on never before seen files - if (isDirectory || watchedDir.has(item)) { - this.fsw._remove(parent, item, isDirectory); - } - } else { - if (event === EV_ADD) { - // track new directories - if (info.type === FSEVENT_TYPE_DIRECTORY) this.fsw._getWatchedDir(path); - - if (info.type === FSEVENT_TYPE_SYMLINK && opts.followSymlinks) { - // push symlinks back to the top of the stack to get handled - const curDepth = opts.depth === undefined ? - undefined : calcDepth(fullPath, realPath) + 1; - return this._addToFsEvents(path, false, true, curDepth); - } - - // track new paths - // (other than symlinks being followed, which will be tracked soon) - this.fsw._getWatchedDir(parent).add(item); - } - /** - * @type {'add'|'addDir'|'unlink'|'unlinkDir'} - */ - const eventName = info.type === FSEVENT_TYPE_DIRECTORY ? event + DIR_SUFFIX : event; - this.fsw._emit(eventName, path); - if (eventName === EV_ADD_DIR) this._addToFsEvents(path, false, true); - } -} - -/** - * Handle symlinks encountered during directory scan - * @param {String} watchPath - file/dir path to be watched with fsevents - * @param {String} realPath - real path (in case of symlinks) - * @param {Function} transform - path transformer - * @param {Function} globFilter - path filter in case a glob pattern was provided - * @returns {Function} closer for the watcher instance -*/ -_watchWithFsEvents(watchPath, realPath, transform, globFilter) { - if (this.fsw.closed || this.fsw._isIgnored(watchPath)) return; - const opts = this.fsw.options; - const watchCallback = async (fullPath, flags, info) => { - if (this.fsw.closed) return; - if ( - opts.depth !== undefined && - calcDepth(fullPath, realPath) > opts.depth - ) return; - const path = transform(sysPath.join( - watchPath, sysPath.relative(watchPath, fullPath) - )); - if (globFilter && !globFilter(path)) return; - // ensure directories are tracked - const parent = sysPath.dirname(path); - const item = sysPath.basename(path); - const watchedDir = this.fsw._getWatchedDir( - info.type === FSEVENT_TYPE_DIRECTORY ? path : parent - ); - - // correct for wrong events emitted - if (wrongEventFlags.has(flags) || info.event === FSEVENT_UNKNOWN) { - if (typeof opts.ignored === FUNCTION_TYPE) { - let stats; - try { - stats = await stat(path); - } catch (error) {} - if (this.fsw.closed) return; - if (this.checkIgnored(path, stats)) return; - if (sameTypes(info, stats)) { - this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); - } else { - this.handleEvent(EV_UNLINK, path, fullPath, realPath, parent, watchedDir, item, info, opts); - } - } else { - this.checkExists(path, fullPath, realPath, parent, watchedDir, item, info, opts); - } - } else { - switch (info.event) { - case FSEVENT_CREATED: - case FSEVENT_MODIFIED: - return this.addOrChange(path, fullPath, realPath, parent, watchedDir, item, info, opts); - case FSEVENT_DELETED: - case FSEVENT_MOVED: - return this.checkExists(path, fullPath, realPath, parent, watchedDir, item, info, opts); - } - } - }; - - const closer = setFSEventsListener( - watchPath, - realPath, - watchCallback, - this.fsw._emitRaw - ); - - this.fsw._emitReady(); - return closer; -} - -/** - * Handle symlinks encountered during directory scan - * @param {String} linkPath path to symlink - * @param {String} fullPath absolute path to the symlink - * @param {Function} transform pre-existing path transformer - * @param {Number} curDepth level of subdirectories traversed to where symlink is - * @returns {Promise} - */ -async _handleFsEventsSymlink(linkPath, fullPath, transform, curDepth) { - // don't follow the same symlink more than once - if (this.fsw.closed || this.fsw._symlinkPaths.has(fullPath)) return; - - this.fsw._symlinkPaths.set(fullPath, true); - this.fsw._incrReadyCount(); - - try { - const linkTarget = await realpath(linkPath); - if (this.fsw.closed) return; - if (this.fsw._isIgnored(linkTarget)) { - return this.fsw._emitReady(); - } - - this.fsw._incrReadyCount(); - - // add the linkTarget for watching with a wrapper for transform - // that causes emitted paths to incorporate the link's path - this._addToFsEvents(linkTarget || linkPath, (path) => { - let aliasedPath = linkPath; - if (linkTarget && linkTarget !== DOT_SLASH) { - aliasedPath = path.replace(linkTarget, linkPath); - } else if (path !== DOT_SLASH) { - aliasedPath = sysPath.join(linkPath, path); - } - return transform(aliasedPath); - }, false, curDepth); - } catch(error) { - if (this.fsw._handleError(error)) { - return this.fsw._emitReady(); - } - } -} - -/** - * - * @param {Path} newPath - * @param {fs.Stats} stats - */ -emitAdd(newPath, stats, processPath, opts, forceAdd) { - const pp = processPath(newPath); - const isDir = stats.isDirectory(); - const dirObj = this.fsw._getWatchedDir(sysPath.dirname(pp)); - const base = sysPath.basename(pp); - - // ensure empty dirs get tracked - if (isDir) this.fsw._getWatchedDir(pp); - if (dirObj.has(base)) return; - dirObj.add(base); - - if (!opts.ignoreInitial || forceAdd === true) { - this.fsw._emit(isDir ? EV_ADD_DIR : EV_ADD, pp, stats); - } -} - -initWatch(realPath, path, wh, processPath) { - if (this.fsw.closed) return; - const closer = this._watchWithFsEvents( - wh.watchPath, - sysPath.resolve(realPath || wh.watchPath), - processPath, - wh.globFilter - ); - this.fsw._addPathCloser(path, closer); -} - -/** - * Handle added path with fsevents - * @param {String} path file/dir path or glob pattern - * @param {Function|Boolean=} transform converts working path to what the user expects - * @param {Boolean=} forceAdd ensure add is emitted - * @param {Number=} priorDepth Level of subdirectories already traversed. - * @returns {Promise} - */ -async _addToFsEvents(path, transform, forceAdd, priorDepth) { - if (this.fsw.closed) { - return; - } - const opts = this.fsw.options; - const processPath = typeof transform === FUNCTION_TYPE ? transform : IDENTITY_FN; - - const wh = this.fsw._getWatchHelpers(path); - - // evaluate what is at the path we're being asked to watch - try { - const stats = await statMethods[wh.statMethod](wh.watchPath); - if (this.fsw.closed) return; - if (this.fsw._isIgnored(wh.watchPath, stats)) { - throw null; - } - if (stats.isDirectory()) { - // emit addDir unless this is a glob parent - if (!wh.globFilter) this.emitAdd(processPath(path), stats, processPath, opts, forceAdd); - - // don't recurse further if it would exceed depth setting - if (priorDepth && priorDepth > opts.depth) return; - - // scan the contents of the dir - this.fsw._readdirp(wh.watchPath, { - fileFilter: entry => wh.filterPath(entry), - directoryFilter: entry => wh.filterDir(entry), - ...Depth(opts.depth - (priorDepth || 0)) - }).on(STR_DATA, (entry) => { - // need to check filterPath on dirs b/c filterDir is less restrictive - if (this.fsw.closed) { - return; - } - if (entry.stats.isDirectory() && !wh.filterPath(entry)) return; - - const joinedPath = sysPath.join(wh.watchPath, entry.path); - const {fullPath} = entry; - - if (wh.followSymlinks && entry.stats.isSymbolicLink()) { - // preserve the current depth here since it can't be derived from - // real paths past the symlink - const curDepth = opts.depth === undefined ? - undefined : calcDepth(joinedPath, sysPath.resolve(wh.watchPath)) + 1; - - this._handleFsEventsSymlink(joinedPath, fullPath, processPath, curDepth); - } else { - this.emitAdd(joinedPath, entry.stats, processPath, opts, forceAdd); - } - }).on(EV_ERROR, EMPTY_FN).on(STR_END, () => { - this.fsw._emitReady(); - }); - } else { - this.emitAdd(wh.watchPath, stats, processPath, opts, forceAdd); - this.fsw._emitReady(); - } - } catch (error) { - if (!error || this.fsw._handleError(error)) { - // TODO: Strange thing: "should not choke on an ignored watch path" will be failed without 2 ready calls -__- - this.fsw._emitReady(); - this.fsw._emitReady(); - } - } - - if (opts.persistent && forceAdd !== true) { - if (typeof transform === FUNCTION_TYPE) { - // realpath has already been resolved - this.initWatch(undefined, path, wh, processPath); - } else { - let realPath; - try { - realPath = await realpath(wh.watchPath); - } catch (e) {} - this.initWatch(realPath, path, wh, processPath); - } - } -} - -} - -module.exports = FsEventsHandler; -module.exports.canUse = canUse; diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/nodefs-handler.js b/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/nodefs-handler.js deleted file mode 100644 index 199cfe9..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/lib/nodefs-handler.js +++ /dev/null @@ -1,654 +0,0 @@ -'use strict'; - -const fs = require('fs'); -const sysPath = require('path'); -const { promisify } = require('util'); -const isBinaryPath = require('is-binary-path'); -const { - isWindows, - isLinux, - EMPTY_FN, - EMPTY_STR, - KEY_LISTENERS, - KEY_ERR, - KEY_RAW, - HANDLER_KEYS, - EV_CHANGE, - EV_ADD, - EV_ADD_DIR, - EV_ERROR, - STR_DATA, - STR_END, - BRACE_START, - STAR -} = require('./constants'); - -const THROTTLE_MODE_WATCH = 'watch'; - -const open = promisify(fs.open); -const stat = promisify(fs.stat); -const lstat = promisify(fs.lstat); -const close = promisify(fs.close); -const fsrealpath = promisify(fs.realpath); - -const statMethods = { lstat, stat }; - -// TODO: emit errors properly. Example: EMFILE on Macos. -const foreach = (val, fn) => { - if (val instanceof Set) { - val.forEach(fn); - } else { - fn(val); - } -}; - -const addAndConvert = (main, prop, item) => { - let container = main[prop]; - if (!(container instanceof Set)) { - main[prop] = container = new Set([container]); - } - container.add(item); -}; - -const clearItem = cont => key => { - const set = cont[key]; - if (set instanceof Set) { - set.clear(); - } else { - delete cont[key]; - } -}; - -const delFromSet = (main, prop, item) => { - const container = main[prop]; - if (container instanceof Set) { - container.delete(item); - } else if (container === item) { - delete main[prop]; - } -}; - -const isEmptySet = (val) => val instanceof Set ? val.size === 0 : !val; - -/** - * @typedef {String} Path - */ - -// fs_watch helpers - -// object to hold per-process fs_watch instances -// (may be shared across chokidar FSWatcher instances) - -/** - * @typedef {Object} FsWatchContainer - * @property {Set} listeners - * @property {Set} errHandlers - * @property {Set} rawEmitters - * @property {fs.FSWatcher=} watcher - * @property {Boolean=} watcherUnusable - */ - -/** - * @type {Map} - */ -const FsWatchInstances = new Map(); - -/** - * Instantiates the fs_watch interface - * @param {String} path to be watched - * @param {Object} options to be passed to fs_watch - * @param {Function} listener main event handler - * @param {Function} errHandler emits info about errors - * @param {Function} emitRaw emits raw event data - * @returns {fs.FSWatcher} new fsevents instance - */ -function createFsWatchInstance(path, options, listener, errHandler, emitRaw) { - const handleEvent = (rawEvent, evPath) => { - listener(path); - emitRaw(rawEvent, evPath, {watchedPath: path}); - - // emit based on events occurring for files from a directory's watcher in - // case the file's watcher misses it (and rely on throttling to de-dupe) - if (evPath && path !== evPath) { - fsWatchBroadcast( - sysPath.resolve(path, evPath), KEY_LISTENERS, sysPath.join(path, evPath) - ); - } - }; - try { - return fs.watch(path, options, handleEvent); - } catch (error) { - errHandler(error); - } -} - -/** - * Helper for passing fs_watch event data to a collection of listeners - * @param {Path} fullPath absolute path bound to fs_watch instance - * @param {String} type listener type - * @param {*=} val1 arguments to be passed to listeners - * @param {*=} val2 - * @param {*=} val3 - */ -const fsWatchBroadcast = (fullPath, type, val1, val2, val3) => { - const cont = FsWatchInstances.get(fullPath); - if (!cont) return; - foreach(cont[type], (listener) => { - listener(val1, val2, val3); - }); -}; - -/** - * Instantiates the fs_watch interface or binds listeners - * to an existing one covering the same file system entry - * @param {String} path - * @param {String} fullPath absolute path - * @param {Object} options to be passed to fs_watch - * @param {Object} handlers container for event listener functions - */ -const setFsWatchListener = (path, fullPath, options, handlers) => { - const {listener, errHandler, rawEmitter} = handlers; - let cont = FsWatchInstances.get(fullPath); - - /** @type {fs.FSWatcher=} */ - let watcher; - if (!options.persistent) { - watcher = createFsWatchInstance( - path, options, listener, errHandler, rawEmitter - ); - return watcher.close.bind(watcher); - } - if (cont) { - addAndConvert(cont, KEY_LISTENERS, listener); - addAndConvert(cont, KEY_ERR, errHandler); - addAndConvert(cont, KEY_RAW, rawEmitter); - } else { - watcher = createFsWatchInstance( - path, - options, - fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS), - errHandler, // no need to use broadcast here - fsWatchBroadcast.bind(null, fullPath, KEY_RAW) - ); - if (!watcher) return; - watcher.on(EV_ERROR, async (error) => { - const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR); - cont.watcherUnusable = true; // documented since Node 10.4.1 - // Workaround for https://github.com/joyent/node/issues/4337 - if (isWindows && error.code === 'EPERM') { - try { - const fd = await open(path, 'r'); - await close(fd); - broadcastErr(error); - } catch (err) {} - } else { - broadcastErr(error); - } - }); - cont = { - listeners: listener, - errHandlers: errHandler, - rawEmitters: rawEmitter, - watcher - }; - FsWatchInstances.set(fullPath, cont); - } - // const index = cont.listeners.indexOf(listener); - - // removes this instance's listeners and closes the underlying fs_watch - // instance if there are no more listeners left - return () => { - delFromSet(cont, KEY_LISTENERS, listener); - delFromSet(cont, KEY_ERR, errHandler); - delFromSet(cont, KEY_RAW, rawEmitter); - if (isEmptySet(cont.listeners)) { - // Check to protect against issue gh-730. - // if (cont.watcherUnusable) { - cont.watcher.close(); - // } - FsWatchInstances.delete(fullPath); - HANDLER_KEYS.forEach(clearItem(cont)); - cont.watcher = undefined; - Object.freeze(cont); - } - }; -}; - -// fs_watchFile helpers - -// object to hold per-process fs_watchFile instances -// (may be shared across chokidar FSWatcher instances) -const FsWatchFileInstances = new Map(); - -/** - * Instantiates the fs_watchFile interface or binds listeners - * to an existing one covering the same file system entry - * @param {String} path to be watched - * @param {String} fullPath absolute path - * @param {Object} options options to be passed to fs_watchFile - * @param {Object} handlers container for event listener functions - * @returns {Function} closer - */ -const setFsWatchFileListener = (path, fullPath, options, handlers) => { - const {listener, rawEmitter} = handlers; - let cont = FsWatchFileInstances.get(fullPath); - - /* eslint-disable no-unused-vars, prefer-destructuring */ - let listeners = new Set(); - let rawEmitters = new Set(); - - const copts = cont && cont.options; - if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) { - // "Upgrade" the watcher to persistence or a quicker interval. - // This creates some unlikely edge case issues if the user mixes - // settings in a very weird way, but solving for those cases - // doesn't seem worthwhile for the added complexity. - listeners = cont.listeners; - rawEmitters = cont.rawEmitters; - fs.unwatchFile(fullPath); - cont = undefined; - } - - /* eslint-enable no-unused-vars, prefer-destructuring */ - - if (cont) { - addAndConvert(cont, KEY_LISTENERS, listener); - addAndConvert(cont, KEY_RAW, rawEmitter); - } else { - // TODO - // listeners.add(listener); - // rawEmitters.add(rawEmitter); - cont = { - listeners: listener, - rawEmitters: rawEmitter, - options, - watcher: fs.watchFile(fullPath, options, (curr, prev) => { - foreach(cont.rawEmitters, (rawEmitter) => { - rawEmitter(EV_CHANGE, fullPath, {curr, prev}); - }); - const currmtime = curr.mtimeMs; - if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) { - foreach(cont.listeners, (listener) => listener(path, curr)); - } - }) - }; - FsWatchFileInstances.set(fullPath, cont); - } - // const index = cont.listeners.indexOf(listener); - - // Removes this instance's listeners and closes the underlying fs_watchFile - // instance if there are no more listeners left. - return () => { - delFromSet(cont, KEY_LISTENERS, listener); - delFromSet(cont, KEY_RAW, rawEmitter); - if (isEmptySet(cont.listeners)) { - FsWatchFileInstances.delete(fullPath); - fs.unwatchFile(fullPath); - cont.options = cont.watcher = undefined; - Object.freeze(cont); - } - }; -}; - -/** - * @mixin - */ -class NodeFsHandler { - -/** - * @param {import("../index").FSWatcher} fsW - */ -constructor(fsW) { - this.fsw = fsW; - this._boundHandleError = (error) => fsW._handleError(error); -} - -/** - * Watch file for changes with fs_watchFile or fs_watch. - * @param {String} path to file or dir - * @param {Function} listener on fs change - * @returns {Function} closer for the watcher instance - */ -_watchWithNodeFs(path, listener) { - const opts = this.fsw.options; - const directory = sysPath.dirname(path); - const basename = sysPath.basename(path); - const parent = this.fsw._getWatchedDir(directory); - parent.add(basename); - const absolutePath = sysPath.resolve(path); - const options = {persistent: opts.persistent}; - if (!listener) listener = EMPTY_FN; - - let closer; - if (opts.usePolling) { - options.interval = opts.enableBinaryInterval && isBinaryPath(basename) ? - opts.binaryInterval : opts.interval; - closer = setFsWatchFileListener(path, absolutePath, options, { - listener, - rawEmitter: this.fsw._emitRaw - }); - } else { - closer = setFsWatchListener(path, absolutePath, options, { - listener, - errHandler: this._boundHandleError, - rawEmitter: this.fsw._emitRaw - }); - } - return closer; -} - -/** - * Watch a file and emit add event if warranted. - * @param {Path} file Path - * @param {fs.Stats} stats result of fs_stat - * @param {Boolean} initialAdd was the file added at watch instantiation? - * @returns {Function} closer for the watcher instance - */ -_handleFile(file, stats, initialAdd) { - if (this.fsw.closed) { - return; - } - const dirname = sysPath.dirname(file); - const basename = sysPath.basename(file); - const parent = this.fsw._getWatchedDir(dirname); - // stats is always present - let prevStats = stats; - - // if the file is already being watched, do nothing - if (parent.has(basename)) return; - - const listener = async (path, newStats) => { - if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5)) return; - if (!newStats || newStats.mtimeMs === 0) { - try { - const newStats = await stat(file); - if (this.fsw.closed) return; - // Check that change event was not fired because of changed only accessTime. - const at = newStats.atimeMs; - const mt = newStats.mtimeMs; - if (!at || at <= mt || mt !== prevStats.mtimeMs) { - this.fsw._emit(EV_CHANGE, file, newStats); - } - if (isLinux && prevStats.ino !== newStats.ino) { - this.fsw._closeFile(path) - prevStats = newStats; - this.fsw._addPathCloser(path, this._watchWithNodeFs(file, listener)); - } else { - prevStats = newStats; - } - } catch (error) { - // Fix issues where mtime is null but file is still present - this.fsw._remove(dirname, basename); - } - // add is about to be emitted if file not already tracked in parent - } else if (parent.has(basename)) { - // Check that change event was not fired because of changed only accessTime. - const at = newStats.atimeMs; - const mt = newStats.mtimeMs; - if (!at || at <= mt || mt !== prevStats.mtimeMs) { - this.fsw._emit(EV_CHANGE, file, newStats); - } - prevStats = newStats; - } - } - // kick off the watcher - const closer = this._watchWithNodeFs(file, listener); - - // emit an add event if we're supposed to - if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file)) { - if (!this.fsw._throttle(EV_ADD, file, 0)) return; - this.fsw._emit(EV_ADD, file, stats); - } - - return closer; -} - -/** - * Handle symlinks encountered while reading a dir. - * @param {Object} entry returned by readdirp - * @param {String} directory path of dir being read - * @param {String} path of this item - * @param {String} item basename of this item - * @returns {Promise} true if no more processing is needed for this entry. - */ -async _handleSymlink(entry, directory, path, item) { - if (this.fsw.closed) { - return; - } - const full = entry.fullPath; - const dir = this.fsw._getWatchedDir(directory); - - if (!this.fsw.options.followSymlinks) { - // watch symlink directly (don't follow) and detect changes - this.fsw._incrReadyCount(); - - let linkPath; - try { - linkPath = await fsrealpath(path); - } catch (e) { - this.fsw._emitReady(); - return true; - } - - if (this.fsw.closed) return; - if (dir.has(item)) { - if (this.fsw._symlinkPaths.get(full) !== linkPath) { - this.fsw._symlinkPaths.set(full, linkPath); - this.fsw._emit(EV_CHANGE, path, entry.stats); - } - } else { - dir.add(item); - this.fsw._symlinkPaths.set(full, linkPath); - this.fsw._emit(EV_ADD, path, entry.stats); - } - this.fsw._emitReady(); - return true; - } - - // don't follow the same symlink more than once - if (this.fsw._symlinkPaths.has(full)) { - return true; - } - - this.fsw._symlinkPaths.set(full, true); -} - -_handleRead(directory, initialAdd, wh, target, dir, depth, throttler) { - // Normalize the directory name on Windows - directory = sysPath.join(directory, EMPTY_STR); - - if (!wh.hasGlob) { - throttler = this.fsw._throttle('readdir', directory, 1000); - if (!throttler) return; - } - - const previous = this.fsw._getWatchedDir(wh.path); - const current = new Set(); - - let stream = this.fsw._readdirp(directory, { - fileFilter: entry => wh.filterPath(entry), - directoryFilter: entry => wh.filterDir(entry), - depth: 0 - }).on(STR_DATA, async (entry) => { - if (this.fsw.closed) { - stream = undefined; - return; - } - const item = entry.path; - let path = sysPath.join(directory, item); - current.add(item); - - if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path, item)) { - return; - } - - if (this.fsw.closed) { - stream = undefined; - return; - } - // Files that present in current directory snapshot - // but absent in previous are added to watch list and - // emit `add` event. - if (item === target || !target && !previous.has(item)) { - this.fsw._incrReadyCount(); - - // ensure relativeness of path is preserved in case of watcher reuse - path = sysPath.join(dir, sysPath.relative(dir, path)); - - this._addToNodeFs(path, initialAdd, wh, depth + 1); - } - }).on(EV_ERROR, this._boundHandleError); - - return new Promise(resolve => - stream.once(STR_END, () => { - if (this.fsw.closed) { - stream = undefined; - return; - } - const wasThrottled = throttler ? throttler.clear() : false; - - resolve(); - - // Files that absent in current directory snapshot - // but present in previous emit `remove` event - // and are removed from @watched[directory]. - previous.getChildren().filter((item) => { - return item !== directory && - !current.has(item) && - // in case of intersecting globs; - // a path may have been filtered out of this readdir, but - // shouldn't be removed because it matches a different glob - (!wh.hasGlob || wh.filterPath({ - fullPath: sysPath.resolve(directory, item) - })); - }).forEach((item) => { - this.fsw._remove(directory, item); - }); - - stream = undefined; - - // one more time for any missed in case changes came in extremely quickly - if (wasThrottled) this._handleRead(directory, false, wh, target, dir, depth, throttler); - }) - ); -} - -/** - * Read directory to add / remove files from `@watched` list and re-read it on change. - * @param {String} dir fs path - * @param {fs.Stats} stats - * @param {Boolean} initialAdd - * @param {Number} depth relative to user-supplied path - * @param {String} target child path targeted for watch - * @param {Object} wh Common watch helpers for this path - * @param {String} realpath - * @returns {Promise} closer for the watcher instance. - */ -async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) { - const parentDir = this.fsw._getWatchedDir(sysPath.dirname(dir)); - const tracked = parentDir.has(sysPath.basename(dir)); - if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) { - if (!wh.hasGlob || wh.globFilter(dir)) this.fsw._emit(EV_ADD_DIR, dir, stats); - } - - // ensure dir is tracked (harmless if redundant) - parentDir.add(sysPath.basename(dir)); - this.fsw._getWatchedDir(dir); - let throttler; - let closer; - - const oDepth = this.fsw.options.depth; - if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) { - if (!target) { - await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler); - if (this.fsw.closed) return; - } - - closer = this._watchWithNodeFs(dir, (dirPath, stats) => { - // if current directory is removed, do nothing - if (stats && stats.mtimeMs === 0) return; - - this._handleRead(dirPath, false, wh, target, dir, depth, throttler); - }); - } - return closer; -} - -/** - * Handle added file, directory, or glob pattern. - * Delegates call to _handleFile / _handleDir after checks. - * @param {String} path to file or ir - * @param {Boolean} initialAdd was the file added at watch instantiation? - * @param {Object} priorWh depth relative to user-supplied path - * @param {Number} depth Child path actually targeted for watch - * @param {String=} target Child path actually targeted for watch - * @returns {Promise} - */ -async _addToNodeFs(path, initialAdd, priorWh, depth, target) { - const ready = this.fsw._emitReady; - if (this.fsw._isIgnored(path) || this.fsw.closed) { - ready(); - return false; - } - - const wh = this.fsw._getWatchHelpers(path, depth); - if (!wh.hasGlob && priorWh) { - wh.hasGlob = priorWh.hasGlob; - wh.globFilter = priorWh.globFilter; - wh.filterPath = entry => priorWh.filterPath(entry); - wh.filterDir = entry => priorWh.filterDir(entry); - } - - // evaluate what is at the path we're being asked to watch - try { - const stats = await statMethods[wh.statMethod](wh.watchPath); - if (this.fsw.closed) return; - if (this.fsw._isIgnored(wh.watchPath, stats)) { - ready(); - return false; - } - - const follow = this.fsw.options.followSymlinks && !path.includes(STAR) && !path.includes(BRACE_START); - let closer; - if (stats.isDirectory()) { - const absPath = sysPath.resolve(path); - const targetPath = follow ? await fsrealpath(path) : path; - if (this.fsw.closed) return; - closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath); - if (this.fsw.closed) return; - // preserve this symlink's target path - if (absPath !== targetPath && targetPath !== undefined) { - this.fsw._symlinkPaths.set(absPath, targetPath); - } - } else if (stats.isSymbolicLink()) { - const targetPath = follow ? await fsrealpath(path) : path; - if (this.fsw.closed) return; - const parent = sysPath.dirname(wh.watchPath); - this.fsw._getWatchedDir(parent).add(wh.watchPath); - this.fsw._emit(EV_ADD, wh.watchPath, stats); - closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath); - if (this.fsw.closed) return; - - // preserve this symlink's target path - if (targetPath !== undefined) { - this.fsw._symlinkPaths.set(sysPath.resolve(path), targetPath); - } - } else { - closer = this._handleFile(wh.watchPath, stats, initialAdd); - } - ready(); - - this.fsw._addPathCloser(path, closer); - return false; - - } catch (error) { - if (this.fsw._handleError(error)) { - ready(); - return path; - } - } -} - -} - -module.exports = NodeFsHandler; diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/package.json b/src/main/webapp/css/admins/sass/node_modules/chokidar/package.json index e8f8b3d..8bab6c9 100644 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/package.json +++ b/src/main/webapp/css/admins/sass/node_modules/chokidar/package.json @@ -1,47 +1,51 @@ { "name": "chokidar", "description": "Minimal and efficient cross-platform file watching library", - "version": "3.6.0", + "version": "4.0.1", "homepage": "https://github.com/paulmillr/chokidar", "author": "Paul Miller (https://paulmillr.com)", - "contributors": [ - "Paul Miller (https://paulmillr.com)", - "Elan Shanker" - ], - "engines": { - "node": ">= 8.10.0" - }, - "main": "index.js", - "types": "./types/index.d.ts", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "devDependencies": { - "@types/node": "^14", - "chai": "^4.3", - "dtslint": "^3.3.0", - "eslint": "^7.0.0", - "mocha": "^7.0.0", - "rimraf": "^3.0.0", - "sinon": "^9.0.1", - "sinon-chai": "^3.3.0", - "typescript": "^4.4.3", - "upath": "^1.2.0" - }, "files": [ "index.js", - "lib/*.js", - "types/index.d.ts" + "index.d.ts", + "index.d.ts.map", + "index.js.map", + "handler.js", + "handler.d.ts", + "handler.d.ts.map", + "handler.js.map", + "esm" ], + "main": "./index.js", + "module": "./esm/index.js", + "types": "./index.d.ts", + "exports": { + ".": { + "import": "./esm/index.js", + "require": "./index.js" + }, + "./handler.js": { + "import": "./esm/handler.js", + "require": "./handler.js" + } + }, + "dependencies": { + "readdirp": "^4.0.1" + }, + "devDependencies": { + "@paulmillr/jsbt": "0.2.1", + "@types/node": "20.14.8", + "chai": "4.3.4", + "prettier": "3.1.1", + "rimraf": "5.0.5", + "sinon": "12.0.1", + "sinon-chai": "3.7.0", + "typescript": "5.5.2", + "upath": "2.0.1" + }, + "sideEffects": false, + "engines": { + "node": ">= 14.16.0" + }, "repository": { "type": "git", "url": "git+https://github.com/paulmillr/chokidar.git" @@ -51,11 +55,10 @@ }, "license": "MIT", "scripts": { - "dtslint": "dtslint types", - "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .", - "build": "npm ls", - "mocha": "mocha --exit --timeout 90000", - "test": "npm run lint && npm run mocha" + "build": "tsc && tsc -p tsconfig.esm.json", + "lint": "prettier --check src", + "format": "prettier --write src", + "test": "node --test" }, "keywords": [ "fs", diff --git a/src/main/webapp/css/admins/sass/node_modules/chokidar/types/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/chokidar/types/index.d.ts deleted file mode 100644 index 4558066..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/chokidar/types/index.d.ts +++ /dev/null @@ -1,192 +0,0 @@ -// TypeScript Version: 3.0 - -/// - -import * as fs from "fs"; -import { EventEmitter } from "events"; -import { Matcher } from 'anymatch'; - -export class FSWatcher extends EventEmitter implements fs.FSWatcher { - options: WatchOptions; - - /** - * Constructs a new FSWatcher instance with optional WatchOptions parameter. - */ - constructor(options?: WatchOptions); - - /** - * Add files, directories, or glob patterns for tracking. Takes an array of strings or just one - * string. - */ - add(paths: string | ReadonlyArray): this; - - /** - * Stop watching files, directories, or glob patterns. Takes an array of strings or just one - * string. - */ - unwatch(paths: string | ReadonlyArray): this; - - /** - * Returns an object representing all the paths on the file system being watched by this - * `FSWatcher` instance. The object's keys are all the directories (using absolute paths unless - * the `cwd` option was used), and the values are arrays of the names of the items contained in - * each directory. - */ - getWatched(): { - [directory: string]: string[]; - }; - - /** - * Removes all listeners from watched files. - */ - close(): Promise; - - on(event: 'add'|'addDir'|'change', listener: (path: string, stats?: fs.Stats) => void): this; - - on(event: 'all', listener: (eventName: 'add'|'addDir'|'change'|'unlink'|'unlinkDir', path: string, stats?: fs.Stats) => void): this; - - /** - * Error occurred - */ - on(event: 'error', listener: (error: Error) => void): this; - - /** - * Exposes the native Node `fs.FSWatcher events` - */ - on(event: 'raw', listener: (eventName: string, path: string, details: any) => void): this; - - /** - * Fires when the initial scan is complete - */ - on(event: 'ready', listener: () => void): this; - - on(event: 'unlink'|'unlinkDir', listener: (path: string) => void): this; - - on(event: string, listener: (...args: any[]) => void): this; - - ref(): this; - - unref(): this; -} - -export interface WatchOptions { - /** - * Indicates whether the process should continue to run as long as files are being watched. If - * set to `false` when using `fsevents` to watch, no more events will be emitted after `ready`, - * even if the process continues to run. - */ - persistent?: boolean; - - /** - * ([anymatch](https://github.com/micromatch/anymatch)-compatible definition) Defines files/paths to - * be ignored. The whole relative or absolute path is tested, not just filename. If a function - * with two arguments is provided, it gets called twice per path - once with a single argument - * (the path), second time with two arguments (the path and the - * [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) object of that path). - */ - ignored?: Matcher; - - /** - * If set to `false` then `add`/`addDir` events are also emitted for matching paths while - * instantiating the watching as chokidar discovers these file paths (before the `ready` event). - */ - ignoreInitial?: boolean; - - /** - * When `false`, only the symlinks themselves will be watched for changes instead of following - * the link references and bubbling events through the link's path. - */ - followSymlinks?: boolean; - - /** - * The base directory from which watch `paths` are to be derived. Paths emitted with events will - * be relative to this. - */ - cwd?: string; - - /** - * If set to true then the strings passed to .watch() and .add() are treated as literal path - * names, even if they look like globs. Default: false. - */ - disableGlobbing?: boolean; - - /** - * Whether to use fs.watchFile (backed by polling), or fs.watch. If polling leads to high CPU - * utilization, consider setting this to `false`. It is typically necessary to **set this to - * `true` to successfully watch files over a network**, and it may be necessary to successfully - * watch files in other non-standard situations. Setting to `true` explicitly on OS X overrides - * the `useFsEvents` default. - */ - usePolling?: boolean; - - /** - * Whether to use the `fsevents` watching interface if available. When set to `true` explicitly - * and `fsevents` is available this supercedes the `usePolling` setting. When set to `false` on - * OS X, `usePolling: true` becomes the default. - */ - useFsEvents?: boolean; - - /** - * If relying upon the [`fs.Stats`](https://nodejs.org/api/fs.html#fs_class_fs_stats) object that - * may get passed with `add`, `addDir`, and `change` events, set this to `true` to ensure it is - * provided even in cases where it wasn't already available from the underlying watch events. - */ - alwaysStat?: boolean; - - /** - * If set, limits how many levels of subdirectories will be traversed. - */ - depth?: number; - - /** - * Interval of file system polling. - */ - interval?: number; - - /** - * Interval of file system polling for binary files. ([see list of binary extensions](https://gi - * thub.com/sindresorhus/binary-extensions/blob/master/binary-extensions.json)) - */ - binaryInterval?: number; - - /** - * Indicates whether to watch files that don't have read permissions if possible. If watching - * fails due to `EPERM` or `EACCES` with this set to `true`, the errors will be suppressed - * silently. - */ - ignorePermissionErrors?: boolean; - - /** - * `true` if `useFsEvents` and `usePolling` are `false`). Automatically filters out artifacts - * that occur when using editors that use "atomic writes" instead of writing directly to the - * source file. If a file is re-added within 100 ms of being deleted, Chokidar emits a `change` - * event rather than `unlink` then `add`. If the default of 100 ms does not work well for you, - * you can override it by setting `atomic` to a custom value, in milliseconds. - */ - atomic?: boolean | number; - - /** - * can be set to an object in order to adjust timing params: - */ - awaitWriteFinish?: AwaitWriteFinishOptions | boolean; -} - -export interface AwaitWriteFinishOptions { - /** - * Amount of time in milliseconds for a file size to remain constant before emitting its event. - */ - stabilityThreshold?: number; - - /** - * File size polling interval. - */ - pollInterval?: number; -} - -/** - * produces an instance of `FSWatcher`. - */ -export function watch( - paths: string | ReadonlyArray, - options?: WatchOptions -): FSWatcher; diff --git a/src/main/webapp/css/admins/sass/node_modules/detect-libc/.npmignore b/src/main/webapp/css/admins/sass/node_modules/detect-libc/.npmignore new file mode 100644 index 0000000..8fc0e8d --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/detect-libc/.npmignore @@ -0,0 +1,7 @@ +.nyc_output +.travis.yml +coverage +test.js +node_modules +/.circleci +/tests/integration diff --git a/src/main/webapp/css/admins/sass/node_modules/detect-libc/LICENSE b/src/main/webapp/css/admins/sass/node_modules/detect-libc/LICENSE new file mode 100644 index 0000000..8dada3e --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/detect-libc/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/src/main/webapp/css/admins/sass/node_modules/detect-libc/README.md b/src/main/webapp/css/admins/sass/node_modules/detect-libc/README.md new file mode 100644 index 0000000..3176357 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/detect-libc/README.md @@ -0,0 +1,78 @@ +# detect-libc + +Node.js module to detect the C standard library (libc) implementation +family and version in use on a given Linux system. + +Provides a value suitable for use with the `LIBC` option of +[prebuild](https://www.npmjs.com/package/prebuild), +[prebuild-ci](https://www.npmjs.com/package/prebuild-ci) and +[prebuild-install](https://www.npmjs.com/package/prebuild-install), +therefore allowing build and provision of pre-compiled binaries +for musl-based Linux e.g. Alpine as well as glibc-based. + +Currently supports libc detection of `glibc` and `musl`. + +## Install + +```sh +npm install detect-libc +``` + +## Usage + +### API + +```js +const { GLIBC, MUSL, family, version, isNonGlibcLinux } = require('detect-libc'); +``` + +* `GLIBC` is a String containing the value "glibc" for comparison with `family`. +* `MUSL` is a String containing the value "musl" for comparison with `family`. +* `family` is a String representing the system libc family. +* `version` is a String representing the system libc version number. +* `isNonGlibcLinux` is a Boolean representing whether the system is a non-glibc Linux, e.g. Alpine. + +### detect-libc command line tool + +When run on a Linux system with a non-glibc libc, +the child command will be run with the `LIBC` environment variable +set to the relevant value. + +On all other platforms will run the child command as-is. + +The command line feature requires `spawnSync` provided by Node v0.12+. + +```sh +detect-libc child-command +``` + +## Integrating with prebuild + +```json + "scripts": { + "install": "detect-libc prebuild-install || node-gyp rebuild", + "test": "mocha && detect-libc prebuild-ci" + }, + "dependencies": { + "detect-libc": "^1.0.2", + "prebuild-install": "^2.2.0" + }, + "devDependencies": { + "prebuild": "^6.2.1", + "prebuild-ci": "^2.2.3" + } +``` + +## Licence + +Copyright 2017 Lovell Fuller + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0.html) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/src/main/webapp/css/admins/sass/node_modules/detect-libc/bin/detect-libc.js b/src/main/webapp/css/admins/sass/node_modules/detect-libc/bin/detect-libc.js new file mode 100644 index 0000000..5486127 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/detect-libc/bin/detect-libc.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +'use strict'; + +var spawnSync = require('child_process').spawnSync; +var libc = require('../'); + +var spawnOptions = { + env: process.env, + shell: true, + stdio: 'inherit' +}; + +if (libc.isNonGlibcLinux) { + spawnOptions.env.LIBC = process.env.LIBC || libc.family; +} + +process.exit(spawnSync(process.argv[2], process.argv.slice(3), spawnOptions).status); diff --git a/src/main/webapp/css/admins/sass/node_modules/detect-libc/lib/detect-libc.js b/src/main/webapp/css/admins/sass/node_modules/detect-libc/lib/detect-libc.js new file mode 100644 index 0000000..1855fe1 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/detect-libc/lib/detect-libc.js @@ -0,0 +1,92 @@ +'use strict'; + +var platform = require('os').platform(); +var spawnSync = require('child_process').spawnSync; +var readdirSync = require('fs').readdirSync; + +var GLIBC = 'glibc'; +var MUSL = 'musl'; + +var spawnOptions = { + encoding: 'utf8', + env: process.env +}; + +if (!spawnSync) { + spawnSync = function () { + return { status: 126, stdout: '', stderr: '' }; + }; +} + +function contains (needle) { + return function (haystack) { + return haystack.indexOf(needle) !== -1; + }; +} + +function versionFromMuslLdd (out) { + return out.split(/[\r\n]+/)[1].trim().split(/\s/)[1]; +} + +function safeReaddirSync (path) { + try { + return readdirSync(path); + } catch (e) {} + return []; +} + +var family = ''; +var version = ''; +var method = ''; + +if (platform === 'linux') { + // Try getconf + var glibc = spawnSync('getconf', ['GNU_LIBC_VERSION'], spawnOptions); + if (glibc.status === 0) { + family = GLIBC; + version = glibc.stdout.trim().split(' ')[1]; + method = 'getconf'; + } else { + // Try ldd + var ldd = spawnSync('ldd', ['--version'], spawnOptions); + if (ldd.status === 0 && ldd.stdout.indexOf(MUSL) !== -1) { + family = MUSL; + version = versionFromMuslLdd(ldd.stdout); + method = 'ldd'; + } else if (ldd.status === 1 && ldd.stderr.indexOf(MUSL) !== -1) { + family = MUSL; + version = versionFromMuslLdd(ldd.stderr); + method = 'ldd'; + } else { + // Try filesystem (family only) + var lib = safeReaddirSync('/lib'); + if (lib.some(contains('-linux-gnu'))) { + family = GLIBC; + method = 'filesystem'; + } else if (lib.some(contains('libc.musl-'))) { + family = MUSL; + method = 'filesystem'; + } else if (lib.some(contains('ld-musl-'))) { + family = MUSL; + method = 'filesystem'; + } else { + var usrSbin = safeReaddirSync('/usr/sbin'); + if (usrSbin.some(contains('glibc'))) { + family = GLIBC; + method = 'filesystem'; + } + } + } + } +} + +var isNonGlibcLinux = (family !== '' && family !== GLIBC); + +module.exports = { + GLIBC: GLIBC, + MUSL: MUSL, + family: family, + version: version, + method: method, + isNonGlibcLinux: isNonGlibcLinux +}; diff --git a/src/main/webapp/css/admins/sass/node_modules/detect-libc/package.json b/src/main/webapp/css/admins/sass/node_modules/detect-libc/package.json new file mode 100644 index 0000000..cbd5cd1 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/detect-libc/package.json @@ -0,0 +1,35 @@ +{ + "name": "detect-libc", + "version": "1.0.3", + "description": "Node.js module to detect the C standard library (libc) implementation family and version", + "main": "lib/detect-libc.js", + "bin": { + "detect-libc": "./bin/detect-libc.js" + }, + "scripts": { + "test": "semistandard && nyc --reporter=lcov ava" + }, + "repository": { + "type": "git", + "url": "git://github.com/lovell/detect-libc" + }, + "keywords": [ + "libc", + "glibc", + "musl" + ], + "author": "Lovell Fuller ", + "contributors": [ + "Niklas Salmoukas " + ], + "license": "Apache-2.0", + "devDependencies": { + "ava": "^0.23.0", + "nyc": "^11.3.0", + "proxyquire": "^1.8.0", + "semistandard": "^11.0.0" + }, + "engines": { + "node": ">=0.10" + } +} diff --git a/src/main/webapp/css/admins/sass/node_modules/glob-parent/CHANGELOG.md b/src/main/webapp/css/admins/sass/node_modules/glob-parent/CHANGELOG.md deleted file mode 100644 index fb9de96..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/glob-parent/CHANGELOG.md +++ /dev/null @@ -1,110 +0,0 @@ -### [5.1.2](https://github.com/gulpjs/glob-parent/compare/v5.1.1...v5.1.2) (2021-03-06) - - -### Bug Fixes - -* eliminate ReDoS ([#36](https://github.com/gulpjs/glob-parent/issues/36)) ([f923116](https://github.com/gulpjs/glob-parent/commit/f9231168b0041fea3f8f954b3cceb56269fc6366)) - -### [5.1.1](https://github.com/gulpjs/glob-parent/compare/v5.1.0...v5.1.1) (2021-01-27) - - -### Bug Fixes - -* unescape exclamation mark ([#26](https://github.com/gulpjs/glob-parent/issues/26)) ([a98874f](https://github.com/gulpjs/glob-parent/commit/a98874f1a59e407f4fb1beb0db4efa8392da60bb)) - -## [5.1.0](https://github.com/gulpjs/glob-parent/compare/v5.0.0...v5.1.0) (2021-01-27) - - -### Features - -* add `flipBackslashes` option to disable auto conversion of slashes (closes [#24](https://github.com/gulpjs/glob-parent/issues/24)) ([#25](https://github.com/gulpjs/glob-parent/issues/25)) ([eecf91d](https://github.com/gulpjs/glob-parent/commit/eecf91d5e3834ed78aee39c4eaaae654d76b87b3)) - -## [5.0.0](https://github.com/gulpjs/glob-parent/compare/v4.0.0...v5.0.0) (2021-01-27) - - -### ⚠ BREAKING CHANGES - -* Drop support for node <6 & bump dependencies - -### Miscellaneous Chores - -* Drop support for node <6 & bump dependencies ([896c0c0](https://github.com/gulpjs/glob-parent/commit/896c0c00b4e7362f60b96e7fc295ae929245255a)) - -## [4.0.0](https://github.com/gulpjs/glob-parent/compare/v3.1.0...v4.0.0) (2021-01-27) - - -### ⚠ BREAKING CHANGES - -* question marks are valid path characters on Windows so avoid flagging as a glob when alone -* Update is-glob dependency - -### Features - -* hoist regexps and strings for performance gains ([4a80667](https://github.com/gulpjs/glob-parent/commit/4a80667c69355c76a572a5892b0f133c8e1f457e)) -* question marks are valid path characters on Windows so avoid flagging as a glob when alone ([2a551dd](https://github.com/gulpjs/glob-parent/commit/2a551dd0dc3235e78bf3c94843d4107072d17841)) -* Update is-glob dependency ([e41fcd8](https://github.com/gulpjs/glob-parent/commit/e41fcd895d1f7bc617dba45c9d935a7949b9c281)) - -## [3.1.0](https://github.com/gulpjs/glob-parent/compare/v3.0.1...v3.1.0) (2021-01-27) - - -### Features - -* allow basic win32 backslash use ([272afa5](https://github.com/gulpjs/glob-parent/commit/272afa5fd070fc0f796386a5993d4ee4a846988b)) -* handle extglobs (parentheses) containing separators ([7db1bdb](https://github.com/gulpjs/glob-parent/commit/7db1bdb0756e55fd14619e8ce31aa31b17b117fd)) -* new approach to braces/brackets handling ([8269bd8](https://github.com/gulpjs/glob-parent/commit/8269bd89290d99fac9395a354fb56fdcdb80f0be)) -* pre-process braces/brackets sections ([9ef8a87](https://github.com/gulpjs/glob-parent/commit/9ef8a87f66b1a43d0591e7a8e4fc5a18415ee388)) -* preserve escaped brace/bracket at end of string ([8cfb0ba](https://github.com/gulpjs/glob-parent/commit/8cfb0ba84202d51571340dcbaf61b79d16a26c76)) - - -### Bug Fixes - -* trailing escaped square brackets ([99ec9fe](https://github.com/gulpjs/glob-parent/commit/99ec9fecc60ee488ded20a94dd4f18b4f55c4ccf)) - -### [3.0.1](https://github.com/gulpjs/glob-parent/compare/v3.0.0...v3.0.1) (2021-01-27) - - -### Features - -* use path-dirname ponyfill ([cdbea5f](https://github.com/gulpjs/glob-parent/commit/cdbea5f32a58a54e001a75ddd7c0fccd4776aacc)) - - -### Bug Fixes - -* unescape glob-escaped dirnames on output ([598c533](https://github.com/gulpjs/glob-parent/commit/598c533bdf49c1428bc063aa9b8db40c5a86b030)) - -## [3.0.0](https://github.com/gulpjs/glob-parent/compare/v2.0.0...v3.0.0) (2021-01-27) - - -### ⚠ BREAKING CHANGES - -* update is-glob dependency - -### Features - -* update is-glob dependency ([5c5f8ef](https://github.com/gulpjs/glob-parent/commit/5c5f8efcee362a8e7638cf8220666acd8784f6bd)) - -## [2.0.0](https://github.com/gulpjs/glob-parent/compare/v1.3.0...v2.0.0) (2021-01-27) - - -### Features - -* move up to dirname regardless of glob characters ([f97fb83](https://github.com/gulpjs/glob-parent/commit/f97fb83be2e0a9fc8d3b760e789d2ecadd6aa0c2)) - -## [1.3.0](https://github.com/gulpjs/glob-parent/compare/v1.2.0...v1.3.0) (2021-01-27) - -## [1.2.0](https://github.com/gulpjs/glob-parent/compare/v1.1.0...v1.2.0) (2021-01-27) - - -### Reverts - -* feat: make regex test strings smaller ([dc80fa9](https://github.com/gulpjs/glob-parent/commit/dc80fa9658dca20549cfeba44bbd37d5246fcce0)) - -## [1.1.0](https://github.com/gulpjs/glob-parent/compare/v1.0.0...v1.1.0) (2021-01-27) - - -### Features - -* make regex test strings smaller ([cd83220](https://github.com/gulpjs/glob-parent/commit/cd832208638f45169f986d80fcf66e401f35d233)) - -## 1.0.0 (2021-01-27) - diff --git a/src/main/webapp/css/admins/sass/node_modules/glob-parent/LICENSE b/src/main/webapp/css/admins/sass/node_modules/glob-parent/LICENSE deleted file mode 100644 index 63222d7..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/glob-parent/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) 2015, 2019 Elan Shanker - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/src/main/webapp/css/admins/sass/node_modules/glob-parent/README.md b/src/main/webapp/css/admins/sass/node_modules/glob-parent/README.md deleted file mode 100644 index 36a2793..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/glob-parent/README.md +++ /dev/null @@ -1,137 +0,0 @@ -

- - - -

- -# glob-parent - -[![NPM version][npm-image]][npm-url] [![Downloads][downloads-image]][npm-url] [![Azure Pipelines Build Status][azure-pipelines-image]][azure-pipelines-url] [![Travis Build Status][travis-image]][travis-url] [![AppVeyor Build Status][appveyor-image]][appveyor-url] [![Coveralls Status][coveralls-image]][coveralls-url] [![Gitter chat][gitter-image]][gitter-url] - -Extract the non-magic parent path from a glob string. - -## Usage - -```js -var globParent = require('glob-parent'); - -globParent('path/to/*.js'); // 'path/to' -globParent('/root/path/to/*.js'); // '/root/path/to' -globParent('/*.js'); // '/' -globParent('*.js'); // '.' -globParent('**/*.js'); // '.' -globParent('path/{to,from}'); // 'path' -globParent('path/!(to|from)'); // 'path' -globParent('path/?(to|from)'); // 'path' -globParent('path/+(to|from)'); // 'path' -globParent('path/*(to|from)'); // 'path' -globParent('path/@(to|from)'); // 'path' -globParent('path/**/*'); // 'path' - -// if provided a non-glob path, returns the nearest dir -globParent('path/foo/bar.js'); // 'path/foo' -globParent('path/foo/'); // 'path/foo' -globParent('path/foo'); // 'path' (see issue #3 for details) -``` - -## API - -### `globParent(maybeGlobString, [options])` - -Takes a string and returns the part of the path before the glob begins. Be aware of Escaping rules and Limitations below. - -#### options - -```js -{ - // Disables the automatic conversion of slashes for Windows - flipBackslashes: true -} -``` - -## Escaping - -The following characters have special significance in glob patterns and must be escaped if you want them to be treated as regular path characters: - -- `?` (question mark) unless used as a path segment alone -- `*` (asterisk) -- `|` (pipe) -- `(` (opening parenthesis) -- `)` (closing parenthesis) -- `{` (opening curly brace) -- `}` (closing curly brace) -- `[` (opening bracket) -- `]` (closing bracket) - -**Example** - -```js -globParent('foo/[bar]/') // 'foo' -globParent('foo/\\[bar]/') // 'foo/[bar]' -``` - -## Limitations - -### Braces & Brackets -This library attempts a quick and imperfect method of determining which path -parts have glob magic without fully parsing/lexing the pattern. There are some -advanced use cases that can trip it up, such as nested braces where the outer -pair is escaped and the inner one contains a path separator. If you find -yourself in the unlikely circumstance of being affected by this or need to -ensure higher-fidelity glob handling in your library, it is recommended that you -pre-process your input with [expand-braces] and/or [expand-brackets]. - -### Windows -Backslashes are not valid path separators for globs. If a path with backslashes -is provided anyway, for simple cases, glob-parent will replace the path -separator for you and return the non-glob parent path (now with -forward-slashes, which are still valid as Windows path separators). - -This cannot be used in conjunction with escape characters. - -```js -// BAD -globParent('C:\\Program Files \\(x86\\)\\*.ext') // 'C:/Program Files /(x86/)' - -// GOOD -globParent('C:/Program Files\\(x86\\)/*.ext') // 'C:/Program Files (x86)' -``` - -If you are using escape characters for a pattern without path parts (i.e. -relative to `cwd`), prefix with `./` to avoid confusing glob-parent. - -```js -// BAD -globParent('foo \\[bar]') // 'foo ' -globParent('foo \\[bar]*') // 'foo ' - -// GOOD -globParent('./foo \\[bar]') // 'foo [bar]' -globParent('./foo \\[bar]*') // '.' -``` - -## License - -ISC - -[expand-braces]: https://github.com/jonschlinkert/expand-braces -[expand-brackets]: https://github.com/jonschlinkert/expand-brackets - -[downloads-image]: https://img.shields.io/npm/dm/glob-parent.svg -[npm-url]: https://www.npmjs.com/package/glob-parent -[npm-image]: https://img.shields.io/npm/v/glob-parent.svg - -[azure-pipelines-url]: https://dev.azure.com/gulpjs/gulp/_build/latest?definitionId=2&branchName=master -[azure-pipelines-image]: https://dev.azure.com/gulpjs/gulp/_apis/build/status/glob-parent?branchName=master - -[travis-url]: https://travis-ci.org/gulpjs/glob-parent -[travis-image]: https://img.shields.io/travis/gulpjs/glob-parent.svg?label=travis-ci - -[appveyor-url]: https://ci.appveyor.com/project/gulpjs/glob-parent -[appveyor-image]: https://img.shields.io/appveyor/ci/gulpjs/glob-parent.svg?label=appveyor - -[coveralls-url]: https://coveralls.io/r/gulpjs/glob-parent -[coveralls-image]: https://img.shields.io/coveralls/gulpjs/glob-parent/master.svg - -[gitter-url]: https://gitter.im/gulpjs/gulp -[gitter-image]: https://badges.gitter.im/gulpjs/gulp.svg diff --git a/src/main/webapp/css/admins/sass/node_modules/glob-parent/index.js b/src/main/webapp/css/admins/sass/node_modules/glob-parent/index.js deleted file mode 100644 index 09e257e..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/glob-parent/index.js +++ /dev/null @@ -1,42 +0,0 @@ -'use strict'; - -var isGlob = require('is-glob'); -var pathPosixDirname = require('path').posix.dirname; -var isWin32 = require('os').platform() === 'win32'; - -var slash = '/'; -var backslash = /\\/g; -var enclosure = /[\{\[].*[\}\]]$/; -var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; -var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; - -/** - * @param {string} str - * @param {Object} opts - * @param {boolean} [opts.flipBackslashes=true] - * @returns {string} - */ -module.exports = function globParent(str, opts) { - var options = Object.assign({ flipBackslashes: true }, opts); - - // flip windows path separators - if (options.flipBackslashes && isWin32 && str.indexOf(slash) < 0) { - str = str.replace(backslash, slash); - } - - // special case for strings ending in enclosure containing path separator - if (enclosure.test(str)) { - str += slash; - } - - // preserves full path in case of trailing path separator - str += 'a'; - - // remove path parts that are globby - do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); - - // remove escape chars and return result - return str.replace(escaped, '$1'); -}; diff --git a/src/main/webapp/css/admins/sass/node_modules/glob-parent/package.json b/src/main/webapp/css/admins/sass/node_modules/glob-parent/package.json deleted file mode 100644 index 125c971..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/glob-parent/package.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "name": "glob-parent", - "version": "5.1.2", - "description": "Extract the non-magic parent path from a glob string.", - "author": "Gulp Team (https://gulpjs.com/)", - "contributors": [ - "Elan Shanker (https://github.com/es128)", - "Blaine Bublitz " - ], - "repository": "gulpjs/glob-parent", - "license": "ISC", - "engines": { - "node": ">= 6" - }, - "main": "index.js", - "files": [ - "LICENSE", - "index.js" - ], - "scripts": { - "lint": "eslint .", - "pretest": "npm run lint", - "test": "nyc mocha --async-only", - "azure-pipelines": "nyc mocha --async-only --reporter xunit -O output=test.xunit", - "coveralls": "nyc report --reporter=text-lcov | coveralls" - }, - "dependencies": { - "is-glob": "^4.0.1" - }, - "devDependencies": { - "coveralls": "^3.0.11", - "eslint": "^2.13.1", - "eslint-config-gulp": "^3.0.1", - "expect": "^1.20.2", - "mocha": "^6.0.2", - "nyc": "^13.3.0" - }, - "keywords": [ - "glob", - "parent", - "strip", - "path", - "dirname", - "directory", - "base", - "wildcard" - ] -} diff --git a/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.es.js b/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.es.js index 2c6730e..30f5e00 100644 --- a/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.es.js +++ b/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.es.js @@ -1437,16 +1437,16 @@ function sliceFactory(collection, begin, end, useKeys) { return collection; } - var resolvedBegin = resolveBegin(begin, originalSize); - var resolvedEnd = resolveEnd(end, originalSize); - - // begin or end will be NaN if they were provided as negative numbers and + // begin or end can not be resolved if they were provided as negative numbers and // this collection's size is unknown. In that case, cache first so there is // a known size and these do not resolve to NaN. - if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) { + if (typeof originalSize === 'undefined' && (begin < 0 || end < 0)) { return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys); } + var resolvedBegin = resolveBegin(begin, originalSize); + var resolvedEnd = resolveEnd(end, originalSize); + // Note: resolvedEnd is undefined when the original sequence's length is // unknown and this slice did not supply an end and should contain all // elements after resolvedBegin. @@ -5922,7 +5922,7 @@ function defaultConverter(k, v) { return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet(); } -var version = "4.3.6"; +var version = "4.3.7"; var Immutable = { version: version, diff --git a/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.js b/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.js index 13ba74b..61aa251 100644 --- a/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.js +++ b/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.js @@ -1443,16 +1443,16 @@ return collection; } - var resolvedBegin = resolveBegin(begin, originalSize); - var resolvedEnd = resolveEnd(end, originalSize); - - // begin or end will be NaN if they were provided as negative numbers and + // begin or end can not be resolved if they were provided as negative numbers and // this collection's size is unknown. In that case, cache first so there is // a known size and these do not resolve to NaN. - if (resolvedBegin !== resolvedBegin || resolvedEnd !== resolvedEnd) { + if (typeof originalSize === 'undefined' && (begin < 0 || end < 0)) { return sliceFactory(collection.toSeq().cacheResult(), begin, end, useKeys); } + var resolvedBegin = resolveBegin(begin, originalSize); + var resolvedEnd = resolveEnd(end, originalSize); + // Note: resolvedEnd is undefined when the original sequence's length is // unknown and this slice did not supply an end and should contain all // elements after resolvedBegin. @@ -5928,7 +5928,7 @@ return isIndexed(v) ? v.toList() : isKeyed(v) ? v.toMap() : v.toSet(); } - var version = "4.3.6"; + var version = "4.3.7"; var Immutable = { version: version, diff --git a/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.min.js b/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.min.js index b502eaa..641cdbe 100644 --- a/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.min.js +++ b/src/main/webapp/css/admins/sass/node_modules/immutable/dist/immutable.min.js @@ -28,7 +28,7 @@ if(e)return this.cacheResult().__iterate(t,e);var r,n=V(this._collection),i=0;if var e;if(bt&&void 0!==(e=zt.get(t)))return e;if(void 0!==(e=t[Et]))return e;if(!wt){if(void 0!==(e=t.propertyIsEnumerable&&t.propertyIsEnumerable[Et]))return e;if(void 0!==(e=function(t){if(t&&0f)return N();var t=r.next();return a||e===T||t.done?t:W(e,i-1,e===U?void 0:t.value[1],t)})},r}function Bt(e,c,f,h){var t=Xt(e);return t.__iterateUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterate(n,t);var o=!0,u=0;return e.__iterate(function(t,e,r){if(!(o=o&&c.call(f,t,e,r)))return u++,n(t,h?e:u-1,i)}),u},t.__iteratorUncached=function(i,t){var o=this;if(t)return this.cacheResult().__iterator(i,t);var u=e.__iterator(K,t),s=!0,a=0;return new P(function(){var t;do{if((t=u.next()).done)return h||i===T?t:W(i,a++,i===U?void 0:t.value[1],t);var e=t.value,r=e[0],n=e[1];s=s&&c.call(f,n,r,o)}while(s);return i===K?t:W(i,r,n,t)})},t}function Pt(t,s,a){var c=Xt(t);return c.__iterateUncached=function(i,e){if(e)return this.cacheResult().__iterate(i,e);var o=0,u=!1;return function r(t,n){t.__iterate(function(t,e){return(!s||nc)return N();var t=r.next();return a||e===T||t.done?t:W(e,i-1,e===U?void 0:t.value[1],t)})},r}function Bt(e,c,f,h){var t=Xt(e);return t.__iterateUncached=function(n,t){var i=this;if(t)return this.cacheResult().__iterate(n,t);var o=!0,u=0;return e.__iterate(function(t,e,r){if(!(o=o&&c.call(f,t,e,r)))return u++,n(t,h?e:u-1,i)}),u},t.__iteratorUncached=function(i,t){var o=this;if(t)return this.cacheResult().__iterator(i,t);var u=e.__iterator(K,t),s=!0,a=0;return new P(function(){var t;do{if((t=u.next()).done)return h||i===T?t:W(i,a++,i===U?void 0:t.value[1],t);var e=t.value,r=e[0],n=e[1];s=s&&c.call(f,n,r,o)}while(s);return i===K?t:W(i,r,n,t)})},t}function Pt(t,s,a){var c=Xt(t);return c.__iterateUncached=function(i,e){if(e)return this.cacheResult().__iterate(i,e);var o=0,u=!1;return function r(t,n){t.__iterate(function(t,e){return(!s||n>2)|0}Zr.has=Xr.includes,Zr.contains=Zr.includes,Zr.keys=Zr.values,Ur(G,Fr),Ur(Z,Gr),Ur($,Zr);var an=function(t){function e(r){return null==r?_n():kr(r)?r:_n().withMutations(function(e){var t=j(r);te(t.size),t.forEach(function(t){return e.add(t)})})}return t&&(e.__proto__=t),((e.prototype=Object.create(t&&t.prototype)).constructor=e).of=function(){return this(arguments)},e.fromKeys=function(t){return this(O(t).keySeq())},e.prototype.toString=function(){return this.__toString("OrderedSet {","}")},e}(Kr);an.isOrderedSet=kr;var cn,fn=an.prototype;function hn(t,e){var r=Object.create(fn);return r.size=t?t.size:0,r._map=t,r.__ownerID=e,r}function _n(){return cn=cn||hn(zr())}fn[k]=!0,fn.zip=Gr.zip,fn.zipWith=Gr.zipWith,fn.zipAll=Gr.zipAll,fn.__empty=_n,fn.__make=hn;Zr={LeftThenRight:-1,RightThenLeft:1};Gr=function(u,s){var a;!function(t){if(x(t))throw Error("Can not call `Record` with an immutable Record as default values. Use a plain javascript object instead.");if(A(t))throw Error("Can not call `Record` with an immutable Collection as default values. Use a plain javascript object instead.");if(null===t||"object"!=typeof t)throw Error("Can not call `Record` with a non-object as default values. Use a plain javascript object instead.")}(u);var c=function(t){var n=this;if(t instanceof c)return t;if(!(this instanceof c))return new c(t);if(!a){a=!0;var e=Object.keys(u),r=f._indices={};f._name=s,f._keys=e,f._defaultValues=u;for(var i=0;i true - -isBinaryPath('source/unicorn.txt'); -//=> false -``` -*/ -declare function isBinaryPath(filePath: string): boolean; - -export = isBinaryPath; diff --git a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/index.js b/src/main/webapp/css/admins/sass/node_modules/is-binary-path/index.js deleted file mode 100644 index ef7548c..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/index.js +++ /dev/null @@ -1,7 +0,0 @@ -'use strict'; -const path = require('path'); -const binaryExtensions = require('binary-extensions'); - -const extensions = new Set(binaryExtensions); - -module.exports = filePath => extensions.has(path.extname(filePath).slice(1).toLowerCase()); diff --git a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/package.json b/src/main/webapp/css/admins/sass/node_modules/is-binary-path/package.json deleted file mode 100644 index a8d005a..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "is-binary-path", - "version": "2.1.0", - "description": "Check if a file path is a binary file", - "license": "MIT", - "repository": "sindresorhus/is-binary-path", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "binary", - "extensions", - "extension", - "file", - "path", - "check", - "detect", - "is" - ], - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.2", - "xo": "^0.24.0" - } -} diff --git a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/readme.md b/src/main/webapp/css/admins/sass/node_modules/is-binary-path/readme.md deleted file mode 100644 index b4ab025..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/readme.md +++ /dev/null @@ -1,34 +0,0 @@ -# is-binary-path [![Build Status](https://travis-ci.org/sindresorhus/is-binary-path.svg?branch=master)](https://travis-ci.org/sindresorhus/is-binary-path) - -> Check if a file path is a binary file - - -## Install - -``` -$ npm install is-binary-path -``` - - -## Usage - -```js -const isBinaryPath = require('is-binary-path'); - -isBinaryPath('source/unicorn.png'); -//=> true - -isBinaryPath('source/unicorn.txt'); -//=> false -``` - - -## Related - -- [binary-extensions](https://github.com/sindresorhus/binary-extensions) - List of binary file extensions -- [is-text-path](https://github.com/sindresorhus/is-text-path) - Check if a filepath is a text file - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com), [Paul Miller](https://paulmillr.com) diff --git a/src/main/webapp/css/admins/sass/node_modules/normalize-path/LICENSE b/src/main/webapp/css/admins/sass/node_modules/micromatch/LICENSE similarity index 95% rename from src/main/webapp/css/admins/sass/node_modules/normalize-path/LICENSE rename to src/main/webapp/css/admins/sass/node_modules/micromatch/LICENSE index d32ab44..9af4a67 100644 --- a/src/main/webapp/css/admins/sass/node_modules/normalize-path/LICENSE +++ b/src/main/webapp/css/admins/sass/node_modules/micromatch/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2014-2018, Jon Schlinkert. +Copyright (c) 2014-present, Jon Schlinkert. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/src/main/webapp/css/admins/sass/node_modules/micromatch/README.md b/src/main/webapp/css/admins/sass/node_modules/micromatch/README.md new file mode 100644 index 0000000..d72a059 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/micromatch/README.md @@ -0,0 +1,1024 @@ +# micromatch [![NPM version](https://img.shields.io/npm/v/micromatch.svg?style=flat)](https://www.npmjs.com/package/micromatch) [![NPM monthly downloads](https://img.shields.io/npm/dm/micromatch.svg?style=flat)](https://npmjs.org/package/micromatch) [![NPM total downloads](https://img.shields.io/npm/dt/micromatch.svg?style=flat)](https://npmjs.org/package/micromatch) [![Tests](https://github.com/micromatch/micromatch/actions/workflows/test.yml/badge.svg)](https://github.com/micromatch/micromatch/actions/workflows/test.yml) + +> Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch. + +Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. + +## Table of Contents + +
+Details + + * [Install](#install) +- [Sponsors](#sponsors) + * [Gold Sponsors](#gold-sponsors) + * [Quickstart](#quickstart) + * [Why use micromatch?](#why-use-micromatch) + + [Matching features](#matching-features) + * [Switching to micromatch](#switching-to-micromatch) + + [From minimatch](#from-minimatch) + + [From multimatch](#from-multimatch) + * [API](#api) + * [Options](#options) + * [Options Examples](#options-examples) + + [options.basename](#optionsbasename) + + [options.bash](#optionsbash) + + [options.expandRange](#optionsexpandrange) + + [options.format](#optionsformat) + + [options.ignore](#optionsignore) + + [options.matchBase](#optionsmatchbase) + + [options.noextglob](#optionsnoextglob) + + [options.nonegate](#optionsnonegate) + + [options.noglobstar](#optionsnoglobstar) + + [options.nonull](#optionsnonull) + + [options.nullglob](#optionsnullglob) + + [options.onIgnore](#optionsonignore) + + [options.onMatch](#optionsonmatch) + + [options.onResult](#optionsonresult) + + [options.posixSlashes](#optionsposixslashes) + + [options.unescape](#optionsunescape) + * [Extended globbing](#extended-globbing) + + [Extglobs](#extglobs) + + [Braces](#braces) + + [Regex character classes](#regex-character-classes) + + [Regex groups](#regex-groups) + + [POSIX bracket expressions](#posix-bracket-expressions) + * [Notes](#notes) + + [Bash 4.3 parity](#bash-43-parity) + + [Backslashes](#backslashes) + * [Benchmarks](#benchmarks) + + [Running benchmarks](#running-benchmarks) + + [Latest results](#latest-results) + * [Contributing](#contributing) + * [About](#about) + +
+ +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save micromatch +``` + +
+ +# Sponsors + +[Become a Sponsor](https://github.com/sponsors/jonschlinkert) to add your logo to this README, or any of [my other projects](https://github.com/jonschlinkert?tab=repositories&q=&type=&language=&sort=stargazers) + +
+ +## Quickstart + +```js +const micromatch = require('micromatch'); +// micromatch(list, patterns[, options]); +``` + +The [main export](#micromatch) takes a list of strings and one or more glob patterns: + +```js +console.log(micromatch(['foo', 'bar', 'baz', 'qux'], ['f*', 'b*'])) //=> ['foo', 'bar', 'baz'] +console.log(micromatch(['foo', 'bar', 'baz', 'qux'], ['*', '!b*'])) //=> ['foo', 'qux'] +``` + +Use [.isMatch()](#ismatch) to for boolean matching: + +```js +console.log(micromatch.isMatch('foo', 'f*')) //=> true +console.log(micromatch.isMatch('foo', ['b*', 'f*'])) //=> true +``` + +[Switching](#switching-to-micromatch) from minimatch and multimatch is easy! + +
+ +## Why use micromatch? + +> micromatch is a [replacement](#switching-to-micromatch) for minimatch and multimatch + +* Supports all of the same matching features as [minimatch](https://github.com/isaacs/minimatch) and [multimatch](https://github.com/sindresorhus/multimatch) +* More complete support for the Bash 4.3 specification than minimatch and multimatch. Micromatch passes _all of the spec tests_ from bash, including some that bash still fails. +* **Fast & Performant** - Loads in about 5ms and performs [fast matches](#benchmarks). +* **Glob matching** - Using wildcards (`*` and `?`), globstars (`**`) for nested directories +* **[Advanced globbing](#extended-globbing)** - Supports [extglobs](#extglobs), [braces](#braces-1), and [POSIX brackets](#posix-bracket-expressions), and support for escaping special characters with `\` or quotes. +* **Accurate** - Covers more scenarios [than minimatch](https://github.com/yarnpkg/yarn/pull/3339) +* **Well tested** - More than 5,000 [test assertions](./test) +* **Windows support** - More reliable windows support than minimatch and multimatch. +* **[Safe](https://github.com/micromatch/braces#braces-is-safe)** - Micromatch is not subject to DoS with brace patterns like minimatch and multimatch. + +### Matching features + +* Support for multiple glob patterns (no need for wrappers like multimatch) +* Wildcards (`**`, `*.js`) +* Negation (`'!a/*.js'`, `'*!(b).js'`) +* [extglobs](#extglobs) (`+(x|y)`, `!(a|b)`) +* [POSIX character classes](#posix-bracket-expressions) (`[[:alpha:][:digit:]]`) +* [brace expansion](https://github.com/micromatch/braces) (`foo/{1..5}.md`, `bar/{a,b,c}.js`) +* regex character classes (`foo-[1-5].js`) +* regex logical "or" (`foo/(abc|xyz).js`) + +You can mix and match these features to create whatever patterns you need! + +## Switching to micromatch + +_(There is one notable difference between micromatch and minimatch in regards to how backslashes are handled. See [the notes about backslashes](#backslashes) for more information.)_ + +### From minimatch + +Use [micromatch.isMatch()](#ismatch) instead of `minimatch()`: + +```js +console.log(micromatch.isMatch('foo', 'b*')); //=> false +``` + +Use [micromatch.match()](#match) instead of `minimatch.match()`: + +```js +console.log(micromatch.match(['foo', 'bar'], 'b*')); //=> 'bar' +``` + +### From multimatch + +Same signature: + +```js +console.log(micromatch(['foo', 'bar', 'baz'], ['f*', '*z'])); //=> ['foo', 'baz'] +``` + +## API + +**Params** + +* `list` **{String|Array}**: List of strings to match. +* `patterns` **{String|Array}**: One or more glob patterns to use for matching. +* `options` **{Object}**: See available [options](#options) +* `returns` **{Array}**: Returns an array of matches + +**Example** + +```js +const mm = require('micromatch'); +// mm(list, patterns[, options]); + +console.log(mm(['a.js', 'a.txt'], ['*.js'])); +//=> [ 'a.js' ] +``` + +### [.matcher](index.js#L109) + +Returns a matcher function from the given glob `pattern` and `options`. The returned function takes a string to match as its only argument and returns true if the string is a match. + +**Params** + +* `pattern` **{String}**: Glob pattern +* `options` **{Object}** +* `returns` **{Function}**: Returns a matcher function. + +**Example** + +```js +const mm = require('micromatch'); +// mm.matcher(pattern[, options]); + +const isMatch = mm.matcher('*.!(*a)'); +console.log(isMatch('a.a')); //=> false +console.log(isMatch('a.b')); //=> true +``` + +### [.isMatch](index.js#L128) + +Returns true if **any** of the given glob `patterns` match the specified `string`. + +**Params** + +* `str` **{String}**: The string to test. +* `patterns` **{String|Array}**: One or more glob patterns to use for matching. +* `[options]` **{Object}**: See available [options](#options). +* `returns` **{Boolean}**: Returns true if any patterns match `str` + +**Example** + +```js +const mm = require('micromatch'); +// mm.isMatch(string, patterns[, options]); + +console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true +console.log(mm.isMatch('a.a', 'b.*')); //=> false +``` + +### [.not](index.js#L153) + +Returns a list of strings that _**do not match any**_ of the given `patterns`. + +**Params** + +* `list` **{Array}**: Array of strings to match. +* `patterns` **{String|Array}**: One or more glob pattern to use for matching. +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Array}**: Returns an array of strings that **do not match** the given patterns. + +**Example** + +```js +const mm = require('micromatch'); +// mm.not(list, patterns[, options]); + +console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a')); +//=> ['b.b', 'c.c'] +``` + +### [.contains](index.js#L193) + +Returns true if the given `string` contains the given pattern. Similar to [.isMatch](#isMatch) but the pattern can match any part of the string. + +**Params** + +* `str` **{String}**: The string to match. +* `patterns` **{String|Array}**: Glob pattern to use for matching. +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Boolean}**: Returns true if any of the patterns matches any part of `str`. + +**Example** + +```js +var mm = require('micromatch'); +// mm.contains(string, pattern[, options]); + +console.log(mm.contains('aa/bb/cc', '*b')); +//=> true +console.log(mm.contains('aa/bb/cc', '*d')); +//=> false +``` + +### [.matchKeys](index.js#L235) + +Filter the keys of the given object with the given `glob` pattern and `options`. Does not attempt to match nested keys. If you need this feature, use [glob-object](https://github.com/jonschlinkert/glob-object) instead. + +**Params** + +* `object` **{Object}**: The object with keys to filter. +* `patterns` **{String|Array}**: One or more glob patterns to use for matching. +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Object}**: Returns an object with only keys that match the given patterns. + +**Example** + +```js +const mm = require('micromatch'); +// mm.matchKeys(object, patterns[, options]); + +const obj = { aa: 'a', ab: 'b', ac: 'c' }; +console.log(mm.matchKeys(obj, '*b')); +//=> { ab: 'b' } +``` + +### [.some](index.js#L264) + +Returns true if some of the strings in the given `list` match any of the given glob `patterns`. + +**Params** + +* `list` **{String|Array}**: The string or array of strings to test. Returns as soon as the first match is found. +* `patterns` **{String|Array}**: One or more glob patterns to use for matching. +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Boolean}**: Returns true if any `patterns` matches any of the strings in `list` + +**Example** + +```js +const mm = require('micromatch'); +// mm.some(list, patterns[, options]); + +console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); +// true +console.log(mm.some(['foo.js'], ['*.js', '!foo.js'])); +// false +``` + +### [.every](index.js#L300) + +Returns true if every string in the given `list` matches any of the given glob `patterns`. + +**Params** + +* `list` **{String|Array}**: The string or array of strings to test. +* `patterns` **{String|Array}**: One or more glob patterns to use for matching. +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Boolean}**: Returns true if all `patterns` matches all of the strings in `list` + +**Example** + +```js +const mm = require('micromatch'); +// mm.every(list, patterns[, options]); + +console.log(mm.every('foo.js', ['foo.js'])); +// true +console.log(mm.every(['foo.js', 'bar.js'], ['*.js'])); +// true +console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); +// false +console.log(mm.every(['foo.js'], ['*.js', '!foo.js'])); +// false +``` + +### [.all](index.js#L339) + +Returns true if **all** of the given `patterns` match the specified string. + +**Params** + +* `str` **{String|Array}**: The string to test. +* `patterns` **{String|Array}**: One or more glob patterns to use for matching. +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Boolean}**: Returns true if any patterns match `str` + +**Example** + +```js +const mm = require('micromatch'); +// mm.all(string, patterns[, options]); + +console.log(mm.all('foo.js', ['foo.js'])); +// true + +console.log(mm.all('foo.js', ['*.js', '!foo.js'])); +// false + +console.log(mm.all('foo.js', ['*.js', 'foo.js'])); +// true + +console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js'])); +// true +``` + +### [.capture](index.js#L366) + +Returns an array of matches captured by `pattern` in `string, or`null` if the pattern did not match. + +**Params** + +* `glob` **{String}**: Glob pattern to use for matching. +* `input` **{String}**: String to match +* `options` **{Object}**: See available [options](#options) for changing how matches are performed +* `returns` **{Array|null}**: Returns an array of captures if the input matches the glob pattern, otherwise `null`. + +**Example** + +```js +const mm = require('micromatch'); +// mm.capture(pattern, string[, options]); + +console.log(mm.capture('test/*.js', 'test/foo.js')); +//=> ['foo'] +console.log(mm.capture('test/*.js', 'foo/bar.css')); +//=> null +``` + +### [.makeRe](index.js#L392) + +Create a regular expression from the given glob `pattern`. + +**Params** + +* `pattern` **{String}**: A glob pattern to convert to regex. +* `options` **{Object}** +* `returns` **{RegExp}**: Returns a regex created from the given pattern. + +**Example** + +```js +const mm = require('micromatch'); +// mm.makeRe(pattern[, options]); + +console.log(mm.makeRe('*.js')); +//=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/ +``` + +### [.scan](index.js#L408) + +Scan a glob pattern to separate the pattern into segments. Used by the [split](#split) method. + +**Params** + +* `pattern` **{String}** +* `options` **{Object}** +* `returns` **{Object}**: Returns an object with + +**Example** + +```js +const mm = require('micromatch'); +const state = mm.scan(pattern[, options]); +``` + +### [.parse](index.js#L424) + +Parse a glob pattern to create the source string for a regular expression. + +**Params** + +* `glob` **{String}** +* `options` **{Object}** +* `returns` **{Object}**: Returns an object with useful properties and output to be used as regex source string. + +**Example** + +```js +const mm = require('micromatch'); +const state = mm.parse(pattern[, options]); +``` + +### [.braces](index.js#L451) + +Process the given brace `pattern`. + +**Params** + +* `pattern` **{String}**: String with brace pattern to process. +* `options` **{Object}**: Any [options](#options) to change how expansion is performed. See the [braces](https://github.com/micromatch/braces) library for all available options. +* `returns` **{Array}** + +**Example** + +```js +const { braces } = require('micromatch'); +console.log(braces('foo/{a,b,c}/bar')); +//=> [ 'foo/(a|b|c)/bar' ] + +console.log(braces('foo/{a,b,c}/bar', { expand: true })); +//=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ] +``` + +## Options + +| **Option** | **Type** | **Default value** | **Description** | +| --- | --- | --- | --- | +| `basename` | `boolean` | `false` | If set, then patterns without slashes will be matched against the basename of the path if it contains slashes. For example, `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`. | +| `bash` | `boolean` | `false` | Follow bash matching rules more strictly - disallows backslashes as escape characters, and treats single stars as globstars (`**`). | +| `capture` | `boolean` | `undefined` | Return regex matches in supporting methods. | +| `contains` | `boolean` | `undefined` | Allows glob to match any part of the given string(s). | +| `cwd` | `string` | `process.cwd()` | Current working directory. Used by `picomatch.split()` | +| `debug` | `boolean` | `undefined` | Debug regular expressions when an error is thrown. | +| `dot` | `boolean` | `false` | Match dotfiles. Otherwise dotfiles are ignored unless a `.` is explicitly defined in the pattern. | +| `expandRange` | `function` | `undefined` | Custom function for expanding ranges in brace patterns, such as `{a..z}`. The function receives the range values as two arguments, and it must return a string to be used in the generated regex. It's recommended that returned strings be wrapped in parentheses. This option is overridden by the `expandBrace` option. | +| `failglob` | `boolean` | `false` | Similar to the `failglob` behavior in Bash, throws an error when no matches are found. Based on the bash option of the same name. | +| `fastpaths` | `boolean` | `true` | To speed up processing, full parsing is skipped for a handful common glob patterns. Disable this behavior by setting this option to `false`. | +| `flags` | `boolean` | `undefined` | Regex flags to use in the generated regex. If defined, the `nocase` option will be overridden. | +| [format](#optionsformat) | `function` | `undefined` | Custom function for formatting the returned string. This is useful for removing leading slashes, converting Windows paths to Posix paths, etc. | +| `ignore` | `array\|string` | `undefined` | One or more glob patterns for excluding strings that should not be matched from the result. | +| `keepQuotes` | `boolean` | `false` | Retain quotes in the generated regex, since quotes may also be used as an alternative to backslashes. | +| `literalBrackets` | `boolean` | `undefined` | When `true`, brackets in the glob pattern will be escaped so that only literal brackets will be matched. | +| `lookbehinds` | `boolean` | `true` | Support regex positive and negative lookbehinds. Note that you must be using Node 8.1.10 or higher to enable regex lookbehinds. | +| `matchBase` | `boolean` | `false` | Alias for `basename` | +| `maxLength` | `boolean` | `65536` | Limit the max length of the input string. An error is thrown if the input string is longer than this value. | +| `nobrace` | `boolean` | `false` | Disable brace matching, so that `{a,b}` and `{1..3}` would be treated as literal characters. | +| `nobracket` | `boolean` | `undefined` | Disable matching with regex brackets. | +| `nocase` | `boolean` | `false` | Perform case-insensitive matching. Equivalent to the regex `i` flag. Note that this option is ignored when the `flags` option is defined. | +| `nodupes` | `boolean` | `true` | Deprecated, use `nounique` instead. This option will be removed in a future major release. By default duplicates are removed. Disable uniquification by setting this option to false. | +| `noext` | `boolean` | `false` | Alias for `noextglob` | +| `noextglob` | `boolean` | `false` | Disable support for matching with [extglobs](#extglobs) (like `+(a\|b)`) | +| `noglobstar` | `boolean` | `false` | Disable support for matching nested directories with globstars (`**`) | +| `nonegate` | `boolean` | `false` | Disable support for negating with leading `!` | +| `noquantifiers` | `boolean` | `false` | Disable support for regex quantifiers (like `a{1,2}`) and treat them as brace patterns to be expanded. | +| [onIgnore](#optionsonIgnore) | `function` | `undefined` | Function to be called on ignored items. | +| [onMatch](#optionsonMatch) | `function` | `undefined` | Function to be called on matched items. | +| [onResult](#optionsonResult) | `function` | `undefined` | Function to be called on all items, regardless of whether or not they are matched or ignored. | +| `posix` | `boolean` | `false` | Support [POSIX character classes](#posix-bracket-expressions) ("posix brackets"). | +| `posixSlashes` | `boolean` | `undefined` | Convert all slashes in file paths to forward slashes. This does not convert slashes in the glob pattern itself | +| `prepend` | `string` | `undefined` | String to prepend to the generated regex used for matching. | +| `regex` | `boolean` | `false` | Use regular expression rules for `+` (instead of matching literal `+`), and for stars that follow closing parentheses or brackets (as in `)*` and `]*`). | +| `strictBrackets` | `boolean` | `undefined` | Throw an error if brackets, braces, or parens are imbalanced. | +| `strictSlashes` | `boolean` | `undefined` | When true, picomatch won't match trailing slashes with single stars. | +| `unescape` | `boolean` | `undefined` | Remove preceding backslashes from escaped glob characters before creating the regular expression to perform matches. | +| `unixify` | `boolean` | `undefined` | Alias for `posixSlashes`, for backwards compatitibility. | + +## Options Examples + +### options.basename + +Allow glob patterns without slashes to match a file path based on its basename. Same behavior as [minimatch](https://github.com/isaacs/minimatch) option `matchBase`. + +**Type**: `Boolean` + +**Default**: `false` + +**Example** + +```js +micromatch(['a/b.js', 'a/c.md'], '*.js'); +//=> [] + +micromatch(['a/b.js', 'a/c.md'], '*.js', { basename: true }); +//=> ['a/b.js'] +``` + +### options.bash + +Enabled by default, this option enforces bash-like behavior with stars immediately following a bracket expression. Bash bracket expressions are similar to regex character classes, but unlike regex, a star following a bracket expression **does not repeat the bracketed characters**. Instead, the star is treated the same as any other star. + +**Type**: `Boolean` + +**Default**: `true` + +**Example** + +```js +const files = ['abc', 'ajz']; +console.log(micromatch(files, '[a-c]*')); +//=> ['abc', 'ajz'] + +console.log(micromatch(files, '[a-c]*', { bash: false })); +``` + +### options.expandRange + +**Type**: `function` + +**Default**: `undefined` + +Custom function for expanding ranges in brace patterns. The [fill-range](https://github.com/jonschlinkert/fill-range) library is ideal for this purpose, or you can use custom code to do whatever you need. + +**Example** + +The following example shows how to create a glob that matches a numeric folder name between `01` and `25`, with leading zeros. + +```js +const fill = require('fill-range'); +const regex = micromatch.makeRe('foo/{01..25}/bar', { + expandRange(a, b) { + return `(${fill(a, b, { toRegex: true })})`; + } +}); + +console.log(regex) +//=> /^(?:foo\/((?:0[1-9]|1[0-9]|2[0-5]))\/bar)$/ + +console.log(regex.test('foo/00/bar')) // false +console.log(regex.test('foo/01/bar')) // true +console.log(regex.test('foo/10/bar')) // true +console.log(regex.test('foo/22/bar')) // true +console.log(regex.test('foo/25/bar')) // true +console.log(regex.test('foo/26/bar')) // false +``` + +### options.format + +**Type**: `function` + +**Default**: `undefined` + +Custom function for formatting strings before they're matched. + +**Example** + +```js +// strip leading './' from strings +const format = str => str.replace(/^\.\//, ''); +const isMatch = picomatch('foo/*.js', { format }); +console.log(isMatch('./foo/bar.js')) //=> true +``` + +### options.ignore + +String or array of glob patterns to match files to ignore. + +**Type**: `String|Array` + +**Default**: `undefined` + +```js +const isMatch = micromatch.matcher('*', { ignore: 'f*' }); +console.log(isMatch('foo')) //=> false +console.log(isMatch('bar')) //=> true +console.log(isMatch('baz')) //=> true +``` + +### options.matchBase + +Alias for [options.basename](#options-basename). + +### options.noextglob + +Disable extglob support, so that [extglobs](#extglobs) are regarded as literal characters. + +**Type**: `Boolean` + +**Default**: `undefined` + +**Examples** + +```js +console.log(micromatch(['a/z', 'a/b', 'a/!(z)'], 'a/!(z)')); +//=> ['a/b', 'a/!(z)'] + +console.log(micromatch(['a/z', 'a/b', 'a/!(z)'], 'a/!(z)', { noextglob: true })); +//=> ['a/!(z)'] (matches only as literal characters) +``` + +### options.nonegate + +Disallow negation (`!`) patterns, and treat leading `!` as a literal character to match. + +**Type**: `Boolean` + +**Default**: `undefined` + +### options.noglobstar + +Disable matching with globstars (`**`). + +**Type**: `Boolean` + +**Default**: `undefined` + +```js +micromatch(['a/b', 'a/b/c', 'a/b/c/d'], 'a/**'); +//=> ['a/b', 'a/b/c', 'a/b/c/d'] + +micromatch(['a/b', 'a/b/c', 'a/b/c/d'], 'a/**', {noglobstar: true}); +//=> ['a/b'] +``` + +### options.nonull + +Alias for [options.nullglob](#options-nullglob). + +### options.nullglob + +If `true`, when no matches are found the actual (arrayified) glob pattern is returned instead of an empty array. Same behavior as [minimatch](https://github.com/isaacs/minimatch) option `nonull`. + +**Type**: `Boolean` + +**Default**: `undefined` + +### options.onIgnore + +```js +const onIgnore = ({ glob, regex, input, output }) => { + console.log({ glob, regex, input, output }); + // { glob: '*', regex: /^(?:(?!\.)(?=.)[^\/]*?\/?)$/, input: 'foo', output: 'foo' } +}; + +const isMatch = micromatch.matcher('*', { onIgnore, ignore: 'f*' }); +isMatch('foo'); +isMatch('bar'); +isMatch('baz'); +``` + +### options.onMatch + +```js +const onMatch = ({ glob, regex, input, output }) => { + console.log({ input, output }); + // { input: 'some\\path', output: 'some/path' } + // { input: 'some\\path', output: 'some/path' } + // { input: 'some\\path', output: 'some/path' } +}; + +const isMatch = micromatch.matcher('**', { onMatch, posixSlashes: true }); +isMatch('some\\path'); +isMatch('some\\path'); +isMatch('some\\path'); +``` + +### options.onResult + +```js +const onResult = ({ glob, regex, input, output }) => { + console.log({ glob, regex, input, output }); +}; + +const isMatch = micromatch('*', { onResult, ignore: 'f*' }); +isMatch('foo'); +isMatch('bar'); +isMatch('baz'); +``` + +### options.posixSlashes + +Convert path separators on returned files to posix/unix-style forward slashes. Aliased as `unixify` for backwards compatibility. + +**Type**: `Boolean` + +**Default**: `true` on windows, `false` everywhere else. + +**Example** + +```js +console.log(micromatch.match(['a\\b\\c'], 'a/**')); +//=> ['a/b/c'] + +console.log(micromatch.match(['a\\b\\c'], { posixSlashes: false })); +//=> ['a\\b\\c'] +``` + +### options.unescape + +Remove backslashes from escaped glob characters before creating the regular expression to perform matches. + +**Type**: `Boolean` + +**Default**: `undefined` + +**Example** + +In this example we want to match a literal `*`: + +```js +console.log(micromatch.match(['abc', 'a\\*c'], 'a\\*c')); +//=> ['a\\*c'] + +console.log(micromatch.match(['abc', 'a\\*c'], 'a\\*c', { unescape: true })); +//=> ['a*c'] +``` + +
+
+ +## Extended globbing + +Micromatch supports the following extended globbing features. + +### Extglobs + +Extended globbing, as described by the bash man page: + +| **pattern** | **regex equivalent** | **description** | +| --- | --- | --- | +| `?(pattern)` | `(pattern)?` | Matches zero or one occurrence of the given patterns | +| `*(pattern)` | `(pattern)*` | Matches zero or more occurrences of the given patterns | +| `+(pattern)` | `(pattern)+` | Matches one or more occurrences of the given patterns | +| `@(pattern)` | `(pattern)` * | Matches one of the given patterns | +| `!(pattern)` | N/A (equivalent regex is much more complicated) | Matches anything except one of the given patterns | + +* Note that `@` isn't a regex character. + +### Braces + +Brace patterns can be used to match specific ranges or sets of characters. + +**Example** + +The pattern `{f,b}*/{1..3}/{b,q}*` would match any of following strings: + +``` +foo/1/bar +foo/2/bar +foo/3/bar +baz/1/qux +baz/2/qux +baz/3/qux +``` + +Visit [braces](https://github.com/micromatch/braces) to see the full range of features and options related to brace expansion, or to create brace matching or expansion related issues. + +### Regex character classes + +Given the list: `['a.js', 'b.js', 'c.js', 'd.js', 'E.js']`: + +* `[ac].js`: matches both `a` and `c`, returning `['a.js', 'c.js']` +* `[b-d].js`: matches from `b` to `d`, returning `['b.js', 'c.js', 'd.js']` +* `a/[A-Z].js`: matches and uppercase letter, returning `['a/E.md']` + +Learn about [regex character classes](http://www.regular-expressions.info/charclass.html). + +### Regex groups + +Given `['a.js', 'b.js', 'c.js', 'd.js', 'E.js']`: + +* `(a|c).js`: would match either `a` or `c`, returning `['a.js', 'c.js']` +* `(b|d).js`: would match either `b` or `d`, returning `['b.js', 'd.js']` +* `(b|[A-Z]).js`: would match either `b` or an uppercase letter, returning `['b.js', 'E.js']` + +As with regex, parens can be nested, so patterns like `((a|b)|c)/b` will work. Although brace expansion might be friendlier to use, depending on preference. + +### POSIX bracket expressions + +POSIX brackets are intended to be more user-friendly than regex character classes. This of course is in the eye of the beholder. + +**Example** + +```js +console.log(micromatch.isMatch('a1', '[[:alpha:][:digit:]]')) //=> true +console.log(micromatch.isMatch('a1', '[[:alpha:][:alpha:]]')) //=> false +``` + +*** + +## Notes + +### Bash 4.3 parity + +Whenever possible matching behavior is based on behavior Bash 4.3, which is mostly consistent with minimatch. + +However, it's suprising how many edge cases and rabbit holes there are with glob matching, and since there is no real glob specification, and micromatch is more accurate than both Bash and minimatch, there are cases where best-guesses were made for behavior. In a few cases where Bash had no answers, we used wildmatch (used by git) as a fallback. + +### Backslashes + +There is an important, notable difference between minimatch and micromatch _in regards to how backslashes are handled_ in glob patterns. + +* Micromatch exclusively and explicitly reserves backslashes for escaping characters in a glob pattern, even on windows, which is consistent with bash behavior. _More importantly, unescaping globs can result in unsafe regular expressions_. +* Minimatch converts all backslashes to forward slashes, which means you can't use backslashes to escape any characters in your glob patterns. + +We made this decision for micromatch for a couple of reasons: + +* Consistency with bash conventions. +* Glob patterns are not filepaths. They are a type of [regular language](https://en.wikipedia.org/wiki/Regular_language) that is converted to a JavaScript regular expression. Thus, when forward slashes are defined in a glob pattern, the resulting regular expression will match windows or POSIX path separators just fine. + +**A note about joining paths to globs** + +Note that when you pass something like `path.join('foo', '*')` to micromatch, you are creating a filepath and expecting it to still work as a glob pattern. This causes problems on windows, since the `path.sep` is `\\`. + +In other words, since `\\` is reserved as an escape character in globs, on windows `path.join('foo', '*')` would result in `foo\\*`, which tells micromatch to match `*` as a literal character. This is the same behavior as bash. + +To solve this, you might be inspired to do something like `'foo\\*'.replace(/\\/g, '/')`, but this causes another, potentially much more serious, problem. + +## Benchmarks + +### Running benchmarks + +Install dependencies for running benchmarks: + +```sh +$ cd bench && npm install +``` + +Run the benchmarks: + +```sh +$ npm run bench +``` + +### Latest results + +As of August 23, 2024 (longer bars are better): + +```sh +# .makeRe star + micromatch x 2,232,802 ops/sec ±2.34% (89 runs sampled)) + minimatch x 781,018 ops/sec ±6.74% (92 runs sampled)) + +# .makeRe star; dot=true + micromatch x 1,863,453 ops/sec ±0.74% (93 runs sampled) + minimatch x 723,105 ops/sec ±0.75% (93 runs sampled) + +# .makeRe globstar + micromatch x 1,624,179 ops/sec ±2.22% (91 runs sampled) + minimatch x 1,117,230 ops/sec ±2.78% (86 runs sampled)) + +# .makeRe globstars + micromatch x 1,658,642 ops/sec ±0.86% (92 runs sampled) + minimatch x 741,224 ops/sec ±1.24% (89 runs sampled)) + +# .makeRe with leading star + micromatch x 1,525,014 ops/sec ±1.63% (90 runs sampled) + minimatch x 561,074 ops/sec ±3.07% (89 runs sampled) + +# .makeRe - braces + micromatch x 172,478 ops/sec ±2.37% (78 runs sampled) + minimatch x 96,087 ops/sec ±2.34% (88 runs sampled))) + +# .makeRe braces - range (expanded) + micromatch x 26,973 ops/sec ±0.84% (89 runs sampled) + minimatch x 3,023 ops/sec ±0.99% (90 runs sampled)) + +# .makeRe braces - range (compiled) + micromatch x 152,892 ops/sec ±1.67% (83 runs sampled) + minimatch x 992 ops/sec ±3.50% (89 runs sampled)d)) + +# .makeRe braces - nested ranges (expanded) + micromatch x 15,816 ops/sec ±13.05% (80 runs sampled) + minimatch x 2,953 ops/sec ±1.64% (91 runs sampled) + +# .makeRe braces - nested ranges (compiled) + micromatch x 110,881 ops/sec ±1.85% (82 runs sampled) + minimatch x 1,008 ops/sec ±1.51% (91 runs sampled) + +# .makeRe braces - set (compiled) + micromatch x 134,930 ops/sec ±3.54% (63 runs sampled)) + minimatch x 43,242 ops/sec ±0.60% (93 runs sampled) + +# .makeRe braces - nested sets (compiled) + micromatch x 94,455 ops/sec ±1.74% (69 runs sampled)) + minimatch x 27,720 ops/sec ±1.84% (93 runs sampled)) +``` + +## Contributing + +All contributions are welcome! Please read [the contributing guide](.github/contributing.md) to get started. + +**Bug reports** + +Please create an issue if you encounter a bug or matching behavior that doesn't seem correct. If you find a matching-related issue, please: + +* [research existing issues first](../../issues) (open and closed) +* visit the [GNU Bash documentation](https://www.gnu.org/software/bash/manual/) to see how Bash deals with the pattern +* visit the [minimatch](https://github.com/isaacs/minimatch) documentation to cross-check expected behavior in node.js +* if all else fails, since there is no real specification for globs we will probably need to discuss expected behavior and decide how to resolve it. which means any detail you can provide to help with this discussion would be greatly appreciated. + +**Platform issues** + +It's important to us that micromatch work consistently on all platforms. If you encounter any platform-specific matching or path related issues, please let us know (pull requests are also greatly appreciated). + +## About + +
+Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +Please read the [contributing guide](.github/contributing.md) for advice on opening issues, pull requests, and coding standards. + +
+ +
+Running Tests + +Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: + +```sh +$ npm install && npm test +``` + +
+ +
+Building docs + +_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ + +To generate the readme, run the following command: + +```sh +$ npm install -g verbose/verb#dev verb-generate-readme && verb +``` + +
+ +### Related projects + +You might also be interested in these projects: + +* [braces](https://www.npmjs.com/package/braces): Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support… [more](https://github.com/micromatch/braces) | [homepage](https://github.com/micromatch/braces "Bash-like brace expansion, implemented in JavaScript. Safer than other brace expansion libs, with complete support for the Bash 4.3 braces specification, without sacrificing speed.") +* [expand-brackets](https://www.npmjs.com/package/expand-brackets): Expand POSIX bracket expressions (character classes) in glob patterns. | [homepage](https://github.com/micromatch/expand-brackets "Expand POSIX bracket expressions (character classes) in glob patterns.") +* [extglob](https://www.npmjs.com/package/extglob): Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob… [more](https://github.com/micromatch/extglob) | [homepage](https://github.com/micromatch/extglob "Extended glob support for JavaScript. Adds (almost) the expressive power of regular expressions to glob patterns.") +* [fill-range](https://www.npmjs.com/package/fill-range): Fill in a range of numbers or letters, optionally passing an increment or `step` to… [more](https://github.com/jonschlinkert/fill-range) | [homepage](https://github.com/jonschlinkert/fill-range "Fill in a range of numbers or letters, optionally passing an increment or `step` to use, or create a regex-compatible range with `options.toRegex`") +* [nanomatch](https://www.npmjs.com/package/nanomatch): Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash… [more](https://github.com/micromatch/nanomatch) | [homepage](https://github.com/micromatch/nanomatch "Fast, minimal glob matcher for node.js. Similar to micromatch, minimatch and multimatch, but complete Bash 4.3 wildcard support only (no support for exglobs, posix brackets or braces)") + +### Contributors + +| **Commits** | **Contributor** | +| --- | --- | +| 523 | [jonschlinkert](https://github.com/jonschlinkert) | +| 12 | [es128](https://github.com/es128) | +| 9 | [danez](https://github.com/danez) | +| 8 | [doowb](https://github.com/doowb) | +| 6 | [paulmillr](https://github.com/paulmillr) | +| 5 | [mrmlnc](https://github.com/mrmlnc) | +| 3 | [DrPizza](https://github.com/DrPizza) | +| 2 | [Tvrqvoise](https://github.com/Tvrqvoise) | +| 2 | [antonyk](https://github.com/antonyk) | +| 2 | [MartinKolarik](https://github.com/MartinKolarik) | +| 2 | [Glazy](https://github.com/Glazy) | +| 2 | [mceIdo](https://github.com/mceIdo) | +| 2 | [TrySound](https://github.com/TrySound) | +| 1 | [yvele](https://github.com/yvele) | +| 1 | [wtgtybhertgeghgtwtg](https://github.com/wtgtybhertgeghgtwtg) | +| 1 | [simlu](https://github.com/simlu) | +| 1 | [curbengh](https://github.com/curbengh) | +| 1 | [fidian](https://github.com/fidian) | +| 1 | [tomByrer](https://github.com/tomByrer) | +| 1 | [ZoomerTedJackson](https://github.com/ZoomerTedJackson) | +| 1 | [styfle](https://github.com/styfle) | +| 1 | [sebdeckers](https://github.com/sebdeckers) | +| 1 | [muescha](https://github.com/muescha) | +| 1 | [juszczykjakub](https://github.com/juszczykjakub) | +| 1 | [joyceerhl](https://github.com/joyceerhl) | +| 1 | [donatj](https://github.com/donatj) | +| 1 | [frangio](https://github.com/frangio) | +| 1 | [UltCombo](https://github.com/UltCombo) | +| 1 | [DianeLooney](https://github.com/DianeLooney) | +| 1 | [devongovett](https://github.com/devongovett) | +| 1 | [Cslove](https://github.com/Cslove) | +| 1 | [amilajack](https://github.com/amilajack) | + +### Author + +**Jon Schlinkert** + +* [GitHub Profile](https://github.com/jonschlinkert) +* [Twitter Profile](https://twitter.com/jonschlinkert) +* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) + +### License + +Copyright © 2024, [Jon Schlinkert](https://github.com/jonschlinkert). +Released under the [MIT License](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.8.0, on August 23, 2024._ \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/micromatch/index.js b/src/main/webapp/css/admins/sass/node_modules/micromatch/index.js new file mode 100644 index 0000000..cb9d9ef --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/micromatch/index.js @@ -0,0 +1,474 @@ +'use strict'; + +const util = require('util'); +const braces = require('braces'); +const picomatch = require('picomatch'); +const utils = require('picomatch/lib/utils'); + +const isEmptyString = v => v === '' || v === './'; +const hasBraces = v => { + const index = v.indexOf('{'); + return index > -1 && v.indexOf('}', index) > -1; +}; + +/** + * Returns an array of strings that match one or more glob patterns. + * + * ```js + * const mm = require('micromatch'); + * // mm(list, patterns[, options]); + * + * console.log(mm(['a.js', 'a.txt'], ['*.js'])); + * //=> [ 'a.js' ] + * ``` + * @param {String|Array} `list` List of strings to match. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) + * @return {Array} Returns an array of matches + * @summary false + * @api public + */ + +const micromatch = (list, patterns, options) => { + patterns = [].concat(patterns); + list = [].concat(list); + + let omit = new Set(); + let keep = new Set(); + let items = new Set(); + let negatives = 0; + + let onResult = state => { + items.add(state.output); + if (options && options.onResult) { + options.onResult(state); + } + }; + + for (let i = 0; i < patterns.length; i++) { + let isMatch = picomatch(String(patterns[i]), { ...options, onResult }, true); + let negated = isMatch.state.negated || isMatch.state.negatedExtglob; + if (negated) negatives++; + + for (let item of list) { + let matched = isMatch(item, true); + + let match = negated ? !matched.isMatch : matched.isMatch; + if (!match) continue; + + if (negated) { + omit.add(matched.output); + } else { + omit.delete(matched.output); + keep.add(matched.output); + } + } + } + + let result = negatives === patterns.length ? [...items] : [...keep]; + let matches = result.filter(item => !omit.has(item)); + + if (options && matches.length === 0) { + if (options.failglob === true) { + throw new Error(`No matches found for "${patterns.join(', ')}"`); + } + + if (options.nonull === true || options.nullglob === true) { + return options.unescape ? patterns.map(p => p.replace(/\\/g, '')) : patterns; + } + } + + return matches; +}; + +/** + * Backwards compatibility + */ + +micromatch.match = micromatch; + +/** + * Returns a matcher function from the given glob `pattern` and `options`. + * The returned function takes a string to match as its only argument and returns + * true if the string is a match. + * + * ```js + * const mm = require('micromatch'); + * // mm.matcher(pattern[, options]); + * + * const isMatch = mm.matcher('*.!(*a)'); + * console.log(isMatch('a.a')); //=> false + * console.log(isMatch('a.b')); //=> true + * ``` + * @param {String} `pattern` Glob pattern + * @param {Object} `options` + * @return {Function} Returns a matcher function. + * @api public + */ + +micromatch.matcher = (pattern, options) => picomatch(pattern, options); + +/** + * Returns true if **any** of the given glob `patterns` match the specified `string`. + * + * ```js + * const mm = require('micromatch'); + * // mm.isMatch(string, patterns[, options]); + * + * console.log(mm.isMatch('a.a', ['b.*', '*.a'])); //=> true + * console.log(mm.isMatch('a.a', 'b.*')); //=> false + * ``` + * @param {String} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `[options]` See available [options](#options). + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + +micromatch.isMatch = (str, patterns, options) => picomatch(patterns, options)(str); + +/** + * Backwards compatibility + */ + +micromatch.any = micromatch.isMatch; + +/** + * Returns a list of strings that _**do not match any**_ of the given `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.not(list, patterns[, options]); + * + * console.log(mm.not(['a.a', 'b.b', 'c.c'], '*.a')); + * //=> ['b.b', 'c.c'] + * ``` + * @param {Array} `list` Array of strings to match. + * @param {String|Array} `patterns` One or more glob pattern to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Array} Returns an array of strings that **do not match** the given patterns. + * @api public + */ + +micromatch.not = (list, patterns, options = {}) => { + patterns = [].concat(patterns).map(String); + let result = new Set(); + let items = []; + + let onResult = state => { + if (options.onResult) options.onResult(state); + items.push(state.output); + }; + + let matches = new Set(micromatch(list, patterns, { ...options, onResult })); + + for (let item of items) { + if (!matches.has(item)) { + result.add(item); + } + } + return [...result]; +}; + +/** + * Returns true if the given `string` contains the given pattern. Similar + * to [.isMatch](#isMatch) but the pattern can match any part of the string. + * + * ```js + * var mm = require('micromatch'); + * // mm.contains(string, pattern[, options]); + * + * console.log(mm.contains('aa/bb/cc', '*b')); + * //=> true + * console.log(mm.contains('aa/bb/cc', '*d')); + * //=> false + * ``` + * @param {String} `str` The string to match. + * @param {String|Array} `patterns` Glob pattern to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any of the patterns matches any part of `str`. + * @api public + */ + +micromatch.contains = (str, pattern, options) => { + if (typeof str !== 'string') { + throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + } + + if (Array.isArray(pattern)) { + return pattern.some(p => micromatch.contains(str, p, options)); + } + + if (typeof pattern === 'string') { + if (isEmptyString(str) || isEmptyString(pattern)) { + return false; + } + + if (str.includes(pattern) || (str.startsWith('./') && str.slice(2).includes(pattern))) { + return true; + } + } + + return micromatch.isMatch(str, pattern, { ...options, contains: true }); +}; + +/** + * Filter the keys of the given object with the given `glob` pattern + * and `options`. Does not attempt to match nested keys. If you need this feature, + * use [glob-object][] instead. + * + * ```js + * const mm = require('micromatch'); + * // mm.matchKeys(object, patterns[, options]); + * + * const obj = { aa: 'a', ab: 'b', ac: 'c' }; + * console.log(mm.matchKeys(obj, '*b')); + * //=> { ab: 'b' } + * ``` + * @param {Object} `object` The object with keys to filter. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Object} Returns an object with only keys that match the given patterns. + * @api public + */ + +micromatch.matchKeys = (obj, patterns, options) => { + if (!utils.isObject(obj)) { + throw new TypeError('Expected the first argument to be an object'); + } + let keys = micromatch(Object.keys(obj), patterns, options); + let res = {}; + for (let key of keys) res[key] = obj[key]; + return res; +}; + +/** + * Returns true if some of the strings in the given `list` match any of the given glob `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.some(list, patterns[, options]); + * + * console.log(mm.some(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); + * // true + * console.log(mm.some(['foo.js'], ['*.js', '!foo.js'])); + * // false + * ``` + * @param {String|Array} `list` The string or array of strings to test. Returns as soon as the first match is found. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any `patterns` matches any of the strings in `list` + * @api public + */ + +micromatch.some = (list, patterns, options) => { + let items = [].concat(list); + + for (let pattern of [].concat(patterns)) { + let isMatch = picomatch(String(pattern), options); + if (items.some(item => isMatch(item))) { + return true; + } + } + return false; +}; + +/** + * Returns true if every string in the given `list` matches + * any of the given glob `patterns`. + * + * ```js + * const mm = require('micromatch'); + * // mm.every(list, patterns[, options]); + * + * console.log(mm.every('foo.js', ['foo.js'])); + * // true + * console.log(mm.every(['foo.js', 'bar.js'], ['*.js'])); + * // true + * console.log(mm.every(['foo.js', 'bar.js'], ['*.js', '!foo.js'])); + * // false + * console.log(mm.every(['foo.js'], ['*.js', '!foo.js'])); + * // false + * ``` + * @param {String|Array} `list` The string or array of strings to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if all `patterns` matches all of the strings in `list` + * @api public + */ + +micromatch.every = (list, patterns, options) => { + let items = [].concat(list); + + for (let pattern of [].concat(patterns)) { + let isMatch = picomatch(String(pattern), options); + if (!items.every(item => isMatch(item))) { + return false; + } + } + return true; +}; + +/** + * Returns true if **all** of the given `patterns` match + * the specified string. + * + * ```js + * const mm = require('micromatch'); + * // mm.all(string, patterns[, options]); + * + * console.log(mm.all('foo.js', ['foo.js'])); + * // true + * + * console.log(mm.all('foo.js', ['*.js', '!foo.js'])); + * // false + * + * console.log(mm.all('foo.js', ['*.js', 'foo.js'])); + * // true + * + * console.log(mm.all('foo.js', ['*.js', 'f*', '*o*', '*o.js'])); + * // true + * ``` + * @param {String|Array} `str` The string to test. + * @param {String|Array} `patterns` One or more glob patterns to use for matching. + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Boolean} Returns true if any patterns match `str` + * @api public + */ + +micromatch.all = (str, patterns, options) => { + if (typeof str !== 'string') { + throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + } + + return [].concat(patterns).every(p => picomatch(p, options)(str)); +}; + +/** + * Returns an array of matches captured by `pattern` in `string, or `null` if the pattern did not match. + * + * ```js + * const mm = require('micromatch'); + * // mm.capture(pattern, string[, options]); + * + * console.log(mm.capture('test/*.js', 'test/foo.js')); + * //=> ['foo'] + * console.log(mm.capture('test/*.js', 'foo/bar.css')); + * //=> null + * ``` + * @param {String} `glob` Glob pattern to use for matching. + * @param {String} `input` String to match + * @param {Object} `options` See available [options](#options) for changing how matches are performed + * @return {Array|null} Returns an array of captures if the input matches the glob pattern, otherwise `null`. + * @api public + */ + +micromatch.capture = (glob, input, options) => { + let posix = utils.isWindows(options); + let regex = picomatch.makeRe(String(glob), { ...options, capture: true }); + let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); + + if (match) { + return match.slice(1).map(v => v === void 0 ? '' : v); + } +}; + +/** + * Create a regular expression from the given glob `pattern`. + * + * ```js + * const mm = require('micromatch'); + * // mm.makeRe(pattern[, options]); + * + * console.log(mm.makeRe('*.js')); + * //=> /^(?:(\.[\\\/])?(?!\.)(?=.)[^\/]*?\.js)$/ + * ``` + * @param {String} `pattern` A glob pattern to convert to regex. + * @param {Object} `options` + * @return {RegExp} Returns a regex created from the given pattern. + * @api public + */ + +micromatch.makeRe = (...args) => picomatch.makeRe(...args); + +/** + * Scan a glob pattern to separate the pattern into segments. Used + * by the [split](#split) method. + * + * ```js + * const mm = require('micromatch'); + * const state = mm.scan(pattern[, options]); + * ``` + * @param {String} `pattern` + * @param {Object} `options` + * @return {Object} Returns an object with + * @api public + */ + +micromatch.scan = (...args) => picomatch.scan(...args); + +/** + * Parse a glob pattern to create the source string for a regular + * expression. + * + * ```js + * const mm = require('micromatch'); + * const state = mm.parse(pattern[, options]); + * ``` + * @param {String} `glob` + * @param {Object} `options` + * @return {Object} Returns an object with useful properties and output to be used as regex source string. + * @api public + */ + +micromatch.parse = (patterns, options) => { + let res = []; + for (let pattern of [].concat(patterns || [])) { + for (let str of braces(String(pattern), options)) { + res.push(picomatch.parse(str, options)); + } + } + return res; +}; + +/** + * Process the given brace `pattern`. + * + * ```js + * const { braces } = require('micromatch'); + * console.log(braces('foo/{a,b,c}/bar')); + * //=> [ 'foo/(a|b|c)/bar' ] + * + * console.log(braces('foo/{a,b,c}/bar', { expand: true })); + * //=> [ 'foo/a/bar', 'foo/b/bar', 'foo/c/bar' ] + * ``` + * @param {String} `pattern` String with brace pattern to process. + * @param {Object} `options` Any [options](#options) to change how expansion is performed. See the [braces][] library for all available options. + * @return {Array} + * @api public + */ + +micromatch.braces = (pattern, options) => { + if (typeof pattern !== 'string') throw new TypeError('Expected a string'); + if ((options && options.nobrace === true) || !hasBraces(pattern)) { + return [pattern]; + } + return braces(pattern, options); +}; + +/** + * Expand braces + */ + +micromatch.braceExpand = (pattern, options) => { + if (typeof pattern !== 'string') throw new TypeError('Expected a string'); + return micromatch.braces(pattern, { ...options, expand: true }); +}; + +/** + * Expose micromatch + */ + +// exposed for tests +micromatch.hasBraces = hasBraces; +module.exports = micromatch; diff --git a/src/main/webapp/css/admins/sass/node_modules/micromatch/package.json b/src/main/webapp/css/admins/sass/node_modules/micromatch/package.json new file mode 100644 index 0000000..d5558bb --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/micromatch/package.json @@ -0,0 +1,119 @@ +{ + "name": "micromatch", + "description": "Glob matching for javascript/node.js. A replacement and faster alternative to minimatch and multimatch.", + "version": "4.0.8", + "homepage": "https://github.com/micromatch/micromatch", + "author": "Jon Schlinkert (https://github.com/jonschlinkert)", + "contributors": [ + "(https://github.com/DianeLooney)", + "Amila Welihinda (amilajack.com)", + "Bogdan Chadkin (https://github.com/TrySound)", + "Brian Woodward (https://twitter.com/doowb)", + "Devon Govett (http://badassjs.com)", + "Elan Shanker (https://github.com/es128)", + "Fabrício Matté (https://ultcombo.js.org)", + "Jon Schlinkert (http://twitter.com/jonschlinkert)", + "Martin Kolárik (https://kolarik.sk)", + "Olsten Larck (https://i.am.charlike.online)", + "Paul Miller (paulmillr.com)", + "Tom Byrer (https://github.com/tomByrer)", + "Tyler Akins (http://rumkin.com)", + "Peter Bright (https://github.com/drpizza)", + "Kuba Juszczyk (https://github.com/ku8ar)" + ], + "repository": "micromatch/micromatch", + "bugs": { + "url": "https://github.com/micromatch/micromatch/issues" + }, + "license": "MIT", + "files": [ + "index.js" + ], + "main": "index.js", + "engines": { + "node": ">=8.6" + }, + "scripts": { + "test": "mocha" + }, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "devDependencies": { + "fill-range": "^7.0.1", + "gulp-format-md": "^2.0.0", + "minimatch": "^5.0.1", + "mocha": "^9.2.2", + "time-require": "github:jonschlinkert/time-require" + }, + "keywords": [ + "bash", + "bracket", + "character-class", + "expand", + "expansion", + "expression", + "extglob", + "extglobs", + "file", + "files", + "filter", + "find", + "glob", + "globbing", + "globs", + "globstar", + "lookahead", + "lookaround", + "lookbehind", + "match", + "matcher", + "matches", + "matching", + "micromatch", + "minimatch", + "multimatch", + "negate", + "negation", + "path", + "pattern", + "patterns", + "posix", + "regex", + "regexp", + "regular", + "shell", + "star", + "wildcard" + ], + "verb": { + "toc": "collapsible", + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "lint": { + "reflinks": true + }, + "related": { + "list": [ + "braces", + "expand-brackets", + "extglob", + "fill-range", + "nanomatch" + ] + }, + "reflinks": [ + "extglob", + "fill-range", + "glob-object", + "minimatch", + "multimatch" + ] + } +} diff --git a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/license b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/LICENSE.md similarity index 88% rename from src/main/webapp/css/admins/sass/node_modules/is-binary-path/license rename to src/main/webapp/css/admins/sass/node_modules/node-addon-api/LICENSE.md index 401b1c7..819d91a 100644 --- a/src/main/webapp/css/admins/sass/node_modules/is-binary-path/license +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/LICENSE.md @@ -1,6 +1,6 @@ -MIT License +The MIT License (MIT) -Copyright (c) 2019 Sindre Sorhus (https://sindresorhus.com), Paul Miller (https://paulmillr.com) +Copyright (c) 2017 [Node.js API collaborators](https://github.com/nodejs/node-addon-api#collaborators) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/README.md b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/README.md new file mode 100644 index 0000000..e90eb7c --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/README.md @@ -0,0 +1,319 @@ +NOTE: The default branch has been renamed! +master is now named main + +If you have a local clone, you can update it by running: + +```shell +git branch -m master main +git fetch origin +git branch -u origin/main main +``` + +# **node-addon-api module** +This module contains **header-only C++ wrapper classes** which simplify +the use of the C based [Node-API](https://nodejs.org/dist/latest/docs/api/n-api.html) +provided by Node.js when using C++. It provides a C++ object model +and exception handling semantics with low overhead. + +There are three options for implementing addons: Node-API, nan, or direct +use of internal V8, libuv, and Node.js libraries. Unless there is a need for +direct access to functionality that is not exposed by Node-API as outlined +in [C/C++ addons](https://nodejs.org/dist/latest/docs/api/addons.html) +in Node.js core, use Node-API. Refer to +[C/C++ addons with Node-API](https://nodejs.org/dist/latest/docs/api/n-api.html) +for more information on Node-API. + +Node-API is an ABI stable C interface provided by Node.js for building native +addons. It is independent of the underlying JavaScript runtime (e.g. V8 or ChakraCore) +and is maintained as part of Node.js itself. It is intended to insulate +native addons from changes in the underlying JavaScript engine and allow +modules compiled for one version to run on later versions of Node.js without +recompilation. + +The `node-addon-api` module, which is not part of Node.js, preserves the benefits +of the Node-API as it consists only of inline code that depends only on the stable API +provided by Node-API. As such, modules built against one version of Node.js +using node-addon-api should run without having to be rebuilt with newer versions +of Node.js. + +It is important to remember that *other* Node.js interfaces such as +`libuv` (included in a project via `#include `) are not ABI-stable across +Node.js major versions. Thus, an addon must use Node-API and/or `node-addon-api` +exclusively and build against a version of Node.js that includes an +implementation of Node-API (meaning an active LTS version of Node.js) in +order to benefit from ABI stability across Node.js major versions. Node.js +provides an [ABI stability guide][] containing a detailed explanation of ABI +stability in general, and the Node-API ABI stability guarantee in particular. + +As new APIs are added to Node-API, node-addon-api must be updated to provide +wrappers for those new APIs. For this reason, node-addon-api provides +methods that allow callers to obtain the underlying Node-API handles so +direct calls to Node-API and the use of the objects/methods provided by +node-addon-api can be used together. For example, in order to be able +to use an API for which the node-addon-api does not yet provide a wrapper. + +APIs exposed by node-addon-api are generally used to create and +manipulate JavaScript values. Concepts and operations generally map +to ideas specified in the **ECMA262 Language Specification**. + +The [Node-API Resource](https://nodejs.github.io/node-addon-examples/) offers an +excellent orientation and tips for developers just getting started with Node-API +and node-addon-api. + +- **[Setup](#setup)** +- **[API Documentation](#api)** +- **[Examples](#examples)** +- **[Tests](#tests)** +- **[More resource and info about native Addons](#resources)** +- **[Badges](#badges)** +- **[Code of Conduct](CODE_OF_CONDUCT.md)** +- **[Contributors](#contributors)** +- **[License](#license)** + +## **Current version: 7.1.1** + +(See [CHANGELOG.md](CHANGELOG.md) for complete Changelog) + +[![NPM](https://nodei.co/npm/node-addon-api.png?downloads=true&downloadRank=true)](https://nodei.co/npm/node-addon-api/) [![NPM](https://nodei.co/npm-dl/node-addon-api.png?months=6&height=1)](https://nodei.co/npm/node-addon-api/) + + + +node-addon-api is based on [Node-API](https://nodejs.org/api/n-api.html) and supports using different Node-API versions. +This allows addons built with it to run with Node.js versions which support the targeted Node-API version. +**However** the node-addon-api support model is to support only the active LTS Node.js versions. This means that +every year there will be a new major which drops support for the Node.js LTS version which has gone out of service. + +The oldest Node.js version supported by the current version of node-addon-api is Node.js 16.x. + +## Setup + - [Installation and usage](doc/setup.md) + - [node-gyp](doc/node-gyp.md) + - [cmake-js](doc/cmake-js.md) + - [Conversion tool](doc/conversion-tool.md) + - [Checker tool](doc/checker-tool.md) + - [Generator](doc/generator.md) + - [Prebuild tools](doc/prebuild_tools.md) + + + +### **API Documentation** + +The following is the documentation for node-addon-api. + + - [Full Class Hierarchy](doc/hierarchy.md) + - [Addon Structure](doc/addon.md) + - Data Types: + - [Env](doc/env.md) + - [CallbackInfo](doc/callbackinfo.md) + - [Reference](doc/reference.md) + - [Value](doc/value.md) + - [Name](doc/name.md) + - [Symbol](doc/symbol.md) + - [String](doc/string.md) + - [Number](doc/number.md) + - [Date](doc/date.md) + - [BigInt](doc/bigint.md) + - [Boolean](doc/boolean.md) + - [External](doc/external.md) + - [Object](doc/object.md) + - [Array](doc/array.md) + - [ObjectReference](doc/object_reference.md) + - [PropertyDescriptor](doc/property_descriptor.md) + - [Function](doc/function.md) + - [FunctionReference](doc/function_reference.md) + - [ObjectWrap](doc/object_wrap.md) + - [ClassPropertyDescriptor](doc/class_property_descriptor.md) + - [Buffer](doc/buffer.md) + - [ArrayBuffer](doc/array_buffer.md) + - [TypedArray](doc/typed_array.md) + - [TypedArrayOf](doc/typed_array_of.md) + - [DataView](doc/dataview.md) + - [Error Handling](doc/error_handling.md) + - [Error](doc/error.md) + - [TypeError](doc/type_error.md) + - [RangeError](doc/range_error.md) + - [SyntaxError](doc/syntax_error.md) + - [Object Lifetime Management](doc/object_lifetime_management.md) + - [HandleScope](doc/handle_scope.md) + - [EscapableHandleScope](doc/escapable_handle_scope.md) + - [Memory Management](doc/memory_management.md) + - [Async Operations](doc/async_operations.md) + - [AsyncWorker](doc/async_worker.md) + - [AsyncContext](doc/async_context.md) + - [AsyncWorker Variants](doc/async_worker_variants.md) + - [Thread-safe Functions](doc/threadsafe.md) + - [ThreadSafeFunction](doc/threadsafe_function.md) + - [TypedThreadSafeFunction](doc/typed_threadsafe_function.md) + - [Promises](doc/promises.md) + - [Version management](doc/version_management.md) + + + +### **Examples** + +Are you new to **node-addon-api**? Take a look at our **[examples](https://github.com/nodejs/node-addon-examples)** + +- **[Hello World](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/1_hello_world)** +- **[Pass arguments to a function](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/2_function_arguments/node-addon-api)** +- **[Callbacks](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/3_callbacks/node-addon-api)** +- **[Object factory](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/4_object_factory/node-addon-api)** +- **[Function factory](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/5_function_factory/node-addon-api)** +- **[Wrapping C++ Object](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/6_object_wrap/node-addon-api)** +- **[Factory of wrapped object](https://github.com/nodejs/node-addon-examples/tree/main/src/1-getting-started/7_factory_wrap/node-addon-api)** +- **[Passing wrapped object around](https://github.com/nodejs/node-addon-examples/tree/main/src/2-js-to-native-conversion/8_passing_wrapped/node-addon-api)** + + + +### **Tests** + +To run the **node-addon-api** tests do: + +``` +npm install +npm test +``` + +To avoid testing the deprecated portions of the API run +``` +npm install +npm test --disable-deprecated +``` + +To run the tests targeting a specific version of Node-API run +``` +npm install +export NAPI_VERSION=X +npm test --NAPI_VERSION=X +``` + +where X is the version of Node-API you want to target. + +To run a specific unit test, filter conditions are available + +**Example:** + compile and run only tests on objectwrap.cc and objectwrap.js + ``` + npm run unit --filter=objectwrap + ``` + +Multiple unit tests cane be selected with wildcards + +**Example:** +compile and run all test files ending with "reference" -> function_reference.cc, object_reference.cc, reference.cc + ``` + npm run unit --filter=*reference + ``` + +Multiple filter conditions can be joined to broaden the test selection + +**Example:** + compile and run all tests under folders threadsafe_function and typed_threadsafe_function and also the objectwrap.cc file + npm run unit --filter='*function objectwrap' + +### **Debug** + +To run the **node-addon-api** tests with `--debug` option: + +``` +npm run-script dev +``` + +If you want a faster build, you might use the following option: + +``` +npm run-script dev:incremental +``` + +Take a look and get inspired by our **[test suite](https://github.com/nodejs/node-addon-api/tree/HEAD/test)** + +### **Benchmarks** + +You can run the available benchmarks using the following command: + +``` +npm run-script benchmark +``` + +See [benchmark/README.md](benchmark/README.md) for more details about running and adding benchmarks. + + + +### **More resource and info about native Addons** +- **[C++ Addons](https://nodejs.org/dist/latest/docs/api/addons.html)** +- **[Node-API](https://nodejs.org/dist/latest/docs/api/n-api.html)** +- **[Node-API - Next Generation Node API for Native Modules](https://youtu.be/-Oniup60Afs)** +- **[How We Migrated Realm JavaScript From NAN to Node-API](https://developer.mongodb.com/article/realm-javascript-nan-to-n-api)** + +As node-addon-api's core mission is to expose the plain C Node-API as C++ +wrappers, tools that facilitate n-api/node-addon-api providing more +convenient patterns for developing a Node.js add-on with n-api/node-addon-api +can be published to NPM as standalone packages. It is also recommended to tag +such packages with `node-addon-api` to provide more visibility to the community. + +Quick links to NPM searches: [keywords:node-addon-api](https://www.npmjs.com/search?q=keywords%3Anode-addon-api). + + + +### **Other bindings** + +- **[napi-rs](https://napi.rs)** - (`Rust`) + + + +### **Badges** + +The use of badges is recommended to indicate the minimum version of Node-API +required for the module. This helps to determine which Node.js major versions are +supported. Addon maintainers can consult the [Node-API support matrix][] to determine +which Node.js versions provide a given Node-API version. The following badges are +available: + +![Node-API v1 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v1%20Badge.svg) +![Node-API v2 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v2%20Badge.svg) +![Node-API v3 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v3%20Badge.svg) +![Node-API v4 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v4%20Badge.svg) +![Node-API v5 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v5%20Badge.svg) +![Node-API v6 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v6%20Badge.svg) +![Node-API v7 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v7%20Badge.svg) +![Node-API v8 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v8%20Badge.svg) +![Node-API v9 Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20v9%20Badge.svg) +![Node-API Experimental Version Badge](https://github.com/nodejs/abi-stable-node/blob/doc/assets/Node-API%20Experimental%20Version%20Badge.svg) + +## **Contributing** + +We love contributions from the community to **node-addon-api**! +See [CONTRIBUTING.md](CONTRIBUTING.md) for more details on our philosophy around extending this module. + + + +## Team members + +### Active +| Name | GitHub Link | +| ------------------- | ----------------------------------------------------- | +| Anna Henningsen | [addaleax](https://github.com/addaleax) | +| Chengzhong Wu | [legendecas](https://github.com/legendecas) | +| Jack Xia | [JckXia](https://github.com/JckXia) | +| Kevin Eady | [KevinEady](https://github.com/KevinEady) | +| Michael Dawson | [mhdawson](https://github.com/mhdawson) | +| Nicola Del Gobbo | [NickNaso](https://github.com/NickNaso) | +| Vladimir Morozov | [vmoroz](https://github.com/vmoroz) | + +### Emeritus +| Name | GitHub Link | +| ------------------- | ----------------------------------------------------- | +| Arunesh Chandra | [aruneshchandra](https://github.com/aruneshchandra) | +| Benjamin Byholm | [kkoopa](https://github.com/kkoopa) | +| Gabriel Schulhof | [gabrielschulhof](https://github.com/gabrielschulhof) | +| Hitesh Kanwathirtha | [digitalinfinity](https://github.com/digitalinfinity) | +| Jason Ginchereau | [jasongin](https://github.com/jasongin) | +| Jim Schlight | [jschlight](https://github.com/jschlight) | +| Sampson Gao | [sampsongao](https://github.com/sampsongao) | +| Taylor Woll | [boingoing](https://github.com/boingoing) | + + + +Licensed under [MIT](./LICENSE.md) + +[ABI stability guide]: https://nodejs.org/en/docs/guides/abi-stability/ +[Node-API support matrix]: https://nodejs.org/dist/latest/docs/api/n-api.html#n_api_n_api_version_matrix diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/common.gypi b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/common.gypi new file mode 100644 index 0000000..06c0176 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/common.gypi @@ -0,0 +1,20 @@ +{ + 'variables': { + 'NAPI_VERSION%': " +inline PropertyDescriptor PropertyDescriptor::Accessor( + const char* utf8name, + Getter getter, + napi_property_attributes attributes, + void* /*data*/) { + using CbData = details::CallbackData; + // TODO: Delete when the function is destroyed + auto callbackData = new CbData({getter, nullptr}); + + return PropertyDescriptor({utf8name, + nullptr, + nullptr, + CbData::Wrapper, + nullptr, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + const std::string& utf8name, + Getter getter, + napi_property_attributes attributes, + void* data) { + return Accessor(utf8name.c_str(), getter, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + napi_value name, + Getter getter, + napi_property_attributes attributes, + void* /*data*/) { + using CbData = details::CallbackData; + // TODO: Delete when the function is destroyed + auto callbackData = new CbData({getter, nullptr}); + + return PropertyDescriptor({nullptr, + name, + nullptr, + CbData::Wrapper, + nullptr, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Name name, Getter getter, napi_property_attributes attributes, void* data) { + napi_value nameValue = name; + return PropertyDescriptor::Accessor(nameValue, getter, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + const char* utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* /*data*/) { + using CbData = details::AccessorCallbackData; + // TODO: Delete when the function is destroyed + auto callbackData = new CbData({getter, setter, nullptr}); + + return PropertyDescriptor({utf8name, + nullptr, + nullptr, + CbData::GetterWrapper, + CbData::SetterWrapper, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + const std::string& utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* data) { + return Accessor(utf8name.c_str(), getter, setter, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + napi_value name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* /*data*/) { + using CbData = details::AccessorCallbackData; + // TODO: Delete when the function is destroyed + auto callbackData = new CbData({getter, setter, nullptr}); + + return PropertyDescriptor({nullptr, + name, + nullptr, + CbData::GetterWrapper, + CbData::SetterWrapper, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Name name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* data) { + napi_value nameValue = name; + return PropertyDescriptor::Accessor( + nameValue, getter, setter, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + const char* utf8name, + Callable cb, + napi_property_attributes attributes, + void* /*data*/) { + using ReturnType = decltype(cb(CallbackInfo(nullptr, nullptr))); + using CbData = details::CallbackData; + // TODO: Delete when the function is destroyed + auto callbackData = new CbData({cb, nullptr}); + + return PropertyDescriptor({utf8name, + nullptr, + CbData::Wrapper, + nullptr, + nullptr, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + const std::string& utf8name, + Callable cb, + napi_property_attributes attributes, + void* data) { + return Function(utf8name.c_str(), cb, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + napi_value name, + Callable cb, + napi_property_attributes attributes, + void* /*data*/) { + using ReturnType = decltype(cb(CallbackInfo(nullptr, nullptr))); + using CbData = details::CallbackData; + // TODO: Delete when the function is destroyed + auto callbackData = new CbData({cb, nullptr}); + + return PropertyDescriptor({nullptr, + name, + CbData::Wrapper, + nullptr, + nullptr, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + Name name, Callable cb, napi_property_attributes attributes, void* data) { + napi_value nameValue = name; + return PropertyDescriptor::Function(nameValue, cb, attributes, data); +} + +#endif // !SRC_NAPI_INL_DEPRECATED_H_ diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/napi-inl.h b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/napi-inl.h new file mode 100644 index 0000000..a5ae7af --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/napi-inl.h @@ -0,0 +1,6607 @@ +#ifndef SRC_NAPI_INL_H_ +#define SRC_NAPI_INL_H_ + +//////////////////////////////////////////////////////////////////////////////// +// Node-API C++ Wrapper Classes +// +// Inline header-only implementations for "Node-API" ABI-stable C APIs for +// Node.js. +//////////////////////////////////////////////////////////////////////////////// + +// Note: Do not include this file directly! Include "napi.h" instead. + +#include +#include +#if NAPI_HAS_THREADS +#include +#endif // NAPI_HAS_THREADS +#include +#include + +namespace Napi { + +#ifdef NAPI_CPP_CUSTOM_NAMESPACE +namespace NAPI_CPP_CUSTOM_NAMESPACE { +#endif + +// Helpers to handle functions exposed from C++ and internal constants. +namespace details { + +// New napi_status constants not yet available in all supported versions of +// Node.js releases. Only necessary when they are used in napi.h and napi-inl.h. +constexpr int napi_no_external_buffers_allowed = 22; + +template +inline void default_finalizer(napi_env /*env*/, void* data, void* /*hint*/) { + delete static_cast(data); +} + +// Attach a data item to an object and delete it when the object gets +// garbage-collected. +// TODO: Replace this code with `napi_add_finalizer()` whenever it becomes +// available on all supported versions of Node.js. +template > +inline napi_status AttachData(napi_env env, + napi_value obj, + FreeType* data, + void* hint = nullptr) { + napi_status status; +#if (NAPI_VERSION < 5) + napi_value symbol, external; + status = napi_create_symbol(env, nullptr, &symbol); + if (status == napi_ok) { + status = napi_create_external(env, data, finalizer, hint, &external); + if (status == napi_ok) { + napi_property_descriptor desc = {nullptr, + symbol, + nullptr, + nullptr, + nullptr, + external, + napi_default, + nullptr}; + status = napi_define_properties(env, obj, 1, &desc); + } + } +#else // NAPI_VERSION >= 5 + status = napi_add_finalizer(env, obj, data, finalizer, hint, nullptr); +#endif + return status; +} + +// For use in JS to C++ callback wrappers to catch any Napi::Error exceptions +// and rethrow them as JavaScript exceptions before returning from the callback. +template +inline napi_value WrapCallback(Callable callback) { +#ifdef NAPI_CPP_EXCEPTIONS + try { + return callback(); + } catch (const Error& e) { + e.ThrowAsJavaScriptException(); + return nullptr; + } +#else // NAPI_CPP_EXCEPTIONS + // When C++ exceptions are disabled, errors are immediately thrown as JS + // exceptions, so there is no need to catch and rethrow them here. + return callback(); +#endif // NAPI_CPP_EXCEPTIONS +} + +// For use in JS to C++ void callback wrappers to catch any Napi::Error +// exceptions and rethrow them as JavaScript exceptions before returning from +// the callback. +template +inline void WrapVoidCallback(Callable callback) { +#ifdef NAPI_CPP_EXCEPTIONS + try { + callback(); + } catch (const Error& e) { + e.ThrowAsJavaScriptException(); + } +#else // NAPI_CPP_EXCEPTIONS + // When C++ exceptions are disabled, errors are immediately thrown as JS + // exceptions, so there is no need to catch and rethrow them here. + callback(); +#endif // NAPI_CPP_EXCEPTIONS +} + +template +struct CallbackData { + static inline napi_value Wrapper(napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + CallbackData* callbackData = + static_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + return callbackData->callback(callbackInfo); + }); + } + + Callable callback; + void* data; +}; + +template +struct CallbackData { + static inline napi_value Wrapper(napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + CallbackData* callbackData = + static_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + callbackData->callback(callbackInfo); + return nullptr; + }); + } + + Callable callback; + void* data; +}; + +template +napi_value TemplatedVoidCallback(napi_env env, + napi_callback_info info) NAPI_NOEXCEPT { + return details::WrapCallback([&] { + CallbackInfo cbInfo(env, info); + Callback(cbInfo); + return nullptr; + }); +} + +template +napi_value TemplatedCallback(napi_env env, + napi_callback_info info) NAPI_NOEXCEPT { + return details::WrapCallback([&] { + CallbackInfo cbInfo(env, info); + return Callback(cbInfo); + }); +} + +template +napi_value TemplatedInstanceCallback(napi_env env, + napi_callback_info info) NAPI_NOEXCEPT { + return details::WrapCallback([&] { + CallbackInfo cbInfo(env, info); + T* instance = T::Unwrap(cbInfo.This().As()); + return instance ? (instance->*UnwrapCallback)(cbInfo) : Napi::Value(); + }); +} + +template +napi_value TemplatedInstanceVoidCallback(napi_env env, napi_callback_info info) + NAPI_NOEXCEPT { + return details::WrapCallback([&] { + CallbackInfo cbInfo(env, info); + T* instance = T::Unwrap(cbInfo.This().As()); + if (instance) (instance->*UnwrapCallback)(cbInfo); + return nullptr; + }); +} + +template +struct FinalizeData { + static inline void Wrapper(napi_env env, + void* data, + void* finalizeHint) NAPI_NOEXCEPT { + WrapVoidCallback([&] { + FinalizeData* finalizeData = static_cast(finalizeHint); + finalizeData->callback(Env(env), static_cast(data)); + delete finalizeData; + }); + } + + static inline void WrapperWithHint(napi_env env, + void* data, + void* finalizeHint) NAPI_NOEXCEPT { + WrapVoidCallback([&] { + FinalizeData* finalizeData = static_cast(finalizeHint); + finalizeData->callback( + Env(env), static_cast(data), finalizeData->hint); + delete finalizeData; + }); + } + + Finalizer callback; + Hint* hint; +}; + +#if (NAPI_VERSION > 3 && NAPI_HAS_THREADS) +template , + typename FinalizerDataType = void> +struct ThreadSafeFinalize { + static inline void Wrapper(napi_env env, + void* rawFinalizeData, + void* /* rawContext */) { + if (rawFinalizeData == nullptr) return; + + ThreadSafeFinalize* finalizeData = + static_cast(rawFinalizeData); + finalizeData->callback(Env(env)); + delete finalizeData; + } + + static inline void FinalizeWrapperWithData(napi_env env, + void* rawFinalizeData, + void* /* rawContext */) { + if (rawFinalizeData == nullptr) return; + + ThreadSafeFinalize* finalizeData = + static_cast(rawFinalizeData); + finalizeData->callback(Env(env), finalizeData->data); + delete finalizeData; + } + + static inline void FinalizeWrapperWithContext(napi_env env, + void* rawFinalizeData, + void* rawContext) { + if (rawFinalizeData == nullptr) return; + + ThreadSafeFinalize* finalizeData = + static_cast(rawFinalizeData); + finalizeData->callback(Env(env), static_cast(rawContext)); + delete finalizeData; + } + + static inline void FinalizeFinalizeWrapperWithDataAndContext( + napi_env env, void* rawFinalizeData, void* rawContext) { + if (rawFinalizeData == nullptr) return; + + ThreadSafeFinalize* finalizeData = + static_cast(rawFinalizeData); + finalizeData->callback( + Env(env), finalizeData->data, static_cast(rawContext)); + delete finalizeData; + } + + FinalizerDataType* data; + Finalizer callback; +}; + +template +inline typename std::enable_if(nullptr)>::type +CallJsWrapper(napi_env env, napi_value jsCallback, void* context, void* data) { + details::WrapVoidCallback([&]() { + call(env, + Function(env, jsCallback), + static_cast(context), + static_cast(data)); + }); +} + +template +inline typename std::enable_if(nullptr)>::type +CallJsWrapper(napi_env env, + napi_value jsCallback, + void* /*context*/, + void* /*data*/) { + details::WrapVoidCallback([&]() { + if (jsCallback != nullptr) { + Function(env, jsCallback).Call(0, nullptr); + } + }); +} + +#if NAPI_VERSION > 4 + +template +napi_value DefaultCallbackWrapper(napi_env /*env*/, std::nullptr_t /*cb*/) { + return nullptr; +} + +template +napi_value DefaultCallbackWrapper(napi_env /*env*/, Napi::Function cb) { + return cb; +} + +#else +template +napi_value DefaultCallbackWrapper(napi_env env, Napi::Function cb) { + if (cb.IsEmpty()) { + return TSFN::EmptyFunctionFactory(env); + } + return cb; +} +#endif // NAPI_VERSION > 4 +#endif // NAPI_VERSION > 3 && NAPI_HAS_THREADS + +template +struct AccessorCallbackData { + static inline napi_value GetterWrapper(napi_env env, + napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + AccessorCallbackData* callbackData = + static_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + return callbackData->getterCallback(callbackInfo); + }); + } + + static inline napi_value SetterWrapper(napi_env env, + napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + AccessorCallbackData* callbackData = + static_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + callbackData->setterCallback(callbackInfo); + return nullptr; + }); + } + + Getter getterCallback; + Setter setterCallback; + void* data; +}; + +} // namespace details + +#ifndef NODE_ADDON_API_DISABLE_DEPRECATED +#include "napi-inl.deprecated.h" +#endif // !NODE_ADDON_API_DISABLE_DEPRECATED + +//////////////////////////////////////////////////////////////////////////////// +// Module registration +//////////////////////////////////////////////////////////////////////////////// + +// Register an add-on based on an initializer function. +#define NODE_API_MODULE(modname, regfunc) \ + static napi_value __napi_##regfunc(napi_env env, napi_value exports) { \ + return Napi::RegisterModule(env, exports, regfunc); \ + } \ + NAPI_MODULE(modname, __napi_##regfunc) + +// Register an add-on based on a subclass of `Addon` with a custom Node.js +// module name. +#define NODE_API_NAMED_ADDON(modname, classname) \ + static napi_value __napi_##classname(napi_env env, napi_value exports) { \ + return Napi::RegisterModule(env, exports, &classname::Init); \ + } \ + NAPI_MODULE(modname, __napi_##classname) + +// Register an add-on based on a subclass of `Addon` with the Node.js module +// name given by node-gyp from the `target_name` in binding.gyp. +#define NODE_API_ADDON(classname) \ + NODE_API_NAMED_ADDON(NODE_GYP_MODULE_NAME, classname) + +// Adapt the NAPI_MODULE registration function: +// - Wrap the arguments in NAPI wrappers. +// - Catch any NAPI errors and rethrow as JS exceptions. +inline napi_value RegisterModule(napi_env env, + napi_value exports, + ModuleRegisterCallback registerCallback) { + return details::WrapCallback([&] { + return napi_value( + registerCallback(Napi::Env(env), Napi::Object(env, exports))); + }); +} + +//////////////////////////////////////////////////////////////////////////////// +// Maybe class +//////////////////////////////////////////////////////////////////////////////// + +template +bool Maybe::IsNothing() const { + return !_has_value; +} + +template +bool Maybe::IsJust() const { + return _has_value; +} + +template +void Maybe::Check() const { + NAPI_CHECK(IsJust(), "Napi::Maybe::Check", "Maybe value is Nothing."); +} + +template +T Maybe::Unwrap() const { + NAPI_CHECK(IsJust(), "Napi::Maybe::Unwrap", "Maybe value is Nothing."); + return _value; +} + +template +T Maybe::UnwrapOr(const T& default_value) const { + return _has_value ? _value : default_value; +} + +template +bool Maybe::UnwrapTo(T* out) const { + if (IsJust()) { + *out = _value; + return true; + }; + return false; +} + +template +bool Maybe::operator==(const Maybe& other) const { + return (IsJust() == other.IsJust()) && + (!IsJust() || Unwrap() == other.Unwrap()); +} + +template +bool Maybe::operator!=(const Maybe& other) const { + return !operator==(other); +} + +template +Maybe::Maybe() : _has_value(false) {} + +template +Maybe::Maybe(const T& t) : _has_value(true), _value(t) {} + +template +inline Maybe Nothing() { + return Maybe(); +} + +template +inline Maybe Just(const T& t) { + return Maybe(t); +} + +//////////////////////////////////////////////////////////////////////////////// +// Env class +//////////////////////////////////////////////////////////////////////////////// + +inline Env::Env(napi_env env) : _env(env) {} + +inline Env::operator napi_env() const { + return _env; +} + +inline Object Env::Global() const { + napi_value value; + napi_status status = napi_get_global(*this, &value); + NAPI_THROW_IF_FAILED(*this, status, Object()); + return Object(*this, value); +} + +inline Value Env::Undefined() const { + napi_value value; + napi_status status = napi_get_undefined(*this, &value); + NAPI_THROW_IF_FAILED(*this, status, Value()); + return Value(*this, value); +} + +inline Value Env::Null() const { + napi_value value; + napi_status status = napi_get_null(*this, &value); + NAPI_THROW_IF_FAILED(*this, status, Value()); + return Value(*this, value); +} + +inline bool Env::IsExceptionPending() const { + bool result; + napi_status status = napi_is_exception_pending(_env, &result); + if (status != napi_ok) + result = false; // Checking for a pending exception shouldn't throw. + return result; +} + +inline Error Env::GetAndClearPendingException() const { + napi_value value; + napi_status status = napi_get_and_clear_last_exception(_env, &value); + if (status != napi_ok) { + // Don't throw another exception when failing to get the exception! + return Error(); + } + return Error(_env, value); +} + +inline MaybeOrValue Env::RunScript(const char* utf8script) const { + String script = String::New(_env, utf8script); + return RunScript(script); +} + +inline MaybeOrValue Env::RunScript(const std::string& utf8script) const { + return RunScript(utf8script.c_str()); +} + +inline MaybeOrValue Env::RunScript(String script) const { + napi_value result; + napi_status status = napi_run_script(_env, script, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Value(_env, result), Napi::Value); +} + +#if NAPI_VERSION > 2 +template +void Env::CleanupHook::Wrapper(void* data) NAPI_NOEXCEPT { + auto* cleanupData = + static_cast::CleanupData*>( + data); + cleanupData->hook(); + delete cleanupData; +} + +template +void Env::CleanupHook::WrapperWithArg(void* data) NAPI_NOEXCEPT { + auto* cleanupData = + static_cast::CleanupData*>( + data); + cleanupData->hook(static_cast(cleanupData->arg)); + delete cleanupData; +} +#endif // NAPI_VERSION > 2 + +#if NAPI_VERSION > 5 +template fini> +inline void Env::SetInstanceData(T* data) const { + napi_status status = napi_set_instance_data( + _env, + data, + [](napi_env env, void* data, void*) { fini(env, static_cast(data)); }, + nullptr); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +template fini> +inline void Env::SetInstanceData(DataType* data, HintType* hint) const { + napi_status status = napi_set_instance_data( + _env, + data, + [](napi_env env, void* data, void* hint) { + fini(env, static_cast(data), static_cast(hint)); + }, + hint); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +template +inline T* Env::GetInstanceData() const { + void* data = nullptr; + + napi_status status = napi_get_instance_data(_env, &data); + NAPI_THROW_IF_FAILED(_env, status, nullptr); + + return static_cast(data); +} + +template +void Env::DefaultFini(Env, T* data) { + delete data; +} + +template +void Env::DefaultFiniWithHint(Env, DataType* data, HintType*) { + delete data; +} +#endif // NAPI_VERSION > 5 + +#if NAPI_VERSION > 8 +inline const char* Env::GetModuleFileName() const { + const char* result; + napi_status status = node_api_get_module_file_name(_env, &result); + NAPI_THROW_IF_FAILED(*this, status, nullptr); + return result; +} +#endif // NAPI_VERSION > 8 +//////////////////////////////////////////////////////////////////////////////// +// Value class +//////////////////////////////////////////////////////////////////////////////// + +inline Value::Value() : _env(nullptr), _value(nullptr) {} + +inline Value::Value(napi_env env, napi_value value) + : _env(env), _value(value) {} + +inline Value::operator napi_value() const { + return _value; +} + +inline bool Value::operator==(const Value& other) const { + return StrictEquals(other); +} + +inline bool Value::operator!=(const Value& other) const { + return !this->operator==(other); +} + +inline bool Value::StrictEquals(const Value& other) const { + bool result; + napi_status status = napi_strict_equals(_env, *this, other, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline Napi::Env Value::Env() const { + return Napi::Env(_env); +} + +inline bool Value::IsEmpty() const { + return _value == nullptr; +} + +inline napi_valuetype Value::Type() const { + if (IsEmpty()) { + return napi_undefined; + } + + napi_valuetype type; + napi_status status = napi_typeof(_env, _value, &type); + NAPI_THROW_IF_FAILED(_env, status, napi_undefined); + return type; +} + +inline bool Value::IsUndefined() const { + return Type() == napi_undefined; +} + +inline bool Value::IsNull() const { + return Type() == napi_null; +} + +inline bool Value::IsBoolean() const { + return Type() == napi_boolean; +} + +inline bool Value::IsNumber() const { + return Type() == napi_number; +} + +#if NAPI_VERSION > 5 +inline bool Value::IsBigInt() const { + return Type() == napi_bigint; +} +#endif // NAPI_VERSION > 5 + +#if (NAPI_VERSION > 4) +inline bool Value::IsDate() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_date(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} +#endif + +inline bool Value::IsString() const { + return Type() == napi_string; +} + +inline bool Value::IsSymbol() const { + return Type() == napi_symbol; +} + +inline bool Value::IsArray() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_array(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline bool Value::IsArrayBuffer() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_arraybuffer(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline bool Value::IsTypedArray() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_typedarray(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline bool Value::IsObject() const { + return Type() == napi_object || IsFunction(); +} + +inline bool Value::IsFunction() const { + return Type() == napi_function; +} + +inline bool Value::IsPromise() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_promise(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline bool Value::IsDataView() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_dataview(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline bool Value::IsBuffer() const { + if (IsEmpty()) { + return false; + } + + bool result; + napi_status status = napi_is_buffer(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +inline bool Value::IsExternal() const { + return Type() == napi_external; +} + +template +inline T Value::As() const { +#ifdef NODE_ADDON_API_ENABLE_TYPE_CHECK_ON_AS + T::CheckCast(_env, _value); +#endif + return T(_env, _value); +} + +inline MaybeOrValue Value::ToBoolean() const { + napi_value result; + napi_status status = napi_coerce_to_bool(_env, _value, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Boolean(_env, result), Napi::Boolean); +} + +inline MaybeOrValue Value::ToNumber() const { + napi_value result; + napi_status status = napi_coerce_to_number(_env, _value, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Number(_env, result), Napi::Number); +} + +inline MaybeOrValue Value::ToString() const { + napi_value result; + napi_status status = napi_coerce_to_string(_env, _value, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::String(_env, result), Napi::String); +} + +inline MaybeOrValue Value::ToObject() const { + napi_value result; + napi_status status = napi_coerce_to_object(_env, _value, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Object(_env, result), Napi::Object); +} + +//////////////////////////////////////////////////////////////////////////////// +// Boolean class +//////////////////////////////////////////////////////////////////////////////// + +inline Boolean Boolean::New(napi_env env, bool val) { + napi_value value; + napi_status status = napi_get_boolean(env, val, &value); + NAPI_THROW_IF_FAILED(env, status, Boolean()); + return Boolean(env, value); +} + +inline void Boolean::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Boolean::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "Boolean::CheckCast", "napi_typeof failed"); + NAPI_CHECK( + type == napi_boolean, "Boolean::CheckCast", "value is not napi_boolean"); +} + +inline Boolean::Boolean() : Napi::Value() {} + +inline Boolean::Boolean(napi_env env, napi_value value) + : Napi::Value(env, value) {} + +inline Boolean::operator bool() const { + return Value(); +} + +inline bool Boolean::Value() const { + bool result; + napi_status status = napi_get_value_bool(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +//////////////////////////////////////////////////////////////////////////////// +// Number class +//////////////////////////////////////////////////////////////////////////////// + +inline Number Number::New(napi_env env, double val) { + napi_value value; + napi_status status = napi_create_double(env, val, &value); + NAPI_THROW_IF_FAILED(env, status, Number()); + return Number(env, value); +} + +inline void Number::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Number::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "Number::CheckCast", "napi_typeof failed"); + NAPI_CHECK( + type == napi_number, "Number::CheckCast", "value is not napi_number"); +} + +inline Number::Number() : Value() {} + +inline Number::Number(napi_env env, napi_value value) : Value(env, value) {} + +inline Number::operator int32_t() const { + return Int32Value(); +} + +inline Number::operator uint32_t() const { + return Uint32Value(); +} + +inline Number::operator int64_t() const { + return Int64Value(); +} + +inline Number::operator float() const { + return FloatValue(); +} + +inline Number::operator double() const { + return DoubleValue(); +} + +inline int32_t Number::Int32Value() const { + int32_t result; + napi_status status = napi_get_value_int32(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +inline uint32_t Number::Uint32Value() const { + uint32_t result; + napi_status status = napi_get_value_uint32(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +inline int64_t Number::Int64Value() const { + int64_t result; + napi_status status = napi_get_value_int64(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +inline float Number::FloatValue() const { + return static_cast(DoubleValue()); +} + +inline double Number::DoubleValue() const { + double result; + napi_status status = napi_get_value_double(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +#if NAPI_VERSION > 5 +//////////////////////////////////////////////////////////////////////////////// +// BigInt Class +//////////////////////////////////////////////////////////////////////////////// + +inline BigInt BigInt::New(napi_env env, int64_t val) { + napi_value value; + napi_status status = napi_create_bigint_int64(env, val, &value); + NAPI_THROW_IF_FAILED(env, status, BigInt()); + return BigInt(env, value); +} + +inline BigInt BigInt::New(napi_env env, uint64_t val) { + napi_value value; + napi_status status = napi_create_bigint_uint64(env, val, &value); + NAPI_THROW_IF_FAILED(env, status, BigInt()); + return BigInt(env, value); +} + +inline BigInt BigInt::New(napi_env env, + int sign_bit, + size_t word_count, + const uint64_t* words) { + napi_value value; + napi_status status = + napi_create_bigint_words(env, sign_bit, word_count, words, &value); + NAPI_THROW_IF_FAILED(env, status, BigInt()); + return BigInt(env, value); +} + +inline void BigInt::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "BigInt::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "BigInt::CheckCast", "napi_typeof failed"); + NAPI_CHECK( + type == napi_bigint, "BigInt::CheckCast", "value is not napi_bigint"); +} + +inline BigInt::BigInt() : Value() {} + +inline BigInt::BigInt(napi_env env, napi_value value) : Value(env, value) {} + +inline int64_t BigInt::Int64Value(bool* lossless) const { + int64_t result; + napi_status status = + napi_get_value_bigint_int64(_env, _value, &result, lossless); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +inline uint64_t BigInt::Uint64Value(bool* lossless) const { + uint64_t result; + napi_status status = + napi_get_value_bigint_uint64(_env, _value, &result, lossless); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +inline size_t BigInt::WordCount() const { + size_t word_count; + napi_status status = + napi_get_value_bigint_words(_env, _value, nullptr, &word_count, nullptr); + NAPI_THROW_IF_FAILED(_env, status, 0); + return word_count; +} + +inline void BigInt::ToWords(int* sign_bit, + size_t* word_count, + uint64_t* words) { + napi_status status = + napi_get_value_bigint_words(_env, _value, sign_bit, word_count, words); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} +#endif // NAPI_VERSION > 5 + +#if (NAPI_VERSION > 4) +//////////////////////////////////////////////////////////////////////////////// +// Date Class +//////////////////////////////////////////////////////////////////////////////// + +inline Date Date::New(napi_env env, double val) { + napi_value value; + napi_status status = napi_create_date(env, val, &value); + NAPI_THROW_IF_FAILED(env, status, Date()); + return Date(env, value); +} + +inline void Date::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Date::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_date(env, value, &result); + NAPI_CHECK(status == napi_ok, "Date::CheckCast", "napi_is_date failed"); + NAPI_CHECK(result, "Date::CheckCast", "value is not date"); +} + +inline Date::Date() : Value() {} + +inline Date::Date(napi_env env, napi_value value) : Value(env, value) {} + +inline Date::operator double() const { + return ValueOf(); +} + +inline double Date::ValueOf() const { + double result; + napi_status status = napi_get_date_value(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} +#endif + +//////////////////////////////////////////////////////////////////////////////// +// Name class +//////////////////////////////////////////////////////////////////////////////// +inline void Name::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Name::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "Name::CheckCast", "napi_typeof failed"); + NAPI_CHECK(type == napi_string || type == napi_symbol, + "Name::CheckCast", + "value is not napi_string or napi_symbol"); +} + +inline Name::Name() : Value() {} + +inline Name::Name(napi_env env, napi_value value) : Value(env, value) {} + +//////////////////////////////////////////////////////////////////////////////// +// String class +//////////////////////////////////////////////////////////////////////////////// + +inline String String::New(napi_env env, const std::string& val) { + return String::New(env, val.c_str(), val.size()); +} + +inline String String::New(napi_env env, const std::u16string& val) { + return String::New(env, val.c_str(), val.size()); +} + +inline String String::New(napi_env env, const char* val) { + // TODO(@gabrielschulhof) Remove if-statement when core's error handling is + // available in all supported versions. + if (val == nullptr) { + // Throw an error that looks like it came from core. + NAPI_THROW_IF_FAILED(env, napi_invalid_arg, String()); + } + napi_value value; + napi_status status = + napi_create_string_utf8(env, val, std::strlen(val), &value); + NAPI_THROW_IF_FAILED(env, status, String()); + return String(env, value); +} + +inline String String::New(napi_env env, const char16_t* val) { + napi_value value; + // TODO(@gabrielschulhof) Remove if-statement when core's error handling is + // available in all supported versions. + if (val == nullptr) { + // Throw an error that looks like it came from core. + NAPI_THROW_IF_FAILED(env, napi_invalid_arg, String()); + } + napi_status status = + napi_create_string_utf16(env, val, std::u16string(val).size(), &value); + NAPI_THROW_IF_FAILED(env, status, String()); + return String(env, value); +} + +inline String String::New(napi_env env, const char* val, size_t length) { + napi_value value; + napi_status status = napi_create_string_utf8(env, val, length, &value); + NAPI_THROW_IF_FAILED(env, status, String()); + return String(env, value); +} + +inline String String::New(napi_env env, const char16_t* val, size_t length) { + napi_value value; + napi_status status = napi_create_string_utf16(env, val, length, &value); + NAPI_THROW_IF_FAILED(env, status, String()); + return String(env, value); +} + +inline void String::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "String::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "String::CheckCast", "napi_typeof failed"); + NAPI_CHECK( + type == napi_string, "String::CheckCast", "value is not napi_string"); +} + +inline String::String() : Name() {} + +inline String::String(napi_env env, napi_value value) : Name(env, value) {} + +inline String::operator std::string() const { + return Utf8Value(); +} + +inline String::operator std::u16string() const { + return Utf16Value(); +} + +inline std::string String::Utf8Value() const { + size_t length; + napi_status status = + napi_get_value_string_utf8(_env, _value, nullptr, 0, &length); + NAPI_THROW_IF_FAILED(_env, status, ""); + + std::string value; + value.reserve(length + 1); + value.resize(length); + status = napi_get_value_string_utf8( + _env, _value, &value[0], value.capacity(), nullptr); + NAPI_THROW_IF_FAILED(_env, status, ""); + return value; +} + +inline std::u16string String::Utf16Value() const { + size_t length; + napi_status status = + napi_get_value_string_utf16(_env, _value, nullptr, 0, &length); + NAPI_THROW_IF_FAILED(_env, status, NAPI_WIDE_TEXT("")); + + std::u16string value; + value.reserve(length + 1); + value.resize(length); + status = napi_get_value_string_utf16( + _env, _value, &value[0], value.capacity(), nullptr); + NAPI_THROW_IF_FAILED(_env, status, NAPI_WIDE_TEXT("")); + return value; +} + +//////////////////////////////////////////////////////////////////////////////// +// Symbol class +//////////////////////////////////////////////////////////////////////////////// + +inline Symbol Symbol::New(napi_env env, const char* description) { + napi_value descriptionValue = description != nullptr + ? String::New(env, description) + : static_cast(nullptr); + return Symbol::New(env, descriptionValue); +} + +inline Symbol Symbol::New(napi_env env, const std::string& description) { + napi_value descriptionValue = String::New(env, description); + return Symbol::New(env, descriptionValue); +} + +inline Symbol Symbol::New(napi_env env, String description) { + napi_value descriptionValue = description; + return Symbol::New(env, descriptionValue); +} + +inline Symbol Symbol::New(napi_env env, napi_value description) { + napi_value value; + napi_status status = napi_create_symbol(env, description, &value); + NAPI_THROW_IF_FAILED(env, status, Symbol()); + return Symbol(env, value); +} + +inline MaybeOrValue Symbol::WellKnown(napi_env env, + const std::string& name) { +#if defined(NODE_ADDON_API_ENABLE_MAYBE) + Value symbol_obj; + Value symbol_value; + if (Napi::Env(env).Global().Get("Symbol").UnwrapTo(&symbol_obj) && + symbol_obj.As().Get(name).UnwrapTo(&symbol_value)) { + return Just(symbol_value.As()); + } + return Nothing(); +#else + return Napi::Env(env) + .Global() + .Get("Symbol") + .As() + .Get(name) + .As(); +#endif +} + +inline MaybeOrValue Symbol::For(napi_env env, + const std::string& description) { + napi_value descriptionValue = String::New(env, description); + return Symbol::For(env, descriptionValue); +} + +inline MaybeOrValue Symbol::For(napi_env env, const char* description) { + napi_value descriptionValue = String::New(env, description); + return Symbol::For(env, descriptionValue); +} + +inline MaybeOrValue Symbol::For(napi_env env, String description) { + return Symbol::For(env, static_cast(description)); +} + +inline MaybeOrValue Symbol::For(napi_env env, napi_value description) { +#if defined(NODE_ADDON_API_ENABLE_MAYBE) + Value symbol_obj; + Value symbol_for_value; + Value symbol_value; + if (Napi::Env(env).Global().Get("Symbol").UnwrapTo(&symbol_obj) && + symbol_obj.As().Get("for").UnwrapTo(&symbol_for_value) && + symbol_for_value.As() + .Call(symbol_obj, {description}) + .UnwrapTo(&symbol_value)) { + return Just(symbol_value.As()); + } + return Nothing(); +#else + Object symbol_obj = Napi::Env(env).Global().Get("Symbol").As(); + return symbol_obj.Get("for") + .As() + .Call(symbol_obj, {description}) + .As(); +#endif +} + +inline void Symbol::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Symbol::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "Symbol::CheckCast", "napi_typeof failed"); + NAPI_CHECK( + type == napi_symbol, "Symbol::CheckCast", "value is not napi_symbol"); +} + +inline Symbol::Symbol() : Name() {} + +inline Symbol::Symbol(napi_env env, napi_value value) : Name(env, value) {} + +//////////////////////////////////////////////////////////////////////////////// +// Automagic value creation +//////////////////////////////////////////////////////////////////////////////// + +namespace details { +template +struct vf_number { + static Number From(napi_env env, T value) { + return Number::New(env, static_cast(value)); + } +}; + +template <> +struct vf_number { + static Boolean From(napi_env env, bool value) { + return Boolean::New(env, value); + } +}; + +struct vf_utf8_charp { + static String From(napi_env env, const char* value) { + return String::New(env, value); + } +}; + +struct vf_utf16_charp { + static String From(napi_env env, const char16_t* value) { + return String::New(env, value); + } +}; +struct vf_utf8_string { + static String From(napi_env env, const std::string& value) { + return String::New(env, value); + } +}; + +struct vf_utf16_string { + static String From(napi_env env, const std::u16string& value) { + return String::New(env, value); + } +}; + +template +struct vf_fallback { + static Value From(napi_env env, const T& value) { return Value(env, value); } +}; + +template +struct disjunction : std::false_type {}; +template +struct disjunction : B {}; +template +struct disjunction + : std::conditional>::type {}; + +template +struct can_make_string + : disjunction::type, + typename std::is_convertible::type, + typename std::is_convertible::type, + typename std::is_convertible::type> {}; +} // namespace details + +template +Value Value::From(napi_env env, const T& value) { + using Helper = typename std::conditional< + std::is_integral::value || std::is_floating_point::value, + details::vf_number, + typename std::conditional::value, + String, + details::vf_fallback>::type>::type; + return Helper::From(env, value); +} + +template +String String::From(napi_env env, const T& value) { + struct Dummy {}; + using Helper = typename std::conditional< + std::is_convertible::value, + details::vf_utf8_charp, + typename std::conditional< + std::is_convertible::value, + details::vf_utf16_charp, + typename std::conditional< + std::is_convertible::value, + details::vf_utf8_string, + typename std::conditional< + std::is_convertible::value, + details::vf_utf16_string, + Dummy>::type>::type>::type>::type; + return Helper::From(env, value); +} + +//////////////////////////////////////////////////////////////////////////////// +// TypeTaggable class +//////////////////////////////////////////////////////////////////////////////// + +inline TypeTaggable::TypeTaggable() : Value() {} + +inline TypeTaggable::TypeTaggable(napi_env _env, napi_value _value) + : Value(_env, _value) {} + +#if NAPI_VERSION >= 8 + +inline void TypeTaggable::TypeTag(const napi_type_tag* type_tag) const { + napi_status status = napi_type_tag_object(_env, _value, type_tag); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline bool TypeTaggable::CheckTypeTag(const napi_type_tag* type_tag) const { + bool result; + napi_status status = + napi_check_object_type_tag(_env, _value, type_tag, &result); + NAPI_THROW_IF_FAILED(_env, status, false); + return result; +} + +#endif // NAPI_VERSION >= 8 + +//////////////////////////////////////////////////////////////////////////////// +// Object class +//////////////////////////////////////////////////////////////////////////////// + +template +inline Object::PropertyLValue::operator Value() const { + MaybeOrValue val = Object(_env, _object).Get(_key); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + return val.Unwrap(); +#else + return val; +#endif +} + +template +template +inline Object::PropertyLValue& Object::PropertyLValue::operator=( + ValueType value) { +#ifdef NODE_ADDON_API_ENABLE_MAYBE + MaybeOrValue result = +#endif + Object(_env, _object).Set(_key, value); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + result.Unwrap(); +#endif + return *this; +} + +template +inline Object::PropertyLValue::PropertyLValue(Object object, Key key) + : _env(object.Env()), _object(object), _key(key) {} + +inline Object Object::New(napi_env env) { + napi_value value; + napi_status status = napi_create_object(env, &value); + NAPI_THROW_IF_FAILED(env, status, Object()); + return Object(env, value); +} + +inline void Object::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Object::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "Object::CheckCast", "napi_typeof failed"); + NAPI_CHECK( + type == napi_object, "Object::CheckCast", "value is not napi_object"); +} + +inline Object::Object() : TypeTaggable() {} + +inline Object::Object(napi_env env, napi_value value) + : TypeTaggable(env, value) {} + +inline Object::PropertyLValue Object::operator[]( + const char* utf8name) { + return PropertyLValue(*this, utf8name); +} + +inline Object::PropertyLValue Object::operator[]( + const std::string& utf8name) { + return PropertyLValue(*this, utf8name); +} + +inline Object::PropertyLValue Object::operator[](uint32_t index) { + return PropertyLValue(*this, index); +} + +inline Object::PropertyLValue Object::operator[](Value index) const { + return PropertyLValue(*this, index); +} + +inline MaybeOrValue Object::operator[](const char* utf8name) const { + return Get(utf8name); +} + +inline MaybeOrValue Object::operator[]( + const std::string& utf8name) const { + return Get(utf8name); +} + +inline MaybeOrValue Object::operator[](uint32_t index) const { + return Get(index); +} + +inline MaybeOrValue Object::Has(napi_value key) const { + bool result; + napi_status status = napi_has_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::Has(Value key) const { + bool result; + napi_status status = napi_has_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::Has(const char* utf8name) const { + bool result; + napi_status status = napi_has_named_property(_env, _value, utf8name, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::Has(const std::string& utf8name) const { + return Has(utf8name.c_str()); +} + +inline MaybeOrValue Object::HasOwnProperty(napi_value key) const { + bool result; + napi_status status = napi_has_own_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::HasOwnProperty(Value key) const { + bool result; + napi_status status = napi_has_own_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::HasOwnProperty(const char* utf8name) const { + napi_value key; + napi_status status = + napi_create_string_utf8(_env, utf8name, std::strlen(utf8name), &key); + NAPI_MAYBE_THROW_IF_FAILED(_env, status, bool); + return HasOwnProperty(key); +} + +inline MaybeOrValue Object::HasOwnProperty( + const std::string& utf8name) const { + return HasOwnProperty(utf8name.c_str()); +} + +inline MaybeOrValue Object::Get(napi_value key) const { + napi_value result; + napi_status status = napi_get_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, Value(_env, result), Value); +} + +inline MaybeOrValue Object::Get(Value key) const { + napi_value result; + napi_status status = napi_get_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, Value(_env, result), Value); +} + +inline MaybeOrValue Object::Get(const char* utf8name) const { + napi_value result; + napi_status status = napi_get_named_property(_env, _value, utf8name, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, Value(_env, result), Value); +} + +inline MaybeOrValue Object::Get(const std::string& utf8name) const { + return Get(utf8name.c_str()); +} + +template +inline MaybeOrValue Object::Set(napi_value key, + const ValueType& value) const { + napi_status status = + napi_set_property(_env, _value, key, Value::From(_env, value)); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +template +inline MaybeOrValue Object::Set(Value key, const ValueType& value) const { + napi_status status = + napi_set_property(_env, _value, key, Value::From(_env, value)); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +template +inline MaybeOrValue Object::Set(const char* utf8name, + const ValueType& value) const { + napi_status status = + napi_set_named_property(_env, _value, utf8name, Value::From(_env, value)); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +template +inline MaybeOrValue Object::Set(const std::string& utf8name, + const ValueType& value) const { + return Set(utf8name.c_str(), value); +} + +inline MaybeOrValue Object::Delete(napi_value key) const { + bool result; + napi_status status = napi_delete_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::Delete(Value key) const { + bool result; + napi_status status = napi_delete_property(_env, _value, key, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::Delete(const char* utf8name) const { + return Delete(String::New(_env, utf8name)); +} + +inline MaybeOrValue Object::Delete(const std::string& utf8name) const { + return Delete(String::New(_env, utf8name)); +} + +inline MaybeOrValue Object::Has(uint32_t index) const { + bool result; + napi_status status = napi_has_element(_env, _value, index, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::Get(uint32_t index) const { + napi_value value; + napi_status status = napi_get_element(_env, _value, index, &value); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, Value(_env, value), Value); +} + +template +inline MaybeOrValue Object::Set(uint32_t index, + const ValueType& value) const { + napi_status status = + napi_set_element(_env, _value, index, Value::From(_env, value)); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +inline MaybeOrValue Object::Delete(uint32_t index) const { + bool result; + napi_status status = napi_delete_element(_env, _value, index, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +inline MaybeOrValue Object::GetPropertyNames() const { + napi_value result; + napi_status status = napi_get_property_names(_env, _value, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, Array(_env, result), Array); +} + +inline MaybeOrValue Object::DefineProperty( + const PropertyDescriptor& property) const { + napi_status status = napi_define_properties( + _env, + _value, + 1, + reinterpret_cast(&property)); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +inline MaybeOrValue Object::DefineProperties( + const std::initializer_list& properties) const { + napi_status status = napi_define_properties( + _env, + _value, + properties.size(), + reinterpret_cast(properties.begin())); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +inline MaybeOrValue Object::DefineProperties( + const std::vector& properties) const { + napi_status status = napi_define_properties( + _env, + _value, + properties.size(), + reinterpret_cast(properties.data())); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +inline MaybeOrValue Object::InstanceOf( + const Function& constructor) const { + bool result; + napi_status status = napi_instanceof(_env, _value, constructor, &result); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, result, bool); +} + +template +inline void Object::AddFinalizer(Finalizer finalizeCallback, T* data) const { + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), nullptr}); + napi_status status = + details::AttachData::Wrapper>( + _env, *this, data, finalizeData); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED_VOID(_env, status); + } +} + +template +inline void Object::AddFinalizer(Finalizer finalizeCallback, + T* data, + Hint* finalizeHint) const { + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), finalizeHint}); + napi_status status = details:: + AttachData::WrapperWithHint>( + _env, *this, data, finalizeData); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED_VOID(_env, status); + } +} + +#ifdef NAPI_CPP_EXCEPTIONS +inline Object::const_iterator::const_iterator(const Object* object, + const Type type) { + _object = object; + _keys = object->GetPropertyNames(); + _index = type == Type::BEGIN ? 0 : _keys.Length(); +} + +inline Object::const_iterator Napi::Object::begin() const { + const_iterator it(this, Object::const_iterator::Type::BEGIN); + return it; +} + +inline Object::const_iterator Napi::Object::end() const { + const_iterator it(this, Object::const_iterator::Type::END); + return it; +} + +inline Object::const_iterator& Object::const_iterator::operator++() { + ++_index; + return *this; +} + +inline bool Object::const_iterator::operator==( + const const_iterator& other) const { + return _index == other._index; +} + +inline bool Object::const_iterator::operator!=( + const const_iterator& other) const { + return _index != other._index; +} + +inline const std::pair> +Object::const_iterator::operator*() const { + const Value key = _keys[_index]; + const PropertyLValue value = (*_object)[key]; + return {key, value}; +} + +inline Object::iterator::iterator(Object* object, const Type type) { + _object = object; + _keys = object->GetPropertyNames(); + _index = type == Type::BEGIN ? 0 : _keys.Length(); +} + +inline Object::iterator Napi::Object::begin() { + iterator it(this, Object::iterator::Type::BEGIN); + return it; +} + +inline Object::iterator Napi::Object::end() { + iterator it(this, Object::iterator::Type::END); + return it; +} + +inline Object::iterator& Object::iterator::operator++() { + ++_index; + return *this; +} + +inline bool Object::iterator::operator==(const iterator& other) const { + return _index == other._index; +} + +inline bool Object::iterator::operator!=(const iterator& other) const { + return _index != other._index; +} + +inline std::pair> +Object::iterator::operator*() { + Value key = _keys[_index]; + PropertyLValue value = (*_object)[key]; + return {key, value}; +} +#endif // NAPI_CPP_EXCEPTIONS + +#if NAPI_VERSION >= 8 +inline MaybeOrValue Object::Freeze() const { + napi_status status = napi_object_freeze(_env, _value); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} + +inline MaybeOrValue Object::Seal() const { + napi_status status = napi_object_seal(_env, _value); + NAPI_RETURN_OR_THROW_IF_FAILED(_env, status, status == napi_ok, bool); +} +#endif // NAPI_VERSION >= 8 + +//////////////////////////////////////////////////////////////////////////////// +// External class +//////////////////////////////////////////////////////////////////////////////// + +template +inline External External::New(napi_env env, T* data) { + napi_value value; + napi_status status = + napi_create_external(env, data, nullptr, nullptr, &value); + NAPI_THROW_IF_FAILED(env, status, External()); + return External(env, value); +} + +template +template +inline External External::New(napi_env env, + T* data, + Finalizer finalizeCallback) { + napi_value value; + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), nullptr}); + napi_status status = + napi_create_external(env, + data, + details::FinalizeData::Wrapper, + finalizeData, + &value); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, External()); + } + return External(env, value); +} + +template +template +inline External External::New(napi_env env, + T* data, + Finalizer finalizeCallback, + Hint* finalizeHint) { + napi_value value; + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), finalizeHint}); + napi_status status = napi_create_external( + env, + data, + details::FinalizeData::WrapperWithHint, + finalizeData, + &value); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, External()); + } + return External(env, value); +} + +template +inline void External::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "External::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "External::CheckCast", "napi_typeof failed"); + NAPI_CHECK(type == napi_external, + "External::CheckCast", + "value is not napi_external"); +} + +template +inline External::External() : TypeTaggable() {} + +template +inline External::External(napi_env env, napi_value value) + : TypeTaggable(env, value) {} + +template +inline T* External::Data() const { + void* data; + napi_status status = napi_get_value_external(_env, _value, &data); + NAPI_THROW_IF_FAILED(_env, status, nullptr); + return reinterpret_cast(data); +} + +//////////////////////////////////////////////////////////////////////////////// +// Array class +//////////////////////////////////////////////////////////////////////////////// + +inline Array Array::New(napi_env env) { + napi_value value; + napi_status status = napi_create_array(env, &value); + NAPI_THROW_IF_FAILED(env, status, Array()); + return Array(env, value); +} + +inline Array Array::New(napi_env env, size_t length) { + napi_value value; + napi_status status = napi_create_array_with_length(env, length, &value); + NAPI_THROW_IF_FAILED(env, status, Array()); + return Array(env, value); +} + +inline void Array::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Array::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_array(env, value, &result); + NAPI_CHECK(status == napi_ok, "Array::CheckCast", "napi_is_array failed"); + NAPI_CHECK(result, "Array::CheckCast", "value is not array"); +} + +inline Array::Array() : Object() {} + +inline Array::Array(napi_env env, napi_value value) : Object(env, value) {} + +inline uint32_t Array::Length() const { + uint32_t result; + napi_status status = napi_get_array_length(_env, _value, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +//////////////////////////////////////////////////////////////////////////////// +// ArrayBuffer class +//////////////////////////////////////////////////////////////////////////////// + +inline ArrayBuffer ArrayBuffer::New(napi_env env, size_t byteLength) { + napi_value value; + void* data; + napi_status status = napi_create_arraybuffer(env, byteLength, &data, &value); + NAPI_THROW_IF_FAILED(env, status, ArrayBuffer()); + + return ArrayBuffer(env, value); +} + +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +inline ArrayBuffer ArrayBuffer::New(napi_env env, + void* externalData, + size_t byteLength) { + napi_value value; + napi_status status = napi_create_external_arraybuffer( + env, externalData, byteLength, nullptr, nullptr, &value); + NAPI_THROW_IF_FAILED(env, status, ArrayBuffer()); + + return ArrayBuffer(env, value); +} + +template +inline ArrayBuffer ArrayBuffer::New(napi_env env, + void* externalData, + size_t byteLength, + Finalizer finalizeCallback) { + napi_value value; + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), nullptr}); + napi_status status = napi_create_external_arraybuffer( + env, + externalData, + byteLength, + details::FinalizeData::Wrapper, + finalizeData, + &value); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, ArrayBuffer()); + } + + return ArrayBuffer(env, value); +} + +template +inline ArrayBuffer ArrayBuffer::New(napi_env env, + void* externalData, + size_t byteLength, + Finalizer finalizeCallback, + Hint* finalizeHint) { + napi_value value; + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), finalizeHint}); + napi_status status = napi_create_external_arraybuffer( + env, + externalData, + byteLength, + details::FinalizeData::WrapperWithHint, + finalizeData, + &value); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, ArrayBuffer()); + } + + return ArrayBuffer(env, value); +} +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + +inline void ArrayBuffer::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "ArrayBuffer::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_arraybuffer(env, value, &result); + NAPI_CHECK(status == napi_ok, + "ArrayBuffer::CheckCast", + "napi_is_arraybuffer failed"); + NAPI_CHECK(result, "ArrayBuffer::CheckCast", "value is not arraybuffer"); +} + +inline ArrayBuffer::ArrayBuffer() : Object() {} + +inline ArrayBuffer::ArrayBuffer(napi_env env, napi_value value) + : Object(env, value) {} + +inline void* ArrayBuffer::Data() { + void* data; + napi_status status = napi_get_arraybuffer_info(_env, _value, &data, nullptr); + NAPI_THROW_IF_FAILED(_env, status, nullptr); + return data; +} + +inline size_t ArrayBuffer::ByteLength() { + size_t length; + napi_status status = + napi_get_arraybuffer_info(_env, _value, nullptr, &length); + NAPI_THROW_IF_FAILED(_env, status, 0); + return length; +} + +#if NAPI_VERSION >= 7 +inline bool ArrayBuffer::IsDetached() const { + bool detached; + napi_status status = napi_is_detached_arraybuffer(_env, _value, &detached); + NAPI_THROW_IF_FAILED(_env, status, false); + return detached; +} + +inline void ArrayBuffer::Detach() { + napi_status status = napi_detach_arraybuffer(_env, _value); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} +#endif // NAPI_VERSION >= 7 + +//////////////////////////////////////////////////////////////////////////////// +// DataView class +//////////////////////////////////////////////////////////////////////////////// +inline DataView DataView::New(napi_env env, Napi::ArrayBuffer arrayBuffer) { + return New(env, arrayBuffer, 0, arrayBuffer.ByteLength()); +} + +inline DataView DataView::New(napi_env env, + Napi::ArrayBuffer arrayBuffer, + size_t byteOffset) { + if (byteOffset > arrayBuffer.ByteLength()) { + NAPI_THROW(RangeError::New( + env, "Start offset is outside the bounds of the buffer"), + DataView()); + } + return New( + env, arrayBuffer, byteOffset, arrayBuffer.ByteLength() - byteOffset); +} + +inline DataView DataView::New(napi_env env, + Napi::ArrayBuffer arrayBuffer, + size_t byteOffset, + size_t byteLength) { + if (byteOffset + byteLength > arrayBuffer.ByteLength()) { + NAPI_THROW(RangeError::New(env, "Invalid DataView length"), DataView()); + } + napi_value value; + napi_status status = + napi_create_dataview(env, byteLength, arrayBuffer, byteOffset, &value); + NAPI_THROW_IF_FAILED(env, status, DataView()); + return DataView(env, value); +} + +inline void DataView::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "DataView::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_dataview(env, value, &result); + NAPI_CHECK( + status == napi_ok, "DataView::CheckCast", "napi_is_dataview failed"); + NAPI_CHECK(result, "DataView::CheckCast", "value is not dataview"); +} + +inline DataView::DataView() : Object() {} + +inline DataView::DataView(napi_env env, napi_value value) : Object(env, value) { + napi_status status = napi_get_dataview_info(_env, + _value /* dataView */, + &_length /* byteLength */, + &_data /* data */, + nullptr /* arrayBuffer */, + nullptr /* byteOffset */); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline Napi::ArrayBuffer DataView::ArrayBuffer() const { + napi_value arrayBuffer; + napi_status status = napi_get_dataview_info(_env, + _value /* dataView */, + nullptr /* byteLength */, + nullptr /* data */, + &arrayBuffer /* arrayBuffer */, + nullptr /* byteOffset */); + NAPI_THROW_IF_FAILED(_env, status, Napi::ArrayBuffer()); + return Napi::ArrayBuffer(_env, arrayBuffer); +} + +inline size_t DataView::ByteOffset() const { + size_t byteOffset; + napi_status status = napi_get_dataview_info(_env, + _value /* dataView */, + nullptr /* byteLength */, + nullptr /* data */, + nullptr /* arrayBuffer */, + &byteOffset /* byteOffset */); + NAPI_THROW_IF_FAILED(_env, status, 0); + return byteOffset; +} + +inline size_t DataView::ByteLength() const { + return _length; +} + +inline void* DataView::Data() const { + return _data; +} + +inline float DataView::GetFloat32(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline double DataView::GetFloat64(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline int8_t DataView::GetInt8(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline int16_t DataView::GetInt16(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline int32_t DataView::GetInt32(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline uint8_t DataView::GetUint8(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline uint16_t DataView::GetUint16(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline uint32_t DataView::GetUint32(size_t byteOffset) const { + return ReadData(byteOffset); +} + +inline void DataView::SetFloat32(size_t byteOffset, float value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetFloat64(size_t byteOffset, double value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetInt8(size_t byteOffset, int8_t value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetInt16(size_t byteOffset, int16_t value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetInt32(size_t byteOffset, int32_t value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetUint8(size_t byteOffset, uint8_t value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetUint16(size_t byteOffset, uint16_t value) const { + WriteData(byteOffset, value); +} + +inline void DataView::SetUint32(size_t byteOffset, uint32_t value) const { + WriteData(byteOffset, value); +} + +template +inline T DataView::ReadData(size_t byteOffset) const { + if (byteOffset + sizeof(T) > _length || + byteOffset + sizeof(T) < byteOffset) { // overflow + NAPI_THROW( + RangeError::New(_env, "Offset is outside the bounds of the DataView"), + 0); + } + + return *reinterpret_cast(static_cast(_data) + byteOffset); +} + +template +inline void DataView::WriteData(size_t byteOffset, T value) const { + if (byteOffset + sizeof(T) > _length || + byteOffset + sizeof(T) < byteOffset) { // overflow + NAPI_THROW_VOID( + RangeError::New(_env, "Offset is outside the bounds of the DataView")); + } + + *reinterpret_cast(static_cast(_data) + byteOffset) = value; +} + +//////////////////////////////////////////////////////////////////////////////// +// TypedArray class +//////////////////////////////////////////////////////////////////////////////// +inline void TypedArray::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "TypedArray::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_typedarray(env, value, &result); + NAPI_CHECK( + status == napi_ok, "TypedArray::CheckCast", "napi_is_typedarray failed"); + NAPI_CHECK(result, "TypedArray::CheckCast", "value is not typedarray"); +} + +inline TypedArray::TypedArray() + : Object(), _type(napi_typedarray_type::napi_int8_array), _length(0) {} + +inline TypedArray::TypedArray(napi_env env, napi_value value) + : Object(env, value), + _type(napi_typedarray_type::napi_int8_array), + _length(0) { + if (value != nullptr) { + napi_status status = + napi_get_typedarray_info(_env, + _value, + &const_cast(this)->_type, + &const_cast(this)->_length, + nullptr, + nullptr, + nullptr); + NAPI_THROW_IF_FAILED_VOID(_env, status); + } +} + +inline TypedArray::TypedArray(napi_env env, + napi_value value, + napi_typedarray_type type, + size_t length) + : Object(env, value), _type(type), _length(length) {} + +inline napi_typedarray_type TypedArray::TypedArrayType() const { + return _type; +} + +inline uint8_t TypedArray::ElementSize() const { + switch (_type) { + case napi_int8_array: + case napi_uint8_array: + case napi_uint8_clamped_array: + return 1; + case napi_int16_array: + case napi_uint16_array: + return 2; + case napi_int32_array: + case napi_uint32_array: + case napi_float32_array: + return 4; + case napi_float64_array: +#if (NAPI_VERSION > 5) + case napi_bigint64_array: + case napi_biguint64_array: +#endif // (NAPI_VERSION > 5) + return 8; + default: + return 0; + } +} + +inline size_t TypedArray::ElementLength() const { + return _length; +} + +inline size_t TypedArray::ByteOffset() const { + size_t byteOffset; + napi_status status = napi_get_typedarray_info( + _env, _value, nullptr, nullptr, nullptr, nullptr, &byteOffset); + NAPI_THROW_IF_FAILED(_env, status, 0); + return byteOffset; +} + +inline size_t TypedArray::ByteLength() const { + return ElementSize() * ElementLength(); +} + +inline Napi::ArrayBuffer TypedArray::ArrayBuffer() const { + napi_value arrayBuffer; + napi_status status = napi_get_typedarray_info( + _env, _value, nullptr, nullptr, nullptr, &arrayBuffer, nullptr); + NAPI_THROW_IF_FAILED(_env, status, Napi::ArrayBuffer()); + return Napi::ArrayBuffer(_env, arrayBuffer); +} + +//////////////////////////////////////////////////////////////////////////////// +// TypedArrayOf class +//////////////////////////////////////////////////////////////////////////////// +template +inline void TypedArrayOf::CheckCast(napi_env env, napi_value value) { + TypedArray::CheckCast(env, value); + napi_typedarray_type type; + napi_status status = napi_get_typedarray_info( + env, value, &type, nullptr, nullptr, nullptr, nullptr); + NAPI_CHECK(status == napi_ok, + "TypedArrayOf::CheckCast", + "napi_is_typedarray failed"); + + NAPI_CHECK( + (type == TypedArrayTypeForPrimitiveType() || + (type == napi_uint8_clamped_array && std::is_same::value)), + "TypedArrayOf::CheckCast", + "Array type must match the template parameter. (Uint8 arrays may " + "optionally have the \"clamped\" array type.)"); +} + +template +inline TypedArrayOf TypedArrayOf::New(napi_env env, + size_t elementLength, + napi_typedarray_type type) { + Napi::ArrayBuffer arrayBuffer = + Napi::ArrayBuffer::New(env, elementLength * sizeof(T)); + return New(env, elementLength, arrayBuffer, 0, type); +} + +template +inline TypedArrayOf TypedArrayOf::New(napi_env env, + size_t elementLength, + Napi::ArrayBuffer arrayBuffer, + size_t bufferOffset, + napi_typedarray_type type) { + napi_value value; + napi_status status = napi_create_typedarray( + env, type, elementLength, arrayBuffer, bufferOffset, &value); + NAPI_THROW_IF_FAILED(env, status, TypedArrayOf()); + + return TypedArrayOf( + env, + value, + type, + elementLength, + reinterpret_cast(reinterpret_cast(arrayBuffer.Data()) + + bufferOffset)); +} + +template +inline TypedArrayOf::TypedArrayOf() : TypedArray(), _data(nullptr) {} + +template +inline TypedArrayOf::TypedArrayOf(napi_env env, napi_value value) + : TypedArray(env, value), _data(nullptr) { + napi_status status = napi_ok; + if (value != nullptr) { + void* data = nullptr; + status = napi_get_typedarray_info( + _env, _value, &_type, &_length, &data, nullptr, nullptr); + _data = static_cast(data); + } else { + _type = TypedArrayTypeForPrimitiveType(); + _length = 0; + } + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +template +inline TypedArrayOf::TypedArrayOf(napi_env env, + napi_value value, + napi_typedarray_type type, + size_t length, + T* data) + : TypedArray(env, value, type, length), _data(data) { + if (!(type == TypedArrayTypeForPrimitiveType() || + (type == napi_uint8_clamped_array && + std::is_same::value))) { + NAPI_THROW_VOID(TypeError::New( + env, + "Array type must match the template parameter. " + "(Uint8 arrays may optionally have the \"clamped\" array type.)")); + } +} + +template +inline T& TypedArrayOf::operator[](size_t index) { + return _data[index]; +} + +template +inline const T& TypedArrayOf::operator[](size_t index) const { + return _data[index]; +} + +template +inline T* TypedArrayOf::Data() { + return _data; +} + +template +inline const T* TypedArrayOf::Data() const { + return _data; +} + +//////////////////////////////////////////////////////////////////////////////// +// Function class +//////////////////////////////////////////////////////////////////////////////// + +template +inline napi_status CreateFunction(napi_env env, + const char* utf8name, + napi_callback cb, + CbData* data, + napi_value* result) { + napi_status status = + napi_create_function(env, utf8name, NAPI_AUTO_LENGTH, cb, data, result); + if (status == napi_ok) { + status = Napi::details::AttachData(env, *result, data); + } + + return status; +} + +template +inline Function Function::New(napi_env env, const char* utf8name, void* data) { + napi_value result = nullptr; + napi_status status = napi_create_function(env, + utf8name, + NAPI_AUTO_LENGTH, + details::TemplatedVoidCallback, + data, + &result); + NAPI_THROW_IF_FAILED(env, status, Function()); + return Function(env, result); +} + +template +inline Function Function::New(napi_env env, const char* utf8name, void* data) { + napi_value result = nullptr; + napi_status status = napi_create_function(env, + utf8name, + NAPI_AUTO_LENGTH, + details::TemplatedCallback, + data, + &result); + NAPI_THROW_IF_FAILED(env, status, Function()); + return Function(env, result); +} + +template +inline Function Function::New(napi_env env, + const std::string& utf8name, + void* data) { + return Function::New(env, utf8name.c_str(), data); +} + +template +inline Function Function::New(napi_env env, + const std::string& utf8name, + void* data) { + return Function::New(env, utf8name.c_str(), data); +} + +template +inline Function Function::New(napi_env env, + Callable cb, + const char* utf8name, + void* data) { + using ReturnType = decltype(cb(CallbackInfo(nullptr, nullptr))); + using CbData = details::CallbackData; + auto callbackData = new CbData{std::move(cb), data}; + + napi_value value; + napi_status status = + CreateFunction(env, utf8name, CbData::Wrapper, callbackData, &value); + if (status != napi_ok) { + delete callbackData; + NAPI_THROW_IF_FAILED(env, status, Function()); + } + + return Function(env, value); +} + +template +inline Function Function::New(napi_env env, + Callable cb, + const std::string& utf8name, + void* data) { + return New(env, cb, utf8name.c_str(), data); +} + +inline void Function::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Function::CheckCast", "empty value"); + + napi_valuetype type; + napi_status status = napi_typeof(env, value, &type); + NAPI_CHECK(status == napi_ok, "Function::CheckCast", "napi_typeof failed"); + NAPI_CHECK(type == napi_function, + "Function::CheckCast", + "value is not napi_function"); +} + +inline Function::Function() : Object() {} + +inline Function::Function(napi_env env, napi_value value) + : Object(env, value) {} + +inline MaybeOrValue Function::operator()( + const std::initializer_list& args) const { + return Call(Env().Undefined(), args); +} + +inline MaybeOrValue Function::Call( + const std::initializer_list& args) const { + return Call(Env().Undefined(), args); +} + +inline MaybeOrValue Function::Call( + const std::vector& args) const { + return Call(Env().Undefined(), args); +} + +inline MaybeOrValue Function::Call( + const std::vector& args) const { + return Call(Env().Undefined(), args); +} + +inline MaybeOrValue Function::Call(size_t argc, + const napi_value* args) const { + return Call(Env().Undefined(), argc, args); +} + +inline MaybeOrValue Function::Call( + napi_value recv, const std::initializer_list& args) const { + return Call(recv, args.size(), args.begin()); +} + +inline MaybeOrValue Function::Call( + napi_value recv, const std::vector& args) const { + return Call(recv, args.size(), args.data()); +} + +inline MaybeOrValue Function::Call( + napi_value recv, const std::vector& args) const { + const size_t argc = args.size(); + const size_t stackArgsCount = 6; + napi_value stackArgs[stackArgsCount]; + std::vector heapArgs; + napi_value* argv; + if (argc <= stackArgsCount) { + argv = stackArgs; + } else { + heapArgs.resize(argc); + argv = heapArgs.data(); + } + + for (size_t index = 0; index < argc; index++) { + argv[index] = static_cast(args[index]); + } + + return Call(recv, argc, argv); +} + +inline MaybeOrValue Function::Call(napi_value recv, + size_t argc, + const napi_value* args) const { + napi_value result; + napi_status status = + napi_call_function(_env, recv, _value, argc, args, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Value(_env, result), Napi::Value); +} + +inline MaybeOrValue Function::MakeCallback( + napi_value recv, + const std::initializer_list& args, + napi_async_context context) const { + return MakeCallback(recv, args.size(), args.begin(), context); +} + +inline MaybeOrValue Function::MakeCallback( + napi_value recv, + const std::vector& args, + napi_async_context context) const { + return MakeCallback(recv, args.size(), args.data(), context); +} + +inline MaybeOrValue Function::MakeCallback( + napi_value recv, + size_t argc, + const napi_value* args, + napi_async_context context) const { + napi_value result; + napi_status status = + napi_make_callback(_env, context, recv, _value, argc, args, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Value(_env, result), Napi::Value); +} + +inline MaybeOrValue Function::New( + const std::initializer_list& args) const { + return New(args.size(), args.begin()); +} + +inline MaybeOrValue Function::New( + const std::vector& args) const { + return New(args.size(), args.data()); +} + +inline MaybeOrValue Function::New(size_t argc, + const napi_value* args) const { + napi_value result; + napi_status status = napi_new_instance(_env, _value, argc, args, &result); + NAPI_RETURN_OR_THROW_IF_FAILED( + _env, status, Napi::Object(_env, result), Napi::Object); +} + +//////////////////////////////////////////////////////////////////////////////// +// Promise class +//////////////////////////////////////////////////////////////////////////////// + +inline Promise::Deferred Promise::Deferred::New(napi_env env) { + return Promise::Deferred(env); +} + +inline Promise::Deferred::Deferred(napi_env env) : _env(env) { + napi_status status = napi_create_promise(_env, &_deferred, &_promise); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline Promise Promise::Deferred::Promise() const { + return Napi::Promise(_env, _promise); +} + +inline Napi::Env Promise::Deferred::Env() const { + return Napi::Env(_env); +} + +inline void Promise::Deferred::Resolve(napi_value value) const { + napi_status status = napi_resolve_deferred(_env, _deferred, value); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline void Promise::Deferred::Reject(napi_value value) const { + napi_status status = napi_reject_deferred(_env, _deferred, value); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline void Promise::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Promise::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_promise(env, value, &result); + NAPI_CHECK(status == napi_ok, "Promise::CheckCast", "napi_is_promise failed"); + NAPI_CHECK(result, "Promise::CheckCast", "value is not promise"); +} + +inline Promise::Promise(napi_env env, napi_value value) : Object(env, value) {} + +//////////////////////////////////////////////////////////////////////////////// +// Buffer class +//////////////////////////////////////////////////////////////////////////////// + +template +inline Buffer Buffer::New(napi_env env, size_t length) { + napi_value value; + void* data; + napi_status status = + napi_create_buffer(env, length * sizeof(T), &data, &value); + NAPI_THROW_IF_FAILED(env, status, Buffer()); + return Buffer(env, value); +} + +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +template +inline Buffer Buffer::New(napi_env env, T* data, size_t length) { + napi_value value; + napi_status status = napi_create_external_buffer( + env, length * sizeof(T), data, nullptr, nullptr, &value); + NAPI_THROW_IF_FAILED(env, status, Buffer()); + return Buffer(env, value); +} + +template +template +inline Buffer Buffer::New(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback) { + napi_value value; + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), nullptr}); + napi_status status = + napi_create_external_buffer(env, + length * sizeof(T), + data, + details::FinalizeData::Wrapper, + finalizeData, + &value); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, Buffer()); + } + return Buffer(env, value); +} + +template +template +inline Buffer Buffer::New(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback, + Hint* finalizeHint) { + napi_value value; + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), finalizeHint}); + napi_status status = napi_create_external_buffer( + env, + length * sizeof(T), + data, + details::FinalizeData::WrapperWithHint, + finalizeData, + &value); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, Buffer()); + } + return Buffer(env, value); +} +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + +template +inline Buffer Buffer::NewOrCopy(napi_env env, T* data, size_t length) { +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + napi_value value; + napi_status status = napi_create_external_buffer( + env, length * sizeof(T), data, nullptr, nullptr, &value); + if (status == details::napi_no_external_buffers_allowed) { +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + // If we can't create an external buffer, we'll just copy the data. + return Buffer::Copy(env, data, length); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + } + NAPI_THROW_IF_FAILED(env, status, Buffer()); + return Buffer(env, value); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +} + +template +template +inline Buffer Buffer::NewOrCopy(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback) { + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), nullptr}); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + napi_value value; + napi_status status = + napi_create_external_buffer(env, + length * sizeof(T), + data, + details::FinalizeData::Wrapper, + finalizeData, + &value); + if (status == details::napi_no_external_buffers_allowed) { +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + // If we can't create an external buffer, we'll just copy the data. + Buffer ret = Buffer::Copy(env, data, length); + details::FinalizeData::Wrapper(env, data, finalizeData); + return ret; +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + } + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, Buffer()); + } + return Buffer(env, value); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +} + +template +template +inline Buffer Buffer::NewOrCopy(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback, + Hint* finalizeHint) { + details::FinalizeData* finalizeData = + new details::FinalizeData( + {std::move(finalizeCallback), finalizeHint}); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + napi_value value; + napi_status status = napi_create_external_buffer( + env, + length * sizeof(T), + data, + details::FinalizeData::WrapperWithHint, + finalizeData, + &value); + if (status == details::napi_no_external_buffers_allowed) { +#endif + // If we can't create an external buffer, we'll just copy the data. + Buffer ret = Buffer::Copy(env, data, length); + details::FinalizeData::WrapperWithHint( + env, data, finalizeData); + return ret; +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + } + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, Buffer()); + } + return Buffer(env, value); +#endif +} + +template +inline Buffer Buffer::Copy(napi_env env, const T* data, size_t length) { + napi_value value; + napi_status status = + napi_create_buffer_copy(env, length * sizeof(T), data, nullptr, &value); + NAPI_THROW_IF_FAILED(env, status, Buffer()); + return Buffer(env, value); +} + +template +inline void Buffer::CheckCast(napi_env env, napi_value value) { + NAPI_CHECK(value != nullptr, "Buffer::CheckCast", "empty value"); + + bool result; + napi_status status = napi_is_buffer(env, value, &result); + NAPI_CHECK(status == napi_ok, "Buffer::CheckCast", "napi_is_buffer failed"); + NAPI_CHECK(result, "Buffer::CheckCast", "value is not buffer"); +} + +template +inline Buffer::Buffer() : Uint8Array() {} + +template +inline Buffer::Buffer(napi_env env, napi_value value) + : Uint8Array(env, value) {} + +template +inline size_t Buffer::Length() const { + return ByteLength() / sizeof(T); +} + +template +inline T* Buffer::Data() const { + return reinterpret_cast(const_cast(Uint8Array::Data())); +} + +//////////////////////////////////////////////////////////////////////////////// +// Error class +//////////////////////////////////////////////////////////////////////////////// + +inline Error Error::New(napi_env env) { + napi_status status; + napi_value error = nullptr; + bool is_exception_pending; + napi_extended_error_info last_error_info_copy; + + { + // We must retrieve the last error info before doing anything else because + // doing anything else will replace the last error info. + const napi_extended_error_info* last_error_info; + status = napi_get_last_error_info(env, &last_error_info); + NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_get_last_error_info"); + + // All fields of the `napi_extended_error_info` structure gets reset in + // subsequent Node-API function calls on the same `env`. This includes a + // call to `napi_is_exception_pending()`. So here it is necessary to make a + // copy of the information as the `error_code` field is used later on. + memcpy(&last_error_info_copy, + last_error_info, + sizeof(napi_extended_error_info)); + } + + status = napi_is_exception_pending(env, &is_exception_pending); + NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_is_exception_pending"); + + // A pending exception takes precedence over any internal error status. + if (is_exception_pending) { + status = napi_get_and_clear_last_exception(env, &error); + NAPI_FATAL_IF_FAILED( + status, "Error::New", "napi_get_and_clear_last_exception"); + } else { + const char* error_message = last_error_info_copy.error_message != nullptr + ? last_error_info_copy.error_message + : "Error in native callback"; + + napi_value message; + status = napi_create_string_utf8( + env, error_message, std::strlen(error_message), &message); + NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_create_string_utf8"); + + switch (last_error_info_copy.error_code) { + case napi_object_expected: + case napi_string_expected: + case napi_boolean_expected: + case napi_number_expected: + status = napi_create_type_error(env, nullptr, message, &error); + break; + default: + status = napi_create_error(env, nullptr, message, &error); + break; + } + NAPI_FATAL_IF_FAILED(status, "Error::New", "napi_create_error"); + } + + return Error(env, error); +} + +inline Error Error::New(napi_env env, const char* message) { + return Error::New( + env, message, std::strlen(message), napi_create_error); +} + +inline Error Error::New(napi_env env, const std::string& message) { + return Error::New( + env, message.c_str(), message.size(), napi_create_error); +} + +inline NAPI_NO_RETURN void Error::Fatal(const char* location, + const char* message) { + napi_fatal_error(location, NAPI_AUTO_LENGTH, message, NAPI_AUTO_LENGTH); +} + +inline Error::Error() : ObjectReference() {} + +inline Error::Error(napi_env env, napi_value value) + : ObjectReference(env, nullptr) { + if (value != nullptr) { + // Attempting to create a reference on the error object. + // If it's not a Object/Function/Symbol, this call will return an error + // status. + napi_status status = napi_create_reference(env, value, 1, &_ref); + + if (status != napi_ok) { + napi_value wrappedErrorObj; + + // Create an error object + status = napi_create_object(env, &wrappedErrorObj); + NAPI_FATAL_IF_FAILED(status, "Error::Error", "napi_create_object"); + + // property flag that we attach to show the error object is wrapped + napi_property_descriptor wrapObjFlag = { + ERROR_WRAP_VALUE(), // Unique GUID identifier since Symbol isn't a + // viable option + nullptr, + nullptr, + nullptr, + nullptr, + Value::From(env, value), + napi_enumerable, + nullptr}; + + status = napi_define_properties(env, wrappedErrorObj, 1, &wrapObjFlag); +#ifdef NODE_API_SWALLOW_UNTHROWABLE_EXCEPTIONS + if (status == napi_pending_exception) { + // Test if the pending exception was reported because the environment is + // shutting down. We assume that a status of napi_pending_exception + // coupled with the absence of an actual pending exception means that + // the environment is shutting down. If so, we replace the + // napi_pending_exception status with napi_ok. + bool is_exception_pending = false; + status = napi_is_exception_pending(env, &is_exception_pending); + if (status == napi_ok && !is_exception_pending) { + status = napi_ok; + } else { + status = napi_pending_exception; + } + } +#endif // NODE_API_SWALLOW_UNTHROWABLE_EXCEPTIONS + NAPI_FATAL_IF_FAILED(status, "Error::Error", "napi_define_properties"); + + // Create a reference on the newly wrapped object + status = napi_create_reference(env, wrappedErrorObj, 1, &_ref); + } + + // Avoid infinite recursion in the failure case. + NAPI_FATAL_IF_FAILED(status, "Error::Error", "napi_create_reference"); + } +} + +inline Object Error::Value() const { + if (_ref == nullptr) { + return Object(_env, nullptr); + } + + napi_value refValue; + napi_status status = napi_get_reference_value(_env, _ref, &refValue); + NAPI_THROW_IF_FAILED(_env, status, Object()); + + napi_valuetype type; + status = napi_typeof(_env, refValue, &type); + NAPI_THROW_IF_FAILED(_env, status, Object()); + + // If refValue isn't a symbol, then we proceed to whether the refValue has the + // wrapped error flag + if (type != napi_symbol) { + // We are checking if the object is wrapped + bool isWrappedObject = false; + + status = napi_has_property(_env, + refValue, + String::From(_env, ERROR_WRAP_VALUE()), + &isWrappedObject); + + // Don't care about status + if (isWrappedObject) { + napi_value unwrappedValue; + status = napi_get_property(_env, + refValue, + String::From(_env, ERROR_WRAP_VALUE()), + &unwrappedValue); + NAPI_THROW_IF_FAILED(_env, status, Object()); + + return Object(_env, unwrappedValue); + } + } + + return Object(_env, refValue); +} + +inline Error::Error(Error&& other) : ObjectReference(std::move(other)) {} + +inline Error& Error::operator=(Error&& other) { + static_cast*>(this)->operator=(std::move(other)); + return *this; +} + +inline Error::Error(const Error& other) : ObjectReference(other) {} + +inline Error& Error::operator=(const Error& other) { + Reset(); + + _env = other.Env(); + HandleScope scope(_env); + + napi_value value = other.Value(); + if (value != nullptr) { + napi_status status = napi_create_reference(_env, value, 1, &_ref); + NAPI_THROW_IF_FAILED(_env, status, *this); + } + + return *this; +} + +inline const std::string& Error::Message() const NAPI_NOEXCEPT { + if (_message.size() == 0 && _env != nullptr) { +#ifdef NAPI_CPP_EXCEPTIONS + try { + _message = Get("message").As(); + } catch (...) { + // Catch all errors here, to include e.g. a std::bad_alloc from + // the std::string::operator=, because this method may not throw. + } +#else // NAPI_CPP_EXCEPTIONS +#if defined(NODE_ADDON_API_ENABLE_MAYBE) + Napi::Value message_val; + if (Get("message").UnwrapTo(&message_val)) { + _message = message_val.As(); + } +#else + _message = Get("message").As(); +#endif +#endif // NAPI_CPP_EXCEPTIONS + } + return _message; +} + +// we created an object on the &_ref +inline void Error::ThrowAsJavaScriptException() const { + HandleScope scope(_env); + if (!IsEmpty()) { +#ifdef NODE_API_SWALLOW_UNTHROWABLE_EXCEPTIONS + bool pendingException = false; + + // check if there is already a pending exception. If so don't try to throw a + // new one as that is not allowed/possible + napi_status status = napi_is_exception_pending(_env, &pendingException); + + if ((status != napi_ok) || + ((status == napi_ok) && (pendingException == false))) { + // We intentionally don't use `NAPI_THROW_*` macros here to ensure + // that there is no possible recursion as `ThrowAsJavaScriptException` + // is part of `NAPI_THROW_*` macro definition for noexcept. + + status = napi_throw(_env, Value()); + + if (status == napi_pending_exception) { + // The environment must be terminating as we checked earlier and there + // was no pending exception. In this case continuing will result + // in a fatal error and there is nothing the author has done incorrectly + // in their code that is worth flagging through a fatal error + return; + } + } else { + status = napi_pending_exception; + } +#else + // We intentionally don't use `NAPI_THROW_*` macros here to ensure + // that there is no possible recursion as `ThrowAsJavaScriptException` + // is part of `NAPI_THROW_*` macro definition for noexcept. + + napi_status status = napi_throw(_env, Value()); +#endif + +#ifdef NAPI_CPP_EXCEPTIONS + if (status != napi_ok) { + throw Error::New(_env); + } +#else // NAPI_CPP_EXCEPTIONS + NAPI_FATAL_IF_FAILED( + status, "Error::ThrowAsJavaScriptException", "napi_throw"); +#endif // NAPI_CPP_EXCEPTIONS + } +} + +#ifdef NAPI_CPP_EXCEPTIONS + +inline const char* Error::what() const NAPI_NOEXCEPT { + return Message().c_str(); +} + +#endif // NAPI_CPP_EXCEPTIONS + +inline const char* Error::ERROR_WRAP_VALUE() NAPI_NOEXCEPT { + return "4bda9e7e-4913-4dbc-95de-891cbf66598e-errorVal"; +} + +template +inline TError Error::New(napi_env env, + const char* message, + size_t length, + create_error_fn create_error) { + napi_value str; + napi_status status = napi_create_string_utf8(env, message, length, &str); + NAPI_THROW_IF_FAILED(env, status, TError()); + + napi_value error; + status = create_error(env, nullptr, str, &error); + NAPI_THROW_IF_FAILED(env, status, TError()); + + return TError(env, error); +} + +inline TypeError TypeError::New(napi_env env, const char* message) { + return Error::New( + env, message, std::strlen(message), napi_create_type_error); +} + +inline TypeError TypeError::New(napi_env env, const std::string& message) { + return Error::New( + env, message.c_str(), message.size(), napi_create_type_error); +} + +inline TypeError::TypeError() : Error() {} + +inline TypeError::TypeError(napi_env env, napi_value value) + : Error(env, value) {} + +inline RangeError RangeError::New(napi_env env, const char* message) { + return Error::New( + env, message, std::strlen(message), napi_create_range_error); +} + +inline RangeError RangeError::New(napi_env env, const std::string& message) { + return Error::New( + env, message.c_str(), message.size(), napi_create_range_error); +} + +inline RangeError::RangeError() : Error() {} + +inline RangeError::RangeError(napi_env env, napi_value value) + : Error(env, value) {} + +#if NAPI_VERSION > 8 +inline SyntaxError SyntaxError::New(napi_env env, const char* message) { + return Error::New( + env, message, std::strlen(message), node_api_create_syntax_error); +} + +inline SyntaxError SyntaxError::New(napi_env env, const std::string& message) { + return Error::New( + env, message.c_str(), message.size(), node_api_create_syntax_error); +} + +inline SyntaxError::SyntaxError() : Error() {} + +inline SyntaxError::SyntaxError(napi_env env, napi_value value) + : Error(env, value) {} +#endif // NAPI_VERSION > 8 + +//////////////////////////////////////////////////////////////////////////////// +// Reference class +//////////////////////////////////////////////////////////////////////////////// + +template +inline Reference Reference::New(const T& value, + uint32_t initialRefcount) { + napi_env env = value.Env(); + napi_value val = value; + + if (val == nullptr) { + return Reference(env, nullptr); + } + + napi_ref ref; + napi_status status = napi_create_reference(env, value, initialRefcount, &ref); + NAPI_THROW_IF_FAILED(env, status, Reference()); + + return Reference(env, ref); +} + +template +inline Reference::Reference() + : _env(nullptr), _ref(nullptr), _suppressDestruct(false) {} + +template +inline Reference::Reference(napi_env env, napi_ref ref) + : _env(env), _ref(ref), _suppressDestruct(false) {} + +template +inline Reference::~Reference() { + if (_ref != nullptr) { + if (!_suppressDestruct) { + napi_delete_reference(_env, _ref); + } + + _ref = nullptr; + } +} + +template +inline Reference::Reference(Reference&& other) + : _env(other._env), + _ref(other._ref), + _suppressDestruct(other._suppressDestruct) { + other._env = nullptr; + other._ref = nullptr; + other._suppressDestruct = false; +} + +template +inline Reference& Reference::operator=(Reference&& other) { + Reset(); + _env = other._env; + _ref = other._ref; + _suppressDestruct = other._suppressDestruct; + other._env = nullptr; + other._ref = nullptr; + other._suppressDestruct = false; + return *this; +} + +template +inline Reference::Reference(const Reference& other) + : _env(other._env), _ref(nullptr), _suppressDestruct(false) { + HandleScope scope(_env); + + napi_value value = other.Value(); + if (value != nullptr) { + // Copying is a limited scenario (currently only used for Error object) and + // always creates a strong reference to the given value even if the incoming + // reference is weak. + napi_status status = napi_create_reference(_env, value, 1, &_ref); + NAPI_FATAL_IF_FAILED( + status, "Reference::Reference", "napi_create_reference"); + } +} + +template +inline Reference::operator napi_ref() const { + return _ref; +} + +template +inline bool Reference::operator==(const Reference& other) const { + HandleScope scope(_env); + return this->Value().StrictEquals(other.Value()); +} + +template +inline bool Reference::operator!=(const Reference& other) const { + return !this->operator==(other); +} + +template +inline Napi::Env Reference::Env() const { + return Napi::Env(_env); +} + +template +inline bool Reference::IsEmpty() const { + return _ref == nullptr; +} + +template +inline T Reference::Value() const { + if (_ref == nullptr) { + return T(_env, nullptr); + } + + napi_value value; + napi_status status = napi_get_reference_value(_env, _ref, &value); + NAPI_THROW_IF_FAILED(_env, status, T()); + return T(_env, value); +} + +template +inline uint32_t Reference::Ref() const { + uint32_t result; + napi_status status = napi_reference_ref(_env, _ref, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +template +inline uint32_t Reference::Unref() const { + uint32_t result; + napi_status status = napi_reference_unref(_env, _ref, &result); + NAPI_THROW_IF_FAILED(_env, status, 0); + return result; +} + +template +inline void Reference::Reset() { + if (_ref != nullptr) { + napi_status status = napi_delete_reference(_env, _ref); + NAPI_THROW_IF_FAILED_VOID(_env, status); + _ref = nullptr; + } +} + +template +inline void Reference::Reset(const T& value, uint32_t refcount) { + Reset(); + _env = value.Env(); + + napi_value val = value; + if (val != nullptr) { + napi_status status = napi_create_reference(_env, value, refcount, &_ref); + NAPI_THROW_IF_FAILED_VOID(_env, status); + } +} + +template +inline void Reference::SuppressDestruct() { + _suppressDestruct = true; +} + +template +inline Reference Weak(T value) { + return Reference::New(value, 0); +} + +inline ObjectReference Weak(Object value) { + return Reference::New(value, 0); +} + +inline FunctionReference Weak(Function value) { + return Reference::New(value, 0); +} + +template +inline Reference Persistent(T value) { + return Reference::New(value, 1); +} + +inline ObjectReference Persistent(Object value) { + return Reference::New(value, 1); +} + +inline FunctionReference Persistent(Function value) { + return Reference::New(value, 1); +} + +//////////////////////////////////////////////////////////////////////////////// +// ObjectReference class +//////////////////////////////////////////////////////////////////////////////// + +inline ObjectReference::ObjectReference() : Reference() {} + +inline ObjectReference::ObjectReference(napi_env env, napi_ref ref) + : Reference(env, ref) {} + +inline ObjectReference::ObjectReference(Reference&& other) + : Reference(std::move(other)) {} + +inline ObjectReference& ObjectReference::operator=(Reference&& other) { + static_cast*>(this)->operator=(std::move(other)); + return *this; +} + +inline ObjectReference::ObjectReference(ObjectReference&& other) + : Reference(std::move(other)) {} + +inline ObjectReference& ObjectReference::operator=(ObjectReference&& other) { + static_cast*>(this)->operator=(std::move(other)); + return *this; +} + +inline ObjectReference::ObjectReference(const ObjectReference& other) + : Reference(other) {} + +inline MaybeOrValue ObjectReference::Get( + const char* utf8name) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Get(utf8name); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue ObjectReference::Get( + const std::string& utf8name) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Get(utf8name); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue ObjectReference::Set(const char* utf8name, + napi_value value) const { + HandleScope scope(_env); + return Value().Set(utf8name, value); +} + +inline MaybeOrValue ObjectReference::Set(const char* utf8name, + Napi::Value value) const { + HandleScope scope(_env); + return Value().Set(utf8name, value); +} + +inline MaybeOrValue ObjectReference::Set(const char* utf8name, + const char* utf8value) const { + HandleScope scope(_env); + return Value().Set(utf8name, utf8value); +} + +inline MaybeOrValue ObjectReference::Set(const char* utf8name, + bool boolValue) const { + HandleScope scope(_env); + return Value().Set(utf8name, boolValue); +} + +inline MaybeOrValue ObjectReference::Set(const char* utf8name, + double numberValue) const { + HandleScope scope(_env); + return Value().Set(utf8name, numberValue); +} + +inline MaybeOrValue ObjectReference::Set(const std::string& utf8name, + napi_value value) const { + HandleScope scope(_env); + return Value().Set(utf8name, value); +} + +inline MaybeOrValue ObjectReference::Set(const std::string& utf8name, + Napi::Value value) const { + HandleScope scope(_env); + return Value().Set(utf8name, value); +} + +inline MaybeOrValue ObjectReference::Set(const std::string& utf8name, + std::string& utf8value) const { + HandleScope scope(_env); + return Value().Set(utf8name, utf8value); +} + +inline MaybeOrValue ObjectReference::Set(const std::string& utf8name, + bool boolValue) const { + HandleScope scope(_env); + return Value().Set(utf8name, boolValue); +} + +inline MaybeOrValue ObjectReference::Set(const std::string& utf8name, + double numberValue) const { + HandleScope scope(_env); + return Value().Set(utf8name, numberValue); +} + +inline MaybeOrValue ObjectReference::Get(uint32_t index) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Get(index); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue ObjectReference::Set(uint32_t index, + napi_value value) const { + HandleScope scope(_env); + return Value().Set(index, value); +} + +inline MaybeOrValue ObjectReference::Set(uint32_t index, + Napi::Value value) const { + HandleScope scope(_env); + return Value().Set(index, value); +} + +inline MaybeOrValue ObjectReference::Set(uint32_t index, + const char* utf8value) const { + HandleScope scope(_env); + return Value().Set(index, utf8value); +} + +inline MaybeOrValue ObjectReference::Set( + uint32_t index, const std::string& utf8value) const { + HandleScope scope(_env); + return Value().Set(index, utf8value); +} + +inline MaybeOrValue ObjectReference::Set(uint32_t index, + bool boolValue) const { + HandleScope scope(_env); + return Value().Set(index, boolValue); +} + +inline MaybeOrValue ObjectReference::Set(uint32_t index, + double numberValue) const { + HandleScope scope(_env); + return Value().Set(index, numberValue); +} + +//////////////////////////////////////////////////////////////////////////////// +// FunctionReference class +//////////////////////////////////////////////////////////////////////////////// + +inline FunctionReference::FunctionReference() : Reference() {} + +inline FunctionReference::FunctionReference(napi_env env, napi_ref ref) + : Reference(env, ref) {} + +inline FunctionReference::FunctionReference(Reference&& other) + : Reference(std::move(other)) {} + +inline FunctionReference& FunctionReference::operator=( + Reference&& other) { + static_cast*>(this)->operator=(std::move(other)); + return *this; +} + +inline FunctionReference::FunctionReference(FunctionReference&& other) + : Reference(std::move(other)) {} + +inline FunctionReference& FunctionReference::operator=( + FunctionReference&& other) { + static_cast*>(this)->operator=(std::move(other)); + return *this; +} + +inline MaybeOrValue FunctionReference::operator()( + const std::initializer_list& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value()(args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::Call( + const std::initializer_list& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Call(args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::Call( + const std::vector& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Call(args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::Call( + napi_value recv, const std::initializer_list& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Call(recv, args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::Call( + napi_value recv, const std::vector& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Call(recv, args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::Call( + napi_value recv, size_t argc, const napi_value* args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().Call(recv, argc, args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::MakeCallback( + napi_value recv, + const std::initializer_list& args, + napi_async_context context) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().MakeCallback(recv, args, context); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::MakeCallback( + napi_value recv, + const std::vector& args, + napi_async_context context) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().MakeCallback(recv, args, context); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::MakeCallback( + napi_value recv, + size_t argc, + const napi_value* args, + napi_async_context context) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = + Value().MakeCallback(recv, argc, args, context); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap())); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Value(); + } + return scope.Escape(result); +#endif +} + +inline MaybeOrValue FunctionReference::New( + const std::initializer_list& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().New(args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap()).As()); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Object(); + } + return scope.Escape(result).As(); +#endif +} + +inline MaybeOrValue FunctionReference::New( + const std::vector& args) const { + EscapableHandleScope scope(_env); + MaybeOrValue result = Value().New(args); +#ifdef NODE_ADDON_API_ENABLE_MAYBE + if (result.IsJust()) { + return Just(scope.Escape(result.Unwrap()).As()); + } + return result; +#else + if (scope.Env().IsExceptionPending()) { + return Object(); + } + return scope.Escape(result).As(); +#endif +} + +//////////////////////////////////////////////////////////////////////////////// +// CallbackInfo class +//////////////////////////////////////////////////////////////////////////////// + +inline CallbackInfo::CallbackInfo(napi_env env, napi_callback_info info) + : _env(env), + _info(info), + _this(nullptr), + _dynamicArgs(nullptr), + _data(nullptr) { + _argc = _staticArgCount; + _argv = _staticArgs; + napi_status status = + napi_get_cb_info(env, info, &_argc, _argv, &_this, &_data); + NAPI_THROW_IF_FAILED_VOID(_env, status); + + if (_argc > _staticArgCount) { + // Use either a fixed-size array (on the stack) or a dynamically-allocated + // array (on the heap) depending on the number of args. + _dynamicArgs = new napi_value[_argc]; + _argv = _dynamicArgs; + + status = napi_get_cb_info(env, info, &_argc, _argv, nullptr, nullptr); + NAPI_THROW_IF_FAILED_VOID(_env, status); + } +} + +inline CallbackInfo::~CallbackInfo() { + if (_dynamicArgs != nullptr) { + delete[] _dynamicArgs; + } +} + +inline CallbackInfo::operator napi_callback_info() const { + return _info; +} + +inline Value CallbackInfo::NewTarget() const { + napi_value newTarget; + napi_status status = napi_get_new_target(_env, _info, &newTarget); + NAPI_THROW_IF_FAILED(_env, status, Value()); + return Value(_env, newTarget); +} + +inline bool CallbackInfo::IsConstructCall() const { + return !NewTarget().IsEmpty(); +} + +inline Napi::Env CallbackInfo::Env() const { + return Napi::Env(_env); +} + +inline size_t CallbackInfo::Length() const { + return _argc; +} + +inline const Value CallbackInfo::operator[](size_t index) const { + return index < _argc ? Value(_env, _argv[index]) : Env().Undefined(); +} + +inline Value CallbackInfo::This() const { + if (_this == nullptr) { + return Env().Undefined(); + } + return Object(_env, _this); +} + +inline void* CallbackInfo::Data() const { + return _data; +} + +inline void CallbackInfo::SetData(void* data) { + _data = data; +} + +//////////////////////////////////////////////////////////////////////////////// +// PropertyDescriptor class +//////////////////////////////////////////////////////////////////////////////// + +template +PropertyDescriptor PropertyDescriptor::Accessor( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + + desc.utf8name = utf8name; + desc.getter = details::TemplatedCallback; + desc.attributes = attributes; + desc.data = data; + + return desc; +} + +template +PropertyDescriptor PropertyDescriptor::Accessor( + const std::string& utf8name, + napi_property_attributes attributes, + void* data) { + return Accessor(utf8name.c_str(), attributes, data); +} + +template +PropertyDescriptor PropertyDescriptor::Accessor( + Name name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + + desc.name = name; + desc.getter = details::TemplatedCallback; + desc.attributes = attributes; + desc.data = data; + + return desc; +} + +template +PropertyDescriptor PropertyDescriptor::Accessor( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + + desc.utf8name = utf8name; + desc.getter = details::TemplatedCallback; + desc.setter = details::TemplatedVoidCallback; + desc.attributes = attributes; + desc.data = data; + + return desc; +} + +template +PropertyDescriptor PropertyDescriptor::Accessor( + const std::string& utf8name, + napi_property_attributes attributes, + void* data) { + return Accessor(utf8name.c_str(), attributes, data); +} + +template +PropertyDescriptor PropertyDescriptor::Accessor( + Name name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + + desc.name = name; + desc.getter = details::TemplatedCallback; + desc.setter = details::TemplatedVoidCallback; + desc.attributes = attributes; + desc.data = data; + + return desc; +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Napi::Env env, + Napi::Object object, + const char* utf8name, + Getter getter, + napi_property_attributes attributes, + void* data) { + using CbData = details::CallbackData; + auto callbackData = new CbData({getter, data}); + + napi_status status = AttachData(env, object, callbackData); + if (status != napi_ok) { + delete callbackData; + NAPI_THROW_IF_FAILED(env, status, napi_property_descriptor()); + } + + return PropertyDescriptor({utf8name, + nullptr, + nullptr, + CbData::Wrapper, + nullptr, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Napi::Env env, + Napi::Object object, + const std::string& utf8name, + Getter getter, + napi_property_attributes attributes, + void* data) { + return Accessor(env, object, utf8name.c_str(), getter, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Napi::Env env, + Napi::Object object, + Name name, + Getter getter, + napi_property_attributes attributes, + void* data) { + using CbData = details::CallbackData; + auto callbackData = new CbData({getter, data}); + + napi_status status = AttachData(env, object, callbackData); + if (status != napi_ok) { + delete callbackData; + NAPI_THROW_IF_FAILED(env, status, napi_property_descriptor()); + } + + return PropertyDescriptor({nullptr, + name, + nullptr, + CbData::Wrapper, + nullptr, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Napi::Env env, + Napi::Object object, + const char* utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* data) { + using CbData = details::AccessorCallbackData; + auto callbackData = new CbData({getter, setter, data}); + + napi_status status = AttachData(env, object, callbackData); + if (status != napi_ok) { + delete callbackData; + NAPI_THROW_IF_FAILED(env, status, napi_property_descriptor()); + } + + return PropertyDescriptor({utf8name, + nullptr, + nullptr, + CbData::GetterWrapper, + CbData::SetterWrapper, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Napi::Env env, + Napi::Object object, + const std::string& utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* data) { + return Accessor( + env, object, utf8name.c_str(), getter, setter, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Accessor( + Napi::Env env, + Napi::Object object, + Name name, + Getter getter, + Setter setter, + napi_property_attributes attributes, + void* data) { + using CbData = details::AccessorCallbackData; + auto callbackData = new CbData({getter, setter, data}); + + napi_status status = AttachData(env, object, callbackData); + if (status != napi_ok) { + delete callbackData; + NAPI_THROW_IF_FAILED(env, status, napi_property_descriptor()); + } + + return PropertyDescriptor({nullptr, + name, + nullptr, + CbData::GetterWrapper, + CbData::SetterWrapper, + nullptr, + attributes, + callbackData}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + Napi::Env env, + Napi::Object /*object*/, + const char* utf8name, + Callable cb, + napi_property_attributes attributes, + void* data) { + return PropertyDescriptor({utf8name, + nullptr, + nullptr, + nullptr, + nullptr, + Napi::Function::New(env, cb, utf8name, data), + attributes, + nullptr}); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + Napi::Env env, + Napi::Object object, + const std::string& utf8name, + Callable cb, + napi_property_attributes attributes, + void* data) { + return Function(env, object, utf8name.c_str(), cb, attributes, data); +} + +template +inline PropertyDescriptor PropertyDescriptor::Function( + Napi::Env env, + Napi::Object /*object*/, + Name name, + Callable cb, + napi_property_attributes attributes, + void* data) { + return PropertyDescriptor({nullptr, + name, + nullptr, + nullptr, + nullptr, + Napi::Function::New(env, cb, nullptr, data), + attributes, + nullptr}); +} + +inline PropertyDescriptor PropertyDescriptor::Value( + const char* utf8name, + napi_value value, + napi_property_attributes attributes) { + return PropertyDescriptor({utf8name, + nullptr, + nullptr, + nullptr, + nullptr, + value, + attributes, + nullptr}); +} + +inline PropertyDescriptor PropertyDescriptor::Value( + const std::string& utf8name, + napi_value value, + napi_property_attributes attributes) { + return Value(utf8name.c_str(), value, attributes); +} + +inline PropertyDescriptor PropertyDescriptor::Value( + napi_value name, napi_value value, napi_property_attributes attributes) { + return PropertyDescriptor( + {nullptr, name, nullptr, nullptr, nullptr, value, attributes, nullptr}); +} + +inline PropertyDescriptor PropertyDescriptor::Value( + Name name, Napi::Value value, napi_property_attributes attributes) { + napi_value nameValue = name; + napi_value valueValue = value; + return PropertyDescriptor::Value(nameValue, valueValue, attributes); +} + +inline PropertyDescriptor::PropertyDescriptor(napi_property_descriptor desc) + : _desc(desc) {} + +inline PropertyDescriptor::operator napi_property_descriptor&() { + return _desc; +} + +inline PropertyDescriptor::operator const napi_property_descriptor&() const { + return _desc; +} + +//////////////////////////////////////////////////////////////////////////////// +// InstanceWrap class +//////////////////////////////////////////////////////////////////////////////// + +template +inline void InstanceWrap::AttachPropData( + napi_env env, napi_value value, const napi_property_descriptor* prop) { + napi_status status; + if (!(prop->attributes & napi_static)) { + if (prop->method == T::InstanceVoidMethodCallbackWrapper) { + status = Napi::details::AttachData( + env, value, static_cast(prop->data)); + NAPI_THROW_IF_FAILED_VOID(env, status); + } else if (prop->method == T::InstanceMethodCallbackWrapper) { + status = Napi::details::AttachData( + env, value, static_cast(prop->data)); + NAPI_THROW_IF_FAILED_VOID(env, status); + } else if (prop->getter == T::InstanceGetterCallbackWrapper || + prop->setter == T::InstanceSetterCallbackWrapper) { + status = Napi::details::AttachData( + env, value, static_cast(prop->data)); + NAPI_THROW_IF_FAILED_VOID(env, status); + } + } +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + const char* utf8name, + InstanceVoidMethodCallback method, + napi_property_attributes attributes, + void* data) { + InstanceVoidMethodCallbackData* callbackData = + new InstanceVoidMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = T::InstanceVoidMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + const char* utf8name, + InstanceMethodCallback method, + napi_property_attributes attributes, + void* data) { + InstanceMethodCallbackData* callbackData = + new InstanceMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = T::InstanceMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + Symbol name, + InstanceVoidMethodCallback method, + napi_property_attributes attributes, + void* data) { + InstanceVoidMethodCallbackData* callbackData = + new InstanceVoidMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = T::InstanceVoidMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + Symbol name, + InstanceMethodCallback method, + napi_property_attributes attributes, + void* data) { + InstanceMethodCallbackData* callbackData = + new InstanceMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = T::InstanceMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = attributes; + return desc; +} + +template +template ::InstanceVoidMethodCallback method> +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = details::TemplatedInstanceVoidCallback; + desc.data = data; + desc.attributes = attributes; + return desc; +} + +template +template ::InstanceMethodCallback method> +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = details::TemplatedInstanceCallback; + desc.data = data; + desc.attributes = attributes; + return desc; +} + +template +template ::InstanceVoidMethodCallback method> +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + Symbol name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = details::TemplatedInstanceVoidCallback; + desc.data = data; + desc.attributes = attributes; + return desc; +} + +template +template ::InstanceMethodCallback method> +inline ClassPropertyDescriptor InstanceWrap::InstanceMethod( + Symbol name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = details::TemplatedInstanceCallback; + desc.data = data; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceAccessor( + const char* utf8name, + InstanceGetterCallback getter, + InstanceSetterCallback setter, + napi_property_attributes attributes, + void* data) { + InstanceAccessorCallbackData* callbackData = + new InstanceAccessorCallbackData({getter, setter, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.getter = getter != nullptr ? T::InstanceGetterCallbackWrapper : nullptr; + desc.setter = setter != nullptr ? T::InstanceSetterCallbackWrapper : nullptr; + desc.data = callbackData; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceAccessor( + Symbol name, + InstanceGetterCallback getter, + InstanceSetterCallback setter, + napi_property_attributes attributes, + void* data) { + InstanceAccessorCallbackData* callbackData = + new InstanceAccessorCallbackData({getter, setter, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.getter = getter != nullptr ? T::InstanceGetterCallbackWrapper : nullptr; + desc.setter = setter != nullptr ? T::InstanceSetterCallbackWrapper : nullptr; + desc.data = callbackData; + desc.attributes = attributes; + return desc; +} + +template +template ::InstanceGetterCallback getter, + typename InstanceWrap::InstanceSetterCallback setter> +inline ClassPropertyDescriptor InstanceWrap::InstanceAccessor( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.getter = details::TemplatedInstanceCallback; + desc.setter = This::WrapSetter(This::SetterTag()); + desc.data = data; + desc.attributes = attributes; + return desc; +} + +template +template ::InstanceGetterCallback getter, + typename InstanceWrap::InstanceSetterCallback setter> +inline ClassPropertyDescriptor InstanceWrap::InstanceAccessor( + Symbol name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.getter = details::TemplatedInstanceCallback; + desc.setter = This::WrapSetter(This::SetterTag()); + desc.data = data; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceValue( + const char* utf8name, + Napi::Value value, + napi_property_attributes attributes) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.value = value; + desc.attributes = attributes; + return desc; +} + +template +inline ClassPropertyDescriptor InstanceWrap::InstanceValue( + Symbol name, Napi::Value value, napi_property_attributes attributes) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.value = value; + desc.attributes = attributes; + return desc; +} + +template +inline napi_value InstanceWrap::InstanceVoidMethodCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + InstanceVoidMethodCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + T* instance = T::Unwrap(callbackInfo.This().As()); + auto cb = callbackData->callback; + if (instance) (instance->*cb)(callbackInfo); + return nullptr; + }); +} + +template +inline napi_value InstanceWrap::InstanceMethodCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + InstanceMethodCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + T* instance = T::Unwrap(callbackInfo.This().As()); + auto cb = callbackData->callback; + return instance ? (instance->*cb)(callbackInfo) : Napi::Value(); + }); +} + +template +inline napi_value InstanceWrap::InstanceGetterCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + InstanceAccessorCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + T* instance = T::Unwrap(callbackInfo.This().As()); + auto cb = callbackData->getterCallback; + return instance ? (instance->*cb)(callbackInfo) : Napi::Value(); + }); +} + +template +inline napi_value InstanceWrap::InstanceSetterCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + InstanceAccessorCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + T* instance = T::Unwrap(callbackInfo.This().As()); + auto cb = callbackData->setterCallback; + if (instance) (instance->*cb)(callbackInfo, callbackInfo[0]); + return nullptr; + }); +} + +template +template ::InstanceSetterCallback method> +inline napi_value InstanceWrap::WrappedMethod( + napi_env env, napi_callback_info info) NAPI_NOEXCEPT { + return details::WrapCallback([&] { + const CallbackInfo cbInfo(env, info); + T* instance = T::Unwrap(cbInfo.This().As()); + if (instance) (instance->*method)(cbInfo, cbInfo[0]); + return nullptr; + }); +} + +//////////////////////////////////////////////////////////////////////////////// +// ObjectWrap class +//////////////////////////////////////////////////////////////////////////////// + +template +inline ObjectWrap::ObjectWrap(const Napi::CallbackInfo& callbackInfo) { + napi_env env = callbackInfo.Env(); + napi_value wrapper = callbackInfo.This(); + napi_status status; + napi_ref ref; + T* instance = static_cast(this); + status = napi_wrap(env, wrapper, instance, FinalizeCallback, nullptr, &ref); + NAPI_THROW_IF_FAILED_VOID(env, status); + + Reference* instanceRef = instance; + *instanceRef = Reference(env, ref); +} + +template +inline ObjectWrap::~ObjectWrap() { + // If the JS object still exists at this point, remove the finalizer added + // through `napi_wrap()`. + if (!IsEmpty()) { + Object object = Value(); + // It is not valid to call `napi_remove_wrap()` with an empty `object`. + // This happens e.g. during garbage collection. + if (!object.IsEmpty() && _construction_failed) { + napi_remove_wrap(Env(), object, nullptr); + } + } +} + +template +inline T* ObjectWrap::Unwrap(Object wrapper) { + void* unwrapped; + napi_status status = napi_unwrap(wrapper.Env(), wrapper, &unwrapped); + NAPI_THROW_IF_FAILED(wrapper.Env(), status, nullptr); + return static_cast(unwrapped); +} + +template +inline Function ObjectWrap::DefineClass( + Napi::Env env, + const char* utf8name, + const size_t props_count, + const napi_property_descriptor* descriptors, + void* data) { + napi_status status; + std::vector props(props_count); + + // We copy the descriptors to a local array because before defining the class + // we must replace static method property descriptors with value property + // descriptors such that the value is a function-valued `napi_value` created + // with `CreateFunction()`. + // + // This replacement could be made for instance methods as well, but V8 aborts + // if we do that, because it expects methods defined on the prototype template + // to have `FunctionTemplate`s. + for (size_t index = 0; index < props_count; index++) { + props[index] = descriptors[index]; + napi_property_descriptor* prop = &props[index]; + if (prop->method == T::StaticMethodCallbackWrapper) { + status = + CreateFunction(env, + utf8name, + prop->method, + static_cast(prop->data), + &(prop->value)); + NAPI_THROW_IF_FAILED(env, status, Function()); + prop->method = nullptr; + prop->data = nullptr; + } else if (prop->method == T::StaticVoidMethodCallbackWrapper) { + status = + CreateFunction(env, + utf8name, + prop->method, + static_cast(prop->data), + &(prop->value)); + NAPI_THROW_IF_FAILED(env, status, Function()); + prop->method = nullptr; + prop->data = nullptr; + } + } + + napi_value value; + status = napi_define_class(env, + utf8name, + NAPI_AUTO_LENGTH, + T::ConstructorCallbackWrapper, + data, + props_count, + props.data(), + &value); + NAPI_THROW_IF_FAILED(env, status, Function()); + + // After defining the class we iterate once more over the property descriptors + // and attach the data associated with accessors and instance methods to the + // newly created JavaScript class. + for (size_t idx = 0; idx < props_count; idx++) { + const napi_property_descriptor* prop = &props[idx]; + + if (prop->getter == T::StaticGetterCallbackWrapper || + prop->setter == T::StaticSetterCallbackWrapper) { + status = Napi::details::AttachData( + env, value, static_cast(prop->data)); + NAPI_THROW_IF_FAILED(env, status, Function()); + } else { + // InstanceWrap::AttachPropData is responsible for attaching the data + // of instance methods and accessors. + T::AttachPropData(env, value, prop); + } + } + + return Function(env, value); +} + +template +inline Function ObjectWrap::DefineClass( + Napi::Env env, + const char* utf8name, + const std::initializer_list>& properties, + void* data) { + return DefineClass( + env, + utf8name, + properties.size(), + reinterpret_cast(properties.begin()), + data); +} + +template +inline Function ObjectWrap::DefineClass( + Napi::Env env, + const char* utf8name, + const std::vector>& properties, + void* data) { + return DefineClass( + env, + utf8name, + properties.size(), + reinterpret_cast(properties.data()), + data); +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + const char* utf8name, + StaticVoidMethodCallback method, + napi_property_attributes attributes, + void* data) { + StaticVoidMethodCallbackData* callbackData = + new StaticVoidMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = T::StaticVoidMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + const char* utf8name, + StaticMethodCallback method, + napi_property_attributes attributes, + void* data) { + StaticMethodCallbackData* callbackData = + new StaticMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = T::StaticMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + Symbol name, + StaticVoidMethodCallback method, + napi_property_attributes attributes, + void* data) { + StaticVoidMethodCallbackData* callbackData = + new StaticVoidMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = T::StaticVoidMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + Symbol name, + StaticMethodCallback method, + napi_property_attributes attributes, + void* data) { + StaticMethodCallbackData* callbackData = + new StaticMethodCallbackData({method, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = T::StaticMethodCallbackWrapper; + desc.data = callbackData; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +template ::StaticVoidMethodCallback method> +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = details::TemplatedVoidCallback; + desc.data = data; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +template ::StaticVoidMethodCallback method> +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + Symbol name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = details::TemplatedVoidCallback; + desc.data = data; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +template ::StaticMethodCallback method> +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.method = details::TemplatedCallback; + desc.data = data; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +template ::StaticMethodCallback method> +inline ClassPropertyDescriptor ObjectWrap::StaticMethod( + Symbol name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.method = details::TemplatedCallback; + desc.data = data; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticAccessor( + const char* utf8name, + StaticGetterCallback getter, + StaticSetterCallback setter, + napi_property_attributes attributes, + void* data) { + StaticAccessorCallbackData* callbackData = + new StaticAccessorCallbackData({getter, setter, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.getter = getter != nullptr ? T::StaticGetterCallbackWrapper : nullptr; + desc.setter = setter != nullptr ? T::StaticSetterCallbackWrapper : nullptr; + desc.data = callbackData; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticAccessor( + Symbol name, + StaticGetterCallback getter, + StaticSetterCallback setter, + napi_property_attributes attributes, + void* data) { + StaticAccessorCallbackData* callbackData = + new StaticAccessorCallbackData({getter, setter, data}); + + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.getter = getter != nullptr ? T::StaticGetterCallbackWrapper : nullptr; + desc.setter = setter != nullptr ? T::StaticSetterCallbackWrapper : nullptr; + desc.data = callbackData; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +template ::StaticGetterCallback getter, + typename ObjectWrap::StaticSetterCallback setter> +inline ClassPropertyDescriptor ObjectWrap::StaticAccessor( + const char* utf8name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.getter = details::TemplatedCallback; + desc.setter = This::WrapStaticSetter(This::StaticSetterTag()); + desc.data = data; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +template ::StaticGetterCallback getter, + typename ObjectWrap::StaticSetterCallback setter> +inline ClassPropertyDescriptor ObjectWrap::StaticAccessor( + Symbol name, napi_property_attributes attributes, void* data) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.getter = details::TemplatedCallback; + desc.setter = This::WrapStaticSetter(This::StaticSetterTag()); + desc.data = data; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticValue( + const char* utf8name, + Napi::Value value, + napi_property_attributes attributes) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.utf8name = utf8name; + desc.value = value; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline ClassPropertyDescriptor ObjectWrap::StaticValue( + Symbol name, Napi::Value value, napi_property_attributes attributes) { + napi_property_descriptor desc = napi_property_descriptor(); + desc.name = name; + desc.value = value; + desc.attributes = + static_cast(attributes | napi_static); + return desc; +} + +template +inline Value ObjectWrap::OnCalledAsFunction( + const Napi::CallbackInfo& callbackInfo) { + NAPI_THROW( + TypeError::New(callbackInfo.Env(), + "Class constructors cannot be invoked without 'new'"), + Napi::Value()); +} + +template +inline void ObjectWrap::Finalize(Napi::Env /*env*/) {} + +template +inline napi_value ObjectWrap::ConstructorCallbackWrapper( + napi_env env, napi_callback_info info) { + napi_value new_target; + napi_status status = napi_get_new_target(env, info, &new_target); + if (status != napi_ok) return nullptr; + + bool isConstructCall = (new_target != nullptr); + if (!isConstructCall) { + return details::WrapCallback( + [&] { return T::OnCalledAsFunction(CallbackInfo(env, info)); }); + } + + napi_value wrapper = details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + T* instance = new T(callbackInfo); +#ifdef NAPI_CPP_EXCEPTIONS + instance->_construction_failed = false; +#else + if (callbackInfo.Env().IsExceptionPending()) { + // We need to clear the exception so that removing the wrap might work. + Error e = callbackInfo.Env().GetAndClearPendingException(); + delete instance; + e.ThrowAsJavaScriptException(); + } else { + instance->_construction_failed = false; + } +#endif // NAPI_CPP_EXCEPTIONS + return callbackInfo.This(); + }); + + return wrapper; +} + +template +inline napi_value ObjectWrap::StaticVoidMethodCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + StaticVoidMethodCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + callbackData->callback(callbackInfo); + return nullptr; + }); +} + +template +inline napi_value ObjectWrap::StaticMethodCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + StaticMethodCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + return callbackData->callback(callbackInfo); + }); +} + +template +inline napi_value ObjectWrap::StaticGetterCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + StaticAccessorCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + return callbackData->getterCallback(callbackInfo); + }); +} + +template +inline napi_value ObjectWrap::StaticSetterCallbackWrapper( + napi_env env, napi_callback_info info) { + return details::WrapCallback([&] { + CallbackInfo callbackInfo(env, info); + StaticAccessorCallbackData* callbackData = + reinterpret_cast(callbackInfo.Data()); + callbackInfo.SetData(callbackData->data); + callbackData->setterCallback(callbackInfo, callbackInfo[0]); + return nullptr; + }); +} + +template +inline void ObjectWrap::FinalizeCallback(napi_env env, + void* data, + void* /*hint*/) { + HandleScope scope(env); + T* instance = static_cast(data); + instance->Finalize(Napi::Env(env)); + delete instance; +} + +template +template ::StaticSetterCallback method> +inline napi_value ObjectWrap::WrappedMethod( + napi_env env, napi_callback_info info) NAPI_NOEXCEPT { + return details::WrapCallback([&] { + const CallbackInfo cbInfo(env, info); + method(cbInfo, cbInfo[0]); + return nullptr; + }); +} + +//////////////////////////////////////////////////////////////////////////////// +// HandleScope class +//////////////////////////////////////////////////////////////////////////////// + +inline HandleScope::HandleScope(napi_env env, napi_handle_scope scope) + : _env(env), _scope(scope) {} + +inline HandleScope::HandleScope(Napi::Env env) : _env(env) { + napi_status status = napi_open_handle_scope(_env, &_scope); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline HandleScope::~HandleScope() { + napi_status status = napi_close_handle_scope(_env, _scope); + NAPI_FATAL_IF_FAILED( + status, "HandleScope::~HandleScope", "napi_close_handle_scope"); +} + +inline HandleScope::operator napi_handle_scope() const { + return _scope; +} + +inline Napi::Env HandleScope::Env() const { + return Napi::Env(_env); +} + +//////////////////////////////////////////////////////////////////////////////// +// EscapableHandleScope class +//////////////////////////////////////////////////////////////////////////////// + +inline EscapableHandleScope::EscapableHandleScope( + napi_env env, napi_escapable_handle_scope scope) + : _env(env), _scope(scope) {} + +inline EscapableHandleScope::EscapableHandleScope(Napi::Env env) : _env(env) { + napi_status status = napi_open_escapable_handle_scope(_env, &_scope); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline EscapableHandleScope::~EscapableHandleScope() { + napi_status status = napi_close_escapable_handle_scope(_env, _scope); + NAPI_FATAL_IF_FAILED(status, + "EscapableHandleScope::~EscapableHandleScope", + "napi_close_escapable_handle_scope"); +} + +inline EscapableHandleScope::operator napi_escapable_handle_scope() const { + return _scope; +} + +inline Napi::Env EscapableHandleScope::Env() const { + return Napi::Env(_env); +} + +inline Value EscapableHandleScope::Escape(napi_value escapee) { + napi_value result; + napi_status status = napi_escape_handle(_env, _scope, escapee, &result); + NAPI_THROW_IF_FAILED(_env, status, Value()); + return Value(_env, result); +} + +#if (NAPI_VERSION > 2) +//////////////////////////////////////////////////////////////////////////////// +// CallbackScope class +//////////////////////////////////////////////////////////////////////////////// + +inline CallbackScope::CallbackScope(napi_env env, napi_callback_scope scope) + : _env(env), _scope(scope) {} + +inline CallbackScope::CallbackScope(napi_env env, napi_async_context context) + : _env(env) { + napi_status status = + napi_open_callback_scope(_env, Object::New(env), context, &_scope); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline CallbackScope::~CallbackScope() { + napi_status status = napi_close_callback_scope(_env, _scope); + NAPI_FATAL_IF_FAILED( + status, "CallbackScope::~CallbackScope", "napi_close_callback_scope"); +} + +inline CallbackScope::operator napi_callback_scope() const { + return _scope; +} + +inline Napi::Env CallbackScope::Env() const { + return Napi::Env(_env); +} +#endif + +//////////////////////////////////////////////////////////////////////////////// +// AsyncContext class +//////////////////////////////////////////////////////////////////////////////// + +inline AsyncContext::AsyncContext(napi_env env, const char* resource_name) + : AsyncContext(env, resource_name, Object::New(env)) {} + +inline AsyncContext::AsyncContext(napi_env env, + const char* resource_name, + const Object& resource) + : _env(env), _context(nullptr) { + napi_value resource_id; + napi_status status = napi_create_string_utf8( + _env, resource_name, NAPI_AUTO_LENGTH, &resource_id); + NAPI_THROW_IF_FAILED_VOID(_env, status); + + status = napi_async_init(_env, resource, resource_id, &_context); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline AsyncContext::~AsyncContext() { + if (_context != nullptr) { + napi_async_destroy(_env, _context); + _context = nullptr; + } +} + +inline AsyncContext::AsyncContext(AsyncContext&& other) { + _env = other._env; + other._env = nullptr; + _context = other._context; + other._context = nullptr; +} + +inline AsyncContext& AsyncContext::operator=(AsyncContext&& other) { + _env = other._env; + other._env = nullptr; + _context = other._context; + other._context = nullptr; + return *this; +} + +inline AsyncContext::operator napi_async_context() const { + return _context; +} + +inline Napi::Env AsyncContext::Env() const { + return Napi::Env(_env); +} + +//////////////////////////////////////////////////////////////////////////////// +// AsyncWorker class +//////////////////////////////////////////////////////////////////////////////// + +#if NAPI_HAS_THREADS + +inline AsyncWorker::AsyncWorker(const Function& callback) + : AsyncWorker(callback, "generic") {} + +inline AsyncWorker::AsyncWorker(const Function& callback, + const char* resource_name) + : AsyncWorker(callback, resource_name, Object::New(callback.Env())) {} + +inline AsyncWorker::AsyncWorker(const Function& callback, + const char* resource_name, + const Object& resource) + : AsyncWorker( + Object::New(callback.Env()), callback, resource_name, resource) {} + +inline AsyncWorker::AsyncWorker(const Object& receiver, + const Function& callback) + : AsyncWorker(receiver, callback, "generic") {} + +inline AsyncWorker::AsyncWorker(const Object& receiver, + const Function& callback, + const char* resource_name) + : AsyncWorker( + receiver, callback, resource_name, Object::New(callback.Env())) {} + +inline AsyncWorker::AsyncWorker(const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource) + : _env(callback.Env()), + _receiver(Napi::Persistent(receiver)), + _callback(Napi::Persistent(callback)), + _suppress_destruct(false) { + napi_value resource_id; + napi_status status = napi_create_string_latin1( + _env, resource_name, NAPI_AUTO_LENGTH, &resource_id); + NAPI_THROW_IF_FAILED_VOID(_env, status); + + status = napi_create_async_work(_env, + resource, + resource_id, + OnAsyncWorkExecute, + OnAsyncWorkComplete, + this, + &_work); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline AsyncWorker::AsyncWorker(Napi::Env env) : AsyncWorker(env, "generic") {} + +inline AsyncWorker::AsyncWorker(Napi::Env env, const char* resource_name) + : AsyncWorker(env, resource_name, Object::New(env)) {} + +inline AsyncWorker::AsyncWorker(Napi::Env env, + const char* resource_name, + const Object& resource) + : _env(env), _receiver(), _callback(), _suppress_destruct(false) { + napi_value resource_id; + napi_status status = napi_create_string_latin1( + _env, resource_name, NAPI_AUTO_LENGTH, &resource_id); + NAPI_THROW_IF_FAILED_VOID(_env, status); + + status = napi_create_async_work(_env, + resource, + resource_id, + OnAsyncWorkExecute, + OnAsyncWorkComplete, + this, + &_work); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline AsyncWorker::~AsyncWorker() { + if (_work != nullptr) { + napi_delete_async_work(_env, _work); + _work = nullptr; + } +} + +inline void AsyncWorker::Destroy() { + delete this; +} + +inline AsyncWorker::operator napi_async_work() const { + return _work; +} + +inline Napi::Env AsyncWorker::Env() const { + return Napi::Env(_env); +} + +inline void AsyncWorker::Queue() { + napi_status status = napi_queue_async_work(_env, _work); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline void AsyncWorker::Cancel() { + napi_status status = napi_cancel_async_work(_env, _work); + NAPI_THROW_IF_FAILED_VOID(_env, status); +} + +inline ObjectReference& AsyncWorker::Receiver() { + return _receiver; +} + +inline FunctionReference& AsyncWorker::Callback() { + return _callback; +} + +inline void AsyncWorker::SuppressDestruct() { + _suppress_destruct = true; +} + +inline void AsyncWorker::OnOK() { + if (!_callback.IsEmpty()) { + _callback.Call(_receiver.Value(), GetResult(_callback.Env())); + } +} + +inline void AsyncWorker::OnError(const Error& e) { + if (!_callback.IsEmpty()) { + _callback.Call(_receiver.Value(), + std::initializer_list{e.Value()}); + } +} + +inline void AsyncWorker::SetError(const std::string& error) { + _error = error; +} + +inline std::vector AsyncWorker::GetResult(Napi::Env /*env*/) { + return {}; +} +// The OnAsyncWorkExecute method receives an napi_env argument. However, do NOT +// use it within this method, as it does not run on the JavaScript thread and +// must not run any method that would cause JavaScript to run. In practice, +// this means that almost any use of napi_env will be incorrect. +inline void AsyncWorker::OnAsyncWorkExecute(napi_env env, void* asyncworker) { + AsyncWorker* self = static_cast(asyncworker); + self->OnExecute(env); +} +// The OnExecute method receives an napi_env argument. However, do NOT +// use it within this method, as it does not run on the JavaScript thread and +// must not run any method that would cause JavaScript to run. In practice, +// this means that almost any use of napi_env will be incorrect. +inline void AsyncWorker::OnExecute(Napi::Env /*DO_NOT_USE*/) { +#ifdef NAPI_CPP_EXCEPTIONS + try { + Execute(); + } catch (const std::exception& e) { + SetError(e.what()); + } +#else // NAPI_CPP_EXCEPTIONS + Execute(); +#endif // NAPI_CPP_EXCEPTIONS +} + +inline void AsyncWorker::OnAsyncWorkComplete(napi_env env, + napi_status status, + void* asyncworker) { + AsyncWorker* self = static_cast(asyncworker); + self->OnWorkComplete(env, status); +} +inline void AsyncWorker::OnWorkComplete(Napi::Env /*env*/, napi_status status) { + if (status != napi_cancelled) { + HandleScope scope(_env); + details::WrapCallback([&] { + if (_error.size() == 0) { + OnOK(); + } else { + OnError(Error::New(_env, _error)); + } + return nullptr; + }); + } + if (!_suppress_destruct) { + Destroy(); + } +} + +#endif // NAPI_HAS_THREADS + +#if (NAPI_VERSION > 3 && NAPI_HAS_THREADS) +//////////////////////////////////////////////////////////////////////////////// +// TypedThreadSafeFunction class +//////////////////////////////////////////////////////////////////////////////// + +// Starting with NAPI 5, the JavaScript function `func` parameter of +// `napi_create_threadsafe_function` is optional. +#if NAPI_VERSION > 4 +// static, with Callback [missing] Resource [missing] Finalizer [missing] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context) { + TypedThreadSafeFunction tsfn; + + napi_status status = + napi_create_threadsafe_function(env, + nullptr, + nullptr, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + nullptr, + nullptr, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +// static, with Callback [missing] Resource [passed] Finalizer [missing] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context) { + TypedThreadSafeFunction tsfn; + + napi_status status = + napi_create_threadsafe_function(env, + nullptr, + resource, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + nullptr, + nullptr, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +// static, with Callback [missing] Resource [missing] Finalizer [passed] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data) { + TypedThreadSafeFunction tsfn; + + auto* finalizeData = new details:: + ThreadSafeFinalize( + {data, finalizeCallback}); + napi_status status = napi_create_threadsafe_function( + env, + nullptr, + nullptr, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + finalizeData, + details::ThreadSafeFinalize:: + FinalizeFinalizeWrapperWithDataAndContext, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +// static, with Callback [missing] Resource [passed] Finalizer [passed] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data) { + TypedThreadSafeFunction tsfn; + + auto* finalizeData = new details:: + ThreadSafeFinalize( + {data, finalizeCallback}); + napi_status status = napi_create_threadsafe_function( + env, + nullptr, + resource, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + finalizeData, + details::ThreadSafeFinalize:: + FinalizeFinalizeWrapperWithDataAndContext, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} +#endif + +// static, with Callback [passed] Resource [missing] Finalizer [missing] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context) { + TypedThreadSafeFunction tsfn; + + napi_status status = + napi_create_threadsafe_function(env, + callback, + nullptr, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + nullptr, + nullptr, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +// static, with Callback [passed] Resource [passed] Finalizer [missing] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context) { + TypedThreadSafeFunction tsfn; + + napi_status status = + napi_create_threadsafe_function(env, + callback, + resource, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + nullptr, + nullptr, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +// static, with Callback [passed] Resource [missing] Finalizer [passed] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data) { + TypedThreadSafeFunction tsfn; + + auto* finalizeData = new details:: + ThreadSafeFinalize( + {data, finalizeCallback}); + napi_status status = napi_create_threadsafe_function( + env, + callback, + nullptr, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + finalizeData, + details::ThreadSafeFinalize:: + FinalizeFinalizeWrapperWithDataAndContext, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +// static, with: Callback [passed] Resource [passed] Finalizer [passed] +template +template +inline TypedThreadSafeFunction +TypedThreadSafeFunction::New( + napi_env env, + CallbackType callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data) { + TypedThreadSafeFunction tsfn; + + auto* finalizeData = new details:: + ThreadSafeFinalize( + {data, finalizeCallback}); + napi_status status = napi_create_threadsafe_function( + env, + details::DefaultCallbackWrapper< + CallbackType, + TypedThreadSafeFunction>(env, + callback), + resource, + String::From(env, resourceName), + maxQueueSize, + initialThreadCount, + finalizeData, + details::ThreadSafeFinalize:: + FinalizeFinalizeWrapperWithDataAndContext, + context, + CallJsInternal, + &tsfn._tsfn); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED( + env, status, TypedThreadSafeFunction()); + } + + return tsfn; +} + +template +inline TypedThreadSafeFunction:: + TypedThreadSafeFunction() + : _tsfn() {} + +template +inline TypedThreadSafeFunction:: + TypedThreadSafeFunction(napi_threadsafe_function tsfn) + : _tsfn(tsfn) {} + +template +inline TypedThreadSafeFunction:: +operator napi_threadsafe_function() const { + return _tsfn; +} + +template +inline napi_status +TypedThreadSafeFunction::BlockingCall( + DataType* data) const { + return napi_call_threadsafe_function(_tsfn, data, napi_tsfn_blocking); +} + +template +inline napi_status +TypedThreadSafeFunction::NonBlockingCall( + DataType* data) const { + return napi_call_threadsafe_function(_tsfn, data, napi_tsfn_nonblocking); +} + +template +inline void TypedThreadSafeFunction::Ref( + napi_env env) const { + if (_tsfn != nullptr) { + napi_status status = napi_ref_threadsafe_function(env, _tsfn); + NAPI_THROW_IF_FAILED_VOID(env, status); + } +} + +template +inline void TypedThreadSafeFunction::Unref( + napi_env env) const { + if (_tsfn != nullptr) { + napi_status status = napi_unref_threadsafe_function(env, _tsfn); + NAPI_THROW_IF_FAILED_VOID(env, status); + } +} + +template +inline napi_status +TypedThreadSafeFunction::Acquire() const { + return napi_acquire_threadsafe_function(_tsfn); +} + +template +inline napi_status +TypedThreadSafeFunction::Release() const { + return napi_release_threadsafe_function(_tsfn, napi_tsfn_release); +} + +template +inline napi_status +TypedThreadSafeFunction::Abort() const { + return napi_release_threadsafe_function(_tsfn, napi_tsfn_abort); +} + +template +inline ContextType* +TypedThreadSafeFunction::GetContext() const { + void* context; + napi_status status = napi_get_threadsafe_function_context(_tsfn, &context); + NAPI_FATAL_IF_FAILED(status, + "TypedThreadSafeFunction::GetContext", + "napi_get_threadsafe_function_context"); + return static_cast(context); +} + +// static +template +void TypedThreadSafeFunction::CallJsInternal( + napi_env env, napi_value jsCallback, void* context, void* data) { + details::CallJsWrapper( + env, jsCallback, context, data); +} + +#if NAPI_VERSION == 4 +// static +template +Napi::Function +TypedThreadSafeFunction::EmptyFunctionFactory( + Napi::Env env) { + return Napi::Function::New(env, [](const CallbackInfo& cb) {}); +} + +// static +template +Napi::Function +TypedThreadSafeFunction::FunctionOrEmpty( + Napi::Env env, Napi::Function& callback) { + if (callback.IsEmpty()) { + return EmptyFunctionFactory(env); + } + return callback; +} + +#else +// static +template +std::nullptr_t +TypedThreadSafeFunction::EmptyFunctionFactory( + Napi::Env /*env*/) { + return nullptr; +} + +// static +template +Napi::Function +TypedThreadSafeFunction::FunctionOrEmpty( + Napi::Env /*env*/, Napi::Function& callback) { + return callback; +} + +#endif + +//////////////////////////////////////////////////////////////////////////////// +// ThreadSafeFunction class +//////////////////////////////////////////////////////////////////////////////// + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount) { + return New( + env, callback, Object(), resourceName, maxQueueSize, initialThreadCount); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context) { + return New(env, + callback, + Object(), + resourceName, + maxQueueSize, + initialThreadCount, + context); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback) { + return New(env, + callback, + Object(), + resourceName, + maxQueueSize, + initialThreadCount, + finalizeCallback); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback, + FinalizerDataType* data) { + return New(env, + callback, + Object(), + resourceName, + maxQueueSize, + initialThreadCount, + finalizeCallback, + data); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback) { + return New(env, + callback, + Object(), + resourceName, + maxQueueSize, + initialThreadCount, + context, + finalizeCallback); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data) { + return New(env, + callback, + Object(), + resourceName, + maxQueueSize, + initialThreadCount, + context, + finalizeCallback, + data); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount) { + return New(env, + callback, + resource, + resourceName, + maxQueueSize, + initialThreadCount, + static_cast(nullptr) /* context */); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context) { + return New(env, + callback, + resource, + resourceName, + maxQueueSize, + initialThreadCount, + context, + [](Env, ContextType*) {} /* empty finalizer */); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback) { + return New(env, + callback, + resource, + resourceName, + maxQueueSize, + initialThreadCount, + static_cast(nullptr) /* context */, + finalizeCallback, + static_cast(nullptr) /* data */, + details::ThreadSafeFinalize::Wrapper); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback, + FinalizerDataType* data) { + return New(env, + callback, + resource, + resourceName, + maxQueueSize, + initialThreadCount, + static_cast(nullptr) /* context */, + finalizeCallback, + data, + details::ThreadSafeFinalize:: + FinalizeWrapperWithData); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback) { + return New( + env, + callback, + resource, + resourceName, + maxQueueSize, + initialThreadCount, + context, + finalizeCallback, + static_cast(nullptr) /* data */, + details::ThreadSafeFinalize::FinalizeWrapperWithContext); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data) { + return New( + env, + callback, + resource, + resourceName, + maxQueueSize, + initialThreadCount, + context, + finalizeCallback, + data, + details::ThreadSafeFinalize:: + FinalizeFinalizeWrapperWithDataAndContext); +} + +inline ThreadSafeFunction::ThreadSafeFunction() : _tsfn() {} + +inline ThreadSafeFunction::ThreadSafeFunction(napi_threadsafe_function tsfn) + : _tsfn(tsfn) {} + +inline ThreadSafeFunction::operator napi_threadsafe_function() const { + return _tsfn; +} + +inline napi_status ThreadSafeFunction::BlockingCall() const { + return CallInternal(nullptr, napi_tsfn_blocking); +} + +template <> +inline napi_status ThreadSafeFunction::BlockingCall(void* data) const { + return napi_call_threadsafe_function(_tsfn, data, napi_tsfn_blocking); +} + +template +inline napi_status ThreadSafeFunction::BlockingCall(Callback callback) const { + return CallInternal(new CallbackWrapper(callback), napi_tsfn_blocking); +} + +template +inline napi_status ThreadSafeFunction::BlockingCall(DataType* data, + Callback callback) const { + auto wrapper = [data, callback](Env env, Function jsCallback) { + callback(env, jsCallback, data); + }; + return CallInternal(new CallbackWrapper(wrapper), napi_tsfn_blocking); +} + +inline napi_status ThreadSafeFunction::NonBlockingCall() const { + return CallInternal(nullptr, napi_tsfn_nonblocking); +} + +template <> +inline napi_status ThreadSafeFunction::NonBlockingCall(void* data) const { + return napi_call_threadsafe_function(_tsfn, data, napi_tsfn_nonblocking); +} + +template +inline napi_status ThreadSafeFunction::NonBlockingCall( + Callback callback) const { + return CallInternal(new CallbackWrapper(callback), napi_tsfn_nonblocking); +} + +template +inline napi_status ThreadSafeFunction::NonBlockingCall( + DataType* data, Callback callback) const { + auto wrapper = [data, callback](Env env, Function jsCallback) { + callback(env, jsCallback, data); + }; + return CallInternal(new CallbackWrapper(wrapper), napi_tsfn_nonblocking); +} + +inline void ThreadSafeFunction::Ref(napi_env env) const { + if (_tsfn != nullptr) { + napi_status status = napi_ref_threadsafe_function(env, _tsfn); + NAPI_THROW_IF_FAILED_VOID(env, status); + } +} + +inline void ThreadSafeFunction::Unref(napi_env env) const { + if (_tsfn != nullptr) { + napi_status status = napi_unref_threadsafe_function(env, _tsfn); + NAPI_THROW_IF_FAILED_VOID(env, status); + } +} + +inline napi_status ThreadSafeFunction::Acquire() const { + return napi_acquire_threadsafe_function(_tsfn); +} + +inline napi_status ThreadSafeFunction::Release() const { + return napi_release_threadsafe_function(_tsfn, napi_tsfn_release); +} + +inline napi_status ThreadSafeFunction::Abort() const { + return napi_release_threadsafe_function(_tsfn, napi_tsfn_abort); +} + +inline ThreadSafeFunction::ConvertibleContext ThreadSafeFunction::GetContext() + const { + void* context; + napi_status status = napi_get_threadsafe_function_context(_tsfn, &context); + NAPI_FATAL_IF_FAILED(status, + "ThreadSafeFunction::GetContext", + "napi_get_threadsafe_function_context"); + return ConvertibleContext({context}); +} + +// static +template +inline ThreadSafeFunction ThreadSafeFunction::New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data, + napi_finalize wrapper) { + static_assert(details::can_make_string::value || + std::is_convertible::value, + "Resource name should be convertible to the string type"); + + ThreadSafeFunction tsfn; + auto* finalizeData = new details:: + ThreadSafeFinalize( + {data, finalizeCallback}); + napi_status status = + napi_create_threadsafe_function(env, + callback, + resource, + Value::From(env, resourceName), + maxQueueSize, + initialThreadCount, + finalizeData, + wrapper, + context, + CallJS, + &tsfn._tsfn); + if (status != napi_ok) { + delete finalizeData; + NAPI_THROW_IF_FAILED(env, status, ThreadSafeFunction()); + } + + return tsfn; +} + +inline napi_status ThreadSafeFunction::CallInternal( + CallbackWrapper* callbackWrapper, + napi_threadsafe_function_call_mode mode) const { + napi_status status = + napi_call_threadsafe_function(_tsfn, callbackWrapper, mode); + if (status != napi_ok && callbackWrapper != nullptr) { + delete callbackWrapper; + } + + return status; +} + +// static +inline void ThreadSafeFunction::CallJS(napi_env env, + napi_value jsCallback, + void* /* context */, + void* data) { + if (env == nullptr && jsCallback == nullptr) { + return; + } + + details::WrapVoidCallback([&]() { + if (data != nullptr) { + auto* callbackWrapper = static_cast(data); + (*callbackWrapper)(env, Function(env, jsCallback)); + delete callbackWrapper; + } else if (jsCallback != nullptr) { + Function(env, jsCallback).Call({}); + } + }); +} + +//////////////////////////////////////////////////////////////////////////////// +// Async Progress Worker Base class +//////////////////////////////////////////////////////////////////////////////// +template +inline AsyncProgressWorkerBase::AsyncProgressWorkerBase( + const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource, + size_t queue_size) + : AsyncWorker(receiver, callback, resource_name, resource) { + // Fill all possible arguments to work around ambiguous + // ThreadSafeFunction::New signatures. + _tsfn = ThreadSafeFunction::New(callback.Env(), + callback, + resource, + resource_name, + queue_size, + /** initialThreadCount */ 1, + /** context */ this, + OnThreadSafeFunctionFinalize, + /** finalizeData */ this); +} + +#if NAPI_VERSION > 4 +template +inline AsyncProgressWorkerBase::AsyncProgressWorkerBase( + Napi::Env env, + const char* resource_name, + const Object& resource, + size_t queue_size) + : AsyncWorker(env, resource_name, resource) { + // TODO: Once the changes to make the callback optional for threadsafe + // functions are available on all versions we can remove the dummy Function + // here. + Function callback; + // Fill all possible arguments to work around ambiguous + // ThreadSafeFunction::New signatures. + _tsfn = ThreadSafeFunction::New(env, + callback, + resource, + resource_name, + queue_size, + /** initialThreadCount */ 1, + /** context */ this, + OnThreadSafeFunctionFinalize, + /** finalizeData */ this); +} +#endif + +template +inline AsyncProgressWorkerBase::~AsyncProgressWorkerBase() { + // Abort pending tsfn call. + // Don't send progress events after we've already completed. + // It's ok to call ThreadSafeFunction::Abort and ThreadSafeFunction::Release + // duplicated. + _tsfn.Abort(); +} + +template +inline void AsyncProgressWorkerBase::OnAsyncWorkProgress( + Napi::Env /* env */, Napi::Function /* jsCallback */, void* data) { + ThreadSafeData* tsd = static_cast(data); + tsd->asyncprogressworker()->OnWorkProgress(tsd->data()); + delete tsd; +} + +template +inline napi_status AsyncProgressWorkerBase::NonBlockingCall( + DataType* data) { + auto tsd = new AsyncProgressWorkerBase::ThreadSafeData(this, data); + auto ret = _tsfn.NonBlockingCall(tsd, OnAsyncWorkProgress); + if (ret != napi_ok) { + delete tsd; + } + return ret; +} + +template +inline void AsyncProgressWorkerBase::OnWorkComplete( + Napi::Env /* env */, napi_status status) { + _work_completed = true; + _complete_status = status; + _tsfn.Release(); +} + +template +inline void AsyncProgressWorkerBase::OnThreadSafeFunctionFinalize( + Napi::Env env, void* /* data */, AsyncProgressWorkerBase* context) { + if (context->_work_completed) { + context->AsyncWorker::OnWorkComplete(env, context->_complete_status); + } +} + +//////////////////////////////////////////////////////////////////////////////// +// Async Progress Worker class +//////////////////////////////////////////////////////////////////////////////// +template +inline AsyncProgressWorker::AsyncProgressWorker(const Function& callback) + : AsyncProgressWorker(callback, "generic") {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(const Function& callback, + const char* resource_name) + : AsyncProgressWorker( + callback, resource_name, Object::New(callback.Env())) {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(const Function& callback, + const char* resource_name, + const Object& resource) + : AsyncProgressWorker( + Object::New(callback.Env()), callback, resource_name, resource) {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(const Object& receiver, + const Function& callback) + : AsyncProgressWorker(receiver, callback, "generic") {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(const Object& receiver, + const Function& callback, + const char* resource_name) + : AsyncProgressWorker( + receiver, callback, resource_name, Object::New(callback.Env())) {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource) + : AsyncProgressWorkerBase(receiver, callback, resource_name, resource), + _asyncdata(nullptr), + _asyncsize(0), + _signaled(false) {} + +#if NAPI_VERSION > 4 +template +inline AsyncProgressWorker::AsyncProgressWorker(Napi::Env env) + : AsyncProgressWorker(env, "generic") {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(Napi::Env env, + const char* resource_name) + : AsyncProgressWorker(env, resource_name, Object::New(env)) {} + +template +inline AsyncProgressWorker::AsyncProgressWorker(Napi::Env env, + const char* resource_name, + const Object& resource) + : AsyncProgressWorkerBase(env, resource_name, resource), + _asyncdata(nullptr), + _asyncsize(0) {} +#endif + +template +inline AsyncProgressWorker::~AsyncProgressWorker() { + { + std::lock_guard lock(this->_mutex); + _asyncdata = nullptr; + _asyncsize = 0; + } +} + +template +inline void AsyncProgressWorker::Execute() { + ExecutionProgress progress(this); + Execute(progress); +} + +template +inline void AsyncProgressWorker::OnWorkProgress(void*) { + T* data; + size_t size; + bool signaled; + { + std::lock_guard lock(this->_mutex); + data = this->_asyncdata; + size = this->_asyncsize; + signaled = this->_signaled; + this->_asyncdata = nullptr; + this->_asyncsize = 0; + this->_signaled = false; + } + + /** + * The callback of ThreadSafeFunction is not been invoked immediately on the + * callback of uv_async_t (uv io poll), rather the callback of TSFN is + * invoked on the right next uv idle callback. There are chances that during + * the deferring the signal of uv_async_t is been sent again, i.e. potential + * not coalesced two calls of the TSFN callback. + */ + if (data == nullptr && !signaled) { + return; + } + + this->OnProgress(data, size); + delete[] data; +} + +template +inline void AsyncProgressWorker::SendProgress_(const T* data, size_t count) { + T* new_data = new T[count]; + std::copy(data, data + count, new_data); + + T* old_data; + { + std::lock_guard lock(this->_mutex); + old_data = _asyncdata; + _asyncdata = new_data; + _asyncsize = count; + _signaled = false; + } + this->NonBlockingCall(nullptr); + + delete[] old_data; +} + +template +inline void AsyncProgressWorker::Signal() { + { + std::lock_guard lock(this->_mutex); + _signaled = true; + } + this->NonBlockingCall(static_cast(nullptr)); +} + +template +inline void AsyncProgressWorker::ExecutionProgress::Signal() const { + this->_worker->Signal(); +} + +template +inline void AsyncProgressWorker::ExecutionProgress::Send( + const T* data, size_t count) const { + _worker->SendProgress_(data, count); +} + +//////////////////////////////////////////////////////////////////////////////// +// Async Progress Queue Worker class +//////////////////////////////////////////////////////////////////////////////// +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + const Function& callback) + : AsyncProgressQueueWorker(callback, "generic") {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + const Function& callback, const char* resource_name) + : AsyncProgressQueueWorker( + callback, resource_name, Object::New(callback.Env())) {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + const Function& callback, const char* resource_name, const Object& resource) + : AsyncProgressQueueWorker( + Object::New(callback.Env()), callback, resource_name, resource) {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + const Object& receiver, const Function& callback) + : AsyncProgressQueueWorker(receiver, callback, "generic") {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + const Object& receiver, const Function& callback, const char* resource_name) + : AsyncProgressQueueWorker( + receiver, callback, resource_name, Object::New(callback.Env())) {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource) + : AsyncProgressWorkerBase>( + receiver, + callback, + resource_name, + resource, + /** unlimited queue size */ 0) {} + +#if NAPI_VERSION > 4 +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker(Napi::Env env) + : AsyncProgressQueueWorker(env, "generic") {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + Napi::Env env, const char* resource_name) + : AsyncProgressQueueWorker(env, resource_name, Object::New(env)) {} + +template +inline AsyncProgressQueueWorker::AsyncProgressQueueWorker( + Napi::Env env, const char* resource_name, const Object& resource) + : AsyncProgressWorkerBase>( + env, resource_name, resource, /** unlimited queue size */ 0) {} +#endif + +template +inline void AsyncProgressQueueWorker::Execute() { + ExecutionProgress progress(this); + Execute(progress); +} + +template +inline void AsyncProgressQueueWorker::OnWorkProgress( + std::pair* datapair) { + if (datapair == nullptr) { + return; + } + + T* data = datapair->first; + size_t size = datapair->second; + + this->OnProgress(data, size); + delete datapair; + delete[] data; +} + +template +inline void AsyncProgressQueueWorker::SendProgress_(const T* data, + size_t count) { + T* new_data = new T[count]; + std::copy(data, data + count, new_data); + + auto pair = new std::pair(new_data, count); + this->NonBlockingCall(pair); +} + +template +inline void AsyncProgressQueueWorker::Signal() const { + this->SendProgress_(static_cast(nullptr), 0); +} + +template +inline void AsyncProgressQueueWorker::OnWorkComplete(Napi::Env env, + napi_status status) { + // Draining queued items in TSFN. + AsyncProgressWorkerBase>::OnWorkComplete(env, status); +} + +template +inline void AsyncProgressQueueWorker::ExecutionProgress::Signal() const { + _worker->SendProgress_(static_cast(nullptr), 0); +} + +template +inline void AsyncProgressQueueWorker::ExecutionProgress::Send( + const T* data, size_t count) const { + _worker->SendProgress_(data, count); +} +#endif // NAPI_VERSION > 3 && NAPI_HAS_THREADS + +//////////////////////////////////////////////////////////////////////////////// +// Memory Management class +//////////////////////////////////////////////////////////////////////////////// + +inline int64_t MemoryManagement::AdjustExternalMemory(Env env, + int64_t change_in_bytes) { + int64_t result; + napi_status status = + napi_adjust_external_memory(env, change_in_bytes, &result); + NAPI_THROW_IF_FAILED(env, status, 0); + return result; +} + +//////////////////////////////////////////////////////////////////////////////// +// Version Management class +//////////////////////////////////////////////////////////////////////////////// + +inline uint32_t VersionManagement::GetNapiVersion(Env env) { + uint32_t result; + napi_status status = napi_get_version(env, &result); + NAPI_THROW_IF_FAILED(env, status, 0); + return result; +} + +inline const napi_node_version* VersionManagement::GetNodeVersion(Env env) { + const napi_node_version* result; + napi_status status = napi_get_node_version(env, &result); + NAPI_THROW_IF_FAILED(env, status, 0); + return result; +} + +#if NAPI_VERSION > 5 +//////////////////////////////////////////////////////////////////////////////// +// Addon class +//////////////////////////////////////////////////////////////////////////////// + +template +inline Object Addon::Init(Env env, Object exports) { + T* addon = new T(env, exports); + env.SetInstanceData(addon); + return addon->entry_point_; +} + +template +inline T* Addon::Unwrap(Object wrapper) { + return wrapper.Env().GetInstanceData(); +} + +template +inline void Addon::DefineAddon( + Object exports, const std::initializer_list& props) { + DefineProperties(exports, props); + entry_point_ = exports; +} + +template +inline Napi::Object Addon::DefineProperties( + Object object, const std::initializer_list& props) { + const napi_property_descriptor* properties = + reinterpret_cast(props.begin()); + size_t size = props.size(); + napi_status status = + napi_define_properties(object.Env(), object, size, properties); + NAPI_THROW_IF_FAILED(object.Env(), status, object); + for (size_t idx = 0; idx < size; idx++) + T::AttachPropData(object.Env(), object, &properties[idx]); + return object; +} +#endif // NAPI_VERSION > 5 + +#if NAPI_VERSION > 2 +template +Env::CleanupHook Env::AddCleanupHook(Hook hook, Arg* arg) { + return CleanupHook(*this, hook, arg); +} + +template +Env::CleanupHook Env::AddCleanupHook(Hook hook) { + return CleanupHook(*this, hook); +} + +template +Env::CleanupHook::CleanupHook() { + data = nullptr; +} + +template +Env::CleanupHook::CleanupHook(Napi::Env env, Hook hook) + : wrapper(Env::CleanupHook::Wrapper) { + data = new CleanupData{std::move(hook), nullptr}; + napi_status status = napi_add_env_cleanup_hook(env, wrapper, data); + if (status != napi_ok) { + delete data; + data = nullptr; + } +} + +template +Env::CleanupHook::CleanupHook(Napi::Env env, Hook hook, Arg* arg) + : wrapper(Env::CleanupHook::WrapperWithArg) { + data = new CleanupData{std::move(hook), arg}; + napi_status status = napi_add_env_cleanup_hook(env, wrapper, data); + if (status != napi_ok) { + delete data; + data = nullptr; + } +} + +template +bool Env::CleanupHook::Remove(Env env) { + napi_status status = napi_remove_env_cleanup_hook(env, wrapper, data); + delete data; + data = nullptr; + return status == napi_ok; +} + +template +bool Env::CleanupHook::IsEmpty() const { + return data == nullptr; +} +#endif // NAPI_VERSION > 2 + +#ifdef NAPI_CPP_CUSTOM_NAMESPACE +} // namespace NAPI_CPP_CUSTOM_NAMESPACE +#endif + +} // namespace Napi + +#endif // SRC_NAPI_INL_H_ diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/napi.h b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/napi.h new file mode 100644 index 0000000..9f20cb8 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/napi.h @@ -0,0 +1,3201 @@ +#ifndef SRC_NAPI_H_ +#define SRC_NAPI_H_ + +#ifndef NAPI_HAS_THREADS +#if !defined(__wasm__) || (defined(__EMSCRIPTEN_PTHREADS__) || \ + (defined(__wasi__) && defined(_REENTRANT))) +#define NAPI_HAS_THREADS 1 +#else +#define NAPI_HAS_THREADS 0 +#endif +#endif + +#include +#include +#include +#include +#if NAPI_HAS_THREADS +#include +#endif // NAPI_HAS_THREADS +#include +#include + +// VS2015 RTM has bugs with constexpr, so require min of VS2015 Update 3 (known +// good version) +#if !defined(_MSC_VER) || _MSC_FULL_VER >= 190024210 +#define NAPI_HAS_CONSTEXPR 1 +#endif + +// VS2013 does not support char16_t literal strings, so we'll work around it +// using wchar_t strings and casting them. This is safe as long as the character +// sizes are the same. +#if defined(_MSC_VER) && _MSC_VER <= 1800 +static_assert(sizeof(char16_t) == sizeof(wchar_t), + "Size mismatch between char16_t and wchar_t"); +#define NAPI_WIDE_TEXT(x) reinterpret_cast(L##x) +#else +#define NAPI_WIDE_TEXT(x) u##x +#endif + +// If C++ exceptions are not explicitly enabled or disabled, enable them +// if exceptions were enabled in the compiler settings. +#if !defined(NAPI_CPP_EXCEPTIONS) && !defined(NAPI_DISABLE_CPP_EXCEPTIONS) +#if defined(_CPPUNWIND) || defined(__EXCEPTIONS) +#define NAPI_CPP_EXCEPTIONS +#else +#error Exception support not detected. \ + Define either NAPI_CPP_EXCEPTIONS or NAPI_DISABLE_CPP_EXCEPTIONS. +#endif +#endif + +// If C++ NAPI_CPP_EXCEPTIONS are enabled, NODE_ADDON_API_ENABLE_MAYBE should +// not be set +#if defined(NAPI_CPP_EXCEPTIONS) && defined(NODE_ADDON_API_ENABLE_MAYBE) +#error NODE_ADDON_API_ENABLE_MAYBE should not be set when \ + NAPI_CPP_EXCEPTIONS is defined. +#endif + +#ifdef _NOEXCEPT +#define NAPI_NOEXCEPT _NOEXCEPT +#else +#define NAPI_NOEXCEPT noexcept +#endif + +#ifdef NAPI_CPP_EXCEPTIONS + +// When C++ exceptions are enabled, Errors are thrown directly. There is no need +// to return anything after the throw statements. The variadic parameter is an +// optional return value that is ignored. +// We need _VOID versions of the macros to avoid warnings resulting from +// leaving the NAPI_THROW_* `...` argument empty. + +#define NAPI_THROW(e, ...) throw e +#define NAPI_THROW_VOID(e) throw e + +#define NAPI_THROW_IF_FAILED(env, status, ...) \ + if ((status) != napi_ok) throw Napi::Error::New(env); + +#define NAPI_THROW_IF_FAILED_VOID(env, status) \ + if ((status) != napi_ok) throw Napi::Error::New(env); + +#else // NAPI_CPP_EXCEPTIONS + +// When C++ exceptions are disabled, Errors are thrown as JavaScript exceptions, +// which are pending until the callback returns to JS. The variadic parameter +// is an optional return value; usually it is an empty result. +// We need _VOID versions of the macros to avoid warnings resulting from +// leaving the NAPI_THROW_* `...` argument empty. + +#define NAPI_THROW(e, ...) \ + do { \ + (e).ThrowAsJavaScriptException(); \ + return __VA_ARGS__; \ + } while (0) + +#define NAPI_THROW_VOID(e) \ + do { \ + (e).ThrowAsJavaScriptException(); \ + return; \ + } while (0) + +#define NAPI_THROW_IF_FAILED(env, status, ...) \ + if ((status) != napi_ok) { \ + Napi::Error::New(env).ThrowAsJavaScriptException(); \ + return __VA_ARGS__; \ + } + +#define NAPI_THROW_IF_FAILED_VOID(env, status) \ + if ((status) != napi_ok) { \ + Napi::Error::New(env).ThrowAsJavaScriptException(); \ + return; \ + } + +#endif // NAPI_CPP_EXCEPTIONS + +#ifdef NODE_ADDON_API_ENABLE_MAYBE +#define NAPI_MAYBE_THROW_IF_FAILED(env, status, type) \ + NAPI_THROW_IF_FAILED(env, status, Napi::Nothing()) + +#define NAPI_RETURN_OR_THROW_IF_FAILED(env, status, result, type) \ + NAPI_MAYBE_THROW_IF_FAILED(env, status, type); \ + return Napi::Just(result); +#else +#define NAPI_MAYBE_THROW_IF_FAILED(env, status, type) \ + NAPI_THROW_IF_FAILED(env, status, type()) + +#define NAPI_RETURN_OR_THROW_IF_FAILED(env, status, result, type) \ + NAPI_MAYBE_THROW_IF_FAILED(env, status, type); \ + return result; +#endif + +#define NAPI_DISALLOW_ASSIGN(CLASS) void operator=(const CLASS&) = delete; +#define NAPI_DISALLOW_COPY(CLASS) CLASS(const CLASS&) = delete; + +#define NAPI_DISALLOW_ASSIGN_COPY(CLASS) \ + NAPI_DISALLOW_ASSIGN(CLASS) \ + NAPI_DISALLOW_COPY(CLASS) + +#define NAPI_CHECK(condition, location, message) \ + do { \ + if (!(condition)) { \ + Napi::Error::Fatal((location), (message)); \ + } \ + } while (0) + +#define NAPI_FATAL_IF_FAILED(status, location, message) \ + NAPI_CHECK((status) == napi_ok, location, message) + +//////////////////////////////////////////////////////////////////////////////// +/// Node-API C++ Wrapper Classes +/// +/// These classes wrap the "Node-API" ABI-stable C APIs for Node.js, providing a +/// C++ object model and C++ exception-handling semantics with low overhead. +/// The wrappers are all header-only so that they do not affect the ABI. +//////////////////////////////////////////////////////////////////////////////// +namespace Napi { + +#ifdef NAPI_CPP_CUSTOM_NAMESPACE +// NAPI_CPP_CUSTOM_NAMESPACE can be #define'd per-addon to avoid symbol +// conflicts between different instances of node-addon-api + +// First dummy definition of the namespace to make sure that Napi::(name) still +// refers to the right things inside this file. +namespace NAPI_CPP_CUSTOM_NAMESPACE {} +using namespace NAPI_CPP_CUSTOM_NAMESPACE; + +namespace NAPI_CPP_CUSTOM_NAMESPACE { +#endif + +// Forward declarations +class Env; +class Value; +class Boolean; +class Number; +#if NAPI_VERSION > 5 +class BigInt; +#endif // NAPI_VERSION > 5 +#if (NAPI_VERSION > 4) +class Date; +#endif +class String; +class Object; +class Array; +class ArrayBuffer; +class Function; +class Error; +class PropertyDescriptor; +class CallbackInfo; +class TypedArray; +template +class TypedArrayOf; + +using Int8Array = + TypedArrayOf; ///< Typed-array of signed 8-bit integers +using Uint8Array = + TypedArrayOf; ///< Typed-array of unsigned 8-bit integers +using Int16Array = + TypedArrayOf; ///< Typed-array of signed 16-bit integers +using Uint16Array = + TypedArrayOf; ///< Typed-array of unsigned 16-bit integers +using Int32Array = + TypedArrayOf; ///< Typed-array of signed 32-bit integers +using Uint32Array = + TypedArrayOf; ///< Typed-array of unsigned 32-bit integers +using Float32Array = + TypedArrayOf; ///< Typed-array of 32-bit floating-point values +using Float64Array = + TypedArrayOf; ///< Typed-array of 64-bit floating-point values +#if NAPI_VERSION > 5 +using BigInt64Array = + TypedArrayOf; ///< Typed array of signed 64-bit integers +using BigUint64Array = + TypedArrayOf; ///< Typed array of unsigned 64-bit integers +#endif // NAPI_VERSION > 5 + +/// Defines the signature of a Node-API C++ module's registration callback +/// (init) function. +using ModuleRegisterCallback = Object (*)(Env env, Object exports); + +class MemoryManagement; + +/// A simple Maybe type, representing an object which may or may not have a +/// value. +/// +/// If an API method returns a Maybe<>, the API method can potentially fail +/// either because an exception is thrown, or because an exception is pending, +/// e.g. because a previous API call threw an exception that hasn't been +/// caught yet. In that case, a "Nothing" value is returned. +template +class Maybe { + public: + bool IsNothing() const; + bool IsJust() const; + + /// Short-hand for Unwrap(), which doesn't return a value. Could be used + /// where the actual value of the Maybe is not needed like Object::Set. + /// If this Maybe is nothing (empty), node-addon-api will crash the + /// process. + void Check() const; + + /// Return the value of type T contained in the Maybe. If this Maybe is + /// nothing (empty), node-addon-api will crash the process. + T Unwrap() const; + + /// Return the value of type T contained in the Maybe, or using a default + /// value if this Maybe is nothing (empty). + T UnwrapOr(const T& default_value) const; + + /// Converts this Maybe to a value of type T in the out. If this Maybe is + /// nothing (empty), `false` is returned and `out` is left untouched. + bool UnwrapTo(T* out) const; + + bool operator==(const Maybe& other) const; + bool operator!=(const Maybe& other) const; + + private: + Maybe(); + explicit Maybe(const T& t); + + bool _has_value; + T _value; + + template + friend Maybe Nothing(); + template + friend Maybe Just(const U& u); +}; + +template +inline Maybe Nothing(); + +template +inline Maybe Just(const T& t); + +#if defined(NODE_ADDON_API_ENABLE_MAYBE) +template +using MaybeOrValue = Maybe; +#else +template +using MaybeOrValue = T; +#endif + +/// Environment for Node-API values and operations. +/// +/// All Node-API values and operations must be associated with an environment. +/// An environment instance is always provided to callback functions; that +/// environment must then be used for any creation of Node-API values or other +/// Node-API operations within the callback. (Many methods infer the +/// environment from the `this` instance that the method is called on.) +/// +/// In the future, multiple environments per process may be supported, +/// although current implementations only support one environment per process. +/// +/// In the V8 JavaScript engine, a Node-API environment approximately +/// corresponds to an Isolate. +class Env { + private: + napi_env _env; +#if NAPI_VERSION > 5 + template + static void DefaultFini(Env, T* data); + template + static void DefaultFiniWithHint(Env, DataType* data, HintType* hint); +#endif // NAPI_VERSION > 5 + public: + Env(napi_env env); + + operator napi_env() const; + + Object Global() const; + Value Undefined() const; + Value Null() const; + + bool IsExceptionPending() const; + Error GetAndClearPendingException() const; + + MaybeOrValue RunScript(const char* utf8script) const; + MaybeOrValue RunScript(const std::string& utf8script) const; + MaybeOrValue RunScript(String script) const; + +#if NAPI_VERSION > 2 + template + class CleanupHook; + + template + CleanupHook AddCleanupHook(Hook hook); + + template + CleanupHook AddCleanupHook(Hook hook, Arg* arg); +#endif // NAPI_VERSION > 2 + +#if NAPI_VERSION > 5 + template + T* GetInstanceData() const; + + template + using Finalizer = void (*)(Env, T*); + template fini = Env::DefaultFini> + void SetInstanceData(T* data) const; + + template + using FinalizerWithHint = void (*)(Env, DataType*, HintType*); + template fini = + Env::DefaultFiniWithHint> + void SetInstanceData(DataType* data, HintType* hint) const; +#endif // NAPI_VERSION > 5 + +#if NAPI_VERSION > 2 + template + class CleanupHook { + public: + CleanupHook(); + CleanupHook(Env env, Hook hook, Arg* arg); + CleanupHook(Env env, Hook hook); + bool Remove(Env env); + bool IsEmpty() const; + + private: + static inline void Wrapper(void* data) NAPI_NOEXCEPT; + static inline void WrapperWithArg(void* data) NAPI_NOEXCEPT; + + void (*wrapper)(void* arg); + struct CleanupData { + Hook hook; + Arg* arg; + } * data; + }; +#endif // NAPI_VERSION > 2 + +#if NAPI_VERSION > 8 + const char* GetModuleFileName() const; +#endif // NAPI_VERSION > 8 +}; + +/// A JavaScript value of unknown type. +/// +/// For type-specific operations, convert to one of the Value subclasses using a +/// `To*` or `As()` method. The `To*` methods do type coercion; the `As()` +/// method does not. +/// +/// Napi::Value value = ... +/// if (!value.IsString()) throw Napi::TypeError::New(env, "Invalid +/// arg..."); Napi::String str = value.As(); // Cast to a +/// string value +/// +/// Napi::Value anotherValue = ... +/// bool isTruthy = anotherValue.ToBoolean(); // Coerce to a boolean value +class Value { + public: + Value(); ///< Creates a new _empty_ Value instance. + Value(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + /// Creates a JS value from a C++ primitive. + /// + /// `value` may be any of: + /// - bool + /// - Any integer type + /// - Any floating point type + /// - const char* (encoded using UTF-8, null-terminated) + /// - const char16_t* (encoded using UTF-16-LE, null-terminated) + /// - std::string (encoded using UTF-8) + /// - std::u16string + /// - napi::Value + /// - napi_value + template + static Value From(napi_env env, const T& value); + + /// Converts to a Node-API value primitive. + /// + /// If the instance is _empty_, this returns `nullptr`. + operator napi_value() const; + + /// Tests if this value strictly equals another value. + bool operator==(const Value& other) const; + + /// Tests if this value does not strictly equal another value. + bool operator!=(const Value& other) const; + + /// Tests if this value strictly equals another value. + bool StrictEquals(const Value& other) const; + + /// Gets the environment the value is associated with. + Napi::Env Env() const; + + /// Checks if the value is empty (uninitialized). + /// + /// An empty value is invalid, and most attempts to perform an operation on an + /// empty value will result in an exception. Note an empty value is distinct + /// from JavaScript `null` or `undefined`, which are valid values. + /// + /// When C++ exceptions are disabled at compile time, a method with a `Value` + /// return type may return an empty value to indicate a pending exception. So + /// when not using C++ exceptions, callers should check whether the value is + /// empty before attempting to use it. + bool IsEmpty() const; + + napi_valuetype Type() const; ///< Gets the type of the value. + + bool IsUndefined() + const; ///< Tests if a value is an undefined JavaScript value. + bool IsNull() const; ///< Tests if a value is a null JavaScript value. + bool IsBoolean() const; ///< Tests if a value is a JavaScript boolean. + bool IsNumber() const; ///< Tests if a value is a JavaScript number. +#if NAPI_VERSION > 5 + bool IsBigInt() const; ///< Tests if a value is a JavaScript bigint. +#endif // NAPI_VERSION > 5 +#if (NAPI_VERSION > 4) + bool IsDate() const; ///< Tests if a value is a JavaScript date. +#endif + bool IsString() const; ///< Tests if a value is a JavaScript string. + bool IsSymbol() const; ///< Tests if a value is a JavaScript symbol. + bool IsArray() const; ///< Tests if a value is a JavaScript array. + bool IsArrayBuffer() + const; ///< Tests if a value is a JavaScript array buffer. + bool IsTypedArray() const; ///< Tests if a value is a JavaScript typed array. + bool IsObject() const; ///< Tests if a value is a JavaScript object. + bool IsFunction() const; ///< Tests if a value is a JavaScript function. + bool IsPromise() const; ///< Tests if a value is a JavaScript promise. + bool IsDataView() const; ///< Tests if a value is a JavaScript data view. + bool IsBuffer() const; ///< Tests if a value is a Node buffer. + bool IsExternal() const; ///< Tests if a value is a pointer to external data. + + /// Casts to another type of `Napi::Value`, when the actual type is known or + /// assumed. + /// + /// This conversion does NOT coerce the type. Calling any methods + /// inappropriate for the actual value type will throw `Napi::Error`. + /// + /// If `NODE_ADDON_API_ENABLE_TYPE_CHECK_ON_AS` is defined, this method + /// asserts that the actual type is the expected type. + template + T As() const; + + MaybeOrValue ToBoolean() + const; ///< Coerces a value to a JavaScript boolean. + MaybeOrValue ToNumber() + const; ///< Coerces a value to a JavaScript number. + MaybeOrValue ToString() + const; ///< Coerces a value to a JavaScript string. + MaybeOrValue ToObject() + const; ///< Coerces a value to a JavaScript object. + + protected: + /// !cond INTERNAL + napi_env _env; + napi_value _value; + /// !endcond +}; + +/// A JavaScript boolean value. +class Boolean : public Value { + public: + static Boolean New(napi_env env, ///< Node-API environment + bool value ///< Boolean value + ); + + static void CheckCast(napi_env env, napi_value value); + + Boolean(); ///< Creates a new _empty_ Boolean instance. + Boolean(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + operator bool() const; ///< Converts a Boolean value to a boolean primitive. + bool Value() const; ///< Converts a Boolean value to a boolean primitive. +}; + +/// A JavaScript number value. +class Number : public Value { + public: + static Number New(napi_env env, ///< Node-API environment + double value ///< Number value + ); + + static void CheckCast(napi_env env, napi_value value); + + Number(); ///< Creates a new _empty_ Number instance. + Number(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + operator int32_t() + const; ///< Converts a Number value to a 32-bit signed integer value. + operator uint32_t() + const; ///< Converts a Number value to a 32-bit unsigned integer value. + operator int64_t() + const; ///< Converts a Number value to a 64-bit signed integer value. + operator float() + const; ///< Converts a Number value to a 32-bit floating-point value. + operator double() + const; ///< Converts a Number value to a 64-bit floating-point value. + + int32_t Int32Value() + const; ///< Converts a Number value to a 32-bit signed integer value. + uint32_t Uint32Value() + const; ///< Converts a Number value to a 32-bit unsigned integer value. + int64_t Int64Value() + const; ///< Converts a Number value to a 64-bit signed integer value. + float FloatValue() + const; ///< Converts a Number value to a 32-bit floating-point value. + double DoubleValue() + const; ///< Converts a Number value to a 64-bit floating-point value. +}; + +#if NAPI_VERSION > 5 +/// A JavaScript bigint value. +class BigInt : public Value { + public: + static BigInt New(napi_env env, ///< Node-API environment + int64_t value ///< Number value + ); + static BigInt New(napi_env env, ///< Node-API environment + uint64_t value ///< Number value + ); + + /// Creates a new BigInt object using a specified sign bit and a + /// specified list of digits/words. + /// The resulting number is calculated as: + /// (-1)^sign_bit * (words[0] * (2^64)^0 + words[1] * (2^64)^1 + ...) + static BigInt New(napi_env env, ///< Node-API environment + int sign_bit, ///< Sign bit. 1 if negative. + size_t word_count, ///< Number of words in array + const uint64_t* words ///< Array of words + ); + + static void CheckCast(napi_env env, napi_value value); + + BigInt(); ///< Creates a new _empty_ BigInt instance. + BigInt(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + int64_t Int64Value(bool* lossless) + const; ///< Converts a BigInt value to a 64-bit signed integer value. + uint64_t Uint64Value(bool* lossless) + const; ///< Converts a BigInt value to a 64-bit unsigned integer value. + + size_t WordCount() const; ///< The number of 64-bit words needed to store + ///< the result of ToWords(). + + /// Writes the contents of this BigInt to a specified memory location. + /// `sign_bit` must be provided and will be set to 1 if this BigInt is + /// negative. + /// `*word_count` has to be initialized to the length of the `words` array. + /// Upon return, it will be set to the actual number of words that would + /// be needed to store this BigInt (i.e. the return value of `WordCount()`). + void ToWords(int* sign_bit, size_t* word_count, uint64_t* words); +}; +#endif // NAPI_VERSION > 5 + +#if (NAPI_VERSION > 4) +/// A JavaScript date value. +class Date : public Value { + public: + /// Creates a new Date value from a double primitive. + static Date New(napi_env env, ///< Node-API environment + double value ///< Number value + ); + + static void CheckCast(napi_env env, napi_value value); + + Date(); ///< Creates a new _empty_ Date instance. + Date(napi_env env, napi_value value); ///< Wraps a Node-API value primitive. + operator double() const; ///< Converts a Date value to double primitive + + double ValueOf() const; ///< Converts a Date value to a double primitive. +}; +#endif + +/// A JavaScript string or symbol value (that can be used as a property name). +class Name : public Value { + public: + static void CheckCast(napi_env env, napi_value value); + + Name(); ///< Creates a new _empty_ Name instance. + Name(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. +}; + +/// A JavaScript string value. +class String : public Name { + public: + /// Creates a new String value from a UTF-8 encoded C++ string. + static String New(napi_env env, ///< Node-API environment + const std::string& value ///< UTF-8 encoded C++ string + ); + + /// Creates a new String value from a UTF-16 encoded C++ string. + static String New(napi_env env, ///< Node-API environment + const std::u16string& value ///< UTF-16 encoded C++ string + ); + + /// Creates a new String value from a UTF-8 encoded C string. + static String New( + napi_env env, ///< Node-API environment + const char* value ///< UTF-8 encoded null-terminated C string + ); + + /// Creates a new String value from a UTF-16 encoded C string. + static String New( + napi_env env, ///< Node-API environment + const char16_t* value ///< UTF-16 encoded null-terminated C string + ); + + /// Creates a new String value from a UTF-8 encoded C string with specified + /// length. + static String New(napi_env env, ///< Node-API environment + const char* value, ///< UTF-8 encoded C string (not + ///< necessarily null-terminated) + size_t length ///< length of the string in bytes + ); + + /// Creates a new String value from a UTF-16 encoded C string with specified + /// length. + static String New( + napi_env env, ///< Node-API environment + const char16_t* value, ///< UTF-16 encoded C string (not necessarily + ///< null-terminated) + size_t length ///< Length of the string in 2-byte code units + ); + + /// Creates a new String based on the original object's type. + /// + /// `value` may be any of: + /// - const char* (encoded using UTF-8, null-terminated) + /// - const char16_t* (encoded using UTF-16-LE, null-terminated) + /// - std::string (encoded using UTF-8) + /// - std::u16string + template + static String From(napi_env env, const T& value); + + static void CheckCast(napi_env env, napi_value value); + + String(); ///< Creates a new _empty_ String instance. + String(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + operator std::string() + const; ///< Converts a String value to a UTF-8 encoded C++ string. + operator std::u16string() + const; ///< Converts a String value to a UTF-16 encoded C++ string. + std::string Utf8Value() + const; ///< Converts a String value to a UTF-8 encoded C++ string. + std::u16string Utf16Value() + const; ///< Converts a String value to a UTF-16 encoded C++ string. +}; + +/// A JavaScript symbol value. +class Symbol : public Name { + public: + /// Creates a new Symbol value with an optional description. + static Symbol New( + napi_env env, ///< Node-API environment + const char* description = + nullptr ///< Optional UTF-8 encoded null-terminated C string + /// describing the symbol + ); + + /// Creates a new Symbol value with a description. + static Symbol New( + napi_env env, ///< Node-API environment + const std::string& + description ///< UTF-8 encoded C++ string describing the symbol + ); + + /// Creates a new Symbol value with a description. + static Symbol New(napi_env env, ///< Node-API environment + String description ///< String value describing the symbol + ); + + /// Creates a new Symbol value with a description. + static Symbol New( + napi_env env, ///< Node-API environment + napi_value description ///< String value describing the symbol + ); + + /// Get a public Symbol (e.g. Symbol.iterator). + static MaybeOrValue WellKnown(napi_env, const std::string& name); + + // Create a symbol in the global registry, UTF-8 Encoded cpp string + static MaybeOrValue For(napi_env env, const std::string& description); + + // Create a symbol in the global registry, C style string (null terminated) + static MaybeOrValue For(napi_env env, const char* description); + + // Create a symbol in the global registry, String value describing the symbol + static MaybeOrValue For(napi_env env, String description); + + // Create a symbol in the global registry, napi_value describing the symbol + static MaybeOrValue For(napi_env env, napi_value description); + + static void CheckCast(napi_env env, napi_value value); + + Symbol(); ///< Creates a new _empty_ Symbol instance. + Symbol(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. +}; + +class TypeTaggable : public Value { + public: +#if NAPI_VERSION >= 8 + void TypeTag(const napi_type_tag* type_tag) const; + bool CheckTypeTag(const napi_type_tag* type_tag) const; +#endif // NAPI_VERSION >= 8 + protected: + TypeTaggable(); + TypeTaggable(napi_env env, napi_value value); +}; + +/// A JavaScript object value. +class Object : public TypeTaggable { + public: + /// Enables property and element assignments using indexing syntax. + /// + /// This is a convenient helper to get and set object properties. As + /// getting and setting object properties may throw with JavaScript + /// exceptions, it is notable that these operations may fail. + /// When NODE_ADDON_API_ENABLE_MAYBE is defined, the process will abort + /// on JavaScript exceptions. + /// + /// Example: + /// + /// Napi::Value propertyValue = object1['A']; + /// object2['A'] = propertyValue; + /// Napi::Value elementValue = array[0]; + /// array[1] = elementValue; + template + class PropertyLValue { + public: + /// Converts an L-value to a value. + operator Value() const; + + /// Assigns a value to the property. The type of value can be + /// anything supported by `Object::Set`. + template + PropertyLValue& operator=(ValueType value); + + private: + PropertyLValue() = delete; + PropertyLValue(Object object, Key key); + napi_env _env; + napi_value _object; + Key _key; + + friend class Napi::Object; + }; + + /// Creates a new Object value. + static Object New(napi_env env ///< Node-API environment + ); + + static void CheckCast(napi_env env, napi_value value); + + Object(); ///< Creates a new _empty_ Object instance. + Object(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + /// Gets or sets a named property. + PropertyLValue operator[]( + const char* utf8name ///< UTF-8 encoded null-terminated property name + ); + + /// Gets or sets a named property. + PropertyLValue operator[]( + const std::string& utf8name ///< UTF-8 encoded property name + ); + + /// Gets or sets an indexed property or array element. + PropertyLValue operator[]( + uint32_t index /// Property / element index + ); + + /// Gets or sets an indexed property or array element. + PropertyLValue operator[](Value index /// Property / element index + ) const; + + /// Gets a named property. + MaybeOrValue operator[]( + const char* utf8name ///< UTF-8 encoded null-terminated property name + ) const; + + /// Gets a named property. + MaybeOrValue operator[]( + const std::string& utf8name ///< UTF-8 encoded property name + ) const; + + /// Gets an indexed property or array element. + MaybeOrValue operator[](uint32_t index ///< Property / element index + ) const; + + /// Checks whether a property is present. + MaybeOrValue Has(napi_value key ///< Property key primitive + ) const; + + /// Checks whether a property is present. + MaybeOrValue Has(Value key ///< Property key + ) const; + + /// Checks whether a named property is present. + MaybeOrValue Has( + const char* utf8name ///< UTF-8 encoded null-terminated property name + ) const; + + /// Checks whether a named property is present. + MaybeOrValue Has( + const std::string& utf8name ///< UTF-8 encoded property name + ) const; + + /// Checks whether a own property is present. + MaybeOrValue HasOwnProperty(napi_value key ///< Property key primitive + ) const; + + /// Checks whether a own property is present. + MaybeOrValue HasOwnProperty(Value key ///< Property key + ) const; + + /// Checks whether a own property is present. + MaybeOrValue HasOwnProperty( + const char* utf8name ///< UTF-8 encoded null-terminated property name + ) const; + + /// Checks whether a own property is present. + MaybeOrValue HasOwnProperty( + const std::string& utf8name ///< UTF-8 encoded property name + ) const; + + /// Gets a property. + MaybeOrValue Get(napi_value key ///< Property key primitive + ) const; + + /// Gets a property. + MaybeOrValue Get(Value key ///< Property key + ) const; + + /// Gets a named property. + MaybeOrValue Get( + const char* utf8name ///< UTF-8 encoded null-terminated property name + ) const; + + /// Gets a named property. + MaybeOrValue Get( + const std::string& utf8name ///< UTF-8 encoded property name + ) const; + + /// Sets a property. + template + MaybeOrValue Set(napi_value key, ///< Property key primitive + const ValueType& value ///< Property value primitive + ) const; + + /// Sets a property. + template + MaybeOrValue Set(Value key, ///< Property key + const ValueType& value ///< Property value + ) const; + + /// Sets a named property. + template + MaybeOrValue Set( + const char* utf8name, ///< UTF-8 encoded null-terminated property name + const ValueType& value) const; + + /// Sets a named property. + template + MaybeOrValue Set( + const std::string& utf8name, ///< UTF-8 encoded property name + const ValueType& value ///< Property value primitive + ) const; + + /// Delete property. + MaybeOrValue Delete(napi_value key ///< Property key primitive + ) const; + + /// Delete property. + MaybeOrValue Delete(Value key ///< Property key + ) const; + + /// Delete property. + MaybeOrValue Delete( + const char* utf8name ///< UTF-8 encoded null-terminated property name + ) const; + + /// Delete property. + MaybeOrValue Delete( + const std::string& utf8name ///< UTF-8 encoded property name + ) const; + + /// Checks whether an indexed property is present. + MaybeOrValue Has(uint32_t index ///< Property / element index + ) const; + + /// Gets an indexed property or array element. + MaybeOrValue Get(uint32_t index ///< Property / element index + ) const; + + /// Sets an indexed property or array element. + template + MaybeOrValue Set(uint32_t index, ///< Property / element index + const ValueType& value ///< Property value primitive + ) const; + + /// Deletes an indexed property or array element. + MaybeOrValue Delete(uint32_t index ///< Property / element index + ) const; + + /// This operation can fail in case of Proxy.[[OwnPropertyKeys]] and + /// Proxy.[[GetOwnProperty]] calling into JavaScript. See: + /// - + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-ownpropertykeys + /// - + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getownproperty-p + MaybeOrValue GetPropertyNames() const; ///< Get all property names + + /// Defines a property on the object. + /// + /// This operation can fail in case of Proxy.[[DefineOwnProperty]] calling + /// into JavaScript. See + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc + MaybeOrValue DefineProperty( + const PropertyDescriptor& + property ///< Descriptor for the property to be defined + ) const; + + /// Defines properties on the object. + /// + /// This operation can fail in case of Proxy.[[DefineOwnProperty]] calling + /// into JavaScript. See + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc + MaybeOrValue DefineProperties( + const std::initializer_list& properties + ///< List of descriptors for the properties to be defined + ) const; + + /// Defines properties on the object. + /// + /// This operation can fail in case of Proxy.[[DefineOwnProperty]] calling + /// into JavaScript. See + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-defineownproperty-p-desc + MaybeOrValue DefineProperties( + const std::vector& properties + ///< Vector of descriptors for the properties to be defined + ) const; + + /// Checks if an object is an instance created by a constructor function. + /// + /// This is equivalent to the JavaScript `instanceof` operator. + /// + /// This operation can fail in case of Proxy.[[GetPrototypeOf]] calling into + /// JavaScript. + /// See + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof + MaybeOrValue InstanceOf( + const Function& constructor ///< Constructor function + ) const; + + template + inline void AddFinalizer(Finalizer finalizeCallback, T* data) const; + + template + inline void AddFinalizer(Finalizer finalizeCallback, + T* data, + Hint* finalizeHint) const; + +#ifdef NAPI_CPP_EXCEPTIONS + class const_iterator; + + inline const_iterator begin() const; + + inline const_iterator end() const; + + class iterator; + + inline iterator begin(); + + inline iterator end(); +#endif // NAPI_CPP_EXCEPTIONS + +#if NAPI_VERSION >= 8 + /// This operation can fail in case of Proxy.[[GetPrototypeOf]] calling into + /// JavaScript. + /// See + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof + MaybeOrValue Freeze() const; + /// This operation can fail in case of Proxy.[[GetPrototypeOf]] calling into + /// JavaScript. + /// See + /// https://tc39.es/ecma262/#sec-proxy-object-internal-methods-and-internal-slots-getprototypeof + MaybeOrValue Seal() const; +#endif // NAPI_VERSION >= 8 +}; + +template +class External : public TypeTaggable { + public: + static External New(napi_env env, T* data); + + // Finalizer must implement `void operator()(Env env, T* data)`. + template + static External New(napi_env env, T* data, Finalizer finalizeCallback); + // Finalizer must implement `void operator()(Env env, T* data, Hint* hint)`. + template + static External New(napi_env env, + T* data, + Finalizer finalizeCallback, + Hint* finalizeHint); + + static void CheckCast(napi_env env, napi_value value); + + External(); + External(napi_env env, napi_value value); + + T* Data() const; +}; + +class Array : public Object { + public: + static Array New(napi_env env); + static Array New(napi_env env, size_t length); + + static void CheckCast(napi_env env, napi_value value); + + Array(); + Array(napi_env env, napi_value value); + + uint32_t Length() const; +}; + +#ifdef NAPI_CPP_EXCEPTIONS +class Object::const_iterator { + private: + enum class Type { BEGIN, END }; + + inline const_iterator(const Object* object, const Type type); + + public: + inline const_iterator& operator++(); + + inline bool operator==(const const_iterator& other) const; + + inline bool operator!=(const const_iterator& other) const; + + inline const std::pair> operator*() + const; + + private: + const Napi::Object* _object; + Array _keys; + uint32_t _index; + + friend class Object; +}; + +class Object::iterator { + private: + enum class Type { BEGIN, END }; + + inline iterator(Object* object, const Type type); + + public: + inline iterator& operator++(); + + inline bool operator==(const iterator& other) const; + + inline bool operator!=(const iterator& other) const; + + inline std::pair> operator*(); + + private: + Napi::Object* _object; + Array _keys; + uint32_t _index; + + friend class Object; +}; +#endif // NAPI_CPP_EXCEPTIONS + +/// A JavaScript array buffer value. +class ArrayBuffer : public Object { + public: + /// Creates a new ArrayBuffer instance over a new automatically-allocated + /// buffer. + static ArrayBuffer New( + napi_env env, ///< Node-API environment + size_t byteLength ///< Length of the buffer to be allocated, in bytes + ); + +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + /// Creates a new ArrayBuffer instance, using an external buffer with + /// specified byte length. + static ArrayBuffer New( + napi_env env, ///< Node-API environment + void* externalData, ///< Pointer to the external buffer to be used by + ///< the array + size_t byteLength ///< Length of the external buffer to be used by the + ///< array, in bytes + ); + + /// Creates a new ArrayBuffer instance, using an external buffer with + /// specified byte length. + template + static ArrayBuffer New( + napi_env env, ///< Node-API environment + void* externalData, ///< Pointer to the external buffer to be used by + ///< the array + size_t byteLength, ///< Length of the external buffer to be used by the + ///< array, + /// in bytes + Finalizer finalizeCallback ///< Function to be called when the array + ///< buffer is destroyed; + /// must implement `void operator()(Env env, + /// void* externalData)` + ); + + /// Creates a new ArrayBuffer instance, using an external buffer with + /// specified byte length. + template + static ArrayBuffer New( + napi_env env, ///< Node-API environment + void* externalData, ///< Pointer to the external buffer to be used by + ///< the array + size_t byteLength, ///< Length of the external buffer to be used by the + ///< array, + /// in bytes + Finalizer finalizeCallback, ///< Function to be called when the array + ///< buffer is destroyed; + /// must implement `void operator()(Env + /// env, void* externalData, Hint* hint)` + Hint* finalizeHint ///< Hint (second parameter) to be passed to the + ///< finalize callback + ); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + + static void CheckCast(napi_env env, napi_value value); + + ArrayBuffer(); ///< Creates a new _empty_ ArrayBuffer instance. + ArrayBuffer(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + void* Data(); ///< Gets a pointer to the data buffer. + size_t ByteLength(); ///< Gets the length of the array buffer in bytes. + +#if NAPI_VERSION >= 7 + bool IsDetached() const; + void Detach(); +#endif // NAPI_VERSION >= 7 +}; + +/// A JavaScript typed-array value with unknown array type. +/// +/// For type-specific operations, cast to a `TypedArrayOf` instance using the +/// `As()` method: +/// +/// Napi::TypedArray array = ... +/// if (t.TypedArrayType() == napi_int32_array) { +/// Napi::Int32Array int32Array = t.As(); +/// } +class TypedArray : public Object { + public: + static void CheckCast(napi_env env, napi_value value); + + TypedArray(); ///< Creates a new _empty_ TypedArray instance. + TypedArray(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + napi_typedarray_type TypedArrayType() + const; ///< Gets the type of this typed-array. + Napi::ArrayBuffer ArrayBuffer() const; ///< Gets the backing array buffer. + + uint8_t ElementSize() + const; ///< Gets the size in bytes of one element in the array. + size_t ElementLength() const; ///< Gets the number of elements in the array. + size_t ByteOffset() + const; ///< Gets the offset into the buffer where the array starts. + size_t ByteLength() const; ///< Gets the length of the array in bytes. + + protected: + /// !cond INTERNAL + napi_typedarray_type _type; + size_t _length; + + TypedArray(napi_env env, + napi_value value, + napi_typedarray_type type, + size_t length); + + template + static +#if defined(NAPI_HAS_CONSTEXPR) + constexpr +#endif + napi_typedarray_type + TypedArrayTypeForPrimitiveType() { + return std::is_same::value ? napi_int8_array + : std::is_same::value ? napi_uint8_array + : std::is_same::value ? napi_int16_array + : std::is_same::value ? napi_uint16_array + : std::is_same::value ? napi_int32_array + : std::is_same::value ? napi_uint32_array + : std::is_same::value ? napi_float32_array + : std::is_same::value ? napi_float64_array +#if NAPI_VERSION > 5 + : std::is_same::value ? napi_bigint64_array + : std::is_same::value ? napi_biguint64_array +#endif // NAPI_VERSION > 5 + : napi_int8_array; + } + /// !endcond +}; + +/// A JavaScript typed-array value with known array type. +/// +/// Note while it is possible to create and access Uint8 "clamped" arrays using +/// this class, the _clamping_ behavior is only applied in JavaScript. +template +class TypedArrayOf : public TypedArray { + public: + /// Creates a new TypedArray instance over a new automatically-allocated array + /// buffer. + /// + /// The array type parameter can normally be omitted (because it is inferred + /// from the template parameter T), except when creating a "clamped" array: + /// + /// Uint8Array::New(env, length, napi_uint8_clamped_array) + static TypedArrayOf New( + napi_env env, ///< Node-API environment + size_t elementLength, ///< Length of the created array, as a number of + ///< elements +#if defined(NAPI_HAS_CONSTEXPR) + napi_typedarray_type type = + TypedArray::TypedArrayTypeForPrimitiveType() +#else + napi_typedarray_type type +#endif + ///< Type of array, if different from the default array type for the + ///< template parameter T. + ); + + /// Creates a new TypedArray instance over a provided array buffer. + /// + /// The array type parameter can normally be omitted (because it is inferred + /// from the template parameter T), except when creating a "clamped" array: + /// + /// Uint8Array::New(env, length, buffer, 0, napi_uint8_clamped_array) + static TypedArrayOf New( + napi_env env, ///< Node-API environment + size_t elementLength, ///< Length of the created array, as a number of + ///< elements + Napi::ArrayBuffer arrayBuffer, ///< Backing array buffer instance to use + size_t bufferOffset, ///< Offset into the array buffer where the + ///< typed-array starts +#if defined(NAPI_HAS_CONSTEXPR) + napi_typedarray_type type = + TypedArray::TypedArrayTypeForPrimitiveType() +#else + napi_typedarray_type type +#endif + ///< Type of array, if different from the default array type for the + ///< template parameter T. + ); + + static void CheckCast(napi_env env, napi_value value); + + TypedArrayOf(); ///< Creates a new _empty_ TypedArrayOf instance. + TypedArrayOf(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + T& operator[](size_t index); ///< Gets or sets an element in the array. + const T& operator[](size_t index) const; ///< Gets an element in the array. + + /// Gets a pointer to the array's backing buffer. + /// + /// This is not necessarily the same as the `ArrayBuffer::Data()` pointer, + /// because the typed-array may have a non-zero `ByteOffset()` into the + /// `ArrayBuffer`. + T* Data(); + + /// Gets a pointer to the array's backing buffer. + /// + /// This is not necessarily the same as the `ArrayBuffer::Data()` pointer, + /// because the typed-array may have a non-zero `ByteOffset()` into the + /// `ArrayBuffer`. + const T* Data() const; + + private: + T* _data; + + TypedArrayOf(napi_env env, + napi_value value, + napi_typedarray_type type, + size_t length, + T* data); +}; + +/// The DataView provides a low-level interface for reading/writing multiple +/// number types in an ArrayBuffer irrespective of the platform's endianness. +class DataView : public Object { + public: + static DataView New(napi_env env, Napi::ArrayBuffer arrayBuffer); + static DataView New(napi_env env, + Napi::ArrayBuffer arrayBuffer, + size_t byteOffset); + static DataView New(napi_env env, + Napi::ArrayBuffer arrayBuffer, + size_t byteOffset, + size_t byteLength); + + static void CheckCast(napi_env env, napi_value value); + + DataView(); ///< Creates a new _empty_ DataView instance. + DataView(napi_env env, + napi_value value); ///< Wraps a Node-API value primitive. + + Napi::ArrayBuffer ArrayBuffer() const; ///< Gets the backing array buffer. + size_t ByteOffset() + const; ///< Gets the offset into the buffer where the array starts. + size_t ByteLength() const; ///< Gets the length of the array in bytes. + + void* Data() const; + + float GetFloat32(size_t byteOffset) const; + double GetFloat64(size_t byteOffset) const; + int8_t GetInt8(size_t byteOffset) const; + int16_t GetInt16(size_t byteOffset) const; + int32_t GetInt32(size_t byteOffset) const; + uint8_t GetUint8(size_t byteOffset) const; + uint16_t GetUint16(size_t byteOffset) const; + uint32_t GetUint32(size_t byteOffset) const; + + void SetFloat32(size_t byteOffset, float value) const; + void SetFloat64(size_t byteOffset, double value) const; + void SetInt8(size_t byteOffset, int8_t value) const; + void SetInt16(size_t byteOffset, int16_t value) const; + void SetInt32(size_t byteOffset, int32_t value) const; + void SetUint8(size_t byteOffset, uint8_t value) const; + void SetUint16(size_t byteOffset, uint16_t value) const; + void SetUint32(size_t byteOffset, uint32_t value) const; + + private: + template + T ReadData(size_t byteOffset) const; + + template + void WriteData(size_t byteOffset, T value) const; + + void* _data; + size_t _length; +}; + +class Function : public Object { + public: + using VoidCallback = void (*)(const CallbackInfo& info); + using Callback = Value (*)(const CallbackInfo& info); + + template + static Function New(napi_env env, + const char* utf8name = nullptr, + void* data = nullptr); + + template + static Function New(napi_env env, + const char* utf8name = nullptr, + void* data = nullptr); + + template + static Function New(napi_env env, + const std::string& utf8name, + void* data = nullptr); + + template + static Function New(napi_env env, + const std::string& utf8name, + void* data = nullptr); + + /// Callable must implement operator() accepting a const CallbackInfo& + /// and return either void or Value. + template + static Function New(napi_env env, + Callable cb, + const char* utf8name = nullptr, + void* data = nullptr); + /// Callable must implement operator() accepting a const CallbackInfo& + /// and return either void or Value. + template + static Function New(napi_env env, + Callable cb, + const std::string& utf8name, + void* data = nullptr); + + static void CheckCast(napi_env env, napi_value value); + + Function(); + Function(napi_env env, napi_value value); + + MaybeOrValue operator()( + const std::initializer_list& args) const; + + MaybeOrValue Call(const std::initializer_list& args) const; + MaybeOrValue Call(const std::vector& args) const; + MaybeOrValue Call(const std::vector& args) const; + MaybeOrValue Call(size_t argc, const napi_value* args) const; + MaybeOrValue Call(napi_value recv, + const std::initializer_list& args) const; + MaybeOrValue Call(napi_value recv, + const std::vector& args) const; + MaybeOrValue Call(napi_value recv, + const std::vector& args) const; + MaybeOrValue Call(napi_value recv, + size_t argc, + const napi_value* args) const; + + MaybeOrValue MakeCallback( + napi_value recv, + const std::initializer_list& args, + napi_async_context context = nullptr) const; + MaybeOrValue MakeCallback(napi_value recv, + const std::vector& args, + napi_async_context context = nullptr) const; + MaybeOrValue MakeCallback(napi_value recv, + size_t argc, + const napi_value* args, + napi_async_context context = nullptr) const; + + MaybeOrValue New(const std::initializer_list& args) const; + MaybeOrValue New(const std::vector& args) const; + MaybeOrValue New(size_t argc, const napi_value* args) const; +}; + +class Promise : public Object { + public: + class Deferred { + public: + static Deferred New(napi_env env); + Deferred(napi_env env); + + Napi::Promise Promise() const; + Napi::Env Env() const; + + void Resolve(napi_value value) const; + void Reject(napi_value value) const; + + private: + napi_env _env; + napi_deferred _deferred; + napi_value _promise; + }; + + static void CheckCast(napi_env env, napi_value value); + + Promise(napi_env env, napi_value value); +}; + +template +class Buffer : public Uint8Array { + public: + static Buffer New(napi_env env, size_t length); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + static Buffer New(napi_env env, T* data, size_t length); + + // Finalizer must implement `void operator()(Env env, T* data)`. + template + static Buffer New(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback); + // Finalizer must implement `void operator()(Env env, T* data, Hint* hint)`. + template + static Buffer New(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback, + Hint* finalizeHint); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED + + static Buffer NewOrCopy(napi_env env, T* data, size_t length); + // Finalizer must implement `void operator()(Env env, T* data)`. + template + static Buffer NewOrCopy(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback); + // Finalizer must implement `void operator()(Env env, T* data, Hint* hint)`. + template + static Buffer NewOrCopy(napi_env env, + T* data, + size_t length, + Finalizer finalizeCallback, + Hint* finalizeHint); + + static Buffer Copy(napi_env env, const T* data, size_t length); + + static void CheckCast(napi_env env, napi_value value); + + Buffer(); + Buffer(napi_env env, napi_value value); + size_t Length() const; + T* Data() const; + + private: +}; + +/// Holds a counted reference to a value; initially a weak reference unless +/// otherwise specified, may be changed to/from a strong reference by adjusting +/// the refcount. +/// +/// The referenced value is not immediately destroyed when the reference count +/// is zero; it is merely then eligible for garbage-collection if there are no +/// other references to the value. +template +class Reference { + public: + static Reference New(const T& value, uint32_t initialRefcount = 0); + + Reference(); + Reference(napi_env env, napi_ref ref); + ~Reference(); + + // A reference can be moved but cannot be copied. + Reference(Reference&& other); + Reference& operator=(Reference&& other); + NAPI_DISALLOW_ASSIGN(Reference) + + operator napi_ref() const; + bool operator==(const Reference& other) const; + bool operator!=(const Reference& other) const; + + Napi::Env Env() const; + bool IsEmpty() const; + + // Note when getting the value of a Reference it is usually correct to do so + // within a HandleScope so that the value handle gets cleaned up efficiently. + T Value() const; + + uint32_t Ref() const; + uint32_t Unref() const; + void Reset(); + void Reset(const T& value, uint32_t refcount = 0); + + // Call this on a reference that is declared as static data, to prevent its + // destructor from running at program shutdown time, which would attempt to + // reset the reference when the environment is no longer valid. Avoid using + // this if at all possible. If you do need to use static data, MAKE SURE to + // warn your users that your addon is NOT threadsafe. + void SuppressDestruct(); + + protected: + Reference(const Reference&); + + /// !cond INTERNAL + napi_env _env; + napi_ref _ref; + /// !endcond + + private: + bool _suppressDestruct; +}; + +class ObjectReference : public Reference { + public: + ObjectReference(); + ObjectReference(napi_env env, napi_ref ref); + + // A reference can be moved but cannot be copied. + ObjectReference(Reference&& other); + ObjectReference& operator=(Reference&& other); + ObjectReference(ObjectReference&& other); + ObjectReference& operator=(ObjectReference&& other); + NAPI_DISALLOW_ASSIGN(ObjectReference) + + MaybeOrValue Get(const char* utf8name) const; + MaybeOrValue Get(const std::string& utf8name) const; + MaybeOrValue Set(const char* utf8name, napi_value value) const; + MaybeOrValue Set(const char* utf8name, Napi::Value value) const; + MaybeOrValue Set(const char* utf8name, const char* utf8value) const; + MaybeOrValue Set(const char* utf8name, bool boolValue) const; + MaybeOrValue Set(const char* utf8name, double numberValue) const; + MaybeOrValue Set(const std::string& utf8name, napi_value value) const; + MaybeOrValue Set(const std::string& utf8name, Napi::Value value) const; + MaybeOrValue Set(const std::string& utf8name, + std::string& utf8value) const; + MaybeOrValue Set(const std::string& utf8name, bool boolValue) const; + MaybeOrValue Set(const std::string& utf8name, double numberValue) const; + + MaybeOrValue Get(uint32_t index) const; + MaybeOrValue Set(uint32_t index, const napi_value value) const; + MaybeOrValue Set(uint32_t index, const Napi::Value value) const; + MaybeOrValue Set(uint32_t index, const char* utf8value) const; + MaybeOrValue Set(uint32_t index, const std::string& utf8value) const; + MaybeOrValue Set(uint32_t index, bool boolValue) const; + MaybeOrValue Set(uint32_t index, double numberValue) const; + + protected: + ObjectReference(const ObjectReference&); +}; + +class FunctionReference : public Reference { + public: + FunctionReference(); + FunctionReference(napi_env env, napi_ref ref); + + // A reference can be moved but cannot be copied. + FunctionReference(Reference&& other); + FunctionReference& operator=(Reference&& other); + FunctionReference(FunctionReference&& other); + FunctionReference& operator=(FunctionReference&& other); + NAPI_DISALLOW_ASSIGN_COPY(FunctionReference) + + MaybeOrValue operator()( + const std::initializer_list& args) const; + + MaybeOrValue Call( + const std::initializer_list& args) const; + MaybeOrValue Call(const std::vector& args) const; + MaybeOrValue Call( + napi_value recv, const std::initializer_list& args) const; + MaybeOrValue Call(napi_value recv, + const std::vector& args) const; + MaybeOrValue Call(napi_value recv, + size_t argc, + const napi_value* args) const; + + MaybeOrValue MakeCallback( + napi_value recv, + const std::initializer_list& args, + napi_async_context context = nullptr) const; + MaybeOrValue MakeCallback( + napi_value recv, + const std::vector& args, + napi_async_context context = nullptr) const; + MaybeOrValue MakeCallback( + napi_value recv, + size_t argc, + const napi_value* args, + napi_async_context context = nullptr) const; + + MaybeOrValue New(const std::initializer_list& args) const; + MaybeOrValue New(const std::vector& args) const; +}; + +// Shortcuts to creating a new reference with inferred type and refcount = 0. +template +Reference Weak(T value); +ObjectReference Weak(Object value); +FunctionReference Weak(Function value); + +// Shortcuts to creating a new reference with inferred type and refcount = 1. +template +Reference Persistent(T value); +ObjectReference Persistent(Object value); +FunctionReference Persistent(Function value); + +/// A persistent reference to a JavaScript error object. Use of this class +/// depends somewhat on whether C++ exceptions are enabled at compile time. +/// +/// ### Handling Errors With C++ Exceptions +/// +/// If C++ exceptions are enabled, then the `Error` class extends +/// `std::exception` and enables integrated error-handling for C++ exceptions +/// and JavaScript exceptions. +/// +/// If a Node-API call fails without executing any JavaScript code (for +/// example due to an invalid argument), then the Node-API wrapper +/// automatically converts and throws the error as a C++ exception of type +/// `Napi::Error`. Or if a JavaScript function called by C++ code via Node-API +/// throws a JavaScript exception, then the Node-API wrapper automatically +/// converts and throws it as a C++ exception of type `Napi::Error`. +/// +/// If a C++ exception of type `Napi::Error` escapes from a Node-API C++ +/// callback, then the Node-API wrapper automatically converts and throws it +/// as a JavaScript exception. Therefore, catching a C++ exception of type +/// `Napi::Error` prevents a JavaScript exception from being thrown. +/// +/// #### Example 1A - Throwing a C++ exception: +/// +/// Napi::Env env = ... +/// throw Napi::Error::New(env, "Example exception"); +/// +/// Following C++ statements will not be executed. The exception will bubble +/// up as a C++ exception of type `Napi::Error`, until it is either caught +/// while still in C++, or else automatically propataged as a JavaScript +/// exception when the callback returns to JavaScript. +/// +/// #### Example 2A - Propagating a Node-API C++ exception: +/// +/// Napi::Function jsFunctionThatThrows = someObj.As(); +/// Napi::Value result = jsFunctionThatThrows({ arg1, arg2 }); +/// +/// Following C++ statements will not be executed. The exception will bubble +/// up as a C++ exception of type `Napi::Error`, until it is either caught +/// while still in C++, or else automatically propagated as a JavaScript +/// exception when the callback returns to JavaScript. +/// +/// #### Example 3A - Handling a Node-API C++ exception: +/// +/// Napi::Function jsFunctionThatThrows = someObj.As(); +/// Napi::Value result; +/// try { +/// result = jsFunctionThatThrows({ arg1, arg2 }); +/// } catch (const Napi::Error& e) { +/// cerr << "Caught JavaScript exception: " + e.what(); +/// } +/// +/// Since the exception was caught here, it will not be propagated as a +/// JavaScript exception. +/// +/// ### Handling Errors Without C++ Exceptions +/// +/// If C++ exceptions are disabled (by defining `NAPI_DISABLE_CPP_EXCEPTIONS`) +/// then this class does not extend `std::exception`, and APIs in the `Napi` +/// namespace do not throw C++ exceptions when they fail. Instead, they raise +/// _pending_ JavaScript exceptions and return _empty_ `Value`s. Calling code +/// should check `Value::IsEmpty()` before attempting to use a returned value, +/// and may use methods on the `Env` class to check for, get, and clear a +/// pending JavaScript exception. If the pending exception is not cleared, it +/// will be thrown when the native callback returns to JavaScript. +/// +/// #### Example 1B - Throwing a JS exception +/// +/// Napi::Env env = ... +/// Napi::Error::New(env, "Example +/// exception").ThrowAsJavaScriptException(); return; +/// +/// After throwing a JS exception, the code should generally return +/// immediately from the native callback, after performing any necessary +/// cleanup. +/// +/// #### Example 2B - Propagating a Node-API JS exception: +/// +/// Napi::Function jsFunctionThatThrows = someObj.As(); +/// Napi::Value result = jsFunctionThatThrows({ arg1, arg2 }); +/// if (result.IsEmpty()) return; +/// +/// An empty value result from a Node-API call indicates an error occurred, +/// and a JavaScript exception is pending. To let the exception propagate, the +/// code should generally return immediately from the native callback, after +/// performing any necessary cleanup. +/// +/// #### Example 3B - Handling a Node-API JS exception: +/// +/// Napi::Function jsFunctionThatThrows = someObj.As(); +/// Napi::Value result = jsFunctionThatThrows({ arg1, arg2 }); +/// if (result.IsEmpty()) { +/// Napi::Error e = env.GetAndClearPendingException(); +/// cerr << "Caught JavaScript exception: " + e.Message(); +/// } +/// +/// Since the exception was cleared here, it will not be propagated as a +/// JavaScript exception after the native callback returns. +class Error : public ObjectReference +#ifdef NAPI_CPP_EXCEPTIONS + , + public std::exception +#endif // NAPI_CPP_EXCEPTIONS +{ + public: + static Error New(napi_env env); + static Error New(napi_env env, const char* message); + static Error New(napi_env env, const std::string& message); + + static NAPI_NO_RETURN void Fatal(const char* location, const char* message); + + Error(); + Error(napi_env env, napi_value value); + + // An error can be moved or copied. + Error(Error&& other); + Error& operator=(Error&& other); + Error(const Error&); + Error& operator=(const Error&); + + const std::string& Message() const NAPI_NOEXCEPT; + void ThrowAsJavaScriptException() const; + + Object Value() const; + +#ifdef NAPI_CPP_EXCEPTIONS + const char* what() const NAPI_NOEXCEPT override; +#endif // NAPI_CPP_EXCEPTIONS + + protected: + /// !cond INTERNAL + using create_error_fn = napi_status (*)(napi_env envb, + napi_value code, + napi_value msg, + napi_value* result); + + template + static TError New(napi_env env, + const char* message, + size_t length, + create_error_fn create_error); + /// !endcond + + private: + static inline const char* ERROR_WRAP_VALUE() NAPI_NOEXCEPT; + mutable std::string _message; +}; + +class TypeError : public Error { + public: + static TypeError New(napi_env env, const char* message); + static TypeError New(napi_env env, const std::string& message); + + TypeError(); + TypeError(napi_env env, napi_value value); +}; + +class RangeError : public Error { + public: + static RangeError New(napi_env env, const char* message); + static RangeError New(napi_env env, const std::string& message); + + RangeError(); + RangeError(napi_env env, napi_value value); +}; + +#if NAPI_VERSION > 8 +class SyntaxError : public Error { + public: + static SyntaxError New(napi_env env, const char* message); + static SyntaxError New(napi_env env, const std::string& message); + + SyntaxError(); + SyntaxError(napi_env env, napi_value value); +}; +#endif // NAPI_VERSION > 8 + +class CallbackInfo { + public: + CallbackInfo(napi_env env, napi_callback_info info); + ~CallbackInfo(); + + // Disallow copying to prevent multiple free of _dynamicArgs + NAPI_DISALLOW_ASSIGN_COPY(CallbackInfo) + + Napi::Env Env() const; + Value NewTarget() const; + bool IsConstructCall() const; + size_t Length() const; + const Value operator[](size_t index) const; + Value This() const; + void* Data() const; + void SetData(void* data); + explicit operator napi_callback_info() const; + + private: + const size_t _staticArgCount = 6; + napi_env _env; + napi_callback_info _info; + napi_value _this; + size_t _argc; + napi_value* _argv; + napi_value _staticArgs[6]; + napi_value* _dynamicArgs; + void* _data; +}; + +class PropertyDescriptor { + public: + using GetterCallback = Napi::Value (*)(const Napi::CallbackInfo& info); + using SetterCallback = void (*)(const Napi::CallbackInfo& info); + +#ifndef NODE_ADDON_API_DISABLE_DEPRECATED + template + static PropertyDescriptor Accessor( + const char* utf8name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + const std::string& utf8name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + napi_value name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Name name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + const char* utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + const std::string& utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + napi_value name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Name name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + const char* utf8name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + const std::string& utf8name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + napi_value name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + Name name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); +#endif // !NODE_ADDON_API_DISABLE_DEPRECATED + + template + static PropertyDescriptor Accessor( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + + template + static PropertyDescriptor Accessor( + const std::string& utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + + template + static PropertyDescriptor Accessor( + Name name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + + template + static PropertyDescriptor Accessor( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + + template + static PropertyDescriptor Accessor( + const std::string& utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + + template + static PropertyDescriptor Accessor( + Name name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + + template + static PropertyDescriptor Accessor( + Napi::Env env, + Napi::Object object, + const char* utf8name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Napi::Env env, + Napi::Object object, + const std::string& utf8name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Napi::Env env, + Napi::Object object, + Name name, + Getter getter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Napi::Env env, + Napi::Object object, + const char* utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Napi::Env env, + Napi::Object object, + const std::string& utf8name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Accessor( + Napi::Env env, + Napi::Object object, + Name name, + Getter getter, + Setter setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + Napi::Env env, + Napi::Object object, + const char* utf8name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + Napi::Env env, + Napi::Object object, + const std::string& utf8name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor Function( + Napi::Env env, + Napi::Object object, + Name name, + Callable cb, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor Value( + const char* utf8name, + napi_value value, + napi_property_attributes attributes = napi_default); + static PropertyDescriptor Value( + const std::string& utf8name, + napi_value value, + napi_property_attributes attributes = napi_default); + static PropertyDescriptor Value( + napi_value name, + napi_value value, + napi_property_attributes attributes = napi_default); + static PropertyDescriptor Value( + Name name, + Napi::Value value, + napi_property_attributes attributes = napi_default); + + PropertyDescriptor(napi_property_descriptor desc); + + operator napi_property_descriptor&(); + operator const napi_property_descriptor&() const; + + private: + napi_property_descriptor _desc; +}; + +/// Property descriptor for use with `ObjectWrap::DefineClass()`. +/// +/// This is different from the standalone `PropertyDescriptor` because it is +/// specific to each `ObjectWrap` subclass. This prevents using descriptors +/// from a different class when defining a new class (preventing the callbacks +/// from having incorrect `this` pointers). +template +class ClassPropertyDescriptor { + public: + ClassPropertyDescriptor(napi_property_descriptor desc) : _desc(desc) {} + + operator napi_property_descriptor&() { return _desc; } + operator const napi_property_descriptor&() const { return _desc; } + + private: + napi_property_descriptor _desc; +}; + +template +struct MethodCallbackData { + TCallback callback; + void* data; +}; + +template +struct AccessorCallbackData { + TGetterCallback getterCallback; + TSetterCallback setterCallback; + void* data; +}; + +template +class InstanceWrap { + public: + using InstanceVoidMethodCallback = void (T::*)(const CallbackInfo& info); + using InstanceMethodCallback = Napi::Value (T::*)(const CallbackInfo& info); + using InstanceGetterCallback = Napi::Value (T::*)(const CallbackInfo& info); + using InstanceSetterCallback = void (T::*)(const CallbackInfo& info, + const Napi::Value& value); + + using PropertyDescriptor = ClassPropertyDescriptor; + + static PropertyDescriptor InstanceMethod( + const char* utf8name, + InstanceVoidMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor InstanceMethod( + const char* utf8name, + InstanceMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor InstanceMethod( + Symbol name, + InstanceVoidMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor InstanceMethod( + Symbol name, + InstanceMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor InstanceMethod( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor InstanceMethod( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor InstanceMethod( + Symbol name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor InstanceMethod( + Symbol name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor InstanceAccessor( + const char* utf8name, + InstanceGetterCallback getter, + InstanceSetterCallback setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor InstanceAccessor( + Symbol name, + InstanceGetterCallback getter, + InstanceSetterCallback setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor InstanceAccessor( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor InstanceAccessor( + Symbol name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor InstanceValue( + const char* utf8name, + Napi::Value value, + napi_property_attributes attributes = napi_default); + static PropertyDescriptor InstanceValue( + Symbol name, + Napi::Value value, + napi_property_attributes attributes = napi_default); + + protected: + static void AttachPropData(napi_env env, + napi_value value, + const napi_property_descriptor* prop); + + private: + using This = InstanceWrap; + + using InstanceVoidMethodCallbackData = + MethodCallbackData; + using InstanceMethodCallbackData = + MethodCallbackData; + using InstanceAccessorCallbackData = + AccessorCallbackData; + + static napi_value InstanceVoidMethodCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value InstanceMethodCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value InstanceGetterCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value InstanceSetterCallbackWrapper(napi_env env, + napi_callback_info info); + + template + static napi_value WrappedMethod(napi_env env, + napi_callback_info info) NAPI_NOEXCEPT; + + template + struct SetterTag {}; + + template + static napi_callback WrapSetter(SetterTag) NAPI_NOEXCEPT { + return &This::WrappedMethod; + } + static napi_callback WrapSetter(SetterTag) NAPI_NOEXCEPT { + return nullptr; + } +}; + +/// Base class to be extended by C++ classes exposed to JavaScript; each C++ +/// class instance gets "wrapped" by a JavaScript object that is managed by this +/// class. +/// +/// At initialization time, the `DefineClass()` method must be used to +/// hook up the accessor and method callbacks. It takes a list of +/// property descriptors, which can be constructed via the various +/// static methods on the base class. +/// +/// #### Example: +/// +/// class Example: public Napi::ObjectWrap { +/// public: +/// static void Initialize(Napi::Env& env, Napi::Object& target) { +/// Napi::Function constructor = DefineClass(env, "Example", { +/// InstanceAccessor<&Example::GetSomething, +/// &Example::SetSomething>("value"), +/// InstanceMethod<&Example::DoSomething>("doSomething"), +/// }); +/// target.Set("Example", constructor); +/// } +/// +/// Example(const Napi::CallbackInfo& info); // Constructor +/// Napi::Value GetSomething(const Napi::CallbackInfo& info); +/// void SetSomething(const Napi::CallbackInfo& info, const Napi::Value& +/// value); Napi::Value DoSomething(const Napi::CallbackInfo& info); +/// } +template +class ObjectWrap : public InstanceWrap, public Reference { + public: + ObjectWrap(const CallbackInfo& callbackInfo); + virtual ~ObjectWrap(); + + static T* Unwrap(Object wrapper); + + // Methods exposed to JavaScript must conform to one of these callback + // signatures. + using StaticVoidMethodCallback = void (*)(const CallbackInfo& info); + using StaticMethodCallback = Napi::Value (*)(const CallbackInfo& info); + using StaticGetterCallback = Napi::Value (*)(const CallbackInfo& info); + using StaticSetterCallback = void (*)(const CallbackInfo& info, + const Napi::Value& value); + + using PropertyDescriptor = ClassPropertyDescriptor; + + static Function DefineClass( + Napi::Env env, + const char* utf8name, + const std::initializer_list& properties, + void* data = nullptr); + static Function DefineClass(Napi::Env env, + const char* utf8name, + const std::vector& properties, + void* data = nullptr); + static PropertyDescriptor StaticMethod( + const char* utf8name, + StaticVoidMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor StaticMethod( + const char* utf8name, + StaticMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor StaticMethod( + Symbol name, + StaticVoidMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor StaticMethod( + Symbol name, + StaticMethodCallback method, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor StaticMethod( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor StaticMethod( + Symbol name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor StaticMethod( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor StaticMethod( + Symbol name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor StaticAccessor( + const char* utf8name, + StaticGetterCallback getter, + StaticSetterCallback setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor StaticAccessor( + Symbol name, + StaticGetterCallback getter, + StaticSetterCallback setter, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor StaticAccessor( + const char* utf8name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + template + static PropertyDescriptor StaticAccessor( + Symbol name, + napi_property_attributes attributes = napi_default, + void* data = nullptr); + static PropertyDescriptor StaticValue( + const char* utf8name, + Napi::Value value, + napi_property_attributes attributes = napi_default); + static PropertyDescriptor StaticValue( + Symbol name, + Napi::Value value, + napi_property_attributes attributes = napi_default); + static Napi::Value OnCalledAsFunction(const Napi::CallbackInfo& callbackInfo); + virtual void Finalize(Napi::Env env); + + private: + using This = ObjectWrap; + + static napi_value ConstructorCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value StaticVoidMethodCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value StaticMethodCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value StaticGetterCallbackWrapper(napi_env env, + napi_callback_info info); + static napi_value StaticSetterCallbackWrapper(napi_env env, + napi_callback_info info); + static void FinalizeCallback(napi_env env, void* data, void* hint); + static Function DefineClass(Napi::Env env, + const char* utf8name, + const size_t props_count, + const napi_property_descriptor* props, + void* data = nullptr); + + using StaticVoidMethodCallbackData = + MethodCallbackData; + using StaticMethodCallbackData = MethodCallbackData; + + using StaticAccessorCallbackData = + AccessorCallbackData; + + template + static napi_value WrappedMethod(napi_env env, + napi_callback_info info) NAPI_NOEXCEPT; + + template + struct StaticSetterTag {}; + + template + static napi_callback WrapStaticSetter(StaticSetterTag) NAPI_NOEXCEPT { + return &This::WrappedMethod; + } + static napi_callback WrapStaticSetter(StaticSetterTag) + NAPI_NOEXCEPT { + return nullptr; + } + + bool _construction_failed = true; +}; + +class HandleScope { + public: + HandleScope(napi_env env, napi_handle_scope scope); + explicit HandleScope(Napi::Env env); + ~HandleScope(); + + // Disallow copying to prevent double close of napi_handle_scope + NAPI_DISALLOW_ASSIGN_COPY(HandleScope) + + operator napi_handle_scope() const; + + Napi::Env Env() const; + + private: + napi_env _env; + napi_handle_scope _scope; +}; + +class EscapableHandleScope { + public: + EscapableHandleScope(napi_env env, napi_escapable_handle_scope scope); + explicit EscapableHandleScope(Napi::Env env); + ~EscapableHandleScope(); + + // Disallow copying to prevent double close of napi_escapable_handle_scope + NAPI_DISALLOW_ASSIGN_COPY(EscapableHandleScope) + + operator napi_escapable_handle_scope() const; + + Napi::Env Env() const; + Value Escape(napi_value escapee); + + private: + napi_env _env; + napi_escapable_handle_scope _scope; +}; + +#if (NAPI_VERSION > 2) +class CallbackScope { + public: + CallbackScope(napi_env env, napi_callback_scope scope); + CallbackScope(napi_env env, napi_async_context context); + virtual ~CallbackScope(); + + // Disallow copying to prevent double close of napi_callback_scope + NAPI_DISALLOW_ASSIGN_COPY(CallbackScope) + + operator napi_callback_scope() const; + + Napi::Env Env() const; + + private: + napi_env _env; + napi_callback_scope _scope; +}; +#endif + +class AsyncContext { + public: + explicit AsyncContext(napi_env env, const char* resource_name); + explicit AsyncContext(napi_env env, + const char* resource_name, + const Object& resource); + virtual ~AsyncContext(); + + AsyncContext(AsyncContext&& other); + AsyncContext& operator=(AsyncContext&& other); + NAPI_DISALLOW_ASSIGN_COPY(AsyncContext) + + operator napi_async_context() const; + + Napi::Env Env() const; + + private: + napi_env _env; + napi_async_context _context; +}; + +#if NAPI_HAS_THREADS +class AsyncWorker { + public: + virtual ~AsyncWorker(); + + NAPI_DISALLOW_ASSIGN_COPY(AsyncWorker) + + operator napi_async_work() const; + + Napi::Env Env() const; + + void Queue(); + void Cancel(); + void SuppressDestruct(); + + ObjectReference& Receiver(); + FunctionReference& Callback(); + + virtual void OnExecute(Napi::Env env); + virtual void OnWorkComplete(Napi::Env env, napi_status status); + + protected: + explicit AsyncWorker(const Function& callback); + explicit AsyncWorker(const Function& callback, const char* resource_name); + explicit AsyncWorker(const Function& callback, + const char* resource_name, + const Object& resource); + explicit AsyncWorker(const Object& receiver, const Function& callback); + explicit AsyncWorker(const Object& receiver, + const Function& callback, + const char* resource_name); + explicit AsyncWorker(const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource); + + explicit AsyncWorker(Napi::Env env); + explicit AsyncWorker(Napi::Env env, const char* resource_name); + explicit AsyncWorker(Napi::Env env, + const char* resource_name, + const Object& resource); + + virtual void Execute() = 0; + virtual void OnOK(); + virtual void OnError(const Error& e); + virtual void Destroy(); + virtual std::vector GetResult(Napi::Env env); + + void SetError(const std::string& error); + + private: + static inline void OnAsyncWorkExecute(napi_env env, void* asyncworker); + static inline void OnAsyncWorkComplete(napi_env env, + napi_status status, + void* asyncworker); + + napi_env _env; + napi_async_work _work; + ObjectReference _receiver; + FunctionReference _callback; + std::string _error; + bool _suppress_destruct; +}; +#endif // NAPI_HAS_THREADS + +#if (NAPI_VERSION > 3 && NAPI_HAS_THREADS) +class ThreadSafeFunction { + public: + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback, + FinalizerDataType* data); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + Finalizer finalizeCallback, + FinalizerDataType* data); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback); + + // This API may only be called from the main thread. + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data); + + ThreadSafeFunction(); + ThreadSafeFunction(napi_threadsafe_function tsFunctionValue); + + operator napi_threadsafe_function() const; + + // This API may be called from any thread. + napi_status BlockingCall() const; + + // This API may be called from any thread. + template + napi_status BlockingCall(Callback callback) const; + + // This API may be called from any thread. + template + napi_status BlockingCall(DataType* data, Callback callback) const; + + // This API may be called from any thread. + napi_status NonBlockingCall() const; + + // This API may be called from any thread. + template + napi_status NonBlockingCall(Callback callback) const; + + // This API may be called from any thread. + template + napi_status NonBlockingCall(DataType* data, Callback callback) const; + + // This API may only be called from the main thread. + void Ref(napi_env env) const; + + // This API may only be called from the main thread. + void Unref(napi_env env) const; + + // This API may be called from any thread. + napi_status Acquire() const; + + // This API may be called from any thread. + napi_status Release() const; + + // This API may be called from any thread. + napi_status Abort() const; + + struct ConvertibleContext { + template + operator T*() { + return static_cast(context); + } + void* context; + }; + + // This API may be called from any thread. + ConvertibleContext GetContext() const; + + private: + using CallbackWrapper = std::function; + + template + static ThreadSafeFunction New(napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data, + napi_finalize wrapper); + + napi_status CallInternal(CallbackWrapper* callbackWrapper, + napi_threadsafe_function_call_mode mode) const; + + static void CallJS(napi_env env, + napi_value jsCallback, + void* context, + void* data); + + napi_threadsafe_function _tsfn; +}; + +// A TypedThreadSafeFunction by default has no context (nullptr) and can +// accept any type (void) to its CallJs. +template +class TypedThreadSafeFunction { + public: + // This API may only be called from the main thread. + // Helper function that returns nullptr if running Node-API 5+, otherwise a + // non-empty, no-op Function. This provides the ability to specify at + // compile-time a callback parameter to `New` that safely does no action + // when targeting _any_ Node-API version. +#if NAPI_VERSION > 4 + static std::nullptr_t EmptyFunctionFactory(Napi::Env env); +#else + static Napi::Function EmptyFunctionFactory(Napi::Env env); +#endif + static Napi::Function FunctionOrEmpty(Napi::Env env, + Napi::Function& callback); + +#if NAPI_VERSION > 4 + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [missing] Resource [missing] Finalizer [missing] + template + static TypedThreadSafeFunction New( + napi_env env, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context = nullptr); + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [missing] Resource [passed] Finalizer [missing] + template + static TypedThreadSafeFunction New( + napi_env env, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context = nullptr); + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [missing] Resource [missing] Finalizer [passed] + template + static TypedThreadSafeFunction New( + napi_env env, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data = nullptr); + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [missing] Resource [passed] Finalizer [passed] + template + static TypedThreadSafeFunction New( + napi_env env, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data = nullptr); +#endif + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [passed] Resource [missing] Finalizer [missing] + template + static TypedThreadSafeFunction New( + napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context = nullptr); + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [passed] Resource [passed] Finalizer [missing] + template + static TypedThreadSafeFunction New( + napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context = nullptr); + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [passed] Resource [missing] Finalizer [passed] + template + static TypedThreadSafeFunction New( + napi_env env, + const Function& callback, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data = nullptr); + + // This API may only be called from the main thread. + // Creates a new threadsafe function with: + // Callback [passed] Resource [passed] Finalizer [passed] + template + static TypedThreadSafeFunction New( + napi_env env, + CallbackType callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data = nullptr); + + TypedThreadSafeFunction(); + TypedThreadSafeFunction(napi_threadsafe_function tsFunctionValue); + + operator napi_threadsafe_function() const; + + // This API may be called from any thread. + napi_status BlockingCall(DataType* data = nullptr) const; + + // This API may be called from any thread. + napi_status NonBlockingCall(DataType* data = nullptr) const; + + // This API may only be called from the main thread. + void Ref(napi_env env) const; + + // This API may only be called from the main thread. + void Unref(napi_env env) const; + + // This API may be called from any thread. + napi_status Acquire() const; + + // This API may be called from any thread. + napi_status Release() const; + + // This API may be called from any thread. + napi_status Abort() const; + + // This API may be called from any thread. + ContextType* GetContext() const; + + private: + template + static TypedThreadSafeFunction New( + napi_env env, + const Function& callback, + const Object& resource, + ResourceString resourceName, + size_t maxQueueSize, + size_t initialThreadCount, + ContextType* context, + Finalizer finalizeCallback, + FinalizerDataType* data, + napi_finalize wrapper); + + static void CallJsInternal(napi_env env, + napi_value jsCallback, + void* context, + void* data); + + protected: + napi_threadsafe_function _tsfn; +}; +template +class AsyncProgressWorkerBase : public AsyncWorker { + public: + virtual void OnWorkProgress(DataType* data) = 0; + class ThreadSafeData { + public: + ThreadSafeData(AsyncProgressWorkerBase* asyncprogressworker, DataType* data) + : _asyncprogressworker(asyncprogressworker), _data(data) {} + + AsyncProgressWorkerBase* asyncprogressworker() { + return _asyncprogressworker; + }; + DataType* data() { return _data; }; + + private: + AsyncProgressWorkerBase* _asyncprogressworker; + DataType* _data; + }; + void OnWorkComplete(Napi::Env env, napi_status status) override; + + protected: + explicit AsyncProgressWorkerBase(const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource, + size_t queue_size = 1); + virtual ~AsyncProgressWorkerBase(); + +// Optional callback of Napi::ThreadSafeFunction only available after +// NAPI_VERSION 4. Refs: https://github.com/nodejs/node/pull/27791 +#if NAPI_VERSION > 4 + explicit AsyncProgressWorkerBase(Napi::Env env, + const char* resource_name, + const Object& resource, + size_t queue_size = 1); +#endif + + static inline void OnAsyncWorkProgress(Napi::Env env, + Napi::Function jsCallback, + void* data); + + napi_status NonBlockingCall(DataType* data); + + private: + ThreadSafeFunction _tsfn; + bool _work_completed = false; + napi_status _complete_status; + static inline void OnThreadSafeFunctionFinalize( + Napi::Env env, void* data, AsyncProgressWorkerBase* context); +}; + +template +class AsyncProgressWorker : public AsyncProgressWorkerBase { + public: + virtual ~AsyncProgressWorker(); + + class ExecutionProgress { + friend class AsyncProgressWorker; + + public: + void Signal() const; + void Send(const T* data, size_t count) const; + + private: + explicit ExecutionProgress(AsyncProgressWorker* worker) : _worker(worker) {} + AsyncProgressWorker* const _worker; + }; + + void OnWorkProgress(void*) override; + + protected: + explicit AsyncProgressWorker(const Function& callback); + explicit AsyncProgressWorker(const Function& callback, + const char* resource_name); + explicit AsyncProgressWorker(const Function& callback, + const char* resource_name, + const Object& resource); + explicit AsyncProgressWorker(const Object& receiver, + const Function& callback); + explicit AsyncProgressWorker(const Object& receiver, + const Function& callback, + const char* resource_name); + explicit AsyncProgressWorker(const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource); + +// Optional callback of Napi::ThreadSafeFunction only available after +// NAPI_VERSION 4. Refs: https://github.com/nodejs/node/pull/27791 +#if NAPI_VERSION > 4 + explicit AsyncProgressWorker(Napi::Env env); + explicit AsyncProgressWorker(Napi::Env env, const char* resource_name); + explicit AsyncProgressWorker(Napi::Env env, + const char* resource_name, + const Object& resource); +#endif + virtual void Execute(const ExecutionProgress& progress) = 0; + virtual void OnProgress(const T* data, size_t count) = 0; + + private: + void Execute() override; + void Signal(); + void SendProgress_(const T* data, size_t count); + + std::mutex _mutex; + T* _asyncdata; + size_t _asyncsize; + bool _signaled; +}; + +template +class AsyncProgressQueueWorker + : public AsyncProgressWorkerBase> { + public: + virtual ~AsyncProgressQueueWorker(){}; + + class ExecutionProgress { + friend class AsyncProgressQueueWorker; + + public: + void Signal() const; + void Send(const T* data, size_t count) const; + + private: + explicit ExecutionProgress(AsyncProgressQueueWorker* worker) + : _worker(worker) {} + AsyncProgressQueueWorker* const _worker; + }; + + void OnWorkComplete(Napi::Env env, napi_status status) override; + void OnWorkProgress(std::pair*) override; + + protected: + explicit AsyncProgressQueueWorker(const Function& callback); + explicit AsyncProgressQueueWorker(const Function& callback, + const char* resource_name); + explicit AsyncProgressQueueWorker(const Function& callback, + const char* resource_name, + const Object& resource); + explicit AsyncProgressQueueWorker(const Object& receiver, + const Function& callback); + explicit AsyncProgressQueueWorker(const Object& receiver, + const Function& callback, + const char* resource_name); + explicit AsyncProgressQueueWorker(const Object& receiver, + const Function& callback, + const char* resource_name, + const Object& resource); + +// Optional callback of Napi::ThreadSafeFunction only available after +// NAPI_VERSION 4. Refs: https://github.com/nodejs/node/pull/27791 +#if NAPI_VERSION > 4 + explicit AsyncProgressQueueWorker(Napi::Env env); + explicit AsyncProgressQueueWorker(Napi::Env env, const char* resource_name); + explicit AsyncProgressQueueWorker(Napi::Env env, + const char* resource_name, + const Object& resource); +#endif + virtual void Execute(const ExecutionProgress& progress) = 0; + virtual void OnProgress(const T* data, size_t count) = 0; + + private: + void Execute() override; + void Signal() const; + void SendProgress_(const T* data, size_t count); +}; +#endif // NAPI_VERSION > 3 && NAPI_HAS_THREADS + +// Memory management. +class MemoryManagement { + public: + static int64_t AdjustExternalMemory(Env env, int64_t change_in_bytes); +}; + +// Version management +class VersionManagement { + public: + static uint32_t GetNapiVersion(Env env); + static const napi_node_version* GetNodeVersion(Env env); +}; + +#if NAPI_VERSION > 5 +template +class Addon : public InstanceWrap { + public: + static inline Object Init(Env env, Object exports); + static T* Unwrap(Object wrapper); + + protected: + using AddonProp = ClassPropertyDescriptor; + void DefineAddon(Object exports, + const std::initializer_list& props); + Napi::Object DefineProperties(Object object, + const std::initializer_list& props); + + private: + Object entry_point_; +}; +#endif // NAPI_VERSION > 5 + +#ifdef NAPI_CPP_CUSTOM_NAMESPACE +} // namespace NAPI_CPP_CUSTOM_NAMESPACE +#endif + +} // namespace Napi + +// Inline implementations of all the above class methods are included here. +#include "napi-inl.h" + +#endif // SRC_NAPI_H_ diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/node_addon_api.gyp b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/node_addon_api.gyp new file mode 100644 index 0000000..29905ed --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/node_addon_api.gyp @@ -0,0 +1,32 @@ +{ + 'targets': [ + { + 'target_name': 'node_addon_api', + 'type': 'none', + 'sources': [ 'napi.h', 'napi-inl.h' ], + 'direct_dependent_settings': { + 'include_dirs': [ '.' ], + 'includes': ['noexcept.gypi'], + } + }, + { + 'target_name': 'node_addon_api_except', + 'type': 'none', + 'sources': [ 'napi.h', 'napi-inl.h' ], + 'direct_dependent_settings': { + 'include_dirs': [ '.' ], + 'includes': ['except.gypi'], + } + }, + { + 'target_name': 'node_addon_api_maybe', + 'type': 'none', + 'sources': [ 'napi.h', 'napi-inl.h' ], + 'direct_dependent_settings': { + 'include_dirs': [ '.' ], + 'includes': ['noexcept.gypi'], + 'defines': ['NODE_ADDON_API_ENABLE_MAYBE'] + } + }, + ] +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/node_api.gyp b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/node_api.gyp new file mode 100644 index 0000000..4ff0ae7 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/node_api.gyp @@ -0,0 +1,9 @@ +{ + 'targets': [ + { + 'target_name': 'nothing', + 'type': 'static_library', + 'sources': [ 'nothing.c' ] + } + ] +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/noexcept.gypi b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/noexcept.gypi new file mode 100644 index 0000000..404a05f --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/noexcept.gypi @@ -0,0 +1,26 @@ +{ + 'defines': [ 'NAPI_DISABLE_CPP_EXCEPTIONS' ], + 'cflags': [ '-fno-exceptions' ], + 'cflags_cc': [ '-fno-exceptions' ], + 'conditions': [ + ["OS=='win'", { + # _HAS_EXCEPTIONS is already defined and set to 0 in common.gypi + #"defines": [ + # "_HAS_EXCEPTIONS=0" + #], + "msvs_settings": { + "VCCLCompilerTool": { + 'ExceptionHandling': 0, + 'EnablePREfast': 'true', + }, + }, + }], + ["OS=='mac'", { + 'xcode_settings': { + 'CLANG_CXX_LIBRARY': 'libc++', + 'MACOSX_DEPLOYMENT_TARGET': '10.7', + 'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', + }, + }], + ], +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/nothing.c b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/nothing.c new file mode 100644 index 0000000..e69de29 diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/package-support.json b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/package-support.json new file mode 100644 index 0000000..10d3607 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/package-support.json @@ -0,0 +1,21 @@ +{ + "versions": [ + { + "version": "*", + "target": { + "node": "active" + }, + "response": { + "type": "time-permitting", + "paid": false, + "contact": { + "name": "node-addon-api team", + "url": "https://github.com/nodejs/node-addon-api/issues" + } + }, + "backing": [ { "project": "https://github.com/nodejs" }, + { "foundation": "https://openjsf.org/" } + ] + } + ] +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/package.json b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/package.json new file mode 100644 index 0000000..d772ddc --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/package.json @@ -0,0 +1,480 @@ +{ + "bugs": { + "url": "https://github.com/nodejs/node-addon-api/issues" + }, + "contributors": [ + { + "name": "Abhishek Kumar Singh", + "url": "https://github.com/abhi11210646" + }, + { + "name": "Alba Mendez", + "url": "https://github.com/jmendeth" + }, + { + "name": "Alexander Floh", + "url": "https://github.com/alexanderfloh" + }, + { + "name": "Ammar Faizi", + "url": "https://github.com/ammarfaizi2" + }, + { + "name": "András Timár, Dr", + "url": "https://github.com/timarandras" + }, + { + "name": "Andrew Petersen", + "url": "https://github.com/kirbysayshi" + }, + { + "name": "Anisha Rohra", + "url": "https://github.com/anisha-rohra" + }, + { + "name": "Anna Henningsen", + "url": "https://github.com/addaleax" + }, + { + "name": "Arnaud Botella", + "url": "https://github.com/BotellaA" + }, + { + "name": "Arunesh Chandra", + "url": "https://github.com/aruneshchandra" + }, + { + "name": "Azlan Mukhtar", + "url": "https://github.com/azlan" + }, + { + "name": "Ben Berman", + "url": "https://github.com/rivertam" + }, + { + "name": "Benjamin Byholm", + "url": "https://github.com/kkoopa" + }, + { + "name": "Bill Gallafent", + "url": "https://github.com/gallafent" + }, + { + "name": "blagoev", + "url": "https://github.com/blagoev" + }, + { + "name": "Bruce A. MacNaughton", + "url": "https://github.com/bmacnaughton" + }, + { + "name": "Cory Mickelson", + "url": "https://github.com/corymickelson" + }, + { + "name": "Daniel Bevenius", + "url": "https://github.com/danbev" + }, + { + "name": "Dante Calderón", + "url": "https://github.com/dantehemerson" + }, + { + "name": "Darshan Sen", + "url": "https://github.com/RaisinTen" + }, + { + "name": "David Halls", + "url": "https://github.com/davedoesdev" + }, + { + "name": "Deepak Rajamohan", + "url": "https://github.com/deepakrkris" + }, + { + "name": "Dmitry Ashkadov", + "url": "https://github.com/dmitryash" + }, + { + "name": "Dongjin Na", + "url": "https://github.com/nadongguri" + }, + { + "name": "Doni Rubiagatra", + "url": "https://github.com/rubiagatra" + }, + { + "name": "Eric Bickle", + "url": "https://github.com/ebickle" + }, + { + "name": "extremeheat", + "url": "https://github.com/extremeheat" + }, + { + "name": "Feng Yu", + "url": "https://github.com/F3n67u" + }, + { + "name": "Ferdinand Holzer", + "url": "https://github.com/fholzer" + }, + { + "name": "Gabriel Schulhof", + "url": "https://github.com/gabrielschulhof" + }, + { + "name": "Guenter Sandner", + "url": "https://github.com/gms1" + }, + { + "name": "Gus Caplan", + "url": "https://github.com/devsnek" + }, + { + "name": "Helio Frota", + "url": "https://github.com/helio-frota" + }, + { + "name": "Hitesh Kanwathirtha", + "url": "https://github.com/digitalinfinity" + }, + { + "name": "ikokostya", + "url": "https://github.com/ikokostya" + }, + { + "name": "Jack Xia", + "url": "https://github.com/JckXia" + }, + { + "name": "Jake Barnes", + "url": "https://github.com/DuBistKomisch" + }, + { + "name": "Jake Yoon", + "url": "https://github.com/yjaeseok" + }, + { + "name": "Jason Ginchereau", + "url": "https://github.com/jasongin" + }, + { + "name": "Jenny", + "url": "https://github.com/egg-bread" + }, + { + "name": "Jeroen Janssen", + "url": "https://github.com/japj" + }, + { + "name": "Jim Schlight", + "url": "https://github.com/jschlight" + }, + { + "name": "Jinho Bang", + "url": "https://github.com/romandev" + }, + { + "name": "José Expósito", + "url": "https://github.com/JoseExposito" + }, + { + "name": "joshgarde", + "url": "https://github.com/joshgarde" + }, + { + "name": "Julian Mesa", + "url": "https://github.com/julianmesa-gitkraken" + }, + { + "name": "Kasumi Hanazuki", + "url": "https://github.com/hanazuki" + }, + { + "name": "Kelvin", + "url": "https://github.com/kelvinhammond" + }, + { + "name": "Kevin Eady", + "url": "https://github.com/KevinEady" + }, + { + "name": "Kévin VOYER", + "url": "https://github.com/kecsou" + }, + { + "name": "kidneysolo", + "url": "https://github.com/kidneysolo" + }, + { + "name": "Koki Nishihara", + "url": "https://github.com/Nishikoh" + }, + { + "name": "Konstantin Tarkus", + "url": "https://github.com/koistya" + }, + { + "name": "Kyle Farnung", + "url": "https://github.com/kfarnung" + }, + { + "name": "Kyle Kovacs", + "url": "https://github.com/nullromo" + }, + { + "name": "legendecas", + "url": "https://github.com/legendecas" + }, + { + "name": "LongYinan", + "url": "https://github.com/Brooooooklyn" + }, + { + "name": "Lovell Fuller", + "url": "https://github.com/lovell" + }, + { + "name": "Luciano Martorella", + "url": "https://github.com/lmartorella" + }, + { + "name": "mastergberry", + "url": "https://github.com/mastergberry" + }, + { + "name": "Mathias Küsel", + "url": "https://github.com/mathiask88" + }, + { + "name": "Mathias Stearn", + "url": "https://github.com/RedBeard0531" + }, + { + "name": "Matteo Collina", + "url": "https://github.com/mcollina" + }, + { + "name": "Michael Dawson", + "url": "https://github.com/mhdawson" + }, + { + "name": "Michael Price", + "url": "https://github.com/mikepricedev" + }, + { + "name": "Michele Campus", + "url": "https://github.com/kYroL01" + }, + { + "name": "Mikhail Cheshkov", + "url": "https://github.com/mcheshkov" + }, + { + "name": "nempoBu4", + "url": "https://github.com/nempoBu4" + }, + { + "name": "Nicola Del Gobbo", + "url": "https://github.com/NickNaso" + }, + { + "name": "Nick Soggin", + "url": "https://github.com/iSkore" + }, + { + "name": "Nikolai Vavilov", + "url": "https://github.com/seishun" + }, + { + "name": "Nurbol Alpysbayev", + "url": "https://github.com/anurbol" + }, + { + "name": "pacop", + "url": "https://github.com/pacop" + }, + { + "name": "Peter Šándor", + "url": "https://github.com/petersandor" + }, + { + "name": "Philipp Renoth", + "url": "https://github.com/DaAitch" + }, + { + "name": "rgerd", + "url": "https://github.com/rgerd" + }, + { + "name": "Richard Lau", + "url": "https://github.com/richardlau" + }, + { + "name": "Rolf Timmermans", + "url": "https://github.com/rolftimmermans" + }, + { + "name": "Ross Weir", + "url": "https://github.com/ross-weir" + }, + { + "name": "Ryuichi Okumura", + "url": "https://github.com/okuryu" + }, + { + "name": "Saint Gabriel", + "url": "https://github.com/chineduG" + }, + { + "name": "Sampson Gao", + "url": "https://github.com/sampsongao" + }, + { + "name": "Sam Roberts", + "url": "https://github.com/sam-github" + }, + { + "name": "strager", + "url": "https://github.com/strager" + }, + { + "name": "Taylor Woll", + "url": "https://github.com/boingoing" + }, + { + "name": "Thomas Gentilhomme", + "url": "https://github.com/fraxken" + }, + { + "name": "Tim Rach", + "url": "https://github.com/timrach" + }, + { + "name": "Tobias Nießen", + "url": "https://github.com/tniessen" + }, + { + "name": "todoroff", + "url": "https://github.com/todoroff" + }, + { + "name": "Toyo Li", + "url": "https://github.com/toyobayashi" + }, + { + "name": "Tux3", + "url": "https://github.com/tux3" + }, + { + "name": "Vlad Velmisov", + "url": "https://github.com/Velmisov" + }, + { + "name": "Vladimir Morozov", + "url": "https://github.com/vmoroz" + + }, + { + "name": "WenheLI", + "url": "https://github.com/WenheLI" + }, + { + "name": "Xuguang Mei", + "url": "https://github.com/meixg" + }, + { + "name": "Yohei Kishimoto", + "url": "https://github.com/morokosi" + }, + { + "name": "Yulong Wang", + "url": "https://github.com/fs-eire" + }, + { + "name": "Ziqiu Zhao", + "url": "https://github.com/ZzqiZQute" + }, + { + "name": "Feng Yu", + "url": "https://github.com/F3n67u" + }, + { + "name": "wanlu wang", + "url": "https://github.com/wanlu" + }, + { + "name": "Caleb Hearon", + "url": "https://github.com/chearon" + }, + { + "name": "Marx", + "url": "https://github.com/MarxJiao" + }, + { + "name": "Ömer AKGÜL", + "url": "https://github.com/tuhalf" + } + ], + "description": "Node.js API (Node-API)", + "devDependencies": { + "benchmark": "^2.1.4", + "bindings": "^1.5.0", + "clang-format": "^1.4.0", + "eslint": "^7.32.0", + "eslint-config-semistandard": "^16.0.0", + "eslint-config-standard": "^16.0.3", + "eslint-plugin-import": "^2.24.2", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-promise": "^5.1.0", + "fs-extra": "^11.1.1", + "path": "^0.12.7", + "pre-commit": "^1.2.2", + "safe-buffer": "^5.1.1" + }, + "directories": {}, + "gypfile": false, + "homepage": "https://github.com/nodejs/node-addon-api", + "keywords": [ + "n-api", + "napi", + "addon", + "native", + "bindings", + "c", + "c++", + "nan", + "node-addon-api" + ], + "license": "MIT", + "main": "index.js", + "name": "node-addon-api", + "readme": "README.md", + "repository": { + "type": "git", + "url": "git://github.com/nodejs/node-addon-api.git" + }, + "files": [ + "*.{c,h,gyp,gypi}", + "package-support.json", + "tools/" + ], + "scripts": { + "prebenchmark": "node-gyp rebuild -C benchmark", + "benchmark": "node benchmark", + "pretest": "node-gyp rebuild -C test", + "test": "node test", + "test:debug": "node-gyp rebuild -C test --debug && NODE_API_BUILD_CONFIG=Debug node ./test/index.js", + "predev": "node-gyp rebuild -C test --debug", + "dev": "node test", + "predev:incremental": "node-gyp configure build -C test --debug", + "dev:incremental": "node test", + "doc": "doxygen doc/Doxyfile", + "lint": "node tools/eslint-format && node tools/clang-format", + "lint:fix": "node tools/clang-format --fix && node tools/eslint-format --fix" + }, + "pre-commit": "lint", + "version": "7.1.1", + "support": true +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/README.md b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/README.md new file mode 100644 index 0000000..6b80e94 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/README.md @@ -0,0 +1,73 @@ +# Tools + +## clang-format + +The clang-format checking tools is designed to check changed lines of code compared to given git-refs. + +## Migration Script + +The migration tool is designed to reduce repetitive work in the migration process. However, the script is not aiming to convert every thing for you. There are usually some small fixes and major reconstruction required. + +### How To Use + +To run the conversion script, first make sure you have the latest `node-addon-api` in your `node_modules` directory. +``` +npm install node-addon-api +``` + +Then run the script passing your project directory +``` +node ./node_modules/node-addon-api/tools/conversion.js ./ +``` + +After finish, recompile and debug things that are missed by the script. + + +### Quick Fixes +Here is the list of things that can be fixed easily. + 1. Change your methods' return value to void if it doesn't return value to JavaScript. + 2. Use `.` to access attribute or to invoke member function in Napi::Object instead of `->`. + 3. `Napi::New(env, value);` to `Napi::[Type]::New(env, value); + + +### Major Reconstructions +The implementation of `Napi::ObjectWrap` is significantly different from NAN's. `Napi::ObjectWrap` takes a pointer to the wrapped object and creates a reference to the wrapped object inside ObjectWrap constructor. `Napi::ObjectWrap` also associates wrapped object's instance methods to Javascript module instead of static methods like NAN. + +So if you use Nan::ObjectWrap in your module, you will need to execute the following steps. + + 1. Convert your [ClassName]::New function to a constructor function that takes a `Napi::CallbackInfo`. Declare it as +``` +[ClassName](const Napi::CallbackInfo& info); +``` +and define it as +``` +[ClassName]::[ClassName](const Napi::CallbackInfo& info) : Napi::ObjectWrap<[ClassName]>(info){ + ... +} +``` +This way, the `Napi::ObjectWrap` constructor will be invoked after the object has been instantiated and `Napi::ObjectWrap` can use the `this` pointer to create a reference to the wrapped object. + + 2. Move your original constructor code into the new constructor. Delete your original constructor. + 3. In your class initialization function, associate native methods in the following way. +``` +Napi::FunctionReference constructor; + +void [ClassName]::Init(Napi::Env env, Napi::Object exports, Napi::Object module) { + Napi::HandleScope scope(env); + Napi::Function ctor = DefineClass(env, "Canvas", { + InstanceMethod<&[ClassName]::Func1>("Func1"), + InstanceMethod<&[ClassName]::Func2>("Func2"), + InstanceAccessor<&[ClassName]::ValueGetter>("Value"), + StaticMethod<&[ClassName]::StaticMethod>("MethodName"), + InstanceValue("Value", Napi::[Type]::New(env, value)), + }); + + constructor = Napi::Persistent(ctor); + constructor .SuppressDestruct(); + exports.Set("[ClassName]", ctor); +} +``` + 4. In function where you need to Unwrap the ObjectWrap in NAN like `[ClassName]* native = Nan::ObjectWrap::Unwrap<[ClassName]>(info.This());`, use `this` pointer directly as the unwrapped object as each ObjectWrap instance is associated with a unique object instance. + + +If you still find issues after following this guide, please leave us an issue describing your problem and we will try to resolve it. diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/check-napi.js b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/check-napi.js new file mode 100644 index 0000000..9199af3 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/check-napi.js @@ -0,0 +1,99 @@ +'use strict'; +// Descend into a directory structure and, for each file matching *.node, output +// based on the imports found in the file whether it's an N-API module or not. + +const fs = require('fs'); +const path = require('path'); + +// Read the output of the command, break it into lines, and use the reducer to +// decide whether the file is an N-API module or not. +function checkFile (file, command, argv, reducer) { + const child = require('child_process').spawn(command, argv, { + stdio: ['inherit', 'pipe', 'inherit'] + }); + let leftover = ''; + let isNapi; + child.stdout.on('data', (chunk) => { + if (isNapi === undefined) { + chunk = (leftover + chunk.toString()).split(/[\r\n]+/); + leftover = chunk.pop(); + isNapi = chunk.reduce(reducer, isNapi); + if (isNapi !== undefined) { + child.kill(); + } + } + }); + child.on('close', (code, signal) => { + if ((code === null && signal !== null) || (code !== 0)) { + console.log( + command + ' exited with code: ' + code + ' and signal: ' + signal); + } else { + // Green if it's a N-API module, red otherwise. + console.log( + '\x1b[' + (isNapi ? '42' : '41') + 'm' + + (isNapi ? ' N-API' : 'Not N-API') + + '\x1b[0m: ' + file); + } + }); +} + +// Use nm -a to list symbols. +function checkFileUNIX (file) { + checkFile(file, 'nm', ['-a', file], (soFar, line) => { + if (soFar === undefined) { + line = line.match(/([0-9a-f]*)? ([a-zA-Z]) (.*$)/); + if (line[2] === 'U') { + if (/^napi/.test(line[3])) { + soFar = true; + } + } + } + return soFar; + }); +} + +// Use dumpbin /imports to list symbols. +function checkFileWin32 (file) { + checkFile(file, 'dumpbin', ['/imports', file], (soFar, line) => { + if (soFar === undefined) { + line = line.match(/([0-9a-f]*)? +([a-zA-Z0-9]) (.*$)/); + if (line && /^napi/.test(line[line.length - 1])) { + soFar = true; + } + } + return soFar; + }); +} + +// Descend into a directory structure and pass each file ending in '.node' to +// one of the above checks, depending on the OS. +function recurse (top) { + fs.readdir(top, (error, items) => { + if (error) { + throw new Error('error reading directory ' + top + ': ' + error); + } + items.forEach((item) => { + item = path.join(top, item); + fs.stat(item, ((item) => (error, stats) => { + if (error) { + throw new Error('error about ' + item + ': ' + error); + } + if (stats.isDirectory()) { + recurse(item); + } else if (/[.]node$/.test(item) && + // Explicitly ignore files called 'nothing.node' because they are + // artefacts of node-addon-api having identified a version of + // Node.js that ships with a correct implementation of N-API. + path.basename(item) !== 'nothing.node') { + process.platform === 'win32' + ? checkFileWin32(item) + : checkFileUNIX(item); + } + })(item)); + }); + }); +} + +// Start with the directory given on the command line or the current directory +// if nothing was given. +recurse(process.argv.length > 3 ? process.argv[2] : '.'); diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/clang-format.js b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/clang-format.js new file mode 100644 index 0000000..e4bb4f5 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/clang-format.js @@ -0,0 +1,71 @@ +#!/usr/bin/env node + +const spawn = require('child_process').spawnSync; +const path = require('path'); + +const filesToCheck = ['*.h', '*.cc']; +const FORMAT_START = process.env.FORMAT_START || 'main'; + +function main (args) { + let fix = false; + while (args.length > 0) { + switch (args[0]) { + case '-f': + case '--fix': + fix = true; + break; + default: + } + args.shift(); + } + + const clangFormatPath = path.dirname(require.resolve('clang-format')); + const binary = process.platform === 'win32' + ? 'node_modules\\.bin\\clang-format.cmd' + : 'node_modules/.bin/clang-format'; + const options = ['--binary=' + binary, '--style=file']; + if (fix) { + options.push(FORMAT_START); + } else { + options.push('--diff', FORMAT_START); + } + + const gitClangFormatPath = path.join(clangFormatPath, 'bin/git-clang-format'); + const result = spawn( + 'python', + [gitClangFormatPath, ...options, '--', ...filesToCheck], + { encoding: 'utf-8' } + ); + + if (result.stderr) { + console.error('Error running git-clang-format:', result.stderr); + return 2; + } + + const clangFormatOutput = result.stdout.trim(); + // Bail fast if in fix mode. + if (fix) { + console.log(clangFormatOutput); + return 0; + } + // Detect if there is any complains from clang-format + if ( + clangFormatOutput !== '' && + clangFormatOutput !== 'no modified files to format' && + clangFormatOutput !== 'clang-format did not modify any files' + ) { + console.error(clangFormatOutput); + const fixCmd = 'npm run lint:fix'; + console.error(` + ERROR: please run "${fixCmd}" to format changes in your commit + Note that when running the command locally, please keep your local + main branch and working branch up to date with nodejs/node-addon-api + to exclude un-related complains. + Or you can run "env FORMAT_START=upstream/main ${fixCmd}".`); + return 1; + } +} + +if (require.main === module) { + process.exitCode = main(process.argv.slice(2)); +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/conversion.js b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/conversion.js new file mode 100644 index 0000000..f89245a --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/conversion.js @@ -0,0 +1,301 @@ +#! /usr/bin/env node + +'use strict'; + +const fs = require('fs'); +const path = require('path'); + +const args = process.argv.slice(2); +const dir = args[0]; +if (!dir) { + console.log('Usage: node ' + path.basename(__filename) + ' '); + process.exit(1); +} + +const NodeApiVersion = require('../package.json').version; + +const disable = args[1]; +let ConfigFileOperations; +if (disable !== '--disable' && dir !== '--disable') { + ConfigFileOperations = { + 'package.json': [ + [/([ ]*)"dependencies": {/g, '$1"dependencies": {\n$1 "node-addon-api": "' + NodeApiVersion + '",'], + [/[ ]*"nan": *"[^"]+"(,|)[\n\r]/g, ''] + ], + 'binding.gyp': [ + [/([ ]*)'include_dirs': \[/g, '$1\'include_dirs\': [\n$1 \'\s+(\w+)\s*=\s*Nan::New\([\w\d:]+\);(?:\w+->Reset\(\1\))?\s+\1->SetClassName\(Nan::String::New\("(\w+)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$2", {'], + [/Local\s+(\w+)\s*=\s*Nan::New\([\w\d:]+\);\s+(\w+)\.Reset\((\1)\);\s+\1->SetClassName\((Nan::String::New|Nan::New<(v8::)*String>)\("(.+?)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$6", {'], + [/Local\s+(\w+)\s*=\s*Nan::New\([\w\d:]+\);(?:\w+->Reset\(\1\))?\s+\1->SetClassName\(Nan::String::New\("(\w+)"\)\);/g, 'Napi::Function $1 = DefineClass(env, "$2", {'], + [/Nan::New\(([\w\d:]+)\)->GetFunction\(\)/g, 'Napi::Function::New(env, $1)'], + [/Nan::New\(([\w\d:]+)\)->GetFunction()/g, 'Napi::Function::New(env, $1);'], + [/Nan::New\(([\w\d:]+)\)/g, 'Napi::Function::New(env, $1)'], + [/Nan::New\(([\w\d:]+)\)/g, 'Napi::Function::New(env, $1)'], + + // FunctionTemplate to FunctionReference + [/Nan::Persistent<(v8::)*FunctionTemplate>/g, 'Napi::FunctionReference'], + [/Nan::Persistent<(v8::)*Function>/g, 'Napi::FunctionReference'], + [/v8::Local/g, 'Napi::FunctionReference'], + [/Local/g, 'Napi::FunctionReference'], + [/v8::FunctionTemplate/g, 'Napi::FunctionReference'], + [/FunctionTemplate/g, 'Napi::FunctionReference'], + + [/([ ]*)Nan::SetPrototypeMethod\(\w+, "(\w+)", (\w+)\);/g, '$1InstanceMethod("$2", &$3),'], + [/([ ]*)(?:\w+\.Reset\(\w+\);\s+)?\(target\)\.Set\("(\w+)",\s*Nan::GetFunction\((\w+)\)\);/gm, + '});\n\n' + + '$1constructor = Napi::Persistent($3);\n' + + '$1constructor.SuppressDestruct();\n' + + '$1target.Set("$2", $3);'], + + // TODO: Other attribute combinations + [/static_cast\(ReadOnly\s*\|\s*DontDelete\)/gm, + 'static_cast(napi_enumerable | napi_configurable)'], + + [/([\w\d:<>]+?)::Cast\((.+?)\)/g, '$2.As<$1>()'], + + [/\*Nan::Utf8String\(([^)]+)\)/g, '$1->As().Utf8Value().c_str()'], + [/Nan::Utf8String +(\w+)\(([^)]+)\)/g, 'std::string $1 = $2.As()'], + [/Nan::Utf8String/g, 'std::string'], + + [/v8::String::Utf8Value (.+?)\((.+?)\)/g, 'Napi::String $1(env, $2)'], + [/String::Utf8Value (.+?)\((.+?)\)/g, 'Napi::String $1(env, $2)'], + [/\.length\(\)/g, '.Length()'], + + [/Nan::MakeCallback\(([^,]+),[\s\\]+([^,]+),/gm, '$2.MakeCallback($1,'], + + [/class\s+(\w+)\s*:\s*public\s+Nan::ObjectWrap/g, 'class $1 : public Napi::ObjectWrap<$1>'], + [/(\w+)\(([^)]*)\)\s*:\s*Nan::ObjectWrap\(\)\s*(,)?/gm, '$1($2) : Napi::ObjectWrap<$1>()$3'], + + // HandleOKCallback to OnOK + [/HandleOKCallback/g, 'OnOK'], + // HandleErrorCallback to OnError + [/HandleErrorCallback/g, 'OnError'], + + // ex. .As() to .As() + [/\.As\(\)/g, '.As()'], + [/\.As<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>\(\)/g, '.As()'], + + // ex. Nan::New(info[0]) to Napi::Number::New(info[0]) + [/Nan::New<(v8::)*Integer>\((.+?)\)/g, 'Napi::Number::New(env, $2)'], + [/Nan::New\(([0-9.]+)\)/g, 'Napi::Number::New(env, $1)'], + [/Nan::New<(v8::)*String>\("(.+?)"\)/g, 'Napi::String::New(env, "$2")'], + [/Nan::New\("(.+?)"\)/g, 'Napi::String::New(env, "$1")'], + [/Nan::New<(v8::)*(.+?)>\(\)/g, 'Napi::$2::New(env)'], + [/Nan::New<(.+?)>\(\)/g, 'Napi::$1::New(env)'], + [/Nan::New<(v8::)*(.+?)>\(/g, 'Napi::$2::New(env, '], + [/Nan::New<(.+?)>\(/g, 'Napi::$1::New(env, '], + [/Nan::NewBuffer\(/g, 'Napi::Buffer::New(env, '], + // TODO: Properly handle this + [/Nan::New\(/g, 'Napi::New(env, '], + + [/\.IsInt32\(\)/g, '.IsNumber()'], + [/->IsInt32\(\)/g, '.IsNumber()'], + + [/(.+?)->BooleanValue\(\)/g, '$1.As().Value()'], + [/(.+?)->Int32Value\(\)/g, '$1.As().Int32Value()'], + [/(.+?)->Uint32Value\(\)/g, '$1.As().Uint32Value()'], + [/(.+?)->IntegerValue\(\)/g, '$1.As().Int64Value()'], + [/(.+?)->NumberValue\(\)/g, '$1.As().DoubleValue()'], + + // ex. Nan::To(info[0]) to info[0].Value() + [/Nan::To\((.+?)\)/g, '$2.To()'], + [/Nan::To<(Boolean|String|Number|Object|Array|Symbol|Function)>\((.+?)\)/g, '$2.To()'], + // ex. Nan::To(info[0]) to info[0].As().Value() + [/Nan::To\((.+?)\)/g, '$1.As().Value()'], + // ex. Nan::To(info[0]) to info[0].As().Int32Value() + [/Nan::To\((.+?)\)/g, '$1.As().Int32Value()'], + // ex. Nan::To(info[0]) to info[0].As().Int32Value() + [/Nan::To\((.+?)\)/g, '$1.As().Int32Value()'], + // ex. Nan::To(info[0]) to info[0].As().Uint32Value() + [/Nan::To\((.+?)\)/g, '$1.As().Uint32Value()'], + // ex. Nan::To(info[0]) to info[0].As().Int64Value() + [/Nan::To\((.+?)\)/g, '$1.As().Int64Value()'], + // ex. Nan::To(info[0]) to info[0].As().FloatValue() + [/Nan::To\((.+?)\)/g, '$1.As().FloatValue()'], + // ex. Nan::To(info[0]) to info[0].As().DoubleValue() + [/Nan::To\((.+?)\)/g, '$1.As().DoubleValue()'], + + [/Nan::New\((\w+)\)->HasInstance\((\w+)\)/g, '$2.InstanceOf($1.Value())'], + + [/Nan::Has\(([^,]+),\s*/gm, '($1).Has('], + [/\.Has\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\)/gm, '.Has($1)'], + [/\.Has\([\s|\\]*Nan::New\(([^)]+)\)\)/gm, '.Has($1)'], + + [/Nan::Get\(([^,]+),\s*/gm, '($1).Get('], + [/\.Get\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\)/gm, '.Get($1)'], + [/\.Get\([\s|\\]*Nan::New\(([^)]+)\)\)/gm, '.Get($1)'], + + [/Nan::Set\(([^,]+),\s*/gm, '($1).Set('], + [/\.Set\([\s|\\]*Nan::New<(v8::)*String>\(([^)]+)\)\s*,/gm, '.Set($1,'], + [/\.Set\([\s|\\]*Nan::New\(([^)]+)\)\s*,/gm, '.Set($1,'], + + // ex. node::Buffer::HasInstance(info[0]) to info[0].IsBuffer() + [/node::Buffer::HasInstance\((.+?)\)/g, '$1.IsBuffer()'], + // ex. node::Buffer::Length(info[0]) to info[0].Length() + [/node::Buffer::Length\((.+?)\)/g, '$1.As>().Length()'], + // ex. node::Buffer::Data(info[0]) to info[0].Data() + [/node::Buffer::Data\((.+?)\)/g, '$1.As>().Data()'], + [/Nan::CopyBuffer\(/g, 'Napi::Buffer::Copy(env, '], + + // Nan::AsyncQueueWorker(worker) + [/Nan::AsyncQueueWorker\((.+)\);/g, '$1.Queue();'], + [/Nan::(Undefined|Null|True|False)\(\)/g, 'env.$1()'], + + // Nan::ThrowError(error) to Napi::Error::New(env, error).ThrowAsJavaScriptException() + [/([ ]*)return Nan::Throw(\w*?)Error\((.+?)\);/g, '$1Napi::$2Error::New(env, $3).ThrowAsJavaScriptException();\n$1return env.Null();'], + [/Nan::Throw(\w*?)Error\((.+?)\);\n(\s*)return;/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n$3return env.Null();'], + [/Nan::Throw(\w*?)Error\((.+?)\);/g, 'Napi::$1Error::New(env, $2).ThrowAsJavaScriptException();\n'], + // Nan::RangeError(error) to Napi::RangeError::New(env, error) + [/Nan::(\w*?)Error\((.+)\)/g, 'Napi::$1Error::New(env, $2)'], + + [/Nan::Set\((.+?),\n* *(.+?),\n* *(.+?),\n* *(.+?)\)/g, '$1.Set($2, $3, $4)'], + + [/Nan::(Escapable)?HandleScope\s+(\w+)\s*;/g, 'Napi::$1HandleScope $2(env);'], + [/Nan::(Escapable)?HandleScope/g, 'Napi::$1HandleScope'], + [/Nan::ForceSet\(([^,]+), ?/g, '$1->DefineProperty('], + [/\.ForceSet\(Napi::String::New\(env, "(\w+)"\),\s*?/g, '.DefineProperty("$1", '], + // [ /Nan::GetPropertyNames\(([^,]+)\)/, '$1->GetPropertyNames()' ], + [/Nan::Equals\(([^,]+),/g, '$1.StrictEquals('], + + [/(.+)->Set\(/g, '$1.Set('], + + [/Nan::Callback/g, 'Napi::FunctionReference'], + + [/Nan::Persistent/g, 'Napi::ObjectReference'], + [/Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE target/g, 'Napi::Env& env, Napi::Object& target'], + + [/(\w+)\*\s+(\w+)\s*=\s*Nan::ObjectWrap::Unwrap<\w+>\(info\.This\(\)\);/g, '$1* $2 = this;'], + [/Nan::ObjectWrap::Unwrap<(\w+)>\((.*)\);/g, '$2.Unwrap<$1>();'], + + [/Nan::NAN_METHOD_RETURN_TYPE/g, 'void'], + [/NAN_INLINE/g, 'inline'], + + [/Nan::NAN_METHOD_ARGS_TYPE/g, 'const Napi::CallbackInfo&'], + [/NAN_METHOD\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'], + [/static\s*NAN_GETTER\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'], + [/NAN_GETTER\(([\w\d:]+?)\)/g, 'Napi::Value $1(const Napi::CallbackInfo& info)'], + [/static\s*NAN_SETTER\(([\w\d:]+?)\)/g, 'void $1(const Napi::CallbackInfo& info, const Napi::Value& value)'], + [/NAN_SETTER\(([\w\d:]+?)\)/g, 'void $1(const Napi::CallbackInfo& info, const Napi::Value& value)'], + [/void Init\((v8::)*Local<(v8::)*Object> exports\)/g, 'Napi::Object Init(Napi::Env env, Napi::Object exports)'], + [/NAN_MODULE_INIT\(([\w\d:]+?)\);/g, 'Napi::Object $1(Napi::Env env, Napi::Object exports);'], + [/NAN_MODULE_INIT\(([\w\d:]+?)\)/g, 'Napi::Object $1(Napi::Env env, Napi::Object exports)'], + + [/::(Init(?:ialize)?)\(target\)/g, '::$1(env, target, module)'], + [/constructor_template/g, 'constructor'], + + [/Nan::FunctionCallbackInfo<(v8::)?Value>[ ]*& [ ]*info\)[ ]*{\n*([ ]*)/gm, 'Napi::CallbackInfo& info) {\n$2Napi::Env env = info.Env();\n$2'], + [/Nan::FunctionCallbackInfo<(v8::)*Value>\s*&\s*info\);/g, 'Napi::CallbackInfo& info);'], + [/Nan::FunctionCallbackInfo<(v8::)*Value>\s*&/g, 'Napi::CallbackInfo&'], + + [/Buffer::HasInstance\(([^)]+)\)/g, '$1.IsBuffer()'], + + [/info\[(\d+)\]->/g, 'info[$1].'], + [/info\[([\w\d]+)\]->/g, 'info[$1].'], + [/info\.This\(\)->/g, 'info.This().'], + [/->Is(Object|String|Int32|Number)\(\)/g, '.Is$1()'], + [/info.GetReturnValue\(\).SetUndefined\(\)/g, 'return env.Undefined()'], + [/info\.GetReturnValue\(\)\.Set\(((\n|.)+?)\);/g, 'return $1;'], + + // ex. Local to Napi::Value + [/v8::Local/g, 'Napi::$1'], + [/Local<(Value|Boolean|String|Number|Object|Array|Symbol|External|Function)>/g, 'Napi::$1'], + + // Declare an env in helper functions that take a Napi::Value + [/(\w+)\(Napi::Value (\w+)(,\s*[^()]+)?\)\s*{\n*([ ]*)/gm, '$1(Napi::Value $2$3) {\n$4Napi::Env env = $2.Env();\n$4'], + + // delete #include and/or + [/#include +(<|")(?:node|nan).h("|>)/g, '#include $1napi.h$2\n#include $1uv.h$2'], + // NODE_MODULE to NODE_API_MODULE + [/NODE_MODULE/g, 'NODE_API_MODULE'], + [/Nan::/g, 'Napi::'], + [/nan.h/g, 'napi.h'], + + // delete .FromJust() + [/\.FromJust\(\)/g, ''], + // delete .ToLocalCheck() + [/\.ToLocalChecked\(\)/g, ''], + [/^.*->SetInternalFieldCount\(.*$/gm, ''], + + // replace using node; and/or using v8; to using Napi; + [/using (node|v8);/g, 'using Napi;'], + [/using namespace (node|Nan|v8);/g, 'using namespace Napi;'], + // delete using v8::Local; + [/using v8::Local;\n/g, ''], + // replace using v8::XXX; with using Napi::XXX + [/using v8::([A-Za-z]+);/g, 'using Napi::$1;'] + +]; + +const paths = listFiles(dir); +paths.forEach(function (dirEntry) { + const filename = dirEntry.split('\\').pop().split('/').pop(); + + // Check whether the file is a source file or a config file + // then execute function accordingly + const sourcePattern = /.+\.h|.+\.cc|.+\.cpp/; + if (sourcePattern.test(filename)) { + convertFile(dirEntry, SourceFileOperations); + } else if (ConfigFileOperations[filename] != null) { + convertFile(dirEntry, ConfigFileOperations[filename]); + } +}); + +function listFiles (dir, filelist) { + const files = fs.readdirSync(dir); + filelist = filelist || []; + files.forEach(function (file) { + if (file === 'node_modules') { + return; + } + + if (fs.statSync(path.join(dir, file)).isDirectory()) { + filelist = listFiles(path.join(dir, file), filelist); + } else { + filelist.push(path.join(dir, file)); + } + }); + return filelist; +} + +function convert (content, operations) { + for (let i = 0; i < operations.length; i++) { + const operation = operations[i]; + content = content.replace(operation[0], operation[1]); + } + return content; +} + +function convertFile (fileName, operations) { + fs.readFile(fileName, 'utf-8', function (err, file) { + if (err) throw err; + + file = convert(file, operations); + + fs.writeFile(fileName, file, function (err) { + if (err) throw err; + }); + }); +} diff --git a/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/eslint-format.js b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/eslint-format.js new file mode 100644 index 0000000..6923ab7 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/node-addon-api/tools/eslint-format.js @@ -0,0 +1,79 @@ +#!/usr/bin/env node + +const spawn = require('child_process').spawnSync; + +const filesToCheck = '*.js'; +const FORMAT_START = process.env.FORMAT_START || 'main'; +const IS_WIN = process.platform === 'win32'; +const ESLINT_PATH = IS_WIN ? 'node_modules\\.bin\\eslint.cmd' : 'node_modules/.bin/eslint'; + +function main (args) { + let fix = false; + while (args.length > 0) { + switch (args[0]) { + case '-f': + case '--fix': + fix = true; + break; + default: + } + args.shift(); + } + + // Check js files that change on unstaged file + const fileUnStaged = spawn( + 'git', + ['diff', '--name-only', '--diff-filter=d', FORMAT_START, filesToCheck], + { + encoding: 'utf-8' + } + ); + + // Check js files that change on staged file + const fileStaged = spawn( + 'git', + ['diff', '--name-only', '--cached', '--diff-filter=d', FORMAT_START, filesToCheck], + { + encoding: 'utf-8' + } + ); + + const options = [ + ...fileStaged.stdout.split('\n').filter((f) => f !== ''), + ...fileUnStaged.stdout.split('\n').filter((f) => f !== '') + ]; + + if (fix) { + options.push('--fix'); + } + + const result = spawn(ESLINT_PATH, [...options], { + encoding: 'utf-8' + }); + + if (result.error && result.error.errno === 'ENOENT') { + console.error('Eslint not found! Eslint is supposed to be found at ', ESLINT_PATH); + return 2; + } + + if (result.status === 1) { + console.error('Eslint error:', result.stdout); + const fixCmd = 'npm run lint:fix'; + console.error(`ERROR: please run "${fixCmd}" to format changes in your commit + Note that when running the command locally, please keep your local + main branch and working branch up to date with nodejs/node-addon-api + to exclude un-related complains. + Or you can run "env FORMAT_START=upstream/main ${fixCmd}". + Also fix JS files by yourself if necessary.`); + return 1; + } + + if (result.stderr) { + console.error('Error running eslint:', result.stderr); + return 2; + } +} + +if (require.main === module) { + process.exitCode = main(process.argv.slice(2)); +} diff --git a/src/main/webapp/css/admins/sass/node_modules/normalize-path/README.md b/src/main/webapp/css/admins/sass/node_modules/normalize-path/README.md deleted file mode 100644 index 726d4d6..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/normalize-path/README.md +++ /dev/null @@ -1,127 +0,0 @@ -# normalize-path [![NPM version](https://img.shields.io/npm/v/normalize-path.svg?style=flat)](https://www.npmjs.com/package/normalize-path) [![NPM monthly downloads](https://img.shields.io/npm/dm/normalize-path.svg?style=flat)](https://npmjs.org/package/normalize-path) [![NPM total downloads](https://img.shields.io/npm/dt/normalize-path.svg?style=flat)](https://npmjs.org/package/normalize-path) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/normalize-path.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/normalize-path) - -> Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled. - -Please consider following this project's author, [Jon Schlinkert](https://github.com/jonschlinkert), and consider starring the project to show your :heart: and support. - -## Install - -Install with [npm](https://www.npmjs.com/): - -```sh -$ npm install --save normalize-path -``` - -## Usage - -```js -const normalize = require('normalize-path'); - -console.log(normalize('\\foo\\bar\\baz\\')); -//=> '/foo/bar/baz' -``` - -**win32 namespaces** - -```js -console.log(normalize('\\\\?\\UNC\\Server01\\user\\docs\\Letter.txt')); -//=> '//?/UNC/Server01/user/docs/Letter.txt' - -console.log(normalize('\\\\.\\CdRomX')); -//=> '//./CdRomX' -``` - -**Consecutive slashes** - -Condenses multiple consecutive forward slashes (except for leading slashes in win32 namespaces) to a single slash. - -```js -console.log(normalize('.//foo//bar///////baz/')); -//=> './foo/bar/baz' -``` - -### Trailing slashes - -By default trailing slashes are removed. Pass `false` as the last argument to disable this behavior and _**keep** trailing slashes_: - -```js -console.log(normalize('foo\\bar\\baz\\', false)); //=> 'foo/bar/baz/' -console.log(normalize('./foo/bar/baz/', false)); //=> './foo/bar/baz/' -``` - -## Release history - -### v3.0 - -No breaking changes in this release. - -* a check was added to ensure that [win32 namespaces](https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces) are handled properly by win32 `path.parse()` after a path has been normalized by this library. -* a minor optimization was made to simplify how the trailing separator was handled - -## About - -
-Contributing - -Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). - -
- -
-Running Tests - -Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command: - -```sh -$ npm install && npm test -``` - -
- -
-Building docs - -_(This project's readme.md is generated by [verb](https://github.com/verbose/verb-generate-readme), please don't edit the readme directly. Any changes to the readme must be made in the [.verb.md](.verb.md) readme template.)_ - -To generate the readme, run the following command: - -```sh -$ npm install -g verbose/verb#dev verb-generate-readme && verb -``` - -
- -### Related projects - -Other useful path-related libraries: - -* [contains-path](https://www.npmjs.com/package/contains-path): Return true if a file path contains the given path. | [homepage](https://github.com/jonschlinkert/contains-path "Return true if a file path contains the given path.") -* [is-absolute](https://www.npmjs.com/package/is-absolute): Returns true if a file path is absolute. Does not rely on the path module… [more](https://github.com/jonschlinkert/is-absolute) | [homepage](https://github.com/jonschlinkert/is-absolute "Returns true if a file path is absolute. Does not rely on the path module and can be used as a polyfill for node.js native `path.isAbolute`.") -* [is-relative](https://www.npmjs.com/package/is-relative): Returns `true` if the path appears to be relative. | [homepage](https://github.com/jonschlinkert/is-relative "Returns `true` if the path appears to be relative.") -* [parse-filepath](https://www.npmjs.com/package/parse-filepath): Pollyfill for node.js `path.parse`, parses a filepath into an object. | [homepage](https://github.com/jonschlinkert/parse-filepath "Pollyfill for node.js `path.parse`, parses a filepath into an object.") -* [path-ends-with](https://www.npmjs.com/package/path-ends-with): Return `true` if a file path ends with the given string/suffix. | [homepage](https://github.com/jonschlinkert/path-ends-with "Return `true` if a file path ends with the given string/suffix.") -* [unixify](https://www.npmjs.com/package/unixify): Convert Windows file paths to unix paths. | [homepage](https://github.com/jonschlinkert/unixify "Convert Windows file paths to unix paths.") - -### Contributors - -| **Commits** | **Contributor** | -| --- | --- | -| 35 | [jonschlinkert](https://github.com/jonschlinkert) | -| 1 | [phated](https://github.com/phated) | - -### Author - -**Jon Schlinkert** - -* [LinkedIn Profile](https://linkedin.com/in/jonschlinkert) -* [GitHub Profile](https://github.com/jonschlinkert) -* [Twitter Profile](https://twitter.com/jonschlinkert) - -### License - -Copyright © 2018, [Jon Schlinkert](https://github.com/jonschlinkert). -Released under the [MIT License](LICENSE). - -*** - -_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.6.0, on April 19, 2018._ \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/normalize-path/index.js b/src/main/webapp/css/admins/sass/node_modules/normalize-path/index.js deleted file mode 100644 index 6fac553..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/normalize-path/index.js +++ /dev/null @@ -1,35 +0,0 @@ -/*! - * normalize-path - * - * Copyright (c) 2014-2018, Jon Schlinkert. - * Released under the MIT License. - */ - -module.exports = function(path, stripTrailing) { - if (typeof path !== 'string') { - throw new TypeError('expected path to be a string'); - } - - if (path === '\\' || path === '/') return '/'; - - var len = path.length; - if (len <= 1) return path; - - // ensure that win32 namespaces has two leading slashes, so that the path is - // handled properly by the win32 version of path.parse() after being normalized - // https://msdn.microsoft.com/library/windows/desktop/aa365247(v=vs.85).aspx#namespaces - var prefix = ''; - if (len > 4 && path[3] === '\\') { - var ch = path[2]; - if ((ch === '?' || ch === '.') && path.slice(0, 2) === '\\\\') { - path = path.slice(2); - prefix = '//'; - } - } - - var segs = path.split(/[/\\]+/); - if (stripTrailing !== false && segs[segs.length - 1] === '') { - segs.pop(); - } - return prefix + segs.join('/'); -}; diff --git a/src/main/webapp/css/admins/sass/node_modules/normalize-path/package.json b/src/main/webapp/css/admins/sass/node_modules/normalize-path/package.json deleted file mode 100644 index ad61098..0000000 --- a/src/main/webapp/css/admins/sass/node_modules/normalize-path/package.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "name": "normalize-path", - "description": "Normalize slashes in a file path to be posix/unix-like forward slashes. Also condenses repeat slashes to a single slash and removes and trailing slashes, unless disabled.", - "version": "3.0.0", - "homepage": "https://github.com/jonschlinkert/normalize-path", - "author": "Jon Schlinkert (https://github.com/jonschlinkert)", - "contributors": [ - "Blaine Bublitz (https://twitter.com/BlaineBublitz)", - "Jon Schlinkert (http://twitter.com/jonschlinkert)" - ], - "repository": "jonschlinkert/normalize-path", - "bugs": { - "url": "https://github.com/jonschlinkert/normalize-path/issues" - }, - "license": "MIT", - "files": [ - "index.js" - ], - "main": "index.js", - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "mocha" - }, - "devDependencies": { - "gulp-format-md": "^1.0.0", - "minimist": "^1.2.0", - "mocha": "^3.5.3" - }, - "keywords": [ - "absolute", - "backslash", - "delimiter", - "file", - "file-path", - "filepath", - "fix", - "forward", - "fp", - "fs", - "normalize", - "path", - "relative", - "separator", - "slash", - "slashes", - "trailing", - "unix", - "urix" - ], - "verb": { - "toc": false, - "layout": "default", - "tasks": [ - "readme" - ], - "plugins": [ - "gulp-format-md" - ], - "related": { - "description": "Other useful path-related libraries:", - "list": [ - "contains-path", - "is-absolute", - "is-relative", - "parse-filepath", - "path-ends-with", - "path-ends-with", - "unixify" - ] - }, - "lint": { - "reflinks": true - } - } -} diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/README.md b/src/main/webapp/css/admins/sass/node_modules/readdirp/README.md index 465593c..21437d0 100644 --- a/src/main/webapp/css/admins/sass/node_modules/readdirp/README.md +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/README.md @@ -2,16 +2,16 @@ Recursive version of [fs.readdir](https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback). Exposes a **stream API** and a **promise API**. +Supports both ESM and common.js. ```sh npm install readdirp ``` ```javascript -const readdirp = require('readdirp'); - // Use streams to achieve small RAM & CPU footprint. // 1) Streams example with for-await. +import readdirp from 'readdirp'; for await (const entry of readdirp('.')) { const {path} = entry; console.log(`${JSON.stringify({path})}`); @@ -19,7 +19,8 @@ for await (const entry of readdirp('.')) { // 2) Streams example, non for-await. // Print out all JS files along with their size within the current folder & subfolders. -readdirp('.', {fileFilter: '*.js', alwaysStat: true}) +import readdirp from 'readdirp'; +readdirp('.', {alwaysStat: true, fileFilter: (f) => f.basename.endsWith('.js')}) .on('data', (entry) => { const {path, stats: {size}} = entry; console.log(`${JSON.stringify({path, size})}`); @@ -30,21 +31,21 @@ readdirp('.', {fileFilter: '*.js', alwaysStat: true}) .on('end', () => console.log('done')); // 3) Promise example. More RAM and CPU than streams / for-await. -const files = await readdirp.promise('.'); +import { readdirpPromise } from 'readdirp'; +const files = await readdirpPromise('.'); console.log(files.map(file => file.path)); // Other options. +import readdirp from 'readdirp'; readdirp('test', { - fileFilter: '*.js', - directoryFilter: ['!.git', '!*modules'] + fileFilter: (f) => f.basename.endsWith('.js'), + directoryFilter: (d) => d.basename !== '.git', // directoryFilter: (di) => di.basename.length === 9 type: 'files_directories', depth: 1 }); ``` -For more examples, check out `examples` directory. - ## API `const stream = readdirp(root[, options])` — **Stream API** @@ -67,15 +68,9 @@ First argument is awalys `root`, path in which to start reading and recursing in ### options -- `fileFilter: ["*.js"]`: filter to include or exclude files. A `Function`, Glob string or Array of glob strings. +- `fileFilter`: filter to include or exclude files - **Function**: a function that takes an entry info as a parameter and returns true to include or false to exclude the entry - - **Glob string**: a string (e.g., `*.js`) which is matched using [picomatch](https://github.com/micromatch/picomatch), so go there for more - information. Globstars (`**`) are not supported since specifying a recursive pattern for an already recursive function doesn't make sense. Negated globs (as explained in the minimatch documentation) are allowed, e.g., `!*.txt` matches everything but text files. - - **Array of glob strings**: either need to be all inclusive or all exclusive (negated) patterns otherwise an error is thrown. - `['*.json', '*.js']` includes all JavaScript and Json files. - `['!.git', '!node_modules']` includes all directories except the '.git' and 'node_modules'. - - Directories that do not pass a filter will not be recursed into. -- `directoryFilter: ['!.git']`: filter to include/exclude directories found and to recurse into. Directories that do not pass a filter will not be recursed into. +- `directoryFilter`: filter to include/exclude directories found and to recurse into. Directories that do not pass a filter will not be recursed into. - `depth: 5`: depth at which to stop recursing even if more subdirectories are found - `type: 'files'`: determines if data events on the stream should be emitted for `'files'` (default), `'directories'`, `'files_directories'`, or `'all'`. Setting to `'all'` will also include entries for other types of file descriptors like character devices, unix sockets and named pipes. - `alwaysStat: false`: always return `stats` property for every file. Default is `false`, readdirp will return `Dirent` entries. Setting it to `true` can double readdir execution time - use it only when you need file `size`, `mtime` etc. Cannot be enabled on node <10.10.0. @@ -93,6 +88,9 @@ Has the following properties: ## Changelog +- 4.0 (Aug 25, 2024) rewritten in typescript, producing hybrid common.js / esm module. + - Remove glob support and all dependencies + - Make sure you're using `let {readdirp} = require('readdirp')` in common.js - 3.5 (Oct 13, 2020) disallows recursive directory-based symlinks. Before, it could have entered infinite loop. - 3.4 (Mar 19, 2020) adds support for directory-based symlinks. @@ -112,6 +110,7 @@ Has the following properties: - Renamed `name` to `basename` - Removed `parentDir` and `fullParentDir` properties - Supported node.js versions: + - 4.x: node 14+ - 3.x: node 8+ - 2.x: node 0.6+ diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/index.d.ts new file mode 100644 index 0000000..89d28ed --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/index.d.ts @@ -0,0 +1,67 @@ +import type { Stats, Dirent } from 'fs'; +import { Readable } from 'stream'; +export type Path = string; +export interface EntryInfo { + path: string; + fullPath: string; + stats?: Stats; + dirent?: Dirent; + basename: string; +} +export type PathOrDirent = Dirent | Path; +export type Tester = (path: EntryInfo) => boolean; +export type Predicate = string[] | string | Tester; +declare function defaultOptions(): { + root: string; + fileFilter: (_path: EntryInfo) => boolean; + directoryFilter: (_path: EntryInfo) => boolean; + type: string; + lstat: boolean; + depth: number; + alwaysStat: boolean; + highWaterMark: number; +}; +export type ReaddirpOptions = ReturnType; +export interface DirEntry { + files: PathOrDirent[]; + depth: number; + path: Path; +} +export declare class ReaddirpStream extends Readable { + parents: any[]; + reading: boolean; + parent?: DirEntry; + _stat: Function; + _maxDepth: number; + _wantsDir: boolean; + _wantsFile: boolean; + _wantsEverything: boolean; + _root: Path; + _isDirent: boolean; + _statsProp: 'dirent' | 'stats'; + _rdOptions: { + encoding: 'utf8'; + withFileTypes: boolean; + }; + _fileFilter: Tester; + _directoryFilter: Tester; + constructor(options?: Partial); + _read(batch: number): Promise; + _exploreDir(path: Path, depth: number): Promise<{ + files: string[] | undefined; + depth: number; + path: string; + }>; + _formatEntry(dirent: PathOrDirent, path: Path): Promise; + _onError(err: Error): void; + _getEntryType(entry: EntryInfo): Promise; + _includeAsFile(entry: EntryInfo): boolean | undefined; +} +/** + * Main function which ends up calling readdirRec and reads all files and directories in given root recursively. + * @param root Root directory + * @param options Options to specify root (start directory), filters and recursion depth + */ +export declare const readdirp: (root: Path, options?: Partial) => ReaddirpStream; +export declare const readdirpPromise: (root: Path, options?: Partial) => Promise; +export default readdirp; diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/index.js b/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/index.js new file mode 100644 index 0000000..819dc3a --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/index.js @@ -0,0 +1,238 @@ +import { stat, lstat, readdir, realpath } from 'fs/promises'; +import { Readable } from 'stream'; +import { resolve as pathResolve, relative as pathRelative, join as pathJoin, sep as pathSep, } from 'path'; +function defaultOptions() { + return { + root: '.', + fileFilter: (_path) => true, + directoryFilter: (_path) => true, + type: FILE_TYPE, + lstat: false, + depth: 2147483648, + alwaysStat: false, + highWaterMark: 4096, + }; +} +const RECURSIVE_ERROR_CODE = 'READDIRP_RECURSIVE_ERROR'; +const NORMAL_FLOW_ERRORS = new Set(['ENOENT', 'EPERM', 'EACCES', 'ELOOP', RECURSIVE_ERROR_CODE]); +const FILE_TYPE = 'files'; +const DIR_TYPE = 'directories'; +const FILE_DIR_TYPE = 'files_directories'; +const EVERYTHING_TYPE = 'all'; +const ALL_TYPES = [FILE_TYPE, DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]; +const DIR_TYPES = new Set([DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]); +const FILE_TYPES = new Set([FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]); +const isNormalFlowError = (error) => NORMAL_FLOW_ERRORS.has(error.code); +const wantBigintFsStats = process.platform === 'win32'; +const emptyFn = (_path) => true; +const normalizeFilter = (filter) => { + if (filter === undefined) + return emptyFn; + if (typeof filter === 'function') + return filter; + if (typeof filter === 'string') { + const fl = filter.trim(); + return (entry) => entry.basename === fl; + } + if (Array.isArray(filter)) { + const trItems = filter.map((item) => item.trim()); + return (entry) => trItems.some((f) => entry.basename === f); + } + return emptyFn; +}; +export class ReaddirpStream extends Readable { + constructor(options = {}) { + super({ + objectMode: true, + autoDestroy: true, + highWaterMark: options.highWaterMark, + }); + const opts = { ...defaultOptions(), ...options }; + const { root, type } = opts; + this._fileFilter = normalizeFilter(opts.fileFilter); + this._directoryFilter = normalizeFilter(opts.directoryFilter); + const statMethod = opts.lstat ? lstat : stat; + // Use bigint stats if it's windows and stat() supports options (node 10+). + if (wantBigintFsStats) { + this._stat = (path) => statMethod(path, { bigint: true }); + } + else { + this._stat = statMethod; + } + this._maxDepth = opts.depth; + this._wantsDir = DIR_TYPES.has(type); + this._wantsFile = FILE_TYPES.has(type); + this._wantsEverything = type === EVERYTHING_TYPE; + this._root = pathResolve(root); + this._isDirent = !opts.alwaysStat; + this._statsProp = this._isDirent ? 'dirent' : 'stats'; + this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent }; + // Launch stream with one parent, the root dir. + this.parents = [this._exploreDir(root, 1)]; + this.reading = false; + this.parent = undefined; + } + async _read(batch) { + if (this.reading) + return; + this.reading = true; + try { + while (!this.destroyed && batch > 0) { + const par = this.parent; + const fil = par && par.files; + if (fil && fil.length > 0) { + const { path, depth } = par; + const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path)); + const awaited = await Promise.all(slice); + for (const entry of awaited) { + if (!entry) { + batch--; + return; + } + if (this.destroyed) + return; + const entryType = await this._getEntryType(entry); + if (entryType === 'directory' && this._directoryFilter(entry)) { + if (depth <= this._maxDepth) { + this.parents.push(this._exploreDir(entry.fullPath, depth + 1)); + } + if (this._wantsDir) { + this.push(entry); + batch--; + } + } + else if ((entryType === 'file' || this._includeAsFile(entry)) && + this._fileFilter(entry)) { + if (this._wantsFile) { + this.push(entry); + batch--; + } + } + } + } + else { + const parent = this.parents.pop(); + if (!parent) { + this.push(null); + break; + } + this.parent = await parent; + if (this.destroyed) + return; + } + } + } + catch (error) { + this.destroy(error); + } + finally { + this.reading = false; + } + } + async _exploreDir(path, depth) { + let files; + try { + files = await readdir(path, this._rdOptions); + } + catch (error) { + this._onError(error); + } + return { files, depth, path }; + } + async _formatEntry(dirent, path) { + let entry; + const basename = this._isDirent ? dirent.name : dirent; + try { + const fullPath = pathResolve(pathJoin(path, basename)); + entry = { path: pathRelative(this._root, fullPath), fullPath, basename }; + entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath); + } + catch (err) { + this._onError(err); + return; + } + return entry; + } + _onError(err) { + if (isNormalFlowError(err) && !this.destroyed) { + this.emit('warn', err); + } + else { + this.destroy(err); + } + } + async _getEntryType(entry) { + // entry may be undefined, because a warning or an error were emitted + // and the statsProp is undefined + if (!entry && this._statsProp in entry) { + return ''; + } + const stats = entry[this._statsProp]; + if (stats.isFile()) + return 'file'; + if (stats.isDirectory()) + return 'directory'; + if (stats && stats.isSymbolicLink()) { + const full = entry.fullPath; + try { + const entryRealPath = await realpath(full); + const entryRealPathStats = await lstat(entryRealPath); + if (entryRealPathStats.isFile()) { + return 'file'; + } + if (entryRealPathStats.isDirectory()) { + const len = entryRealPath.length; + if (full.startsWith(entryRealPath) && full.substr(len, 1) === pathSep) { + const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`); + // @ts-ignore + recursiveError.code = RECURSIVE_ERROR_CODE; + return this._onError(recursiveError); + } + return 'directory'; + } + } + catch (error) { + this._onError(error); + return ''; + } + } + } + _includeAsFile(entry) { + const stats = entry && entry[this._statsProp]; + return stats && this._wantsEverything && !stats.isDirectory(); + } +} +/** + * Main function which ends up calling readdirRec and reads all files and directories in given root recursively. + * @param root Root directory + * @param options Options to specify root (start directory), filters and recursion depth + */ +export const readdirp = (root, options = {}) => { + // @ts-ignore + let type = options.entryType || options.type; + if (type === 'both') + type = FILE_DIR_TYPE; // backwards-compatibility + if (type) + options.type = type; + if (!root) { + throw new Error('readdirp: root argument is required. Usage: readdirp(root, options)'); + } + else if (typeof root !== 'string') { + throw new TypeError('readdirp: root argument must be a string. Usage: readdirp(root, options)'); + } + else if (type && !ALL_TYPES.includes(type)) { + throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(', ')}`); + } + options.root = root; + return new ReaddirpStream(options); +}; +export const readdirpPromise = (root, options = {}) => { + return new Promise((resolve, reject) => { + const files = []; + readdirp(root, options) + .on('data', (entry) => files.push(entry)) + .on('end', () => resolve(files)) + .on('error', (error) => reject(error)); + }); +}; +export default readdirp; diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/package.json b/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/package.json new file mode 100644 index 0000000..8769641 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/esm/package.json @@ -0,0 +1 @@ +{ "type": "module", "sideEffects": false } diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/readdirp/index.d.ts index cbbd76c..89d28ed 100644 --- a/src/main/webapp/css/admins/sass/node_modules/readdirp/index.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/index.d.ts @@ -1,43 +1,67 @@ -// TypeScript Version: 3.2 - -/// - -import * as fs from 'fs'; +import type { Stats, Dirent } from 'fs'; import { Readable } from 'stream'; - -declare namespace readdir { - interface EntryInfo { +export type Path = string; +export interface EntryInfo { path: string; fullPath: string; + stats?: Stats; + dirent?: Dirent; basename: string; - stats?: fs.Stats; - dirent?: fs.Dirent; - } - - interface ReaddirpOptions { - root?: string; - fileFilter?: string | string[] | ((entry: EntryInfo) => boolean); - directoryFilter?: string | string[] | ((entry: EntryInfo) => boolean); - type?: 'files' | 'directories' | 'files_directories' | 'all'; - lstat?: boolean; - depth?: number; - alwaysStat?: boolean; - } - - interface ReaddirpStream extends Readable, AsyncIterable { - read(): EntryInfo; - [Symbol.asyncIterator](): AsyncIterableIterator; - } - - function promise( - root: string, - options?: ReaddirpOptions - ): Promise; } - -declare function readdir( - root: string, - options?: readdir.ReaddirpOptions -): readdir.ReaddirpStream; - -export = readdir; +export type PathOrDirent = Dirent | Path; +export type Tester = (path: EntryInfo) => boolean; +export type Predicate = string[] | string | Tester; +declare function defaultOptions(): { + root: string; + fileFilter: (_path: EntryInfo) => boolean; + directoryFilter: (_path: EntryInfo) => boolean; + type: string; + lstat: boolean; + depth: number; + alwaysStat: boolean; + highWaterMark: number; +}; +export type ReaddirpOptions = ReturnType; +export interface DirEntry { + files: PathOrDirent[]; + depth: number; + path: Path; +} +export declare class ReaddirpStream extends Readable { + parents: any[]; + reading: boolean; + parent?: DirEntry; + _stat: Function; + _maxDepth: number; + _wantsDir: boolean; + _wantsFile: boolean; + _wantsEverything: boolean; + _root: Path; + _isDirent: boolean; + _statsProp: 'dirent' | 'stats'; + _rdOptions: { + encoding: 'utf8'; + withFileTypes: boolean; + }; + _fileFilter: Tester; + _directoryFilter: Tester; + constructor(options?: Partial); + _read(batch: number): Promise; + _exploreDir(path: Path, depth: number): Promise<{ + files: string[] | undefined; + depth: number; + path: string; + }>; + _formatEntry(dirent: PathOrDirent, path: Path): Promise; + _onError(err: Error): void; + _getEntryType(entry: EntryInfo): Promise; + _includeAsFile(entry: EntryInfo): boolean | undefined; +} +/** + * Main function which ends up calling readdirRec and reads all files and directories in given root recursively. + * @param root Root directory + * @param options Options to specify root (start directory), filters and recursion depth + */ +export declare const readdirp: (root: Path, options?: Partial) => ReaddirpStream; +export declare const readdirpPromise: (root: Path, options?: Partial) => Promise; +export default readdirp; diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/index.js b/src/main/webapp/css/admins/sass/node_modules/readdirp/index.js index cf739b2..0e21bbd 100644 --- a/src/main/webapp/css/admins/sass/node_modules/readdirp/index.js +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/index.js @@ -1,26 +1,21 @@ -'use strict'; - -const fs = require('fs'); -const { Readable } = require('stream'); -const sysPath = require('path'); -const { promisify } = require('util'); -const picomatch = require('picomatch'); - -const readdir = promisify(fs.readdir); -const stat = promisify(fs.stat); -const lstat = promisify(fs.lstat); -const realpath = promisify(fs.realpath); - -/** - * @typedef {Object} EntryInfo - * @property {String} path - * @property {String} fullPath - * @property {fs.Stats=} stats - * @property {fs.Dirent=} dirent - * @property {String} basename - */ - -const BANG = '!'; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.readdirpPromise = exports.readdirp = exports.ReaddirpStream = void 0; +const promises_1 = require("fs/promises"); +const stream_1 = require("stream"); +const path_1 = require("path"); +function defaultOptions() { + return { + root: '.', + fileFilter: (_path) => true, + directoryFilter: (_path) => true, + type: FILE_TYPE, + lstat: false, + depth: 2147483648, + alwaysStat: false, + highWaterMark: 4096, + }; +} const RECURSIVE_ERROR_CODE = 'READDIRP_RECURSIVE_ERROR'; const NORMAL_FLOW_ERRORS = new Set(['ENOENT', 'EPERM', 'EACCES', 'ELOOP', RECURSIVE_ERROR_CODE]); const FILE_TYPE = 'files'; @@ -28,260 +23,222 @@ const DIR_TYPE = 'directories'; const FILE_DIR_TYPE = 'files_directories'; const EVERYTHING_TYPE = 'all'; const ALL_TYPES = [FILE_TYPE, DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]; - -const isNormalFlowError = error => NORMAL_FLOW_ERRORS.has(error.code); -const [maj, min] = process.versions.node.split('.').slice(0, 2).map(n => Number.parseInt(n, 10)); -const wantBigintFsStats = process.platform === 'win32' && (maj > 10 || (maj === 10 && min >= 5)); - -const normalizeFilter = filter => { - if (filter === undefined) return; - if (typeof filter === 'function') return filter; - - if (typeof filter === 'string') { - const glob = picomatch(filter.trim()); - return entry => glob(entry.basename); - } - - if (Array.isArray(filter)) { - const positive = []; - const negative = []; - for (const item of filter) { - const trimmed = item.trim(); - if (trimmed.charAt(0) === BANG) { - negative.push(picomatch(trimmed.slice(1))); - } else { - positive.push(picomatch(trimmed)); - } +const DIR_TYPES = new Set([DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]); +const FILE_TYPES = new Set([FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE]); +const isNormalFlowError = (error) => NORMAL_FLOW_ERRORS.has(error.code); +const wantBigintFsStats = process.platform === 'win32'; +const emptyFn = (_path) => true; +const normalizeFilter = (filter) => { + if (filter === undefined) + return emptyFn; + if (typeof filter === 'function') + return filter; + if (typeof filter === 'string') { + const fl = filter.trim(); + return (entry) => entry.basename === fl; } - - if (negative.length > 0) { - if (positive.length > 0) { - return entry => - positive.some(f => f(entry.basename)) && !negative.some(f => f(entry.basename)); - } - return entry => !negative.some(f => f(entry.basename)); + if (Array.isArray(filter)) { + const trItems = filter.map((item) => item.trim()); + return (entry) => trItems.some((f) => entry.basename === f); } - return entry => positive.some(f => f(entry.basename)); - } + return emptyFn; }; - -class ReaddirpStream extends Readable { - static get defaultOptions() { - return { - root: '.', - /* eslint-disable no-unused-vars */ - fileFilter: (path) => true, - directoryFilter: (path) => true, - /* eslint-enable no-unused-vars */ - type: FILE_TYPE, - lstat: false, - depth: 2147483648, - alwaysStat: false - }; - } - - constructor(options = {}) { - super({ - objectMode: true, - autoDestroy: true, - highWaterMark: options.highWaterMark || 4096 - }); - const opts = { ...ReaddirpStream.defaultOptions, ...options }; - const { root, type } = opts; - - this._fileFilter = normalizeFilter(opts.fileFilter); - this._directoryFilter = normalizeFilter(opts.directoryFilter); - - const statMethod = opts.lstat ? lstat : stat; - // Use bigint stats if it's windows and stat() supports options (node 10+). - if (wantBigintFsStats) { - this._stat = path => statMethod(path, { bigint: true }); - } else { - this._stat = statMethod; +class ReaddirpStream extends stream_1.Readable { + constructor(options = {}) { + super({ + objectMode: true, + autoDestroy: true, + highWaterMark: options.highWaterMark, + }); + const opts = { ...defaultOptions(), ...options }; + const { root, type } = opts; + this._fileFilter = normalizeFilter(opts.fileFilter); + this._directoryFilter = normalizeFilter(opts.directoryFilter); + const statMethod = opts.lstat ? promises_1.lstat : promises_1.stat; + // Use bigint stats if it's windows and stat() supports options (node 10+). + if (wantBigintFsStats) { + this._stat = (path) => statMethod(path, { bigint: true }); + } + else { + this._stat = statMethod; + } + this._maxDepth = opts.depth; + this._wantsDir = DIR_TYPES.has(type); + this._wantsFile = FILE_TYPES.has(type); + this._wantsEverything = type === EVERYTHING_TYPE; + this._root = (0, path_1.resolve)(root); + this._isDirent = !opts.alwaysStat; + this._statsProp = this._isDirent ? 'dirent' : 'stats'; + this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent }; + // Launch stream with one parent, the root dir. + this.parents = [this._exploreDir(root, 1)]; + this.reading = false; + this.parent = undefined; } - - this._maxDepth = opts.depth; - this._wantsDir = [DIR_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type); - this._wantsFile = [FILE_TYPE, FILE_DIR_TYPE, EVERYTHING_TYPE].includes(type); - this._wantsEverything = type === EVERYTHING_TYPE; - this._root = sysPath.resolve(root); - this._isDirent = ('Dirent' in fs) && !opts.alwaysStat; - this._statsProp = this._isDirent ? 'dirent' : 'stats'; - this._rdOptions = { encoding: 'utf8', withFileTypes: this._isDirent }; - - // Launch stream with one parent, the root dir. - this.parents = [this._exploreDir(root, 1)]; - this.reading = false; - this.parent = undefined; - } - - async _read(batch) { - if (this.reading) return; - this.reading = true; - - try { - while (!this.destroyed && batch > 0) { - const { path, depth, files = [] } = this.parent || {}; - - if (files.length > 0) { - const slice = files.splice(0, batch).map(dirent => this._formatEntry(dirent, path)); - for (const entry of await Promise.all(slice)) { - if (this.destroyed) return; - - const entryType = await this._getEntryType(entry); - if (entryType === 'directory' && this._directoryFilter(entry)) { - if (depth <= this._maxDepth) { - this.parents.push(this._exploreDir(entry.fullPath, depth + 1)); - } - - if (this._wantsDir) { - this.push(entry); - batch--; - } - } else if ((entryType === 'file' || this._includeAsFile(entry)) && this._fileFilter(entry)) { - if (this._wantsFile) { - this.push(entry); - batch--; - } + async _read(batch) { + if (this.reading) + return; + this.reading = true; + try { + while (!this.destroyed && batch > 0) { + const par = this.parent; + const fil = par && par.files; + if (fil && fil.length > 0) { + const { path, depth } = par; + const slice = fil.splice(0, batch).map((dirent) => this._formatEntry(dirent, path)); + const awaited = await Promise.all(slice); + for (const entry of awaited) { + if (!entry) { + batch--; + return; + } + if (this.destroyed) + return; + const entryType = await this._getEntryType(entry); + if (entryType === 'directory' && this._directoryFilter(entry)) { + if (depth <= this._maxDepth) { + this.parents.push(this._exploreDir(entry.fullPath, depth + 1)); + } + if (this._wantsDir) { + this.push(entry); + batch--; + } + } + else if ((entryType === 'file' || this._includeAsFile(entry)) && + this._fileFilter(entry)) { + if (this._wantsFile) { + this.push(entry); + batch--; + } + } + } + } + else { + const parent = this.parents.pop(); + if (!parent) { + this.push(null); + break; + } + this.parent = await parent; + if (this.destroyed) + return; + } } - } - } else { - const parent = this.parents.pop(); - if (!parent) { - this.push(null); - break; - } - this.parent = await parent; - if (this.destroyed) return; } - } - } catch (error) { - this.destroy(error); - } finally { - this.reading = false; - } - } - - async _exploreDir(path, depth) { - let files; - try { - files = await readdir(path, this._rdOptions); - } catch (error) { - this._onError(error); - } - return { files, depth, path }; - } - - async _formatEntry(dirent, path) { - let entry; - try { - const basename = this._isDirent ? dirent.name : dirent; - const fullPath = sysPath.resolve(sysPath.join(path, basename)); - entry = { path: sysPath.relative(this._root, fullPath), fullPath, basename }; - entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath); - } catch (err) { - this._onError(err); - } - return entry; - } - - _onError(err) { - if (isNormalFlowError(err) && !this.destroyed) { - this.emit('warn', err); - } else { - this.destroy(err); - } - } - - async _getEntryType(entry) { - // entry may be undefined, because a warning or an error were emitted - // and the statsProp is undefined - const stats = entry && entry[this._statsProp]; - if (!stats) { - return; - } - if (stats.isFile()) { - return 'file'; - } - if (stats.isDirectory()) { - return 'directory'; - } - if (stats && stats.isSymbolicLink()) { - const full = entry.fullPath; - try { - const entryRealPath = await realpath(full); - const entryRealPathStats = await lstat(entryRealPath); - if (entryRealPathStats.isFile()) { - return 'file'; + catch (error) { + this.destroy(error); } - if (entryRealPathStats.isDirectory()) { - const len = entryRealPath.length; - if (full.startsWith(entryRealPath) && full.substr(len, 1) === sysPath.sep) { - const recursiveError = new Error( - `Circular symlink detected: "${full}" points to "${entryRealPath}"` - ); - recursiveError.code = RECURSIVE_ERROR_CODE; - return this._onError(recursiveError); - } - return 'directory'; + finally { + this.reading = false; } - } catch (error) { - this._onError(error); - } } - } - - _includeAsFile(entry) { - const stats = entry && entry[this._statsProp]; - - return stats && this._wantsEverything && !stats.isDirectory(); - } + async _exploreDir(path, depth) { + let files; + try { + files = await (0, promises_1.readdir)(path, this._rdOptions); + } + catch (error) { + this._onError(error); + } + return { files, depth, path }; + } + async _formatEntry(dirent, path) { + let entry; + const basename = this._isDirent ? dirent.name : dirent; + try { + const fullPath = (0, path_1.resolve)((0, path_1.join)(path, basename)); + entry = { path: (0, path_1.relative)(this._root, fullPath), fullPath, basename }; + entry[this._statsProp] = this._isDirent ? dirent : await this._stat(fullPath); + } + catch (err) { + this._onError(err); + return; + } + return entry; + } + _onError(err) { + if (isNormalFlowError(err) && !this.destroyed) { + this.emit('warn', err); + } + else { + this.destroy(err); + } + } + async _getEntryType(entry) { + // entry may be undefined, because a warning or an error were emitted + // and the statsProp is undefined + if (!entry && this._statsProp in entry) { + return ''; + } + const stats = entry[this._statsProp]; + if (stats.isFile()) + return 'file'; + if (stats.isDirectory()) + return 'directory'; + if (stats && stats.isSymbolicLink()) { + const full = entry.fullPath; + try { + const entryRealPath = await (0, promises_1.realpath)(full); + const entryRealPathStats = await (0, promises_1.lstat)(entryRealPath); + if (entryRealPathStats.isFile()) { + return 'file'; + } + if (entryRealPathStats.isDirectory()) { + const len = entryRealPath.length; + if (full.startsWith(entryRealPath) && full.substr(len, 1) === path_1.sep) { + const recursiveError = new Error(`Circular symlink detected: "${full}" points to "${entryRealPath}"`); + // @ts-ignore + recursiveError.code = RECURSIVE_ERROR_CODE; + return this._onError(recursiveError); + } + return 'directory'; + } + } + catch (error) { + this._onError(error); + return ''; + } + } + } + _includeAsFile(entry) { + const stats = entry && entry[this._statsProp]; + return stats && this._wantsEverything && !stats.isDirectory(); + } } - -/** - * @typedef {Object} ReaddirpArguments - * @property {Function=} fileFilter - * @property {Function=} directoryFilter - * @property {String=} type - * @property {Number=} depth - * @property {String=} root - * @property {Boolean=} lstat - * @property {Boolean=} bigint - */ - +exports.ReaddirpStream = ReaddirpStream; /** * Main function which ends up calling readdirRec and reads all files and directories in given root recursively. - * @param {String} root Root directory - * @param {ReaddirpArguments=} options Options to specify root (start directory), filters and recursion depth + * @param root Root directory + * @param options Options to specify root (start directory), filters and recursion depth */ const readdirp = (root, options = {}) => { - let type = options.entryType || options.type; - if (type === 'both') type = FILE_DIR_TYPE; // backwards-compatibility - if (type) options.type = type; - if (!root) { - throw new Error('readdirp: root argument is required. Usage: readdirp(root, options)'); - } else if (typeof root !== 'string') { - throw new TypeError('readdirp: root argument must be a string. Usage: readdirp(root, options)'); - } else if (type && !ALL_TYPES.includes(type)) { - throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(', ')}`); - } - - options.root = root; - return new ReaddirpStream(options); + // @ts-ignore + let type = options.entryType || options.type; + if (type === 'both') + type = FILE_DIR_TYPE; // backwards-compatibility + if (type) + options.type = type; + if (!root) { + throw new Error('readdirp: root argument is required. Usage: readdirp(root, options)'); + } + else if (typeof root !== 'string') { + throw new TypeError('readdirp: root argument must be a string. Usage: readdirp(root, options)'); + } + else if (type && !ALL_TYPES.includes(type)) { + throw new Error(`readdirp: Invalid type passed. Use one of ${ALL_TYPES.join(', ')}`); + } + options.root = root; + return new ReaddirpStream(options); }; - +exports.readdirp = readdirp; const readdirpPromise = (root, options = {}) => { - return new Promise((resolve, reject) => { - const files = []; - readdirp(root, options) - .on('data', entry => files.push(entry)) - .on('end', () => resolve(files)) - .on('error', error => reject(error)); - }); + return new Promise((resolve, reject) => { + const files = []; + (0, exports.readdirp)(root, options) + .on('data', (entry) => files.push(entry)) + .on('end', () => resolve(files)) + .on('error', (error) => reject(error)); + }); }; - -readdirp.promise = readdirpPromise; -readdirp.ReaddirpStream = ReaddirpStream; -readdirp.default = readdirp; - -module.exports = readdirp; +exports.readdirpPromise = readdirpPromise; +exports.default = exports.readdirp; diff --git a/src/main/webapp/css/admins/sass/node_modules/readdirp/package.json b/src/main/webapp/css/admins/sass/node_modules/readdirp/package.json index dba5388..1ad725b 100644 --- a/src/main/webapp/css/admins/sass/node_modules/readdirp/package.json +++ b/src/main/webapp/css/admins/sass/node_modules/readdirp/package.json @@ -1,7 +1,7 @@ { "name": "readdirp", "description": "Recursive version of fs.readdir with streaming API.", - "version": "3.6.0", + "version": "4.0.2", "homepage": "https://github.com/paulmillr/readdirp", "repository": { "type": "git", @@ -16,14 +16,26 @@ "Thorsten Lorenz (thlorenz.com)", "Paul Miller (https://paulmillr.com)" ], - "main": "index.js", "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" }, "files": [ "index.js", - "index.d.ts" + "index.d.ts", + "index.d.ts.map", + "index.js.map", + "esm" ], + "main": "./index.js", + "module": "./esm/index.js", + "types": "./index.d.ts", + "exports": { + ".": { + "import": "./esm/index.js", + "require": "./index.js" + } + }, + "sideEffects": false, "keywords": [ "recursive", "fs", @@ -35,25 +47,23 @@ "filter" ], "scripts": { - "dtslint": "dtslint", + "build": "tsc && tsc -p tsconfig.esm.json", "nyc": "nyc", "mocha": "mocha --exit", - "lint": "eslint --report-unused-disable-directives --ignore-path .gitignore .", - "test": "npm run lint && nyc npm run mocha" - }, - "dependencies": { - "picomatch": "^2.2.1" + "lint": "prettier --check index.ts", + "format": "prettier --write index.ts", + "test": "nyc npm run mocha" }, "devDependencies": { - "@types/node": "^14", - "chai": "^4.2", - "chai-subset": "^1.6", - "dtslint": "^3.3.0", - "eslint": "^7.0.0", - "mocha": "^7.1.1", - "nyc": "^15.0.0", - "rimraf": "^3.0.0", - "typescript": "^4.0.3" + "@paulmillr/jsbt": "0.2.1", + "@types/node": "20.14.8", + "chai": "4.3.4", + "chai-subset": "1.6.0", + "mocha": "10.7.3", + "nyc": "15.0.1", + "prettier": "3.1.1", + "rimraf": "6.0.1", + "typescript": "5.5.2" }, "nyc": { "reporter": [ @@ -61,62 +71,8 @@ "text" ] }, - "eslintConfig": { - "root": true, - "extends": "eslint:recommended", - "parserOptions": { - "ecmaVersion": 9, - "sourceType": "script" - }, - "env": { - "node": true, - "es6": true - }, - "rules": { - "array-callback-return": "error", - "no-empty": [ - "error", - { - "allowEmptyCatch": true - } - ], - "no-else-return": [ - "error", - { - "allowElseIf": false - } - ], - "no-lonely-if": "error", - "no-var": "error", - "object-shorthand": "error", - "prefer-arrow-callback": [ - "error", - { - "allowNamedFunctions": true - } - ], - "prefer-const": [ - "error", - { - "ignoreReadBeforeAssign": true - } - ], - "prefer-destructuring": [ - "error", - { - "object": true, - "array": false - } - ], - "prefer-spread": "error", - "prefer-template": "error", - "radix": "error", - "semi": "error", - "strict": "error", - "quotes": [ - "error", - "single" - ] - } + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } } diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/LICENSE b/src/main/webapp/css/admins/sass/node_modules/sass/LICENSE index 4ddaee7..be5cee6 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/LICENSE +++ b/src/main/webapp/css/admins/sass/node_modules/sass/LICENSE @@ -215,8 +215,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -async, cli_util, collection, mime, source_map_stack_trace, stream_channel and -typed_data license: +async, cli_util, collection, mime, stream_channel and typed_data license: Copyright 2015, the Dart project authors. @@ -583,7 +582,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- -convert, crypto, shelf_static and vm_service license: +convert, crypto, shelf_static, source_map_stack_trace and vm_service license: Copyright 2015, the Dart project authors. diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/package.json b/src/main/webapp/css/admins/sass/node_modules/sass/package.json index 4efada0..fc572f5 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/package.json +++ b/src/main/webapp/css/admins/sass/node_modules/sass/package.json @@ -1 +1 @@ -{"name":"sass","description":"A pure JavaScript implementation of Sass.","license":"MIT","bugs":"https://github.com/sass/dart-sass/issues","homepage":"https://github.com/sass/dart-sass","repository":{"type":"git","url":"https://github.com/sass/dart-sass"},"author":{"name":"Natalie Weizenbaum","email":"nweiz@google.com","url":"https://github.com/nex3"},"engines":{"node":">=14.0.0"},"dependencies":{"chokidar":">=3.0.0 <4.0.0","immutable":"^4.0.0","source-map-js":">=0.6.2 <2.0.0"},"keywords":["style","scss","sass","preprocessor","css"],"types":"types/index.d.ts","exports":{"types":"./types/index.d.ts","node":{"require":"./sass.node.js","default":"./sass.node.mjs"},"default":{"require":"./sass.default.cjs","default":"./sass.default.js"}},"version":"1.77.4","bin":{"sass":"sass.js"},"main":"sass.node.js"} \ No newline at end of file +{"name":"sass","description":"A pure JavaScript implementation of Sass.","license":"MIT","bugs":"https://github.com/sass/dart-sass/issues","homepage":"https://github.com/sass/dart-sass","repository":{"type":"git","url":"https://github.com/sass/dart-sass"},"author":{"name":"Natalie Weizenbaum","email":"nweiz@google.com","url":"https://github.com/nex3"},"engines":{"node":">=14.0.0"},"dependencies":{"@parcel/watcher":"^2.4.1","chokidar":"^4.0.0","immutable":"^4.0.0","source-map-js":">=0.6.2 <2.0.0"},"keywords":["style","scss","sass","preprocessor","css"],"types":"types/index.d.ts","exports":{"types":"./types/index.d.ts","node":{"require":"./sass.node.js","default":"./sass.node.mjs"},"default":{"require":"./sass.default.cjs","default":"./sass.default.js"}},"version":"1.80.4","bin":{"sass":"sass.js"},"main":"sass.node.js"} \ No newline at end of file diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/sass.dart.js b/src/main/webapp/css/admins/sass/node_modules/sass/sass.dart.js index 37750eb..c37ed6f 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/sass.dart.js +++ b/src/main/webapp/css/admins/sass/node_modules/sass/sass.dart.js @@ -122,6 +122,7 @@ if (dartNodeIsActuallyNode) { }; } +self.parcel_watcher = _cliPkgRequires.parcel_watcher; self.immutable = _cliPkgRequires.immutable; self.chokidar = _cliPkgRequires.chokidar; self.readline = _cliPkgRequires.readline; @@ -129,7 +130,7 @@ self.fs = _cliPkgRequires.fs; self.nodeModule = _cliPkgRequires.nodeModule; self.stream = _cliPkgRequires.stream; self.util = _cliPkgRequires.util; -// Generated by dart2js (NullSafetyMode.sound, trust primitives, omit checks, lax runtime type, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.4.2. +// Generated by dart2js (NullSafetyMode.sound, trust primitives, omit checks, lax runtime type, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.5.4. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -760,6 +761,9 @@ self.util = _cliPkgRequires.util; set$length$asx(receiver, value) { return J.getInterceptor$asx(receiver).set$length(receiver, value); }, + set$loadParserExports_$x(receiver, value) { + return J.getInterceptor$x(receiver).set$loadParserExports_(receiver, value); + }, set$render$x(receiver, value) { return J.getInterceptor$x(receiver).set$render(receiver, value); }, @@ -793,9 +797,6 @@ self.util = _cliPkgRequires.util; get$argv$x(receiver) { return J.getInterceptor$x(receiver).get$argv(receiver); }, - get$blue$x(receiver) { - return J.getInterceptor$x(receiver).get$blue(receiver); - }, get$brackets$x(receiver) { return J.getInterceptor$x(receiver).get$brackets(receiver); }, @@ -847,9 +848,6 @@ self.util = _cliPkgRequires.util; get$futureDeprecations$x(receiver) { return J.getInterceptor$x(receiver).get$futureDeprecations(receiver); }, - get$green$x(receiver) { - return J.getInterceptor$x(receiver).get$green(receiver); - }, get$hashCode$(receiver) { return J.getInterceptor$(receiver).get$hashCode(receiver); }, @@ -892,6 +890,9 @@ self.util = _cliPkgRequires.util; get$message$x(receiver) { return J.getInterceptor$x(receiver).get$message(receiver); }, + get$method$x(receiver) { + return J.getInterceptor$x(receiver).get$method(receiver); + }, get$mtime$x(receiver) { return J.getInterceptor$x(receiver).get$mtime(receiver); }, @@ -919,9 +920,6 @@ self.util = _cliPkgRequires.util; get$quotes$x(receiver) { return J.getInterceptor$x(receiver).get$quotes(receiver); }, - get$red$x(receiver) { - return J.getInterceptor$x(receiver).get$red(receiver); - }, get$release$x(receiver) { return J.getInterceptor$x(receiver).get$release(receiver); }, @@ -951,9 +949,15 @@ self.util = _cliPkgRequires.util; get$sourceMapIncludeSources$x(receiver) { return J.getInterceptor$x(receiver).get$sourceMapIncludeSources(receiver); }, + get$space$x(receiver) { + return J.getInterceptor$x(receiver).get$space(receiver); + }, get$span$z(receiver) { return J.getInterceptor$z(receiver).get$span(receiver); }, + get$start$z(receiver) { + return J.getInterceptor$z(receiver).get$start(receiver); + }, get$stderr$x(receiver) { return J.getInterceptor$x(receiver).get$stderr(receiver); }, @@ -978,6 +982,9 @@ self.util = _cliPkgRequires.util; get$warn$x(receiver) { return J.getInterceptor$x(receiver).get$warn(receiver); }, + get$weight$x(receiver) { + return J.getInterceptor$x(receiver).get$weight(receiver); + }, $add$ansx(receiver, a0) { if (typeof receiver == "number" && typeof a0 == "number") return receiver + a0; @@ -1117,6 +1124,9 @@ self.util = _cliPkgRequires.util; on$2$x(receiver, a0, a1) { return J.getInterceptor$x(receiver).on$2(receiver, a0, a1); }, + parse$0$z(receiver) { + return J.getInterceptor$z(receiver).parse$0(receiver); + }, readFileSync$2$x(receiver, a0, a1) { return J.getInterceptor$x(receiver).readFileSync$2(receiver, a0, a1); }, @@ -1204,6 +1214,141 @@ self.util = _cliPkgRequires.util; unlinkSync$1$x(receiver, a0) { return J.getInterceptor$x(receiver).unlinkSync$1(receiver, a0); }, + unsubscribe$0$x(receiver) { + return J.getInterceptor$x(receiver).unsubscribe$0(receiver); + }, + visitAtRootRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitAtRootRule$1(receiver, a0); + }, + visitAtRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitAtRule$1(receiver, a0); + }, + visitBinaryOperationExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitBinaryOperationExpression$1(receiver, a0); + }, + visitBooleanExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitBooleanExpression$1(receiver, a0); + }, + visitColorExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitColorExpression$1(receiver, a0); + }, + visitContentBlock$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitContentBlock$1(receiver, a0); + }, + visitContentRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitContentRule$1(receiver, a0); + }, + visitDebugRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitDebugRule$1(receiver, a0); + }, + visitDeclaration$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitDeclaration$1(receiver, a0); + }, + visitEachRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitEachRule$1(receiver, a0); + }, + visitErrorRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitErrorRule$1(receiver, a0); + }, + visitExtendRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitExtendRule$1(receiver, a0); + }, + visitForRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitForRule$1(receiver, a0); + }, + visitForwardRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitForwardRule$1(receiver, a0); + }, + visitFunctionExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitFunctionExpression$1(receiver, a0); + }, + visitFunctionRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitFunctionRule$1(receiver, a0); + }, + visitIfExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitIfExpression$1(receiver, a0); + }, + visitIfRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitIfRule$1(receiver, a0); + }, + visitImportRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitImportRule$1(receiver, a0); + }, + visitIncludeRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitIncludeRule$1(receiver, a0); + }, + visitInterpolatedFunctionExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitInterpolatedFunctionExpression$1(receiver, a0); + }, + visitListExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitListExpression$1(receiver, a0); + }, + visitLoudComment$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitLoudComment$1(receiver, a0); + }, + visitMapExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitMapExpression$1(receiver, a0); + }, + visitMediaRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitMediaRule$1(receiver, a0); + }, + visitMixinRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitMixinRule$1(receiver, a0); + }, + visitNullExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitNullExpression$1(receiver, a0); + }, + visitNumberExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitNumberExpression$1(receiver, a0); + }, + visitParenthesizedExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitParenthesizedExpression$1(receiver, a0); + }, + visitReturnRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitReturnRule$1(receiver, a0); + }, + visitSelectorExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitSelectorExpression$1(receiver, a0); + }, + visitSilentComment$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitSilentComment$1(receiver, a0); + }, + visitStringExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitStringExpression$1(receiver, a0); + }, + visitStyleRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitStyleRule$1(receiver, a0); + }, + visitStylesheet$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitStylesheet$1(receiver, a0); + }, + visitSupportsExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitSupportsExpression$1(receiver, a0); + }, + visitSupportsRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitSupportsRule$1(receiver, a0); + }, + visitUnaryOperationExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitUnaryOperationExpression$1(receiver, a0); + }, + visitUseRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitUseRule$1(receiver, a0); + }, + visitValueExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitValueExpression$1(receiver, a0); + }, + visitVariableDeclaration$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitVariableDeclaration$1(receiver, a0); + }, + visitVariableExpression$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitVariableExpression$1(receiver, a0); + }, + visitWarnRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitWarnRule$1(receiver, a0); + }, + visitWhileRule$1$x(receiver, a0) { + return J.getInterceptor$x(receiver).visitWhileRule$1(receiver, a0); + }, watch$2$x(receiver, a0, a1) { return J.getInterceptor$x(receiver).watch$2(receiver, a0, a1); }, @@ -1741,6 +1886,14 @@ self.util = _cliPkgRequires.util; this._source = t0; this.$ti = t1; }, + NonNullsIterable: function NonNullsIterable(t0, t1) { + this._source = t0; + this.$ti = t1; + }, + NonNullsIterator: function NonNullsIterator(t0) { + this._source = t0; + this.__internal$_current = null; + }, FixedLengthListMixin: function FixedLengthListMixin() { }, UnmodifiableListMixin: function UnmodifiableListMixin() { @@ -2908,6 +3061,11 @@ self.util = _cliPkgRequires.util; this._1 = t1; this._2 = t2; }, + _Record_3_deprecation_message_span: function _Record_3_deprecation_message_span(t0, t1, t2) { + this._0 = t0; + this._1 = t1; + this._2 = t2; + }, _Record_3_forImport: function _Record_3_forImport(t0, t1, t2) { this._0 = t0; this._1 = t1; @@ -3152,6 +3310,9 @@ self.util = _cliPkgRequires.util; _ensureNativeList(list) { return list; }, + NativeFloat64List_NativeFloat64List$fromList(elements) { + return new Float64Array(A._ensureNativeList(elements)); + }, NativeInt8List__create1(arg) { return new Int8Array(arg); }, @@ -3563,24 +3724,14 @@ self.util = _cliPkgRequires.util; return testRti._as(object); }, _nullIs(testRti) { - var t1, - kind = testRti._kind; + var kind = testRti._kind, + t1 = true; if (!A.isSoundTopType(testRti)) if (!(testRti === type$.legacy_Object)) if (!(testRti === type$.legacy_Never)) if (kind !== 7) if (!(kind === 6 && A._nullIs(testRti._primary))) t1 = kind === 8 && A._nullIs(testRti._primary) || testRti === type$.Null || testRti === type$.JSNull; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; return t1; }, _generalIsTestImplementation(object) { @@ -3807,13 +3958,12 @@ self.util = _cliPkgRequires.util; return s + "})"; }, _functionRtiToString(functionType, genericContext, bounds) { - var boundsLength, outerContextLength, offset, i, t1, t2, typeParametersText, typeSep, boundRti, kind, t3, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", "; + var boundsLength, offset, i, t1, t2, typeParametersText, typeSep, boundRti, kind, t3, parameters, requiredPositional, requiredPositionalLength, optionalPositional, optionalPositionalLength, named, namedLength, returnTypeText, argumentsText, sep, _s2_ = ", ", outerContextLength = null; if (bounds != null) { boundsLength = bounds.length; - if (genericContext == null) { + if (genericContext == null) genericContext = A._setArrayType([], type$.JSArray_String); - outerContextLength = null; - } else + else outerContextLength = genericContext.length; offset = genericContext.length; for (i = boundsLength; i > 0; --i) @@ -3830,10 +3980,8 @@ self.util = _cliPkgRequires.util; typeParametersText += " extends " + A._rtiToString(boundRti, genericContext); } typeParametersText += ">"; - } else { + } else typeParametersText = ""; - outerContextLength = null; - } t1 = functionType._primary; parameters = functionType._rest; requiredPositional = parameters._requiredPositional; @@ -4036,16 +4184,11 @@ self.util = _cliPkgRequires.util; var baseKind, t1, starArgument, rti; if (normalize) { baseKind = baseType._kind; + t1 = true; if (!A.isSoundTopType(baseType)) if (!(baseType === type$.Null || baseType === type$.JSNull)) if (baseKind !== 7) t1 = baseKind === 8 && A.isNullable(baseType._primary); - else - t1 = true; - else - t1 = true; - else - t1 = true; if (t1) return baseType; else if (baseKind === 1 || baseType === type$.legacy_Never) @@ -4417,30 +4560,24 @@ self.util = _cliPkgRequires.util; } }, _Parser_handleArguments(parser, stack) { - var optionalPositional, named, requiredPositional, returnType, parameters, _null = null, + var requiredPositional, returnType, parameters, t1 = parser.u, - head = stack.pop(); + head = stack.pop(), + optionalPositional = null, named = null; if (typeof head == "number") switch (head) { case -1: optionalPositional = stack.pop(); - named = _null; break; case -2: named = stack.pop(); - optionalPositional = _null; break; default: stack.push(head); - named = _null; - optionalPositional = named; break; } - else { + else stack.push(head); - named = _null; - optionalPositional = named; - } requiredPositional = A._Parser_collectArray(parser, stack); head = stack.pop(); switch (head) { @@ -4760,21 +4897,13 @@ self.util = _cliPkgRequires.util; return true; }, isNullable(t) { - var t1, - kind = t._kind; + var kind = t._kind, + t1 = true; if (!(t === type$.Null || t === type$.JSNull)) if (!A.isSoundTopType(t)) if (kind !== 7) if (!(kind === 6 && A.isNullable(t._primary))) t1 = kind === 8 && A.isNullable(t._primary); - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; return t1; }, isDefinitelyTopType(t) { @@ -4997,6 +5126,10 @@ self.util = _cliPkgRequires.util; var t1, listeners; for (; t1 = source._state, (t1 & 4) !== 0;) source = source._resultOrListeners; + if (source === target) { + target._asyncCompleteError$2(new A.ArgumentError(true, source, null, "Cannot complete a future with itself"), A.StackTrace_current()); + return; + } t1 |= target._state & 1; source._state = t1; if ((t1 & 24) !== 0) { @@ -5016,6 +5149,10 @@ self.util = _cliPkgRequires.util; t1 = t1._resultOrListeners; _box_0.source = t1; } + if (t1 === target) { + target._asyncCompleteError$2(new A.ArgumentError(true, t1, null, "Cannot complete a future with itself"), A.StackTrace_current()); + return; + } if ((t2 & 24) === 0) { listeners = target._resultOrListeners; target._setChained$1(t1); @@ -5829,6 +5966,16 @@ self.util = _cliPkgRequires.util; other.forEach$1(0, new A.HashMap_HashMap$from_closure(result, $K, $V)); return result; }, + IterableExtensions_get_firstOrNull(_this) { + var t2, + t1 = A._arrayInstanceType(_this), + iterator = new J.ArrayIterator(_this, _this.length, t1._eval$1("ArrayIterator<1>")); + if (iterator.moveNext$0()) { + t2 = iterator._current; + return t2 == null ? t1._precomputed1._as(t2) : t2; + } + return null; + }, LinkedHashMap_LinkedHashMap$from(other, $K, $V) { var result = A.LinkedHashMap_LinkedHashMap(null, null, null, $K, $V); other.forEach$1(0, new A.LinkedHashMap_LinkedHashMap$from_closure(result, $K, $V)); @@ -6497,8 +6644,17 @@ self.util = _cliPkgRequires.util; return "" + n; return "0" + n; }, - Duration$(milliseconds) { - return new A.Duration(1000 * milliseconds); + Duration$(microseconds, milliseconds) { + return new A.Duration(microseconds + 1000 * milliseconds); + }, + EnumByName_byName(_this, $name) { + var _i, value; + for (_i = 0; _i < 4; ++_i) { + value = _this[_i]; + if (value._name === $name) + return value; + } + throw A.wrapException(A.ArgumentError$value($name, "name", "No enum value with that name")); }, Error_safeToString(object) { if (typeof object == "number" || A._isBool(object) || object == null) @@ -6751,7 +6907,7 @@ self.util = _cliPkgRequires.util; return new A.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, null).get$uri(); }, Uri_parse(uri) { - var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, userInfoStart, userInfo, host, portNumber, port, path, query, _null = null, + var delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, isSimple, scheme, t1, t2, schemeAuth, queryStart0, pathStart0, port, userInfoStart, userInfo, host, portNumber, path, query, _null = null, end = uri.length; if (end >= 5) { delta = ((uri.charCodeAt(4) ^ 58) * 3 | uri.charCodeAt(0) ^ 100 | uri.charCodeAt(1) ^ 97 | uri.charCodeAt(2) ^ 116 | uri.charCodeAt(3) ^ 97) >>> 0; @@ -6789,16 +6945,12 @@ self.util = _cliPkgRequires.util; if (portStart < hostStart) portStart = pathStart; isSimple = indices[7] < 0; - if (isSimple) - if (hostStart > schemeEnd + 3) { - scheme = _null; - isSimple = false; - } else { + scheme = _null; + if (isSimple) { + isSimple = false; + if (!(hostStart > schemeEnd + 3)) { t1 = portStart > 0; - if (t1 && portStart + 1 === pathStart) { - scheme = _null; - isSimple = false; - } else { + if (!(t1 && portStart + 1 === pathStart)) { if (!B.JSString_methods.startsWith$2(uri, "\\", pathStart)) if (hostStart > 0) t2 = B.JSString_methods.startsWith$2(uri, "\\", hostStart - 1) || B.JSString_methods.startsWith$2(uri, "\\", hostStart - 2); @@ -6806,85 +6958,66 @@ self.util = _cliPkgRequires.util; t2 = false; else t2 = true; - if (t2) { - scheme = _null; - isSimple = false; - } else { + if (!t2) { if (!(queryStart < end && queryStart === pathStart + 2 && B.JSString_methods.startsWith$2(uri, "..", pathStart))) t2 = queryStart > pathStart + 2 && B.JSString_methods.startsWith$2(uri, "/..", queryStart - 3); else t2 = true; - if (t2) - scheme = _null; - else if (schemeEnd === 4) - if (B.JSString_methods.startsWith$2(uri, "file", 0)) { - if (hostStart <= 0) { - if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) { - schemeAuth = "file:///"; - delta = 3; - } else { - schemeAuth = "file://"; - delta = 2; + if (!t2) + if (schemeEnd === 4) { + if (B.JSString_methods.startsWith$2(uri, "file", 0)) { + if (hostStart <= 0) { + if (!B.JSString_methods.startsWith$2(uri, "/", pathStart)) { + schemeAuth = "file:///"; + delta = 3; + } else { + schemeAuth = "file://"; + delta = 2; + } + uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end); + queryStart += delta; + fragmentStart += delta; + end = uri.length; + hostStart = 7; + portStart = 7; + pathStart = 7; + } else if (pathStart === queryStart) { + ++fragmentStart; + queryStart0 = queryStart + 1; + uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); + ++end; + queryStart = queryStart0; } - uri = schemeAuth + B.JSString_methods.substring$2(uri, pathStart, end); - schemeEnd -= 0; - t1 = delta - 0; - queryStart += t1; - fragmentStart += t1; - end = uri.length; - hostStart = 7; - portStart = 7; - pathStart = 7; - } else if (pathStart === queryStart) { - ++fragmentStart; - queryStart0 = queryStart + 1; - uri = B.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); - ++end; - queryStart = queryStart0; + scheme = "file"; + } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) { + if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) { + fragmentStart -= 3; + pathStart0 = pathStart - 3; + queryStart -= 3; + uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); + end -= 3; + pathStart = pathStart0; + } + scheme = "http"; } - scheme = "file"; - } else if (B.JSString_methods.startsWith$2(uri, "http", 0)) { - if (t1 && portStart + 3 === pathStart && B.JSString_methods.startsWith$2(uri, "80", portStart + 1)) { - fragmentStart -= 3; - pathStart0 = pathStart - 3; - queryStart -= 3; + } else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) { + if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) { + fragmentStart -= 4; + pathStart0 = pathStart - 4; + queryStart -= 4; uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); end -= 3; pathStart = pathStart0; } - scheme = "http"; - } else - scheme = _null; - else if (schemeEnd === 5 && B.JSString_methods.startsWith$2(uri, "https", 0)) { - if (t1 && portStart + 4 === pathStart && B.JSString_methods.startsWith$2(uri, "443", portStart + 1)) { - fragmentStart -= 4; - pathStart0 = pathStart - 4; - queryStart -= 4; - uri = B.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); - end -= 3; - pathStart = pathStart0; + scheme = "https"; } - scheme = "https"; - } else - scheme = _null; isSimple = !t2; } } } - else - scheme = _null; - if (isSimple) { - if (end < uri.length) { - uri = B.JSString_methods.substring$2(uri, 0, end); - schemeEnd -= 0; - hostStart -= 0; - portStart -= 0; - pathStart -= 0; - queryStart -= 0; - fragmentStart -= 0; - } - return new A._SimpleUri(uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); } + if (isSimple) + return new A._SimpleUri(end < uri.length ? B.JSString_methods.substring$2(uri, 0, end) : uri, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, scheme); if (scheme == null) if (schemeEnd > 0) scheme = A._Uri__makeScheme(uri, 0, schemeEnd); @@ -6893,6 +7026,7 @@ self.util = _cliPkgRequires.util; A._Uri__fail(uri, 0, "Invalid empty scheme"); scheme = ""; } + port = _null; if (hostStart > 0) { userInfoStart = schemeEnd + 3; userInfo = userInfoStart < hostStart ? A._Uri__makeUserInfo(uri, userInfoStart, hostStart - 1) : ""; @@ -6901,11 +7035,9 @@ self.util = _cliPkgRequires.util; if (t1 < pathStart) { portNumber = A.Primitives_parseInt(B.JSString_methods.substring$2(uri, t1, pathStart), _null); port = A._Uri__makePort(portNumber == null ? A.throwExpression(A.FormatException$("Invalid port", uri, t1)) : portNumber, scheme); - } else - port = _null; + } } else { - port = _null; - host = port; + host = _null; userInfo = ""; } path = A._Uri__makePath(uri, pathStart, queryStart, _null, scheme, host != null); @@ -7184,7 +7316,7 @@ self.util = _cliPkgRequires.util; return index >= start && index < end ? index : end; }, _Uri__normalizeZoneID(host, start, end, prefix) { - var index, sectionStart, isNormalized, char, replacement, t1, t2, tail, sourceLength, slice, + var index, sectionStart, isNormalized, char, replacement, t1, t2, sourceLength, tail, slice, buffer = prefix !== "" ? new A.StringBuffer(prefix) : null; for (index = start, sectionStart = index, isNormalized = true; index < end;) { char = host.charCodeAt(index); @@ -7218,15 +7350,14 @@ self.util = _cliPkgRequires.util; } ++index; } else { + sourceLength = 1; if ((char & 64512) === 55296 && index + 1 < end) { tail = host.charCodeAt(index + 1); if ((tail & 64512) === 56320) { char = (char & 1023) << 10 | tail & 1023 | 65536; sourceLength = 2; - } else - sourceLength = 1; - } else - sourceLength = 1; + } + } slice = B.JSString_methods.substring$2(host, sectionStart, index); if (buffer == null) { buffer = new A.StringBuffer(""); @@ -7266,14 +7397,13 @@ self.util = _cliPkgRequires.util; if (!isNormalized) slice = slice.toLowerCase(); t2 = buffer._contents += slice; - if (t1) { + sourceLength = 3; + if (t1) replacement = B.JSString_methods.substring$2(host, index, index + 3); - sourceLength = 3; - } else if (replacement === "%") { + else if (replacement === "%") { replacement = "%25"; sourceLength = 1; - } else - sourceLength = 3; + } buffer._contents = t2 + replacement; index += sourceLength; sectionStart = index; @@ -7292,15 +7422,14 @@ self.util = _cliPkgRequires.util; } else if (char <= 93 && (B.List_VOY[char >>> 4] & 1 << (char & 15)) !== 0) A._Uri__fail(host, index, "Invalid character"); else { + sourceLength = 1; if ((char & 64512) === 55296 && index + 1 < end) { tail = host.charCodeAt(index + 1); if ((tail & 64512) === 56320) { char = (char & 1023) << 10 | tail & 1023 | 65536; sourceLength = 2; - } else - sourceLength = 1; - } else - sourceLength = 1; + } + } slice = B.JSString_methods.substring$2(host, sectionStart, index); if (!isNormalized) slice = slice.toLowerCase(); @@ -7449,27 +7578,26 @@ self.util = _cliPkgRequires.util; return t1 == null ? B.JSString_methods.substring$2(component, start, end) : t1; }, _Uri__normalize(component, start, end, charTable, escapeDelimiters, replaceBackslash) { - var t1, index, sectionStart, buffer, char, replacement, sourceLength, t2, tail, t3, _null = null; + var t1, index, sectionStart, buffer, char, sourceLength, replacement, t2, tail, t3, _null = null; for (t1 = !escapeDelimiters, index = start, sectionStart = index, buffer = _null; index < end;) { char = component.charCodeAt(index); if (char < 127 && (charTable[char >>> 4] & 1 << (char & 15)) !== 0) ++index; else { + sourceLength = 1; if (char === 37) { replacement = A._Uri__normalizeEscape(component, index, false); if (replacement == null) { index += 3; continue; } - if ("%" === replacement) { + if ("%" === replacement) replacement = "%25"; - sourceLength = 1; - } else + else sourceLength = 3; - } else if (char === 92 && replaceBackslash) { + } else if (char === 92 && replaceBackslash) replacement = "/"; - sourceLength = 1; - } else if (t1 && char <= 93 && (B.List_VOY[char >>> 4] & 1 << (char & 15)) !== 0) { + else if (t1 && char <= 93 && (B.List_VOY[char >>> 4] & 1 << (char & 15)) !== 0) { A._Uri__fail(component, index, "Invalid character"); sourceLength = _null; replacement = sourceLength; @@ -7481,12 +7609,9 @@ self.util = _cliPkgRequires.util; if ((tail & 64512) === 56320) { char = (char & 1023) << 10 | tail & 1023 | 65536; sourceLength = 2; - } else - sourceLength = 1; - } else - sourceLength = 1; - } else - sourceLength = 1; + } + } + } replacement = A._Uri__escapeChar(char); } if (buffer == null) { @@ -7979,9 +8104,10 @@ self.util = _cliPkgRequires.util; this._box_0 = t0; this.sb = t1; }, - DateTime: function DateTime(t0, t1) { + DateTime: function DateTime(t0, t1, t2) { this._value = t0; - this.isUtc = t1; + this._microsecond = t1; + this.isUtc = t2; }, Duration: function Duration(t0) { this._duration = t0; @@ -8261,15 +8387,16 @@ self.util = _cliPkgRequires.util; ArgParser__addOption_closure: function ArgParser__addOption_closure(t0) { this.$this = t0; }, - ArgParserException$(message, commands) { - return new A.ArgParserException(commands == null ? B.List_empty : A.List_List$unmodifiable(commands, type$.String), message, null, null); + ArgParserException$(message, commands, argumentName, source, offset) { + return new A.ArgParserException(commands == null ? B.List_empty : A.List_List$unmodifiable(commands, type$.String), argumentName, message, source, offset); }, - ArgParserException: function ArgParserException(t0, t1, t2, t3) { + ArgParserException: function ArgParserException(t0, t1, t2, t3, t4) { var _ = this; _.commands = t0; - _.message = t1; - _.source = t2; - _.offset = t3; + _.argumentName = t1; + _.message = t2; + _.source = t3; + _.offset = t4; }, ArgResults: function ArgResults(t0, t1, t2, t3) { var _ = this; @@ -8304,14 +8431,10 @@ self.util = _cliPkgRequires.util; return new A.Parser0(_commandName, _parent, _grammar, _args, t1, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic)); }, _isLetterOrDigit(codeUnit) { - var t1; + var t1 = true; if (!(codeUnit >= 65 && codeUnit <= 90)) if (!(codeUnit >= 97 && codeUnit <= 122)) t1 = codeUnit >= 48 && codeUnit <= 57; - else - t1 = true; - else - t1 = true; return t1; }, Parser0: function Parser0(t0, t1, t2, t3, t4, t5) { @@ -8969,10 +9092,6 @@ self.util = _cliPkgRequires.util; _.includeMin = t2; _.includeMax = t3; }, - CssMediaQuery_parseList(contents, interpolationMap, logger) { - var t1 = A.SpanScanner$(contents, null); - return new A.MediaQueryParser(t1, logger, interpolationMap).parse$0(); - }, CssMediaQuery$type(type, conditions, modifier) { return new A.CssMediaQuery(modifier, type, true, conditions == null ? B.List_empty : A.List_List$unmodifiable(conditions, type$.String)); }, @@ -9017,26 +9136,29 @@ self.util = _cliPkgRequires.util; _._indexInParent = _._parent = null; _.isGroupEnd = false; }, - ModifiableCssDeclaration$($name, value, span, parsedAsCustomProperty, valueSpanForMap) { - var t2, - t1 = valueSpanForMap == null ? value.span : valueSpanForMap; + ModifiableCssDeclaration$($name, value, span, interleavedRules, parsedAsCustomProperty, trace, valueSpanForMap) { + var t3, + t1 = interleavedRules == null ? B.List_empty11 : A.List_List$unmodifiable(interleavedRules, type$.CssStyleRule), + t2 = valueSpanForMap == null ? value.span : valueSpanForMap; if (parsedAsCustomProperty) if (!J.startsWith$1$s($name.value, "--")) A.throwExpression(A.ArgumentError$(string$.parsed, null)); else { - t2 = value.value; - if (!(t2 instanceof A.SassString)) - A.throwExpression(A.ArgumentError$(string$.If_par + value.toString$0(0) + "` of type " + A.getRuntimeTypeOfDartObject(t2).toString$0(0) + ").", null)); + t3 = value.value; + if (!(t3 instanceof A.SassString)) + A.throwExpression(A.ArgumentError$(string$.If_par + value.toString$0(0) + "` of type " + A.getRuntimeTypeOfDartObject(t3).toString$0(0) + ").", null)); } - return new A.ModifiableCssDeclaration($name, value, parsedAsCustomProperty, t1, span); + return new A.ModifiableCssDeclaration($name, value, parsedAsCustomProperty, t1, trace, t2, span); }, - ModifiableCssDeclaration: function ModifiableCssDeclaration(t0, t1, t2, t3, t4) { + ModifiableCssDeclaration: function ModifiableCssDeclaration(t0, t1, t2, t3, t4, t5, t6) { var _ = this; _.name = t0; _.value = t1; _.parsedAsCustomProperty = t2; - _.valueSpanForMap = t3; - _.span = t4; + _.interleavedRules = t3; + _.trace = t4; + _.valueSpanForMap = t5; + _.span = t6; _._indexInParent = _._parent = null; _.isGroupEnd = false; }, @@ -9151,7 +9273,7 @@ self.util = _cliPkgRequires.util; this.span = t2; }, ArgumentDeclaration_ArgumentDeclaration$parse(contents, url) { - return A.ScssParser$(contents, null, url).parseArgumentDeclaration$0(); + return A.ScssParser$(contents, url).parseArgumentDeclaration$0(); }, ArgumentDeclaration: function ArgumentDeclaration(t0, t1, t2) { this.$arguments = t0; @@ -9187,10 +9309,7 @@ self.util = _cliPkgRequires.util; _.isGuarded = t2; _.span = t3; }, - _IsCalculationSafeVisitor: function _IsCalculationSafeVisitor() { - }, - _IsCalculationSafeVisitor_visitListExpression_closure: function _IsCalculationSafeVisitor_visitListExpression_closure(t0) { - this.$this = t0; + Expression: function Expression() { }, BinaryOperationExpression: function BinaryOperationExpression(t0, t1, t2, t3) { var _ = this; @@ -9272,7 +9391,7 @@ self.util = _cliPkgRequires.util; return t1.charCodeAt(0) == 0 ? t1 : t1; }, StringExpression__quoteInnerText(text, quote, buffer, $static) { - var t1, t2, i, _1_0, _0_0, t3, t4, t0; + var t1, t2, i, _1_0, _0_0, t3, t4, t5, t0; for (t1 = text.length, t2 = t1 - 1, i = 0; i < t1; ++i) { _1_0 = text.charCodeAt(i); if (_1_0 === 10 || _1_0 === 13 || _1_0 === 12) { @@ -9280,16 +9399,11 @@ self.util = _cliPkgRequires.util; buffer.writeCharCode$1(97); if (i !== t2) { _0_0 = text.charCodeAt(i + 1); + t3 = true; if (!(_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12)) if (!(_0_0 >= 48 && _0_0 <= 57)) if (!(_0_0 >= 97 && _0_0 <= 102)) t3 = _0_0 >= 65 && _0_0 <= 70; - else - t3 = true; - else - t3 = true; - else - t3 = true; if (t3) buffer.writeCharCode$1(32); } @@ -9301,27 +9415,39 @@ self.util = _cliPkgRequires.util; else t4 = null; if (!t3) { - t3 = _1_0 === quote; - if (t3) + t3 = false; + t5 = _1_0 === quote; + if (t5) t4 = _1_0; - t0 = t4; - t4 = t3; - t3 = t0; - if (!t4) + if (!t5) if (35 === _1_0) if ($static) if (i < t2) { - t4 = text.charCodeAt(i + 1) === 123; - if (t4) - t3 = _1_0; - } else - t4 = false; - else - t4 = false; - else - t4 = false; - else + t3 = text.charCodeAt(i + 1) === 123; + if (t3) + t4 = _1_0; + t0 = t4; + t4 = t3; + t3 = t0; + } else { + t0 = t4; + t4 = t3; + t3 = t0; + } + else { + t0 = t4; + t4 = t3; + t3 = t0; + } + else { + t0 = t4; + t4 = t3; + t3 = t0; + } + else { + t3 = t4; t4 = true; + } } else { t3 = t4; t4 = true; @@ -9383,17 +9509,20 @@ self.util = _cliPkgRequires.util; this.modifiers = t1; this.span = t2; }, - Interpolation$(contents, span) { - var t1 = new A.Interpolation(A.List_List$unmodifiable(contents, type$.Object), span); - t1.Interpolation$2(contents, span); + Interpolation$(contents, spans, span) { + var t1 = new A.Interpolation(A.List_List$unmodifiable(contents, type$.Object), A.List_List$unmodifiable(spans, type$.nullable_FileSpan), span); + t1.Interpolation$3(contents, spans, span); return t1; }, - Interpolation: function Interpolation(t0, t1) { + Interpolation: function Interpolation(t0, t1, t2) { this.contents = t0; - this.span = t1; + this.spans = t1; + this.span = t2; }, Interpolation_toString_closure: function Interpolation_toString_closure() { }, + Statement: function Statement() { + }, AtRootRule$(children, span, query) { var t1 = A.List_List$unmodifiable(children, type$.Statement), t2 = B.JSArray_methods.any$1(t1, new A.ParentStatement_closure()); @@ -9632,41 +9761,37 @@ self.util = _cliPkgRequires.util; _.hasDeclarations = t3; }, Stylesheet$(children, span) { + var t1 = A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span), + t2 = A._setArrayType([], type$.JSArray_UseRule), + t3 = A._setArrayType([], type$.JSArray_ForwardRule), + t4 = A.List_List$unmodifiable(children, type$.Statement), + t5 = B.JSArray_methods.any$1(t4, new A.ParentStatement_closure()); + t2 = new A.Stylesheet(span, false, t2, t3, new A.UnmodifiableListView(t1, type$.UnmodifiableListView_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span), t4, t5); + t2.Stylesheet$internal$4$plainCss(children, span, t1, false); + return t2; + }, + Stylesheet$internal(children, span, parseTimeWarnings, plainCss) { var t1 = A._setArrayType([], type$.JSArray_UseRule), t2 = A._setArrayType([], type$.JSArray_ForwardRule), t3 = A.List_List$unmodifiable(children, type$.Statement), t4 = B.JSArray_methods.any$1(t3, new A.ParentStatement_closure()); - t1 = new A.Stylesheet(span, false, t1, t2, t3, t4); - t1.Stylesheet$internal$3$plainCss(children, span, false); + t1 = new A.Stylesheet(span, plainCss, t1, t2, new A.UnmodifiableListView(parseTimeWarnings, type$.UnmodifiableListView_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span), t3, t4); + t1.Stylesheet$internal$4$plainCss(children, span, parseTimeWarnings, plainCss); return t1; }, - Stylesheet$internal(children, span, plainCss) { - var t1 = A._setArrayType([], type$.JSArray_UseRule), - t2 = A._setArrayType([], type$.JSArray_ForwardRule), - t3 = A.List_List$unmodifiable(children, type$.Statement), - t4 = B.JSArray_methods.any$1(t3, new A.ParentStatement_closure()); - t1 = new A.Stylesheet(span, plainCss, t1, t2, t3, t4); - t1.Stylesheet$internal$3$plainCss(children, span, plainCss); - return t1; - }, - Stylesheet_Stylesheet$parse(contents, syntax, logger, url) { + Stylesheet_Stylesheet$parse(contents, syntax, url) { var error, stackTrace, url0, t1, exception, t2; try { switch (syntax) { case B.Syntax_Sass_sass: - t1 = A.SpanScanner$(contents, url); - t1 = new A.SassParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), t1, logger, null).parse$0(); + t1 = new A.SassParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span), A.SpanScanner$(contents, url), null).parse$0(0); return t1; case B.Syntax_SCSS_scss: - t1 = A.ScssParser$(contents, logger, url).parse$0(); + t1 = A.ScssParser$(contents, url).parse$0(0); return t1; case B.Syntax_CSS_css: - t1 = A.SpanScanner$(contents, url); - t1 = new A.CssParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), t1, logger, null).parse$0(); + t1 = new A.CssParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span), A.SpanScanner$(contents, url), null).parse$0(0); return t1; - default: - t1 = A.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + ".", null); - throw A.wrapException(t1); } } catch (exception) { t1 = A.unwrapException(exception); @@ -9685,14 +9810,15 @@ self.util = _cliPkgRequires.util; throw exception; } }, - Stylesheet: function Stylesheet(t0, t1, t2, t3, t4, t5) { + Stylesheet: function Stylesheet(t0, t1, t2, t3, t4, t5, t6) { var _ = this; _.span = t0; _.plainCss = t1; _._uses = t2; _._forwards = t3; - _.children = t4; - _.hasDeclarations = t5; + _.parseTimeWarnings = t4; + _.children = t5; + _.hasDeclarations = t6; }, SupportsRule$(condition, children, span) { var t1 = A.List_List$unmodifiable(children, type$.Statement), @@ -9851,12 +9977,15 @@ self.util = _cliPkgRequires.util; return new A.CompoundSelector(t1, span); }, CompoundSelector: function CompoundSelector(t0, t1) { - this.components = t0; - this.__CompoundSelector_specificity_FI = $; - this.span = t1; + var _ = this; + _.components = t0; + _.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = _.__CompoundSelector_specificity_FI = $; + _.span = t1; }, CompoundSelector_specificity_closure: function CompoundSelector_specificity_closure() { }, + CompoundSelector_hasComplicatedSuperselectorSemantics_closure: function CompoundSelector_hasComplicatedSuperselectorSemantics_closure() { + }, IDSelector: function IDSelector(t0, t1) { this.name = t0; this.span = t1; @@ -9870,8 +9999,8 @@ self.util = _cliPkgRequires.util; A.throwExpression(A.ArgumentError$("components may not be empty.", null)); return new A.SelectorList(t1, span); }, - SelectorList_SelectorList$parse(contents, allowParent, interpolationMap, logger, plainCss) { - return A.SelectorParser$(contents, allowParent, interpolationMap, logger, plainCss, null).parse$0(); + SelectorList_SelectorList$parse(contents, allowParent, interpolationMap, plainCss) { + return new A.SelectorParser(allowParent, plainCss, A.SpanScanner$(contents, null), interpolationMap).parse$0(0); }, SelectorList: function SelectorList(t0, t1) { this.components = t0; @@ -9980,7 +10109,7 @@ self.util = _cliPkgRequires.util; compileAsync(path, charset, fatalDeprecations, futureDeprecations, importCache, logger, quietDeps, silenceDeprecations, sourceMap, style, syntax, verbose) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult), - $async$returnValue, t3, t0, stylesheet, result, t1, t2; + $async$returnValue, t3, t4, t0, stylesheet, result, t1, t2; var $async$compileAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -9993,9 +10122,10 @@ self.util = _cliPkgRequires.util; t2.addAll$1(0, silenceDeprecations); t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1); t3.addAll$1(0, fatalDeprecations); - t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1); - t1.addAll$1(0, futureDeprecations); - logger = A.DeprecationProcessingLogger$(logger, t3, t1, !verbose, t2); + t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1); + t4.addAll$1(0, futureDeprecations); + logger = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), logger, t2, t3, t4, !verbose); + logger.validate$0(); t1 = syntax === A.Syntax_forPath(path); $async$goto = t1 ? 3 : 5; break; @@ -10034,7 +10164,7 @@ self.util = _cliPkgRequires.util; case 5: // else t1 = A.readFile(path); - stylesheet = A.Stylesheet_Stylesheet$parse(t1, syntax, logger, $.$get$context().toUri$1(path)); + stylesheet = A.Stylesheet_Stylesheet$parse(t1, syntax, $.$get$context().toUri$1(path)); case 4: // join $async$goto = 7; @@ -10057,7 +10187,7 @@ self.util = _cliPkgRequires.util; compileStringAsync(source, charset, fatalDeprecations, futureDeprecations, importCache, importer, logger, quietDeps, silenceDeprecations, sourceMap, style, syntax, verbose) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult), - $async$returnValue, t3, stylesheet, result, t1, t2; + $async$returnValue, t3, t4, stylesheet, result, t1, t2; var $async$compileStringAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -10070,10 +10200,11 @@ self.util = _cliPkgRequires.util; t2.addAll$1(0, silenceDeprecations); t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1); t3.addAll$1(0, fatalDeprecations); - t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1); - t1.addAll$1(0, futureDeprecations); - logger = A.DeprecationProcessingLogger$(logger, t3, t1, !verbose, t2); - stylesheet = A.Stylesheet_Stylesheet$parse(source, syntax, logger, null); + t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1); + t4.addAll$1(0, futureDeprecations); + logger = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), logger, t2, t3, t4, !verbose); + logger.validate$0(); + stylesheet = A.Stylesheet_Stylesheet$parse(source, syntax, null); $async$goto = 3; return A._asyncAwait(A._compileStylesheet0(stylesheet, logger, importCache, null, importer, null, style, true, null, null, quietDeps, sourceMap, charset), $async$compileStringAsync); case 3: @@ -10107,7 +10238,7 @@ self.util = _cliPkgRequires.util; return A._asyncAwait(A._EvaluateVisitor$0(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet0); case 3: // returning from await. - serializeResult = $async$temp1.serialize($async$result._1, charset, indentWidth, false, lineFeed, sourceMap, style, true); + serializeResult = $async$temp1.serialize($async$result._1, charset, indentWidth, false, lineFeed, logger, sourceMap, style, true); resultSourceMap = serializeResult._1; if (resultSourceMap != null) A.mapInPlace(resultSourceMap.urls, new A._compileStylesheet_closure0(stylesheet, importCache)); @@ -10303,15 +10434,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - AsyncImportCache: function AsyncImportCache(t0, t1, t2, t3, t4, t5, t6) { + AsyncImportCache: function AsyncImportCache(t0, t1, t2, t3, t4, t5) { var _ = this; _._async_import_cache$_importers = t0; - _._async_import_cache$_logger = t1; - _._async_import_cache$_canonicalizeCache = t2; - _._async_import_cache$_perImporterCanonicalizeCache = t3; - _._async_import_cache$_nonCanonicalRelativeUrls = t4; - _._async_import_cache$_importCache = t5; - _._async_import_cache$_resultsCache = t6; + _._async_import_cache$_canonicalizeCache = t1; + _._async_import_cache$_perImporterCanonicalizeCache = t2; + _._async_import_cache$_nonCanonicalRelativeUrls = t3; + _._async_import_cache$_importCache = t4; + _._async_import_cache$_resultsCache = t5; }, AsyncImportCache_canonicalize_closure: function AsyncImportCache_canonicalize_closure(t0, t1, t2, t3, t4, t5, t6) { var _ = this; @@ -10327,13 +10457,12 @@ self.util = _cliPkgRequires.util; this.importer = t0; this.url = t1; }, - AsyncImportCache_importCanonical_closure: function AsyncImportCache_importCanonical_closure(t0, t1, t2, t3, t4) { + AsyncImportCache_importCanonical_closure: function AsyncImportCache_importCanonical_closure(t0, t1, t2, t3) { var _ = this; _.$this = t0; _.importer = t1; _.canonicalUrl = t2; _.originalUrl = t3; - _.quiet = t4; }, AsyncImportCache_humanize_closure: function AsyncImportCache_humanize_closure(t0) { this.canonicalUrl = t0; @@ -10346,7 +10475,7 @@ self.util = _cliPkgRequires.util; this.canonicalUrl = t0; }, AsyncBuiltInCallable$mixin($name, $arguments, callback, acceptsContent, url) { - return new A.AsyncBuiltInCallable($name, A.ScssParser$("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.AsyncBuiltInCallable$mixin_closure(callback), false); + return new A.AsyncBuiltInCallable($name, A.ScssParser$("@mixin " + $name + "(" + $arguments + ") {", url).parseArgumentDeclaration$0(), new A.AsyncBuiltInCallable$mixin_closure(callback), false); }, AsyncBuiltInCallable: function AsyncBuiltInCallable(t0, t1, t2, t3) { var _ = this; @@ -10358,21 +10487,25 @@ self.util = _cliPkgRequires.util; AsyncBuiltInCallable$mixin_closure: function AsyncBuiltInCallable$mixin_closure(t0) { this.callback = t0; }, + AsyncBuiltInCallable_withDeprecationWarning_closure: function AsyncBuiltInCallable_withDeprecationWarning_closure(t0, t1, t2) { + this.$this = t0; + this.module = t1; + this.newName = t2; + }, BuiltInCallable$function($name, $arguments, callback, url) { - return new A.BuiltInCallable($name, A._setArrayType([new A._Record_2(A.ScssParser$("@function " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value), false); + return new A.BuiltInCallable($name, A._setArrayType([new A._Record_2(A.ScssParser$("@function " + $name + "(" + $arguments + ") {", url).parseArgumentDeclaration$0(), callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value), false); }, BuiltInCallable$mixin($name, $arguments, callback, acceptsContent, url) { - return new A.BuiltInCallable($name, A._setArrayType([new A._Record_2(A.ScssParser$("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.BuiltInCallable$mixin_closure(callback))], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value), acceptsContent); + return new A.BuiltInCallable($name, A._setArrayType([new A._Record_2(A.ScssParser$("@mixin " + $name + "(" + $arguments + ") {", url).parseArgumentDeclaration$0(), new A.BuiltInCallable$mixin_closure(callback))], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value), acceptsContent); }, BuiltInCallable$overloadedFunction($name, overloads) { - var t2, t3, t4, t5, t6, args, callback, + var t2, t3, t4, t5, t6, t7, args, callback, t1 = A._setArrayType([], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value); - for (t2 = type$.String, t3 = A.MapExtensions_get_pairs(overloads, t2, type$.Value_Function_List_Value), t3 = t3.get$iterator(t3), t4 = "@function " + $name + "(", t5 = type$.VariableDeclaration; t3.moveNext$0();) { - t6 = t3.get$current(t3); - args = t6._0; - callback = t6._1; - t6 = A.SpanScanner$(t4 + args + ") {", null); - t1.push(new A._Record_2(new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t2, t5), t6, B.StderrLogger_false, null).parseArgumentDeclaration$0(), callback)); + for (t2 = type$.String, t3 = A.MapExtensions_get_pairs(overloads, t2, type$.Value_Function_List_Value), t3 = t3.get$iterator(t3), t4 = "@function " + $name + "(", t5 = type$.VariableDeclaration, t6 = type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span; t3.moveNext$0();) { + t7 = t3.get$current(t3); + args = t7._0; + callback = t7._1; + t1.push(new A._Record_2(new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t2, t5), A._setArrayType([], t6), A.SpanScanner$(t4 + args + ") {", null), null).parseArgumentDeclaration$0(), callback)); } return new A.BuiltInCallable($name, t1, false); }, @@ -10384,6 +10517,13 @@ self.util = _cliPkgRequires.util; BuiltInCallable$mixin_closure: function BuiltInCallable$mixin_closure(t0) { this.callback = t0; }, + BuiltInCallable_withDeprecationWarning_closure: function BuiltInCallable_withDeprecationWarning_closure(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.$this = t1; + _.module = t2; + _.newName = t3; + }, PlainCssCallable: function PlainCssCallable(t0) { this.name = t0; }, @@ -10395,7 +10535,7 @@ self.util = _cliPkgRequires.util; _.$ti = t3; }, _compileStylesheet(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset) { - var serializeResult = A.serialize(A._EvaluateVisitor$(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet)._1, charset, indentWidth, false, lineFeed, sourceMap, style, true), + var serializeResult = A.serialize(A._EvaluateVisitor$(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet)._1, charset, indentWidth, false, lineFeed, logger, sourceMap, style, true), resultSourceMap = serializeResult._1; if (resultSourceMap != null) A.mapInPlace(resultSourceMap.urls, new A._compileStylesheet_closure(stylesheet, importCache)); @@ -10423,13 +10563,13 @@ self.util = _cliPkgRequires.util; this.assignmentNode = t2; }, Deprecation_fromId(id) { - return A.IterableExtension_firstWhereOrNull(B.List_V43, new A.Deprecation_fromId_closure(id)); + return A.IterableExtension_firstWhereOrNull(B.List_Hx4, new A.Deprecation_fromId_closure(id)); }, Deprecation_forVersion(version) { var t2, _i, deprecation, $self, t3, t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation); - for (t2 = A.VersionRange_VersionRange(true, version).get$allows(), _i = 0; _i < 18; ++_i) { - deprecation = B.List_V43[_i]; + for (t2 = A.VersionRange_VersionRange(true, version).get$allows(), _i = 0; _i < 24; ++_i) { + deprecation = B.List_Hx4[_i]; $self = deprecation._deprecatedIn; t3 = $self == null ? null : A.Version___parse_tearOff($self); t3 = t3 == null ? null : t2.call$1(t3); @@ -10438,12 +10578,10 @@ self.util = _cliPkgRequires.util; } return t1; }, - Deprecation: function Deprecation(t0, t1, t2, t3) { - var _ = this; - _.id = t0; - _._deprecatedIn = t1; - _.isFuture = t2; - _._name = t3; + Deprecation: function Deprecation(t0, t1, t2) { + this.id = t0; + this._deprecatedIn = t1; + this._name = t2; }, Deprecation_fromId_closure: function Deprecation_fromId_closure(t0) { this.id = t0; @@ -10783,14 +10921,12 @@ self.util = _cliPkgRequires.util; importer = $.$get$FilesystemImporter_cwd(); if (ifModified) try { + t1 = false; if (source != null) if (destination != null) { t1 = A.absolute(source, null, null, null, null, null, null, null, null, null, null, null, null, null, null); t1 = !graph.modifiedSince$3($.$get$context().toUri$1(t1), A.modificationTime(destination), importer); - } else - t1 = false; - else - t1 = false; + } if (t1) { // goto return $async$goto = 1; @@ -10814,14 +10950,10 @@ self.util = _cliPkgRequires.util; break; case 7: // then - t2 = options.get$pkgImporters(); - t3 = type$.List_String._as(t1.$index(0, "load-path")); - t4 = A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color()); - t5 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl; - t6 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport; - t7 = type$.Uri; - t3 = A.AsyncImportCache__toImporters(t2, t3, null); - importCache = new A.AsyncImportCache(t3, t4, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t5), A.LinkedHashMap_LinkedHashMap$_empty(t6, t5), A.LinkedHashMap_LinkedHashMap$_empty(t6, t7), A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.nullable_Stylesheet), A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.ImporterResult)); + t2 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl; + t3 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport; + t4 = type$.Uri; + importCache = new A.AsyncImportCache(A.AsyncImportCache__toImporters(options.get$pkgImporters(), type$.List_String._as(t1.$index(0, "load-path")), null), A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult)); $async$goto = source == null ? 10 : 12; break; case 10: @@ -10898,8 +11030,9 @@ self.util = _cliPkgRequires.util; t10.addAll$1(0, t11); t11 = A.LinkedHashSet_LinkedHashSet$_empty(t13); t11.addAll$1(0, t12); - logger = A.DeprecationProcessingLogger$(t4, t10, t11, !t8, t14); - stylesheet = A.Stylesheet_Stylesheet$parse(t2, t3 == null ? B.Syntax_SCSS_scss : t3, logger, null); + logger = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(t13, type$.int), t4, t14, t10, t11, !t8); + logger.validate$0(); + stylesheet = A.Stylesheet_Stylesheet$parse(t2, t3 == null ? B.Syntax_SCSS_scss : t3, null); result0 = A._compileStylesheet(stylesheet, logger, graph.importCache, null, t5, null, t6, true, null, null, t7, t9, t1); logger.summarize$1$js(false); // goto join @@ -10925,7 +11058,8 @@ self.util = _cliPkgRequires.util; t8.addAll$1(0, t9); t9 = A.LinkedHashSet_LinkedHashSet$_empty(t11); t9.addAll$1(0, t10); - logger = A.DeprecationProcessingLogger$(t3, t8, t9, !t6, t12); + logger = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(t11, type$.int), t3, t12, t8, t9, !t6); + logger.validate$0(); t3 = t2 == null || t2 === A.Syntax_forPath(source); if (t3) { t2 = $.$get$FilesystemImporter_cwd(); @@ -10955,7 +11089,7 @@ self.util = _cliPkgRequires.util; t3 = A.readFile(source); if (t2 == null) t2 = A.Syntax_forPath(source); - stylesheet = A.Stylesheet_Stylesheet$parse(t3, t2, logger, $.$get$context().toUri$1(source)); + stylesheet = A.Stylesheet_Stylesheet$parse(t3, t2, $.$get$context().toUri$1(source)); } result0 = A._compileStylesheet(stylesheet, logger, importCache, null, $.$get$FilesystemImporter_cwd(), null, t4, true, null, null, t5, t7, t1); logger.summarize$1$js(false); @@ -11023,7 +11157,7 @@ self.util = _cliPkgRequires.util; destination.toString; t1 = $.$get$context(); destinationName = t1.prettyUri$1(t1.toUri$1(destination)); - nowStr = new A.DateTime(Date.now(), false).toString$0(0); + nowStr = new A.DateTime(Date.now(), 0, false).toString$0(0); timestamp = B.JSString_methods.substring$2(nowStr, 0, nowStr.length - 7); t1 = options.get$color() ? buffer._contents = "" + "\x1b[90m" : ""; t1 = buffer._contents = t1 + ("[" + timestamp + "] "); @@ -11109,7 +11243,7 @@ self.util = _cliPkgRequires.util; t1 = $.$get$ExecutableOptions__parser(); t2 = A.ListQueue$(type$.String); t2.addAll$1(0, args); - t2 = A.Parser$(null, t1, t2, null, null).parse$0(); + t2 = A.Parser$(null, t1, t2, null, null).parse$0(0); if (t2.wasParsed$1("poll") && !A._asBool(t2.$index(0, "watch"))) A.ExecutableOptions__fail("--poll may not be passed without --watch."); options = new A.ExecutableOptions(t2); @@ -11149,6 +11283,202 @@ self.util = _cliPkgRequires.util; UsageException: function UsageException(t0) { this.message = t0; }, + repl(options) { + return A.repl$body(options); + }, + repl$body(options) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.void), + $async$handler = 1, $async$currentError, $async$next = [], repl, trackingLogger, warn, evaluator, line, node, warnings, _1_0, node0, warnings0, _2_0, node1, warnings1, _3_0, error, stackTrace, logger, t4, t5, t6, t7, t8, t9, line0, toZone, exception, t1, t2, t3, repl0; + var $async$repl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) { + $async$currentError = $async$result; + $async$goto = $async$handler; + } + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = A._setArrayType([], type$.JSArray_String); + t2 = B.JSString_methods.$mul(" ", 3); + t3 = $.$get$alwaysValid(); + repl0 = new A.Repl(">> ", t2, t3, t1); + repl0.__Repl__adapter_A = new A.ReplAdapter(repl0); + repl = repl0; + t1 = options._options; + trackingLogger = new A.TrackingLogger(A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color())); + logger = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(type$.Deprecation, type$.int), trackingLogger, options.get$silenceDeprecations(0), options.get$fatalDeprecations(0), options.get$futureDeprecations(0), !A._asBool(t1.$index(0, "verbose"))); + logger.validate$0(); + warn = new A.repl_warn(logger); + t2 = $.$get$FilesystemImporter_cwd(); + evaluator = new A.Evaluator(A._EvaluateVisitor$(null, A.ImportCache$(options.get$pkgImporters(), type$.List_String._as(t1.$index(0, "load-path"))), logger, null, false, false), t2); + t2 = repl.__Repl__adapter_A; + t2 === $ && A.throwUnnamedLateFieldNI(); + t2 = new A._StreamIterator(A.checkNotNullable(t2.runAsync$0(), "stream", type$.Object)); + $async$handler = 2; + t1 = type$.String, t3 = type$.VariableDeclaration, t4 = type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span, t5 = type$.Expression; + case 5: + // for condition + $async$goto = 7; + return A._asyncAwait(t2.moveNext$0(), $async$repl); + case 7: + // returning from await. + if (!$async$result) { + // goto after for + $async$goto = 6; + break; + } + line = t2.get$current(0); + if (J.trim$0$s(line).length === 0) { + // goto for condition + $async$goto = 5; + break; + } + try { + if (J.startsWith$1$s(line, "@")) { + node = null; + warnings = null; + _1_0 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A._setArrayType([], t4), A.SpanScanner$(line, null), null).parseUseRule$0(); + node = _1_0._0; + warnings = _1_0._1; + J.forEach$1$ax(warnings, warn); + t6 = evaluator; + t7 = node; + t6._visitor.runStatement$2(t6._importer, t7); + // goto for condition + $async$goto = 5; + break; + } + if (new A.Parser(A.SpanScanner$(line, null), null)._isVariableDeclarationLike$0()) { + node0 = null; + warnings0 = null; + _2_0 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), A._setArrayType([], t4), A.SpanScanner$(line, null), null).parseVariableDeclaration$0(); + node0 = _2_0._0; + warnings0 = _2_0._1; + J.forEach$1$ax(warnings0, warn); + t6 = evaluator; + t7 = node0; + t6._visitor.runStatement$2(t6._importer, t7); + t7 = evaluator; + t6 = node0.name; + t8 = node0.span; + t9 = node0.namespace; + line0 = t7._visitor.runExpression$2(t7._importer, new A.VariableExpression(t9, t6, t8)).toString$0(0); + toZone = $.printToZone; + if (toZone == null) + A.printString(line0); + else + toZone.call$1(line0); + } else { + node1 = null; + warnings1 = null; + t6 = A._setArrayType([], t4); + t7 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t1, t3), t6, A.SpanScanner$(line, null), null); + _3_0 = new A._Record_2(t7._parseSingleProduction$1$1(t7.get$_expression(), t5), t6); + node1 = _3_0._0; + warnings1 = _3_0._1; + J.forEach$1$ax(warnings1, warn); + t6 = evaluator; + t7 = node1; + line0 = t6._visitor.runExpression$2(t6._importer, t7).toString$0(0); + toZone = $.printToZone; + if (toZone == null) + A.printString(line0); + else + toZone.call$1(line0); + } + } catch (exception) { + t6 = A.unwrapException(exception); + if (t6 instanceof A.SassException) { + error = t6; + stackTrace = A.getTraceFromException(exception); + t6 = error; + t7 = typeof t6 != "string"; + if (!t7 || typeof t6 == "number" || A._isBool(t6)) + t6 = null; + else { + t8 = $.$get$_traces(); + if (A._isBool(t6) || typeof t6 == "number" || !t7 || t6 instanceof A._Record) + A.Expando__badExpandoKey(t6); + t6 = t8._jsWeakMap.get(t6); + } + if (t6 == null) + t6 = stackTrace; + A._logError(error, t6, line, repl, options, trackingLogger); + } else + throw exception; + } + // goto for condition + $async$goto = 5; + break; + case 6: + // after for + $async$next.push(4); + // goto finally + $async$goto = 3; + break; + case 2: + // uncaught + $async$next = [1]; + case 3: + // finally + $async$handler = 1; + $async$goto = 8; + return A._asyncAwait(t2.cancel$0(), $async$repl); + case 8: + // returning from await. + // goto the next finally handler + $async$goto = $async$next.pop(); + break; + case 4: + // after finally + // implicit return + return A._asyncReturn(null, $async$completer); + case 1: + // rethrow + return A._asyncRethrow($async$currentError, $async$completer); + } + }); + return A._asyncStartSync($async$repl, $async$completer); + }, + _logError(error, stackTrace, line, repl, options, logger) { + var t2, spacesBeforeError, t3, + t1 = A.SourceSpanException.prototype.get$span.call(error, 0); + if (t1.get$sourceUrl(t1) == null) + if (!A._asBool(options._options.$index(0, "quiet"))) + t1 = logger._emittedDebug || logger._emittedWarning; + else + t1 = false; + else + t1 = true; + if (t1) { + A.print(error.toString$1$color(0, options.get$color())); + return; + } + t1 = options.get$color() ? "" + "\x1b[31m" : ""; + t2 = A.SourceSpanException.prototype.get$span.call(error, 0); + t2 = t2.get$start(t2); + spacesBeforeError = repl.prompt.length + t2.file.getColumn$1(t2.offset); + if (options.get$color()) { + t2 = A.SourceSpanException.prototype.get$span.call(error, 0); + t2 = t2.get$start(t2); + t2 = t2.file.getColumn$1(t2.offset) < line.length; + } else + t2 = false; + if (t2) + t1 = t1 + ("\x1b[1F\x1b[" + spacesBeforeError + "C") + (A.SourceSpanException.prototype.get$span.call(error, 0).get$text() + "\n"); + t2 = B.JSString_methods.$mul(" ", spacesBeforeError); + t3 = A.SourceSpanException.prototype.get$span.call(error, 0); + t3 = t1 + t2 + (B.JSString_methods.$mul("^", Math.max(1, t3.get$length(t3))) + "\n"); + t1 = options.get$color() ? t3 + "\x1b[0m" : t3; + t1 += "Error: " + error._span_exception$_message + "\n"; + if (A._asBool(options._options.$index(0, "trace"))) + t1 += A.Trace_Trace$from(stackTrace).get$terse().toString$0(0); + A.print(B.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1)); + }, + repl_warn: function repl_warn(t0) { + this.logger = t0; + }, watch(options, graph) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), @@ -11390,7 +11720,7 @@ self.util = _cliPkgRequires.util; _.newMediaContexts = t3; }, unifyComplex(complexes, span) { - var t2, trailingCombinator, leadingCombinator, unifiedBase, t3, t4, _0_6_isSet, _0_6, t5, newLeadingCombinator, base, _1_1, newTrailingCombinator, _i, t6, t7, t8, _null = null, + var t2, trailingCombinator, leadingCombinator, unifiedBase, t3, t4, _0_6_isSet, _0_6, t5, newLeadingCombinator, base, _1_1, newTrailingCombinator, unifiedBase0, t6, t7, t8, _null = null, t1 = J.getInterceptor$asx(complexes); if (t1.get$length(complexes) === 1) return complexes; @@ -11426,14 +11756,14 @@ self.util = _cliPkgRequires.util; return _null; trailingCombinator = newTrailingCombinator; } + unifiedBase0 = base.selector; if (unifiedBase == null) - unifiedBase = base.selector.components; - else - for (t3 = base.selector.components, t4 = t3.length, _i = 0; _i < t4; ++_i) { - unifiedBase = t3[_i].unify$1(unifiedBase); - if (unifiedBase == null) - return _null; - } + unifiedBase = unifiedBase0; + else { + unifiedBase = A.unifyCompound(unifiedBase, unifiedBase0); + if (unifiedBase == null) + return _null; + } } t2 = type$.JSArray_ComplexSelector; t3 = A._setArrayType([], t2); @@ -11446,11 +11776,10 @@ self.util = _cliPkgRequires.util; t3.push(A.ComplexSelector$(t8, B.JSArray_methods.take$1(t6, t7 - 1), t5.span, t5.lineBreak)); } } - t4 = leadingCombinator == null ? B.List_empty1 : A._setArrayType([leadingCombinator], type$.JSArray_CssValue_Combinator); + t4 = leadingCombinator == null ? B.List_empty0 : A._setArrayType([leadingCombinator], type$.JSArray_CssValue_Combinator); unifiedBase.toString; - t5 = A.CompoundSelector$(unifiedBase, span); - t6 = trailingCombinator == null ? B.List_empty1 : A._setArrayType([trailingCombinator], type$.JSArray_CssValue_Combinator); - base = A.ComplexSelector$(t4, A._setArrayType([new A.ComplexSelectorComponent(t5, A.List_List$unmodifiable(t6, type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent), span, t1.any$1(complexes, new A.unifyComplex_closure())); + t5 = trailingCombinator == null ? B.List_empty0 : A._setArrayType([trailingCombinator], type$.JSArray_CssValue_Combinator); + base = A.ComplexSelector$(t4, A._setArrayType([new A.ComplexSelectorComponent(unifiedBase, A.List_List$unmodifiable(t5, type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent), span, t1.any$1(complexes, new A.unifyComplex_closure())); if (t3.length === 0) t1 = A._setArrayType([base], t2); else { @@ -11460,14 +11789,27 @@ self.util = _cliPkgRequires.util; return A.weave(t1, span, false); }, unifyCompound(compound1, compound2) { - var t1, t2, _i, unified, - result = compound2.components; - for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i, result = unified) { - unified = t1[_i].unify$1(result); - if (unified == null) - return null; + var t1, t2, pseudoElementFound, _i, simple, unified, + result = compound1.components, + pseudoResult = A._setArrayType([], type$.JSArray_SimpleSelector); + for (t1 = compound2.components, t2 = t1.length, pseudoElementFound = false, _i = 0; _i < t2; ++_i) { + simple = t1[_i]; + if (pseudoElementFound && simple instanceof A.PseudoSelector) { + unified = simple.unify$1(pseudoResult); + if (unified == null) + return null; + pseudoResult = unified; + } else { + pseudoElementFound = B.JSBool_methods.$or(pseudoElementFound, simple instanceof A.PseudoSelector && !simple.isClass); + unified = simple.unify$1(result); + if (unified == null) + return null; + result = unified; + } } - return A.CompoundSelector$(result, compound1.span); + t1 = A.List_List$of(result, true, type$.SimpleSelector); + B.JSArray_methods.addAll$1(t1, pseudoResult); + return A.CompoundSelector$(t1, compound1.span); }, unifyUniversalAndElement(selector1, selector2) { var namespace, $name, t1, @@ -11535,7 +11877,7 @@ self.util = _cliPkgRequires.util; for (t8 = prefixes.length, _i = 0; _i < prefixes.length; prefixes.length === t8 || (0, A.throwConcurrentModificationError)(prefixes), ++_i) { t9 = A._weaveParents(prefixes[_i], t5, span); if (t9 == null) - t9 = B.List_empty2; + t9 = B.List_empty1; t10 = t9.length; _i0 = 0; for (; _i0 < t9.length; t9.length === t10 || (0, A.throwConcurrentModificationError)(t9), ++_i0) { @@ -11552,7 +11894,7 @@ self.util = _cliPkgRequires.util; return prefixes; }, _weaveParents(prefix, base, span) { - var t1, queue1, queue2, trailingCombinators, _0_1, _0_3, _0_3_isSet, rootish1, t2, rootish2, _0_30, rootish, t3, rootish_case_0, t0, rootish_case_1, groups1, groups2, lcs, choices, t4, _i, group, t5, t6, t7, _i0, chunk, t8, t9, _null = null, + var t1, queue1, queue2, trailingCombinators, _0_1, _0_3, _0_3_isSet, _0_30, rootish2, t2, rootish1, rootish, t3, rootish_case_0, t0, rootish_case_1, groups1, groups2, lcs, choices, t4, _i, group, t5, t6, t7, _i0, chunk, t8, t9, _null = null, leadingCombinators = A._mergeLeadingCombinators(prefix.leadingCombinators, base.leadingCombinators); if (leadingCombinators == null) return _null; @@ -11566,20 +11908,17 @@ self.util = _cliPkgRequires.util; _0_1 = A._firstIfRootish(queue1); _0_3 = A._firstIfRootish(queue2); _0_3_isSet = _0_1 != null; + _0_30 = _null; + rootish2 = _null; + t2 = false; if (_0_3_isSet) { rootish1 = _0_1 == null ? t1._as(_0_1) : _0_1; t2 = _0_3 != null; if (t2) rootish2 = _0_3 == null ? t1._as(_0_3) : _0_3; - else - rootish2 = _null; _0_30 = _0_3; - } else { - rootish2 = _null; - rootish1 = rootish2; - _0_30 = rootish1; - t2 = false; - } + } else + rootish1 = _null; if (t2) { rootish = A.unifyCompound(rootish1.selector, rootish2.selector); if (rootish == null) @@ -11591,6 +11930,8 @@ self.util = _cliPkgRequires.util; queue2.addFirst$1(new A.ComplexSelectorComponent(rootish, A.List_List$unmodifiable(rootish2.combinators, t3), t2)); break $label0$0; } + t2 = _null; + t3 = false; if (_0_1 != null) { rootish_case_0 = _0_1; if (_0_3_isSet) @@ -11605,9 +11946,6 @@ self.util = _cliPkgRequires.util; t0 = t3; t3 = t2; t2 = t0; - } else { - t2 = _null; - t3 = false; } if (!t3) if (_0_1 == null) { @@ -11686,13 +12024,10 @@ self.util = _cliPkgRequires.util; first = queue.$index(0, 0); for (t1 = first.selector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) { simple = t1[_i]; + t3 = false; if (simple instanceof A.PseudoSelector) if (simple.isClass) t3 = $._rootishPseudoClasses.contains$1(0, simple.normalizedName); - else - t3 = false; - else - t3 = false; if (t3) { queue.removeFirst$0(); return first; @@ -11702,52 +12037,46 @@ self.util = _cliPkgRequires.util; return null; }, _mergeLeadingCombinators(combinators1, combinators2) { - var _0_4, t1, _0_7_isSet, _0_7, t2, _0_11_isSet, _0_11, _0_4_isSet, combinators, _null = null; + var _0_4, t1, t2, _0_7_isSet, _0_7, t3, _0_4_isSet, _0_11, _0_11_isSet, combinators, _null = null; $label0$0: { _0_4 = combinators2; - t1 = type$.List_CssValue_Combinator; - _0_7_isSet = t1._is(combinators1); + t1 = _null; + t2 = type$.List_CssValue_Combinator; + _0_7_isSet = t2._is(combinators1); + _0_7 = _null; if (_0_7_isSet) { _0_7 = combinators1.length; - t2 = _0_7; - t2 = t2 > 1; - } else { - _0_7 = _null; - t2 = false; - } - if (!t2) { - t2 = _0_4; - _0_11_isSet = t1._is(t2); + t3 = _0_7; + t3 = t3 > 1; + } else + t3 = false; + _0_4_isSet = true; + _0_11 = _null; + if (!t3) { + t3 = _0_4; + _0_11_isSet = t2._is(t3); if (_0_11_isSet) { - t2 = _0_4; - _0_11 = (t2 == null ? t1._as(t2) : t2).length; - t2 = _0_11; - _0_4_isSet = true; - t2 = t2 > 1; - } else { - _0_11 = _null; - _0_4_isSet = true; - t2 = false; - } + t3 = _0_4; + _0_11 = (t3 == null ? t2._as(t3) : t3).length; + t3 = _0_11; + t3 = t3 > 1; + } else + t3 = false; } else { - _0_11 = _null; - _0_4_isSet = true; _0_11_isSet = false; - t2 = true; + t3 = true; } - if (t2) { - t1 = _null; + if (t3) break $label0$0; - } - if (t1._is(combinators1)) { + if (t2._is(combinators1)) { if (_0_7_isSet) - t2 = _0_7; + t3 = _0_7; else { _0_7 = combinators1.length; - t2 = _0_7; + t3 = _0_7; } - t2 = t2 <= 0; - if (t2) + t3 = t3 <= 0; + if (t3) if (_0_4_isSet) combinators = _0_4; else { @@ -11756,30 +12085,31 @@ self.util = _cliPkgRequires.util; _0_4_isSet = true; } else - combinators = _null; + combinators = t1; + t1 = t3; } else { - combinators = _null; - t2 = false; + combinators = t1; + t1 = false; } - if (!t2) { + if (!t1) { + t1 = false; if (_0_4_isSet) - t2 = _0_4; + t3 = _0_4; else { - t2 = combinators2; - _0_4 = t2; + t3 = combinators2; + _0_4 = t3; _0_4_isSet = true; } - if (t1._is(t2)) { + if (t2._is(t3)) { if (_0_11_isSet) t1 = _0_11; else { - t2 = _0_4_isSet ? _0_4 : combinators2; - _0_11 = (t2 == null ? t1._as(t2) : t2).length; + t1 = _0_4_isSet ? _0_4 : combinators2; + _0_11 = (t1 == null ? t2._as(t1) : t1).length; t1 = _0_11; } t1 = t1 <= 0; - } else - t1 = false; + } combinators = combinators1; } else t1 = true; @@ -11793,7 +12123,7 @@ self.util = _cliPkgRequires.util; return t1; }, _mergeTrailingCombinators(components1, components2, span, result) { - var _0_1, t1, _1_1, t2, t3, _4_1, _4_3, _4_4_isSet, _4_4, _4_5, component1, component2, t4, t5, choices, _2_0, _4_4_isSet0, _4_9, _4_6_isSet, _4_6, _4_7, nextComponents, followingComponents, _4_7_isSet, _4_10_isSet, _4_10, _4_5_isSet, next, following, _3_0, siblingComponents_case_0, t0, siblingComponents_case_1, combinator1, combinator2, unified, combinator_case_0, combinatorComponents_case_0, descendantComponents_case_0, t6, combinator_case_1, descendantComponents_case_1, combinatorComponents_case_1, _null = null; + var _0_1, t1, _1_1, t2, t3, _4_1, _4_3, _4_4_isSet, _4_5, _4_4, component1, component2, t4, t5, choices, _2_0, _4_9, _4_6, _4_7, followingComponents, nextComponents, _4_4_isSet0, _4_6_isSet, _4_7_isSet, _4_10_isSet, _4_10, _4_5_isSet, next, following, _3_0, siblingComponents_case_0, siblingComponents_case_1, combinator1, t6, combinator2, unified, t7, combinator_case_0, combinatorComponents_case_0, descendantComponents_case_0, t0, combinator_case_1, descendantComponents_case_1, combinatorComponents_case_1, _null = null; if (result == null) result = A.QueueList$(_null, type$.List_List_ComplexSelectorComponent); $label0$0: { @@ -11802,7 +12132,7 @@ self.util = _cliPkgRequires.util; t1 = components1.$index(0, _0_1 - 1).combinators; break $label0$0; } - t1 = B.List_empty1; + t1 = B.List_empty0; break $label0$0; } $label1$1: { @@ -11811,7 +12141,7 @@ self.util = _cliPkgRequires.util; t2 = components2.$index(0, _1_1 - 1).combinators; break $label1$1; } - t2 = B.List_empty1; + t2 = B.List_empty0; break $label1$1; } t3 = t1.length; @@ -11827,15 +12157,14 @@ self.util = _cliPkgRequires.util; _4_1 = t2[0]; _4_3 = B.Combinator_y18 === _4_1; _4_4_isSet = _4_3; + _4_5 = _null; + _4_4 = _null; if (_4_4_isSet) { _4_4 = t2[1]; _4_5 = B.Combinator_y18 === _4_4; t3 = _4_5; - } else { - _4_4 = _null; - _4_5 = _4_4; + } else t3 = false; - } if (t3) { component1 = components1.removeLast$0(0); component2 = components2.removeLast$0(0); @@ -11858,6 +12187,11 @@ self.util = _cliPkgRequires.util; } break $label2$2; } + _4_9 = _null; + _4_6 = _null; + _4_7 = _null; + followingComponents = _null; + nextComponents = _null; if (_4_3) { if (_4_4_isSet) { t3 = _4_4; @@ -11874,26 +12208,17 @@ self.util = _cliPkgRequires.util; _4_7 = t2[3]; nextComponents = _4_7; followingComponents = _4_6; - } else { - nextComponents = _null; - followingComponents = nextComponents; - _4_7 = followingComponents; - _4_6 = _4_7; } t3 = _4_6_isSet; _4_7_isSet = t3; } else { - nextComponents = _null; - followingComponents = nextComponents; - _4_7 = followingComponents; - _4_6 = _4_7; - _4_9 = _4_6; _4_4_isSet0 = _4_4_isSet; _4_6_isSet = false; _4_7_isSet = false; t3 = false; } _4_10_isSet = !t3; + _4_10 = _null; if (_4_10_isSet) { _4_10 = B.Combinator_gRV === _4_1; t3 = _4_10; @@ -11937,7 +12262,6 @@ self.util = _cliPkgRequires.util; t3 = false; } } else { - _4_10 = _null; _4_5_isSet = _4_4_isSet; _4_4_isSet = _4_4_isSet0; t3 = true; @@ -11960,37 +12284,39 @@ self.util = _cliPkgRequires.util; } break $label2$2; } + t3 = _null; if (B.Combinator_8I8 === _4_1) { + _4_4_isSet0 = true; if (_4_3) - t3 = _4_9; + t4 = _4_9; else { if (_4_4_isSet) - t3 = _4_4; + t4 = _4_4; else { _4_4 = t2[1]; - t3 = _4_4; - _4_4_isSet = true; + t4 = _4_4; + _4_4_isSet = _4_4_isSet0; } - _4_9 = B.Combinator_gRV === t3; - t3 = _4_9; + _4_9 = B.Combinator_gRV === t4; + t4 = _4_9; } - if (!t3) + if (!t4) if (_4_5_isSet) - t3 = _4_5; + t4 = _4_5; else { if (_4_4_isSet) - t3 = _4_4; + t4 = _4_4; else { _4_4 = t2[1]; - t3 = _4_4; - _4_4_isSet = true; + t4 = _4_4; + _4_4_isSet = _4_4_isSet0; } - _4_5 = B.Combinator_y18 === t3; - t3 = _4_5; + _4_5 = B.Combinator_y18 === t4; + t4 = _4_5; } else - t3 = true; - if (t3) { + t4 = true; + if (t4) { if (_4_7_isSet) siblingComponents_case_0 = _4_7; else { @@ -11998,16 +12324,10 @@ self.util = _cliPkgRequires.util; siblingComponents_case_0 = _4_7; _4_7_isSet = true; } - t4 = siblingComponents_case_0; - } else - t4 = _null; - t0 = t4; - t4 = t3; - t3 = t0; - } else { - t3 = _null; + t3 = siblingComponents_case_0; + } + } else t4 = false; - } if (!t4) { if (_4_10_isSet) t4 = _4_10; @@ -12048,28 +12368,28 @@ self.util = _cliPkgRequires.util; } t3 = _4_1 == null; t4 = !t3; + t5 = false; if (t4) { + _4_4_isSet0 = true; combinator1 = _4_1; if (_4_4_isSet) - t5 = _4_4; + t6 = _4_4; else { _4_4 = t2[1]; - t5 = _4_4; - _4_4_isSet = true; + t6 = _4_4; + _4_4_isSet = _4_4_isSet0; } - if (t5 != null) { + if (t6 != null) { if (_4_4_isSet) combinator2 = _4_4; else { _4_4 = t2[1]; combinator2 = _4_4; - _4_4_isSet = true; + _4_4_isSet = _4_4_isSet0; } t5 = combinator1 === (combinator2 == null ? type$.Combinator._as(combinator2) : combinator2); - } else - t5 = false; - } else - t5 = false; + } + } if (t5) { unified = A.unifyCompound(components1.removeLast$0(0).selector, components2.removeLast$0(0).selector); if (unified == null) @@ -12077,17 +12397,21 @@ self.util = _cliPkgRequires.util; result.addFirst$1(A._setArrayType([A._setArrayType([new A.ComplexSelectorComponent(unified, A.List_List$unmodifiable(A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_CssValue_Combinator), type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent)], type$.JSArray_List_ComplexSelectorComponent)); break $label2$2; } + t1 = _null; + t5 = _null; + t6 = _null; + t7 = false; if (t4) { combinator_case_0 = _4_1; if (_4_4_isSet) - t1 = _4_4; + t4 = _4_4; else { _4_4 = t2[1]; - t1 = _4_4; + t4 = _4_4; _4_4_isSet = true; } - t1 = t1 == null; - if (t1) { + t4 = t4 == null; + if (t4) { if (_4_6_isSet) combinatorComponents_case_0 = _4_6; else { @@ -12102,25 +12426,19 @@ self.util = _cliPkgRequires.util; descendantComponents_case_0 = _4_7; _4_7_isSet = true; } - t4 = descendantComponents_case_0; - t6 = t4; - t4 = combinator_case_0; + t1 = descendantComponents_case_0; + t6 = t1; + t1 = combinator_case_0; t5 = combinatorComponents_case_0; - } else { - t6 = _null; - t5 = t6; - t4 = t5; } t0 = t6; - t6 = t1; - t1 = t4; + t6 = t4; t4 = t5; t5 = t0; } else { - t5 = _null; t4 = t5; - t1 = t4; - t6 = false; + t5 = t6; + t6 = t7; } if (!t6) if (t3) { @@ -12207,15 +12525,14 @@ self.util = _cliPkgRequires.util; _0_4 = chunk1.length <= 0; _0_5_isSet = _0_4; _0_1 = chunk1; + _0_7 = _null; + _0_5 = _null; if (_0_5_isSet) { _0_7 = chunk2.length <= 0; t1 = _0_7; _0_5 = chunk2; - } else { - _0_5 = _null; - _0_7 = _0_5; + } else t1 = false; - } if (t1) { t1 = A._setArrayType([], $T._eval$1("JSArray>")); break $label0$0; @@ -12287,7 +12604,7 @@ self.util = _cliPkgRequires.util; if (J.get$length$asx(complex1) > J.get$length$asx(complex2)) return false; t1 = $.$get$bogusSpan(); - base = new A.ComplexSelectorComponent(A.CompoundSelector$(A._setArrayType([new A.PlaceholderSelector("", t1)], type$.JSArray_SimpleSelector), t1), A.List_List$unmodifiable(B.List_empty1, type$.CssValue_Combinator), t1); + base = new A.ComplexSelectorComponent(A.CompoundSelector$(A._setArrayType([new A.PlaceholderSelector("", t1)], type$.JSArray_SimpleSelector), t1), A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), t1); t1 = type$.ComplexSelectorComponent; t2 = A.List_List$of(complex1, true, t1); t2.push(base); @@ -12296,120 +12613,123 @@ self.util = _cliPkgRequires.util; return A.complexIsSuperselector(t2, t1); }, complexIsSuperselector(complex1, complex2) { - var t1, t2, t3, i1, i2, previousCombinator, remaining1, t4, remaining2, component1, t5, parents, endOfSubselector, component2, combinator1; + var t1, t2, previousCombinator, i1, i2, remaining1, remaining2, component1, t3, t4, endOfSubselector, component2, t5, combinator1, _null = null; if (B.JSArray_methods.get$last(complex1).combinators.length !== 0) return false; if (B.JSArray_methods.get$last(complex2).combinators.length !== 0) return false; - for (t1 = type$.JSArray_ComplexSelectorComponent, t2 = A._arrayInstanceType(complex2), t3 = t2._precomputed1, t2 = t2._eval$1("SubListIterable<1>"), i1 = 0, i2 = 0, previousCombinator = null; true; previousCombinator = combinator1) { + for (t1 = A._arrayInstanceType(complex2), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), previousCombinator = _null, i1 = 0, i2 = 0; true; previousCombinator = combinator1) { remaining1 = complex1.length - i1; - t4 = complex2.length; - remaining2 = t4 - i2; + remaining2 = complex2.length - i2; if (remaining1 === 0 || remaining2 === 0) return false; if (remaining1 > remaining2) return false; component1 = complex1[i1]; - t5 = component1.combinators; - if (t5.length > 1) + t3 = component1.combinators; + if (t3.length > 1) return false; - if (remaining1 === 1) { - parents = B.JSArray_methods.sublist$2(complex2, i2, t4 - 1); - if (B.JSArray_methods.any$1(parents, new A.complexIsSuperselector_closure())) + if (remaining1 === 1) + if (B.JSArray_methods.any$1(complex2, new A.complexIsSuperselector_closure())) return false; - return A.compoundIsSuperselector(component1.selector, B.JSArray_methods.get$last(complex2).selector, parents); - } - for (t4 = component1.selector, endOfSubselector = i2, parents = null; true;) { + else { + t1 = component1.selector; + t2 = B.JSArray_methods.get$last(complex2).selector; + return A.compoundIsSuperselector(t1, t2, t1.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, complex2.length - 1) : _null); + } + for (t4 = component1.selector, endOfSubselector = i2; true;) { component2 = complex2[endOfSubselector]; if (component2.combinators.length > 1) return false; - if (A.compoundIsSuperselector(t4, component2.selector, parents)) + t5 = component2.selector; + if (A.compoundIsSuperselector(t4, t5, t4.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, endOfSubselector) : _null)) break; ++endOfSubselector; if (endOfSubselector === complex2.length - 1) return false; - if (parents == null) - parents = A._setArrayType([], t1); - parents.push(component2); } - if (!A._compatibleWithPreviousCombinator(previousCombinator, parents == null ? B.List_empty0 : parents)) + t4 = new A.SubListIterable(complex2, 0, endOfSubselector, t1); + t4.SubListIterable$3(complex2, 0, endOfSubselector, t2); + if (!A._compatibleWithPreviousCombinator(previousCombinator, t4.skip$1(0, i2))) return false; component2 = complex2[endOfSubselector]; - combinator1 = A.IterableExtension_get_firstOrNull(t5); + combinator1 = A.IterableExtension_get_firstOrNull(t3); if (!A._isSupercombinator(combinator1, A.IterableExtension_get_firstOrNull(component2.combinators))) return false; ++i1; i2 = endOfSubselector + 1; if (complex1.length - i1 === 1) { - t4 = combinator1 == null; - if (J.$eq$(t4 ? null : combinator1.value, B.Combinator_y18)) { - t4 = complex2.length - 1; - t5 = new A.SubListIterable(complex2, 0, t4, t2); - t5.SubListIterable$3(complex2, 0, t4, t3); - if (!t5.skip$1(0, i2).every$1(0, new A.complexIsSuperselector_closure0(combinator1))) + t3 = combinator1 == null; + if (J.$eq$(t3 ? _null : combinator1.value, B.Combinator_y18)) { + t3 = complex2.length - 1; + t4 = new A.SubListIterable(complex2, 0, t3, t1); + t4.SubListIterable$3(complex2, 0, t3, t2); + if (!t4.skip$1(0, i2).every$1(0, new A.complexIsSuperselector_closure0(combinator1))) return false; - } else if (!t4) + } else if (!t3) if (complex2.length - i2 > 1) return false; } } }, _compatibleWithPreviousCombinator(previous, parents) { - if (parents.length === 0) + if (parents.get$isEmpty(parents)) return true; if (previous == null) return true; if (previous.value !== B.Combinator_y18) return false; - return B.JSArray_methods.every$1(parents, new A._compatibleWithPreviousCombinator_closure()); + return parents.every$1(0, new A._compatibleWithPreviousCombinator_closure()); }, _isSupercombinator(combinator1, combinator2) { - var t1, t2; + var t2, t3, + t1 = true; if (!J.$eq$(combinator1, combinator2)) { - t1 = combinator1 == null; - if (t1) - t2 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_8I8); + t2 = combinator1 == null; + if (t2) + t3 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_8I8); else - t2 = false; - if (!t2) - if (J.$eq$(t1 ? null : combinator1.value, B.Combinator_y18)) + t3 = false; + if (!t3) + if (J.$eq$(t2 ? null : combinator1.value, B.Combinator_y18)) t1 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_gRV); else t1 = false; - else - t1 = true; - } else - t1 = true; + } return t1; }, compoundIsSuperselector(compound1, compound2, parents) { - var t2, pseudo1, index1, t3, pseudo2, index2, _0_50, t4, t5, _i, simple1, _null = null, - _0_1 = A._findPseudoElementIndexed(compound1), - _0_5 = A._findPseudoElementIndexed(compound2), - t1 = type$.Record_2_nullable_Object_and_nullable_Object, - _0_5_isSet = t1._is(_0_1); + var t1, _0_1, _0_5, _0_5_isSet, _0_50, index1, pseudo2, index2, t2, t3, pseudo1, t4, t5, _i, simple1, _null = null; + if (!compound1.get$hasComplicatedSuperselectorSemantics() && !compound2.get$hasComplicatedSuperselectorSemantics()) { + t1 = compound1.components; + if (t1.length > compound2.components.length) + return false; + return B.JSArray_methods.every$1(t1, new A.compoundIsSuperselector_closure(compound2)); + } + _0_1 = A._findPseudoElementIndexed(compound1); + _0_5 = A._findPseudoElementIndexed(compound2); + t1 = type$.Record_2_nullable_Object_and_nullable_Object; + _0_5_isSet = t1._is(_0_1); + _0_50 = _null; + index1 = _null; + pseudo2 = _null; + index2 = _null; + t2 = false; if (_0_5_isSet) { - t2 = _0_1 == null; - pseudo1 = (t2 ? t1._as(_0_1) : _0_1)._0; - index1 = (t2 ? t1._as(_0_1) : _0_1)._1; + t3 = _0_1 == null; + pseudo1 = (t3 ? t1._as(_0_1) : _0_1)._0; + index1 = (t3 ? t1._as(_0_1) : _0_1)._1; t2 = t1._is(_0_5); if (t2) { t3 = _0_5 == null; pseudo2 = (t3 ? t1._as(_0_5) : _0_5)._0; index2 = (t3 ? t1._as(_0_5) : _0_5)._1; - } else { - index2 = _null; - pseudo2 = index2; } t1 = t2; _0_50 = _0_5; } else { - index2 = _null; - pseudo2 = index2; - index1 = pseudo2; - pseudo1 = index1; - _0_50 = pseudo1; - t1 = false; + t1 = t2; + pseudo1 = _null; } if (t1) { if (pseudo1.isSuperselector$1(pseudo2)) { @@ -12490,7 +12810,7 @@ self.util = _cliPkgRequires.util; }, _selectorPseudoArgs(compound, $name, isClass) { var t1 = type$.WhereTypeIterable_PseudoSelector; - return A.IterableNullableExtension_whereNotNull(new A.MappedIterable(new A.WhereIterable(new A.WhereTypeIterable(compound.components, t1), new A._selectorPseudoArgs_closure(isClass, $name), t1._eval$1("WhereIterable")), new A._selectorPseudoArgs_closure0(), t1._eval$1("MappedIterable")), type$.SelectorList); + return new A.NonNullsIterable(new A.MappedIterable(new A.WhereIterable(new A.WhereTypeIterable(compound.components, t1), new A._selectorPseudoArgs_closure(isClass, $name), t1._eval$1("WhereIterable")), new A._selectorPseudoArgs_closure0(), t1._eval$1("MappedIterable")), type$.NonNullsIterable_SelectorList); }, unifyComplex_closure: function unifyComplex_closure() { }, @@ -12534,6 +12854,9 @@ self.util = _cliPkgRequires.util; }, _compatibleWithPreviousCombinator_closure: function _compatibleWithPreviousCombinator_closure() { }, + compoundIsSuperselector_closure: function compoundIsSuperselector_closure(t0) { + this.compound2 = t0; + }, _selectorPseudoIsSuperselector_closure: function _selectorPseudoIsSuperselector_closure(t0) { this.selector1 = t0; }, @@ -12614,82 +12937,368 @@ self.util = _cliPkgRequires.util; }, globalFunctions_closure: function globalFunctions_closure() { }, - _updateComponents($arguments, adjust, change, scale) { - var keywords, alpha, red, green, blue, hue, saturation, lightness, whiteness, blackness, hasRgb, hasSL, hasWB, t2, t3, t4, t5, _null = null, + _invert($arguments, global) { + var t2, color, rgb, channel2, space, weight, inSpace, t3, _1_9, channel0, channel1, t4, _s6_ = "weight", _s5_ = "space", + t1 = J.getInterceptor$asx($arguments), + weightNumber = t1.$index($arguments, 1).assertNumber$1(_s6_); + if (!(t1.$index($arguments, 0) instanceof A.SassNumber)) + t2 = global && t1.$index($arguments, 0).get$isSpecialNumber(); + else + t2 = true; + if (t2) { + if (weightNumber._number$_value !== 100 || !weightNumber.hasUnit$1("%")) + throw A.wrapException(string$.Only_oa); + return A._functionString("invert", t1.take$1($arguments, 1)); + } + color = t1.$index($arguments, 0).assertColor$1("color"); + if (J.$eq$(t1.$index($arguments, 2), B.C__SassNull)) { + t1 = color._space; + if (!t1.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.To_usei + color.toString$0(0) + ", you must provide a $space.", "color")); + A._checkPercent(weightNumber, _s6_); + rgb = color.toSpace$1(B.RgbColorSpace_mlz); + channel2 = B.LinearChannel_Npb; + return A._mixLegacy(A.SassColor_SassColor$rgbInternal(A._invertChannel(rgb, B.LinearChannel_bdu, rgb.channel0OrNull), A._invertChannel(rgb, B.LinearChannel_kUZ, rgb.channel1OrNull), A._invertChannel(rgb, channel2, rgb.channel2OrNull), color.alphaOrNull, null), color, weightNumber).toSpace$1(t1); + } + t1 = t1.$index($arguments, 2).assertString$1(_s5_); + t1.assertUnquoted$1(_s5_); + space = A.ColorSpace_fromName(t1._string$_text, _s5_); + weight = weightNumber.valueInRangeWithUnit$4(0, 100, _s6_, "%") / 100; + if (A.fuzzyEquals(weight, 0)) + return color; + inSpace = color.toSpace$1(space); + $label0$0: { + if (B.HwbColorSpace_06z === space) { + t1 = A._invertChannel(inSpace, space._channels[0], inSpace.channel0OrNull); + t2 = inSpace.alphaOrNull; + if (t2 == null) + t2 = 0; + t2 = A.SassColor_SassColor$hwb(t1, inSpace.channel2OrNull, inSpace.channel1OrNull, t2); + t1 = t2; + break $label0$0; + } + if (B.HslColorSpace_gsm === space || B.LchColorSpace_wv8 === space || B.OklchColorSpace_li8 === space) { + t1 = space._channels; + t2 = A._invertChannel(inSpace, t1[0], inSpace.channel0OrNull); + t1 = A._invertChannel(inSpace, t1[2], inSpace.channel2OrNull); + t3 = inSpace.alphaOrNull; + if (t3 == null) + t3 = 0; + t3 = A.SassColor_SassColor$forSpaceInternal(space, t2, inSpace.channel1OrNull, t1, t3); + t1 = t3; + break $label0$0; + } + _1_9 = space._channels; + channel0 = _1_9[0]; + channel1 = _1_9[1]; + channel2 = _1_9[2]; + t1 = A._invertChannel(inSpace, channel0, inSpace.channel0OrNull); + t2 = A._invertChannel(inSpace, channel1, inSpace.channel1OrNull); + t3 = A._invertChannel(inSpace, channel2, inSpace.channel2OrNull); + t4 = inSpace.alphaOrNull; + t1 = A.SassColor_SassColor$forSpaceInternal(space, t1, t2, t3, t4 == null ? 0 : t4); + break $label0$0; + } + return A.fuzzyEquals(weight, 1) ? t1.toSpace$2$legacyMissing(color._space, false) : color.interpolate$4$legacyMissing$weight(t1, A.InterpolationMethod$(space, null), false, 1 - weight); + }, + _invertChannel(color, channel, value) { + var _0_2_isSet, _0_2, t1; + if (value == null) + A._missingChannelError(color, channel.name); + $label0$0: { + _0_2_isSet = channel instanceof A.LinearChannel; + if (_0_2_isSet) { + _0_2 = channel.min; + t1 = _0_2 < 0; + } else { + _0_2 = null; + t1 = false; + } + if (t1) { + t1 = -value; + break $label0$0; + } + if (_0_2_isSet) + t1 = 0 === _0_2; + else + t1 = false; + if (t1) { + t1 = channel.max - value; + break $label0$0; + } + if (channel.isPolarAngle) { + t1 = B.JSNumber_methods.$mod(value + 180, 360); + break $label0$0; + } + t1 = A.throwExpression(A.UnsupportedError$("Unknown channel " + channel.toString$0(0) + ".")); + } + return t1; + }, + _grayscale(colorArg) { + var hsl, t2, oklch, + color = colorArg.assertColor$1("color"), + t1 = color._space; + if (t1.get$isLegacyInternal()) { + hsl = color.toSpace$1(B.HslColorSpace_gsm); + t2 = hsl.alphaOrNull; + if (t2 == null) + t2 = 0; + return A.SassColor_SassColor$hsl(hsl.channel0OrNull, 0, hsl.channel2OrNull, t2).toSpace$2$legacyMissing(t1, false); + } else { + oklch = color.toSpace$1(B.OklchColorSpace_li8); + t2 = oklch.alphaOrNull; + if (t2 == null) + t2 = 0; + return A.SassColor_SassColor$forSpaceInternal(B.OklchColorSpace_li8, oklch.channel0OrNull, 0, oklch.channel2OrNull, t2).toSpace$1(t1); + } + }, + _updateComponents($arguments, adjust, change, scale) { + var t2, t3, keywords, originalColor, spaceKeyword, alphaArg, color, channelArgs, channelInfo, t4, value, channelIndex, result, i, alphaNumber, _null = null, _s5_ = "space", t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"), argumentList = type$.SassArgumentList._as(t1.$index($arguments, 1)); if (argumentList._list$_contents.length !== 0) throw A.wrapException(A.SassScriptException$(string$.Only_op, _null)); argumentList._wereKeywordsAccessed = true; - keywords = A.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, type$.String, type$.Value); - t1 = new A._updateComponents_getParam(keywords, scale, change); - alpha = t1.call$3$checkUnitless("alpha", 1, true); - red = t1.call$2("red", 255); - green = t1.call$2("green", 255); - blue = t1.call$2("blue", 255); - hue = scale ? _null : A.NullableExtension_andThen(keywords.remove$1(0, "hue"), new A._updateComponents_closure()); - saturation = t1.call$3$checkPercent("saturation", 100, true); - lightness = t1.call$3$checkPercent("lightness", 100, true); - whiteness = t1.call$3$assertPercent("whiteness", 100, true); - blackness = t1.call$3$assertPercent("blackness", 100, true); - t1 = keywords.__js_helper$_length; - if (t1 !== 0) - throw A.wrapException(A.SassScriptException$("No " + A.pluralize("argument", t1, _null) + " named " + A.toSentence(keywords.get$keys(0).map$1$1(0, new A._updateComponents_closure0(), type$.Object), "or") + ".", _null)); - hasRgb = red != null || green != null || blue != null; - hasSL = saturation != null || lightness != null; - hasWB = whiteness != null || blackness != null; - if (hasRgb) - t1 = hasSL || hasWB || hue != null; + t2 = type$.String; + t3 = type$.Value; + keywords = A.LinkedHashMap_LinkedHashMap$of(argumentList._keywords, t2, t3); + originalColor = t1.$index($arguments, 0).assertColor$1("color"); + t1 = keywords.remove$1(0, _s5_); + spaceKeyword = t1 == null ? _null : t1.assertString$1(_s5_); + if (spaceKeyword == null) + spaceKeyword = _null; else - t1 = false; - if (t1) - throw A.wrapException(A.SassScriptException$(string$.RGB_pa + (hasWB ? "HWB" : "HSL") + " parameters.", _null)); - if (hasSL && hasWB) - throw A.wrapException(A.SassScriptException$(string$.HSL_pa, _null)); - t1 = new A._updateComponents_updateValue(change, adjust); - t2 = new A._updateComponents_updateRgb(t1); - if (hasRgb) { - t3 = t2.call$2(color.get$red(0), red); - t4 = t2.call$2(color.get$green(0), green); - t2 = t2.call$2(color.get$blue(0), blue); - return color.changeRgb$4$alpha$blue$green$red(t1.call$3(color._alpha, alpha, 1), t2, t4, t3); - } else if (hasWB) { - if (change) - t2 = hue; - else { - t2 = color.get$hue(0); - t2 += hue == null ? 0 : hue; - } - t3 = t1.call$3(color.get$whiteness(0), whiteness, 100); - t4 = t1.call$3(color.get$blackness(0), blackness, 100); - t5 = color._alpha; - t1 = t1.call$3(t5, alpha, 1); - if (t2 == null) - t2 = color.get$hue(0); - if (t3 == null) - t3 = color.get$whiteness(0); - if (t4 == null) - t4 = color.get$blackness(0); - return A.SassColor_SassColor$hwb(t2, t3, t4, t1 == null ? t5 : t1); - } else { - t2 = hue == null; - if (!t2 || hasSL) { - if (change) - t2 = hue; - else { - t3 = color.get$hue(0); - t3 += t2 ? 0 : hue; - t2 = t3; - } - t3 = t1.call$3(color.get$saturation(0), saturation, 100); - t4 = t1.call$3(color.get$lightness(0), lightness, 100); - return color.changeHsl$4$alpha$hue$lightness$saturation(t1.call$3(color._alpha, alpha, 1), t2, t4, t3); - } else if (alpha != null) - return color.changeAlpha$1(t1.call$3(color._alpha, alpha, 1)); - else - return color; + spaceKeyword.assertUnquoted$1(_s5_); + alphaArg = keywords.remove$1(0, "alpha"); + t1 = spaceKeyword == null; + if (t1 && originalColor._space.get$isLegacyInternal() && keywords.__js_helper$_length !== 0) { + t1 = A.NullableExtension_andThen(A._sniffLegacyColorSpace(keywords), new A._updateComponents_closure(originalColor)); + color = t1 == null ? originalColor : t1; + } else + color = A._colorInSpace(originalColor, t1 ? B.C__SassNull : spaceKeyword, true); + channelArgs = A.List_List$filled(color.get$channels().length, _null, false, type$.nullable_Value); + t1 = color._space; + channelInfo = t1._channels; + for (t2 = A.MapExtensions_get_pairs(keywords, t2, t3), t2 = t2.get$iterator(t2); t2.moveNext$0();) { + t3 = {}; + t4 = t2.get$current(t2); + t3.name = null; + t3.name = t4._0; + value = t4._1; + channelIndex = B.JSArray_methods.indexWhere$1(channelInfo, new A._updateComponents_closure0(t3)); + if (channelIndex === -1) + throw A.wrapException(A.SassScriptException$("Color space " + t1.toString$0(0) + " doesn't have a channel with this name.", t3.name)); + channelArgs[channelIndex] = value; } + if (change) + result = A._changeColor(color, channelArgs, alphaArg); + else { + t2 = A._setArrayType([], type$.JSArray_nullable_SassNumber); + for (i = 0; i < 3; ++i) { + t3 = channelArgs[i]; + t2.push(t3 == null ? _null : t3.assertNumber$1(channelInfo[i].name)); + } + alphaNumber = alphaArg == null ? _null : alphaArg.assertNumber$1("alpha"); + result = scale ? A.SassColor_SassColor$forSpaceInternal(t1, A._scaleChannel(color, channelInfo[0], color.channel0OrNull, t2[0]), A._scaleChannel(color, channelInfo[1], color.channel1OrNull, t2[1]), A._scaleChannel(color, channelInfo[2], color.channel2OrNull, t2[2]), A._scaleChannel(color, B.LinearChannel_omH, color.alphaOrNull, alphaNumber)) : A._adjustColor(color, t2, alphaNumber); + } + return result.toSpace$2$legacyMissing(originalColor._space, false); + }, + _changeColor(color, channelArgs, alphaArg) { + var t4, _s5_ = "alpha", + t1 = A._channelForChange(channelArgs[0], color, 0), + t2 = A._channelForChange(channelArgs[1], color, 1), + t3 = A._channelForChange(channelArgs[2], color, 2); + $label0$0: { + if (alphaArg == null) { + t4 = color.alphaOrNull; + if (t4 == null) + t4 = 0; + break $label0$0; + } + t4 = A._isNone(alphaArg); + if (t4) { + t4 = null; + break $label0$0; + } + t4 = alphaArg instanceof A.SassNumber; + if (t4 && !alphaArg.get$hasUnits()) { + t4 = alphaArg.valueInRange$3(0, 1, _s5_); + break $label0$0; + } + if (t4 && alphaArg.hasUnit$1("%")) { + t4 = alphaArg.valueInRangeWithUnit$4(0, 100, _s5_, "%") / 100; + break $label0$0; + } + if (t4) { + t4 = new A._changeColor_closure(alphaArg).call$0(); + break $label0$0; + } + t4 = A.throwExpression(A.SassScriptException$(alphaArg.toString$0(0) + ' is not a number or unquoted "none".', _s5_)); + } + return A._colorFromChannels(color._space, t1, t2, t3, t4, false, false); + }, + _channelForChange(channelArg, color, channel) { + var _0_0, t1, t2; + if (channelArg == null) { + _0_0 = color.get$channelsOrNull()[channel]; + $label0$0: { + if (_0_0 != null) { + t1 = color._space; + t2 = A.SassNumber_SassNumber(_0_0, (t1 === B.HslColorSpace_gsm || t1 === B.HwbColorSpace_06z) && channel > 0 ? "%" : null); + t1 = t2; + break $label0$0; + } + t1 = null; + break $label0$0; + } + return t1; + } + if (A._isNone(channelArg)) + return null; + if (channelArg instanceof A.SassNumber) + return channelArg; + throw A.wrapException(A.SassScriptException$(channelArg.toString$0(0) + ' is not a number or unquoted "none".', color._space._channels[channel].name)); + }, + _scaleChannel(color, channel, oldValue, factorArg) { + var t1, factor; + if (factorArg == null) + return oldValue; + if (!(channel instanceof A.LinearChannel)) + throw A.wrapException(A.SassScriptException$("Channel isn't scalable.", channel.name)); + if (oldValue == null) + A._missingChannelError(color, channel.name); + t1 = channel.name; + factorArg.assertUnit$2("%", t1); + factor = factorArg.valueInRangeWithUnit$4(-100, 100, t1, "%") / 100; + $label0$0: { + if (0 === factor) { + t1 = oldValue; + break $label0$0; + } + if (factor > 0) { + t1 = channel.max; + t1 = oldValue >= t1 ? oldValue : oldValue + (t1 - oldValue) * factor; + break $label0$0; + } + t1 = channel.min; + t1 = oldValue <= t1 ? oldValue : oldValue + (oldValue - t1) * factor; + break $label0$0; + } + return t1; + }, + _adjustColor(color, channelArgs, alphaArg) { + var t1 = color._space, + t2 = t1._channels; + return A.SassColor_SassColor$forSpaceInternal(t1, A._adjustChannel(color, t2[0], color.channel0OrNull, channelArgs[0]), A._adjustChannel(color, t2[1], color.channel1OrNull, channelArgs[1]), A._adjustChannel(color, t2[2], color.channel2OrNull, channelArgs[2]), A.NullableExtension_andThen(A._adjustChannel(color, B.LinearChannel_omH, color.alphaOrNull, alphaArg), new A._adjustColor_closure())); + }, + _adjustChannel(color, channel, oldValue, adjustmentArg) { + var _0_1, _0_3, t1, _0_6_isSet, _0_6, _0_6_isSet0, t2, _0_11, result, min, max, _null = null; + if (adjustmentArg == null) + return oldValue; + if (oldValue == null) + A._missingChannelError(color, channel.name); + $label0$0: { + _0_1 = color._space; + _0_3 = B.HslColorSpace_gsm === _0_1; + t1 = _0_3; + if (!t1) + _0_6_isSet = B.HwbColorSpace_06z === _0_1; + else + _0_6_isSet = true; + if (_0_6_isSet) { + t1 = channel.isPolarAngle; + _0_6 = channel; + } else { + _0_6 = _null; + t1 = false; + } + if (t1) { + adjustmentArg = A.SassNumber_SassNumber(A._angleValue(adjustmentArg, "hue"), _null); + break $label0$0; + } + t1 = false; + if (_0_3) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t2 = _0_6; + else { + t2 = channel; + _0_6_isSet = _0_6_isSet0; + _0_6 = t2; + } + if (t2 instanceof A.LinearChannel) { + if (_0_6_isSet) + t1 = _0_6; + else { + t1 = channel; + _0_6_isSet = _0_6_isSet0; + _0_6 = t1; + } + _0_11 = type$.LinearChannel._as(t1).name; + t1 = _0_11; + if ("saturation" !== t1) + t1 = "lightness" === _0_11; + else + t1 = true; + } + } + if (t1) { + A._checkPercent(adjustmentArg, channel.name); + adjustmentArg = A.SassNumber_SassNumber(adjustmentArg._number$_value, "%"); + break $label0$0; + } + if (B.LinearChannel_omH === (_0_6_isSet ? _0_6 : channel) && adjustmentArg.get$hasUnits()) { + A.warnForDeprecation("$alpha: Passing a number with unit " + adjustmentArg.get$unitString() + string$.x20is_de + adjustmentArg.unitSuggestion$1("alpha") + string$.x0a_Morex3af, B.Deprecation_int); + adjustmentArg = A.SassNumber_SassNumber(adjustmentArg._number$_value, _null); + } + } + t1 = A._channelFromValue(channel, adjustmentArg, false); + t1.toString; + result = oldValue + t1; + $label1$1: { + t1 = channel instanceof A.LinearChannel; + min = _null; + t2 = false; + if (t1) + if (channel.lowerClamped) { + min = channel.min; + t2 = result < min; + } + if (t2) { + t1 = oldValue < min ? Math.max(oldValue, result) : min; + break $label1$1; + } + max = _null; + t2 = false; + if (t1) + if (channel.upperClamped) { + max = channel.max; + t1 = result > max; + } else + t1 = t2; + else + t1 = t2; + if (t1) { + t1 = oldValue > max ? Math.min(oldValue, result) : max; + break $label1$1; + } + t1 = result; + break $label1$1; + } + return t1; + }, + _sniffLegacyColorSpace(keywords) { + var t1, t2; + for (t1 = A.LinkedHashMapKeyIterator$(keywords, keywords.__js_helper$_modifications); t1.moveNext$0();) { + t2 = t1.__js_helper$_current; + if ("red" === t2 || "green" === t2 || "blue" === t2) + return B.RgbColorSpace_mlz; + if ("saturation" === t2 || "lightness" === t2) + return B.HslColorSpace_gsm; + if ("whiteness" === t2 || "blackness" === t2) + return B.HwbColorSpace_06z; + } + return keywords.containsKey$1("hue") ? B.HslColorSpace_gsm : null; }, _functionString($name, $arguments) { return new A.SassString($name + "(" + J.map$1$1$ax($arguments, new A._functionString_closure(), type$.String).join$1(0, ", ") + ")", false); @@ -12698,224 +13307,75 @@ self.util = _cliPkgRequires.util; return A.BuiltInCallable$function($name, "$color, $amount", new A._removedColorFunction_closure($name, argument, negative), "sass:color"); }, _rgb($name, $arguments) { - var t2, red, green, blue, t3, t4, + var t3, t4, t1 = J.getInterceptor$asx($arguments), - alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null; + alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null, + t2 = true; if (!t1.$index($arguments, 0).get$isSpecialNumber()) if (!t1.$index($arguments, 1).get$isSpecialNumber()) if (!t1.$index($arguments, 2).get$isSpecialNumber()) { t2 = alpha == null ? null : alpha.get$isSpecialNumber(); t2 = t2 === true; - } else - t2 = true; - else - t2 = true; - else - t2 = true; + } if (t2) return A._functionString($name, $arguments); - red = t1.$index($arguments, 0).assertNumber$1("red"); - green = t1.$index($arguments, 1).assertNumber$1("green"); - blue = t1.$index($arguments, 2).assertNumber$1("blue"); - t1 = A.fuzzyRound(A._percentageOrUnitless(red, 255, "red")); - t2 = A.fuzzyRound(A._percentageOrUnitless(green, 255, "green")); - t3 = A.fuzzyRound(A._percentageOrUnitless(blue, 255, "blue")); + t2 = t1.$index($arguments, 0).assertNumber$1("red"); + t3 = t1.$index($arguments, 1).assertNumber$1("green"); + t1 = t1.$index($arguments, 2).assertNumber$1("blue"); t4 = A.NullableExtension_andThen(alpha, new A._rgb_closure()); - return A.SassColor$rgbInternal(t1, t2, t3, t4 == null ? 1 : t4, B._ColorFormatEnum_rgbFunction); + return A._colorFromChannels(B.RgbColorSpace_mlz, t2, t3, t1, t4 == null ? 1 : t4, true, true); }, _rgbTwoArg($name, $arguments) { var t2, color, - t1 = J.getInterceptor$asx($arguments); - if (!t1.$index($arguments, 0).get$isVar()) - t2 = !(t1.$index($arguments, 0) instanceof A.SassColor) && t1.$index($arguments, 1).get$isVar(); + t1 = J.getInterceptor$asx($arguments), + first = t1.$index($arguments, 0), + second = t1.$index($arguments, 1); + if (!first.get$isVar()) + t2 = !(first instanceof A.SassColor) && second.get$isVar(); else t2 = true; if (t2) return A._functionString($name, $arguments); - else if (t1.$index($arguments, 1).get$isSpecialNumber()) { - color = t1.$index($arguments, 0).assertColor$1("color"); - return new A.SassString($name + "(" + color.get$red(0) + ", " + color.get$green(0) + ", " + color.get$blue(0) + ", " + A.serializeValue(t1.$index($arguments, 1), false, true) + ")", false); - } - return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(A._percentageOrUnitless(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha")); + color = first.assertColor$1("color"); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$("Expected " + color.toString$0(0) + string$.x20to_be_ + color.toString$0(0) + ", $alpha: " + second.toString$0(0) + ")", $name)); + color.assertLegacy$1("color"); + color = color.toSpace$1(B.RgbColorSpace_mlz); + if (second.get$isSpecialNumber()) + return A._functionString($name, A._setArrayType([A.SassNumber_SassNumber(color.channel$1(0, "red"), null), A.SassNumber_SassNumber(color.channel$1(0, "green"), null), A.SassNumber_SassNumber(color.channel$1(0, "blue"), null), t1.$index($arguments, 1)], type$.JSArray_Value)); + t1 = A._percentageOrUnitless(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha"); + return color.changeAlpha$1(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1)); }, _hsl($name, $arguments) { - var t2, hue, saturation, lightness, t3, - _s10_ = "saturation", - _s9_ = "lightness", + var t3, t4, t1 = J.getInterceptor$asx($arguments), - alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null; + alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null, + t2 = true; if (!t1.$index($arguments, 0).get$isSpecialNumber()) if (!t1.$index($arguments, 1).get$isSpecialNumber()) if (!t1.$index($arguments, 2).get$isSpecialNumber()) { t2 = alpha == null ? null : alpha.get$isSpecialNumber(); t2 = t2 === true; - } else - t2 = true; - else - t2 = true; - else - t2 = true; + } if (t2) return A._functionString($name, $arguments); - hue = A._angleValue(t1.$index($arguments, 0), "hue"); - saturation = t1.$index($arguments, 1).assertNumber$1(_s10_); - lightness = t1.$index($arguments, 2).assertNumber$1(_s9_); - A._checkPercent(saturation, _s10_); - A._checkPercent(lightness, _s9_); - t1 = B.JSNumber_methods.clamp$2(saturation._number$_value, 0, 100); - t2 = B.JSNumber_methods.clamp$2(lightness._number$_value, 0, 100); - t3 = A.NullableExtension_andThen(alpha, new A._hsl_closure()); - return A.SassColor$hslInternal(hue, t1, t2, t3 == null ? 1 : t3, B._ColorFormatEnum_hslFunction); + t2 = t1.$index($arguments, 0).assertNumber$1("hue"); + t3 = t1.$index($arguments, 1).assertNumber$1("saturation"); + t1 = t1.$index($arguments, 2).assertNumber$1("lightness"); + t4 = A.NullableExtension_andThen(alpha, new A._hsl_closure()); + return A._colorFromChannels(B.HslColorSpace_gsm, t2, t3, t1, t4 == null ? 1 : t4, true, false); }, _angleValue(angleValue, $name) { var angle = angleValue.assertNumber$1($name); if (angle.compatibleWithUnit$1("deg")) return angle.coerceValueToUnit$1("deg"); - A.warnForDeprecation("$" + $name + ": Passing a unit other than deg (" + angle.toString$0(0) + string$.x29x20is_d + angle.unitSuggestion$1($name) + string$.x0a_See_, B.Deprecation_2jN); + A.warnForDeprecation("$" + $name + ": Passing a unit other than deg (" + angle.toString$0(0) + string$.x29x20is_d + angle.unitSuggestion$1($name) + string$.x0a_See_, B.Deprecation_int); return angle._number$_value; }, _checkPercent(number, $name) { if (number.hasUnit$1("%")) return; - A.warnForDeprecation("$" + $name + ": Passing a number without unit % (" + number.toString$0(0) + string$.x29x20is_d + number.unitSuggestion$2($name, "%") + string$.x0a_Morex3a, B.Deprecation_2jN); - }, - _hwb($arguments) { - var t2, t3, - _s9_ = "whiteness", - _s9_0 = "blackness", - t1 = J.getInterceptor$asx($arguments), - alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null, - hue = A._angleValue(t1.$index($arguments, 0), "hue"), - whiteness = t1.$index($arguments, 1).assertNumber$1(_s9_), - blackness = t1.$index($arguments, 2).assertNumber$1(_s9_0); - whiteness.assertUnit$2("%", _s9_); - blackness.assertUnit$2("%", _s9_0); - t1 = whiteness.valueInRange$3(0, 100, _s9_); - t2 = blackness.valueInRange$3(0, 100, _s9_0); - t3 = A.NullableExtension_andThen(alpha, new A._hwb_closure()); - return A.SassColor_SassColor$hwb(hue, t1, t2, t3 == null ? 1 : t3); - }, - _parseChannels($name, argumentNames, channels) { - var list, t1, channels0, alphaFromSlashList, isCommaSeparated, isBracketed, buffer, _0_4, _1_0, _1_2_isSet, _1_2, t2, _null = null, - _s17_ = "$channels must be"; - if (channels.get$isVar()) - return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value)); - if (channels.get$separator(channels) === B.ListSeparator_cQA) { - list = channels.get$asList(); - t1 = list.length; - if (t1 !== 2) - throw A.wrapException(A.SassScriptException$(string$.Only_2 + t1 + " " + A.pluralize("was", t1, "were") + " passed.", _null)); - channels0 = list[0]; - alphaFromSlashList = list[1]; - if (!alphaFromSlashList.get$isSpecialNumber()) - alphaFromSlashList.assertNumber$1("alpha"); - if (list[0].get$isVar()) - return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value)); - } else { - alphaFromSlashList = _null; - channels0 = channels; - } - isCommaSeparated = channels0.get$separator(channels0) === B.ListSeparator_ECn; - isBracketed = channels0.get$hasBrackets(); - if (isCommaSeparated || isBracketed) { - buffer = new A.StringBuffer(_s17_); - if (isBracketed) { - t1 = _s17_ + " an unbracketed"; - buffer._contents = t1; - } else - t1 = _s17_; - if (isCommaSeparated) { - t1 += isBracketed ? "," : " a"; - buffer._contents = t1; - t1 = buffer._contents = t1 + " space-separated"; - } - buffer._contents = t1 + " list."; - throw A.wrapException(A.SassScriptException$(buffer.toString$0(0), _null)); - } - list = channels0.get$asList(); - if (list.length >= 2) { - _0_4 = list[0]; - t1 = _0_4; - if (t1 instanceof A.SassString) { - type$.SassString._as(_0_4); - t1 = !_0_4._hasQuotes && A.equalsIgnoreCase(_0_4._string$_text, "from"); - } else - t1 = false; - } else - t1 = false; - if (t1) - return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value)); - t1 = list.length; - if (t1 > 3) - throw A.wrapException(A.SassScriptException$("Only 3 elements allowed, but " + t1 + " were passed.", _null)); - else if (t1 < 3) { - if (!B.JSArray_methods.any$1(list, new A._parseChannels_closure())) - if (list.length !== 0) { - t1 = B.JSArray_methods.get$last(list); - if (t1 instanceof A.SassString) - if (t1._hasQuotes) { - t1 = t1._string$_text; - t1 = A.startsWithIgnoreCase(t1, "var(") && B.JSString_methods.contains$1(t1, "/"); - } else - t1 = false; - else - t1 = false; - } else - t1 = false; - else - t1 = true; - if (t1) - return A._functionString($name, A._setArrayType([channels], type$.JSArray_Value)); - else - throw A.wrapException(A.SassScriptException$("Missing element " + argumentNames[list.length] + ".", _null)); - } - if (alphaFromSlashList != null) { - t1 = A.List_List$of(list, true, type$.Value); - t1.push(alphaFromSlashList); - return t1; - } - _1_0 = list[2]; - $label0$0: { - _1_2_isSet = _1_0 instanceof A.SassNumber; - if (_1_2_isSet) { - _1_2 = _1_0.asSlash; - t1 = type$.Record_2_nullable_Object_and_nullable_Object._is(_1_2); - } else { - _1_2 = _null; - t1 = false; - } - if (t1) { - if (_1_2_isSet) - t1 = _1_2; - else { - _1_2 = _1_0.asSlash; - t1 = _1_2; - _1_2_isSet = true; - } - if (t1 == null) - t1 = type$.Record_2_nullable_Object_and_nullable_Object._as(t1); - t2 = _1_2_isSet ? _1_2 : _1_0.asSlash; - if (t2 == null) - t2 = type$.Record_2_nullable_Object_and_nullable_Object._as(t2); - t2 = A._setArrayType([list[0], list[1], t1._0, t2._1], type$.JSArray_Value); - t1 = t2; - break $label0$0; - } - if (_1_0 instanceof A.SassString) - if (!_1_0._hasQuotes) - t1 = B.JSString_methods.contains$1(_1_0._string$_text, "/"); - else - t1 = false; - else - t1 = false; - if (t1) { - t1 = A._functionString($name, A._setArrayType([channels0], type$.JSArray_Value)); - break $label0$0; - } - t1 = list; - break $label0$0; - } - return t1; + A.warnForDeprecation("$" + $name + ": Passing a number without unit % (" + number.toString$0(0) + string$.x29x20is_d + number.unitSuggestion$2($name, "%") + string$.x0a_Morex3af, B.Deprecation_int); }, _percentageOrUnitless(number, max, $name) { var value; @@ -12924,33 +13384,473 @@ self.util = _cliPkgRequires.util; else if (number.hasUnit$1("%")) value = max * number._number$_value / 100; else - throw A.wrapException(A.SassScriptException$("$" + $name + ": Expected " + number.toString$0(0) + ' to have unit "%" or no units.', null)); - return B.JSNumber_methods.clamp$2(value, 0, max); + throw A.wrapException(A.SassScriptException$("Expected " + number.toString$0(0) + ' to have unit "%" or no units.', $name)); + return value; }, - _mixColors(color1, color2, weight) { - var weightScale, normalizedWeight, t1, t2, alphaDistance, t3, weight1, weight2; - A._checkPercent(weight, "weight"); - weightScale = weight.valueInRange$3(0, 100, "weight") / 100; - normalizedWeight = weightScale * 2 - 1; - t1 = color1._alpha; - t2 = color2._alpha; - alphaDistance = t1 - t2; - t3 = normalizedWeight * alphaDistance; - weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2; + _mixLegacy(color1, color2, weight) { + var t2, alphaDistance, weight1, weight2, t3, t4, t5, t6, t7, t8, + rgb1 = color1.toSpace$1(B.RgbColorSpace_mlz), + rgb2 = color2.toSpace$1(B.RgbColorSpace_mlz), + weightScale = weight.valueInRange$3(0, 100, "weight") / 100, + normalizedWeight = weightScale * 2 - 1, + t1 = color1.alphaOrNull; + if (t1 == null) + t1 = 0; + t2 = color2.alphaOrNull; + alphaDistance = t1 - (t2 == null ? 0 : t2); + t1 = normalizedWeight * alphaDistance; + weight1 = ((t1 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t1)) + 1) / 2; weight2 = 1 - weight1; - return A.SassColor$rgb(A.fuzzyRound(color1.get$red(0) * weight1 + color2.get$red(0) * weight2), A.fuzzyRound(color1.get$green(0) * weight1 + color2.get$green(0) * weight2), A.fuzzyRound(color1.get$blue(0) * weight1 + color2.get$blue(0) * weight2), t1 * weightScale + t2 * (1 - weightScale)); + t1 = rgb1.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = rgb2.channel0OrNull; + if (t2 == null) + t2 = 0; + t3 = rgb1.channel1OrNull; + if (t3 == null) + t3 = 0; + t4 = rgb2.channel1OrNull; + if (t4 == null) + t4 = 0; + t5 = rgb1.channel2OrNull; + if (t5 == null) + t5 = 0; + t6 = rgb2.channel2OrNull; + if (t6 == null) + t6 = 0; + t7 = rgb1.alphaOrNull; + if (t7 == null) + t7 = 0; + t8 = rgb2.alphaOrNull; + if (t8 == null) + t8 = 0; + return A.SassColor_SassColor$rgbInternal(t1 * weight1 + t2 * weight2, t3 * weight1 + t4 * weight2, t5 * weight1 + t6 * weight2, t7 * weightScale + t8 * (1 - weightScale), null); }, - _opacify($arguments) { - var t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"); - return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1)); + _opacify($name, $arguments) { + var result, + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + amount = t1.$index($arguments, 1).assertNumber$1("amount"); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$($name + string$.x28__is_oa, null)); + t1 = color.alphaOrNull; + if (t1 == null) + t1 = 0; + t1 += amount.valueInRangeWithUnit$4(0, 1, "amount", ""); + result = color.changeAlpha$1(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1)); + A.warnForDeprecation($name + "() is deprecated. " + A._suggestScaleAndAdjust(color, amount._number$_value, "alpha") + string$.x0a_Morex3ac, B.Deprecation_izR); + return result; }, - _transparentize($arguments) { - var t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"); - return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1)); + _transparentize($name, $arguments) { + var result, + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + amount = t1.$index($arguments, 1).assertNumber$1("amount"); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$($name + string$.x28__is_oa, null)); + t1 = color.alphaOrNull; + if (t1 == null) + t1 = 0; + t1 -= amount.valueInRangeWithUnit$4(0, 1, "amount", ""); + result = color.changeAlpha$1(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1)); + A.warnForDeprecation($name + "() is deprecated. " + A._suggestScaleAndAdjust(color, -amount._number$_value, "alpha") + string$.x0a_Morex3ac, B.Deprecation_izR); + return result; }, - _function4($name, $arguments, callback) { + _colorInSpace(colorUntyped, spaceUntyped, legacyMissing) { + var t1, _s5_ = "space", + color = colorUntyped.assertColor$1("color"); + if (spaceUntyped.$eq(0, B.C__SassNull)) + return color; + t1 = spaceUntyped.assertString$1(_s5_); + t1.assertUnquoted$1(_s5_); + return color.toSpace$2$legacyMissing(A.ColorSpace_fromName(t1._string$_text, _s5_), legacyMissing); + }, + _parseChannels(functionName, input, $name, space) { + var parsedSlash, components, alphaValue, _2_0, _2_1, _2_5, t1, _2_6, t2, _2_60, t3, channels, first, rest, componentList, spaceName, i, channel, channelName, t4, _null = null; + if (input.get$isVar()) + return A._functionString(functionName, A._setArrayType([input], type$.JSArray_Value)); + parsedSlash = A._parseSlashChannels(input, $name); + if (parsedSlash == null) + return A._functionString(functionName, A._setArrayType([input], type$.JSArray_Value)); + components = parsedSlash._0; + alphaValue = parsedSlash._1; + $label0$0: { + _2_0 = components.assertCommonListStyle$2$allowSlash($name, false); + _2_1 = _2_0.length; + if (_2_1 <= 0) + throw A.wrapException(A.SassScriptException$("Color component list may not be empty.", $name)); + _2_5 = _2_1 >= 1; + t1 = _2_5; + _2_6 = _null; + t2 = false; + if (t1) { + _2_60 = _2_0[0]; + t3 = _2_60; + _2_6 = t3; + if (t3 instanceof A.SassString) { + type$.SassString._as(_2_6); + t2 = !_2_6._hasQuotes && _2_6._string$_text.toLowerCase() === "from"; + } + } + if (t2) + return A._functionString(functionName, A._setArrayType([input], type$.JSArray_Value)); + t2 = components.get$isVar(); + if (t2) { + channels = A._setArrayType([components], type$.JSArray_Value); + break $label0$0; + } + channels = _null; + if (_2_5) { + first = t1 ? _2_6 : _2_0[0]; + rest = B.JSArray_methods.sublist$1(_2_0, 1); + componentList = _2_0; + } else { + componentList = channels; + rest = componentList; + first = _null; + } + if (_2_5) { + if (space == null) { + spaceName = first.assertString$1($name); + spaceName.assertUnquoted$1($name); + space = spaceName.get$isVar() ? _null : A.ColorSpace_fromName(spaceName._string$_text, $name); + if (B.RgbColorSpace_mlz === space || B.HslColorSpace_gsm === space || B.HwbColorSpace_06z === space || B.LabColorSpace_IF2 === space || B.LchColorSpace_wv8 === space || B.OklabColorSpace_yrt === space || B.OklchColorSpace_li8 === space) + throw A.wrapException(A.SassScriptException$(string$.The_co + A.S(space) + ". Use the " + A.S(space) + "() function instead.", $name)); + channels = rest; + } else + channels = componentList; + for (i = 0; i < channels.length; ++i) { + channel = channels[i]; + t1 = false; + if (!channel.get$isSpecialNumber()) + if (!(channel instanceof A.SassNumber)) + t1 = !(channel instanceof A.SassString && !channel._hasQuotes && channel._string$_text.toLowerCase() === "none"); + if (t1) { + t1 = _null; + if (space == null) + channelName = t1; + else { + t2 = space._channels; + t2 = i < 3 ? t2[i] : _null; + if (!(t2 == null)) + t1 = new A._parseChannels_closure().call$1(t2.name); + channelName = t1; + } + if (channelName == null) + channelName = "channel " + (i + 1); + throw A.wrapException(A.SassScriptException$("Expected " + channelName + " to be a number, was " + channel.toString$0(0) + ".", $name)); + } + } + break $label0$0; + } + throw A.wrapException("unreachable"); + } + t1 = alphaValue == null; + t2 = t1 ? _null : alphaValue.get$isSpecialNumber(); + if (t2 === true) { + if (channels.length === 3 && B.Set_2Dcfy.contains$1(0, space)) { + t1 = A.List_List$of(channels, true, type$.Value); + alphaValue.toString; + t1.push(alphaValue); + t1 = A._functionString(functionName, t1); + } else + t1 = A._functionString(functionName, A._setArrayType([input], type$.JSArray_Value)); + return t1; + } + $label1$1: { + if (t1) { + t2 = 1; + break $label1$1; + } + if (alphaValue instanceof A.SassString && !alphaValue._hasQuotes && "none" === alphaValue._string$_text) { + t2 = _null; + break $label1$1; + } + t2 = A._percentageOrUnitless(alphaValue.assertNumber$1($name), 1, "alpha"); + t2 = isNaN(t2) ? 0 : B.JSNumber_methods.clamp$2(t2, 0, 1); + break $label1$1; + } + if (space == null) + return A._functionString(functionName, A._setArrayType([input], type$.JSArray_Value)); + if (B.JSArray_methods.any$1(channels, new A._parseChannels_closure0())) { + if (channels.length === 3 && B.Set_2Dcfy.contains$1(0, space)) { + t2 = A.List_List$of(channels, true, type$.Value); + if (!t1) + t2.push(alphaValue); + t1 = A._functionString(functionName, t2); + } else + t1 = A._functionString(functionName, A._setArrayType([input], type$.JSArray_Value)); + return t1; + } + if (channels.length !== 3) + throw A.wrapException(A.SassScriptException$("The " + space.toString$0(0) + " color space has 3 channels but " + input.toString$0(0) + " has " + channels.length + ".", $name)); + t1 = channels[0]; + t1 = t1 instanceof A.SassNumber ? t1 : _null; + t3 = channels[1]; + t3 = t3 instanceof A.SassNumber ? t3 : _null; + t4 = channels[2]; + t4 = t4 instanceof A.SassNumber ? t4 : _null; + return A._colorFromChannels(space, t1, t3, t4, t2, true, space === B.RgbColorSpace_mlz); + }, + _parseSlashChannels(input, $name) { + var _1_1, alphaValue, t1, components, _1_7, _1_9_isSet, _1_8, _1_9, initial, t2, _0_0, _0_1, channel3, alpha, _1_16, _1_16_isSet, _1_9_isSet0, t3, _null = null, + _1_0 = input.assertCommonListStyle$2$allowSlash($name, true); + $label0$0: { + _1_1 = _1_0.length; + alphaValue = _null; + t1 = false; + if (_1_1 === 2) { + components = _1_0[0]; + alphaValue = _1_0[1]; + t1 = input.get$separator(input) === B.ListSeparator_cQA; + } else + components = _null; + if (t1) { + t1 = new A._Record_2(components, alphaValue); + break $label0$0; + } + t1 = input.get$separator(input); + if (t1 === B.ListSeparator_cQA) { + t1 = _1_0.length; + A.throwExpression(A.SassScriptException$(string$.Only_2 + t1 + " " + A.pluralize("was", t1, "were") + " passed.", $name)); + } + _1_7 = _1_1 >= 1; + _1_9_isSet = _1_7; + _1_8 = _null; + _1_9 = _null; + initial = _null; + t1 = false; + if (_1_9_isSet) { + _1_8 = B.JSArray_methods.sublist$2(_1_0, 0, _1_1 - 1); + initial = _1_8; + _1_9 = _1_0[_1_1 - 1]; + t2 = _1_9; + if (t2 instanceof A.SassString) { + type$.SassString._as(_1_9); + t1 = !_1_9._hasQuotes; + } + } + if (t1) { + if (_1_9_isSet) + t1 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t1 = _1_9; + } + _0_0 = type$.SassString._as(t1)._string$_text.split("/"); + $label1$1: { + _0_1 = _0_0.length; + if (_0_1 === 1) { + t1 = new A._Record_2(input, _null); + break $label1$1; + } + if (_0_1 === 2) { + channel3 = _0_0[0]; + alpha = _0_0[1]; + t1 = A.List_List$of(initial, true, type$.Value); + t1.push(A._parseNumberOrString(channel3)); + t1 = new A._Record_2(A.SassList$(t1, B.ListSeparator_nbm, false), A._parseNumberOrString(alpha)); + break $label1$1; + } + t1 = _null; + break $label1$1; + } + break $label0$0; + } + _1_16 = _null; + _1_16_isSet = false; + t1 = false; + if (_1_7) { + _1_9_isSet0 = true; + if (_1_9_isSet) + initial = _1_8; + else { + _1_8 = B.JSArray_methods.sublist$2(_1_0, 0, _1_1 - 1); + initial = _1_8; + } + if (_1_9_isSet) + t2 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t2 = _1_9; + _1_9_isSet = _1_9_isSet0; + } + _1_16_isSet = t2 instanceof A.SassNumber; + if (_1_16_isSet) { + if (_1_9_isSet) + t1 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t1 = _1_9; + _1_9_isSet = _1_9_isSet0; + } + _1_16 = type$.SassNumber._as(t1).asSlash; + t1 = _1_16; + t1 = type$.Record_2_nullable_Object_and_nullable_Object._is(t1); + } + } else + initial = _null; + if (t1) { + if (_1_16_isSet) + t1 = _1_16; + else { + if (_1_9_isSet) + t1 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t1 = _1_9; + _1_9_isSet = true; + } + _1_16 = type$.SassNumber._as(t1).asSlash; + t1 = _1_16; + _1_16_isSet = true; + } + if (t1 == null) + t1 = type$.Record_2_nullable_Object_and_nullable_Object._as(t1); + if (_1_16_isSet) + t2 = _1_16; + else { + if (_1_9_isSet) + t2 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t2 = _1_9; + } + _1_16 = type$.SassNumber._as(t2).asSlash; + t2 = _1_16; + } + if (t2 == null) + t2 = type$.Record_2_nullable_Object_and_nullable_Object._as(t2); + t3 = A.List_List$of(initial, true, type$.Value); + t3.push(t1._0); + t2 = new A._Record_2(A.SassList$(t3, B.ListSeparator_nbm, false), t2._1); + t1 = t2; + break $label0$0; + } + t1 = new A._Record_2(input, _null); + break $label0$0; + } + return t1; + }, + _parseNumberOrString(text) { + var t1, expression, exception; + try { + t1 = A.ScssParser$(text, null); + expression = t1._parseSingleProduction$1$1(t1.get$_number(), type$.NumberExpression); + t1 = A.SassNumber_SassNumber(expression.value, expression.unit); + return t1; + } catch (exception) { + if (type$.SassFormatException._is(A.unwrapException(exception))) + return new A.SassString(text, false); + else + throw exception; + } + }, + _colorFromChannels(space, channel0, channel1, channel2, alpha, clamp, fromRgbFunction) { + var t1, t2, whiteness, blackness, t3; + switch (space) { + case B.HslColorSpace_gsm: + if (channel1 != null) + A._checkPercent(channel1, "saturation"); + if (channel2 != null) + A._checkPercent(channel2, "lightness"); + t1 = space._channels; + return A.SassColor_SassColor$hsl(A.NullableExtension_andThen(channel0, new A._colorFromChannels_closure()), A._channelFromValue(t1[1], A._forcePercent(channel1), clamp), A._channelFromValue(t1[2], A._forcePercent(channel2), clamp), alpha); + case B.HwbColorSpace_06z: + t1 = channel1 == null; + if (!t1) + channel1.assertUnit$2("%", "whiteness"); + t2 = channel2 == null; + if (!t2) + channel2.assertUnit$2("%", "blackness"); + whiteness = t1 ? null : channel1._number$_value; + blackness = t2 ? null : channel2._number$_value; + if (whiteness != null && blackness != null && whiteness + blackness > 100) { + t1 = whiteness + blackness; + whiteness = whiteness / t1 * 100; + blackness = blackness / t1 * 100; + } + return A.SassColor_SassColor$hwb(A.NullableExtension_andThen(channel0, new A._colorFromChannels_closure0()), whiteness, blackness, alpha); + case B.RgbColorSpace_mlz: + t1 = space._channels; + t2 = A._channelFromValue(t1[0], channel0, clamp); + t3 = A._channelFromValue(t1[1], channel1, clamp); + t1 = A._channelFromValue(t1[2], channel2, clamp); + return A.SassColor_SassColor$rgbInternal(t2, t3, t1, alpha, fromRgbFunction ? B.C__ColorFormatEnum : null); + default: + t1 = space._channels; + return A.SassColor_SassColor$forSpaceInternal(space, A._channelFromValue(t1[0], channel0, clamp), A._channelFromValue(t1[1], channel1, clamp), A._channelFromValue(t1[2], channel2, clamp), alpha); + } + }, + _forcePercent(number) { + var t1, _0_3; + $label0$0: { + if (number == null) { + t1 = null; + break $label0$0; + } + _0_3 = number.get$numeratorUnits(number); + if (_0_3.length === 1) + t1 = "%" === _0_3[0] && number.get$denominatorUnits(number).length <= 0; + else + t1 = false; + if (t1) { + t1 = number; + break $label0$0; + } + t1 = A.SassNumber_SassNumber(number._number$_value, "%"); + break $label0$0; + } + return t1; + }, + _channelFromValue(channel, value, clamp) { + return A.NullableExtension_andThen(value, new A._channelFromValue_closure(channel, clamp)); + }, + _isNone(value) { + return value instanceof A.SassString && !value._hasQuotes && value._string$_text.toLowerCase() === "none"; + }, + _channelFunction($name, space, getter, global, unit) { + return A.BuiltInCallable$function($name, "$color", new A._channelFunction_closure(getter, unit, global, $name, space), "sass:color"); + }, + _suggestScaleAndAdjust(original, adjustment, channelName) { + var t2, oldValue, newValue, factor, t3, suggestion, + channel = channelName === "alpha" ? B.LinearChannel_omH : type$.LinearChannel._as(B.JSArray_methods.firstWhere$1(B.List_8aB, new A._suggestScaleAndAdjust_closure(channelName))), + t1 = channel === B.LinearChannel_omH; + if (t1) { + t2 = original.alphaOrNull; + oldValue = t2 == null ? 0 : t2; + } else + oldValue = original.toSpace$1(B.HslColorSpace_gsm).channel$1(0, channelName); + newValue = oldValue + adjustment; + if (adjustment !== 0) { + factor = A._Cell$(); + t2 = channel.max; + if (newValue > t2) + factor.__late_helper$_value = 1; + else { + t3 = channel.min; + if (newValue < t3) + factor.__late_helper$_value = -1; + else if (adjustment > 0) + factor.__late_helper$_value = adjustment / (t2 - oldValue); + else + factor.__late_helper$_value = (newValue - oldValue) / (oldValue - t3); + } + suggestion = "Suggestion" + ("s:\n\ncolor.scale($color, $" + channelName + ": " + A.SassNumber_SassNumber(factor._readLocal$0() * 100, "%").toString$0(0) + ")\n"); + } else + suggestion = "Suggestion:\n\n"; + return suggestion + ("color.adjust($color, $" + channelName + ": " + A.SassNumber_SassNumber(adjustment, t1 ? null : "%").toString$0(0) + ")"); + }, + _missingChannelError(color, channel) { + return A.throwExpression(A.SassScriptException$(string$.Becaus + color.toString$0(0) + ").", channel)); + }, + _channelName(value) { + var t1 = value.assertString$1("channel"); + t1.assertQuoted$1("channel"); + return t1._string$_text; + }, + _function5($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:color"); }, global_closure0: function global_closure0() { @@ -13005,9 +13905,41 @@ self.util = _cliPkgRequires.util; }, global_closure25: function global_closure25() { }, + global_closure26: function global_closure26() { + }, + global_closure27: function global_closure27() { + }, + global_closure28: function global_closure28() { + }, + global_closure29: function global_closure29() { + }, + global_closure30: function global_closure30() { + }, + global_closure31: function global_closure31() { + }, + global_closure32: function global_closure32() { + }, + global_closure33: function global_closure33() { + }, + global_closure34: function global_closure34() { + }, + global_closure35: function global_closure35() { + }, global__closure: function global__closure() { }, - global_closure26: function global_closure26() { + global_closure36: function global_closure36() { + }, + global_closure37: function global_closure37() { + }, + global_closure38: function global_closure38() { + }, + global_closure39: function global_closure39() { + }, + global_closure40: function global_closure40() { + }, + global_closure41: function global_closure41() { + }, + global_closure42: function global_closure42() { }, module_closure1: function module_closure1() { }, @@ -13025,24 +13957,47 @@ self.util = _cliPkgRequires.util; }, module_closure8: function module_closure8() { }, - module__closure1: function module__closure1() { - }, module_closure9: function module_closure9() { }, - _red_closure: function _red_closure() { + module_closure10: function module_closure10() { }, - _green_closure: function _green_closure() { + module_closure11: function module_closure11() { }, - _blue_closure: function _blue_closure() { + module_closure12: function module_closure12() { + }, + module_closure13: function module_closure13() { + }, + module_closure14: function module_closure14() { + }, + module__closure2: function module__closure2() { + }, + module_closure15: function module_closure15() { + }, + module_closure16: function module_closure16() { + }, + module_closure17: function module_closure17() { + }, + module_closure18: function module_closure18() { + }, + module_closure19: function module_closure19() { + }, + module_closure20: function module_closure20() { + }, + module_closure21: function module_closure21() { + }, + module_closure22: function module_closure22() { + }, + module__closure1: function module__closure1(t0) { + this.channelName = t0; + }, + module_closure23: function module_closure23() { + }, + module_closure_toXyzNoMissing: function module_closure_toXyzNoMissing() { + }, + module_closure24: function module_closure24() { }, _mix_closure: function _mix_closure() { }, - _hue_closure: function _hue_closure() { - }, - _saturation_closure: function _saturation_closure() { - }, - _lightness_closure: function _lightness_closure() { - }, _complement_closure: function _complement_closure() { }, _adjust_closure: function _adjust_closure() { @@ -13055,21 +14010,16 @@ self.util = _cliPkgRequires.util; }, _ieHexStr_closure_hexString: function _ieHexStr_closure_hexString() { }, - _updateComponents_getParam: function _updateComponents_getParam(t0, t1, t2) { - this.keywords = t0; - this.scale = t1; - this.change = t2; + _updateComponents_closure: function _updateComponents_closure(t0) { + this.originalColor = t0; }, - _updateComponents_closure: function _updateComponents_closure() { + _updateComponents_closure0: function _updateComponents_closure0(t0) { + this._box_0 = t0; }, - _updateComponents_closure0: function _updateComponents_closure0() { + _changeColor_closure: function _changeColor_closure(t0) { + this.alphaArg = t0; }, - _updateComponents_updateValue: function _updateComponents_updateValue(t0, t1) { - this.change = t0; - this.adjust = t1; - }, - _updateComponents_updateRgb: function _updateComponents_updateRgb(t0) { - this.updateValue = t0; + _adjustColor_closure: function _adjustColor_closure() { }, _functionString_closure: function _functionString_closure() { }, @@ -13082,11 +14032,30 @@ self.util = _cliPkgRequires.util; }, _hsl_closure: function _hsl_closure() { }, - _hwb_closure: function _hwb_closure() { - }, _parseChannels_closure: function _parseChannels_closure() { }, - _function3($name, $arguments, callback) { + _parseChannels_closure0: function _parseChannels_closure0() { + }, + _colorFromChannels_closure: function _colorFromChannels_closure() { + }, + _colorFromChannels_closure0: function _colorFromChannels_closure0() { + }, + _channelFromValue_closure: function _channelFromValue_closure(t0, t1) { + this.channel = t0; + this.clamp = t1; + }, + _channelFunction_closure: function _channelFunction_closure(t0, t1, t2, t3, t4) { + var _ = this; + _.getter = t0; + _.unit = t1; + _.global = t2; + _.name = t3; + _.space = t4; + }, + _suggestScaleAndAdjust_closure: function _suggestScaleAndAdjust_closure(t0) { + this.channelName = t0; + }, + _function4($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:list"); }, _length_closure0: function _length_closure0() { @@ -13122,7 +14091,7 @@ self.util = _cliPkgRequires.util; return keyIterator.moveNext$0() ? new A._modify_modifyNestedMap(keyIterator, modify, addNesting).call$1(map) : modify.call$1(map); }, _deepMergeImpl(map1, map2) { - var t2, t3, result, t4, key, value, _1_1, _1_3, _1_3_isSet, resultMap, _1_30, valueMap, merged, _null = null, + var t2, t3, result, t4, key, value, _1_1, _1_3, _1_3_isSet, _1_30, resultMap, valueMap, merged, t1 = map1._map$_contents; if (t1.get$isEmpty(t1)) return map2; @@ -13136,18 +14105,17 @@ self.util = _cliPkgRequires.util; key = t4._0; value = t4._1; t4 = result.$index(0, key); - _1_1 = t4 == null ? _null : t4.tryMap$0(); + _1_1 = t4 == null ? null : t4.tryMap$0(); _1_3 = value.tryMap$0(); _1_3_isSet = _1_1 != null; + _1_30 = null; + t4 = false; if (_1_3_isSet) { resultMap = _1_1 == null ? t2._as(_1_1) : _1_1; t4 = _1_3 != null; _1_30 = _1_3; - } else { - resultMap = _null; - _1_30 = resultMap; - t4 = false; - } + } else + resultMap = null; if (t4) { valueMap = _1_3_isSet ? _1_30 : _1_3; merged = A._deepMergeImpl(resultMap, valueMap == null ? t2._as(valueMap) : valueMap); @@ -13159,7 +14127,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(result, t3, t3)); }, - _function2($name, $arguments, callback) { + _function3($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:map"); }, _get_closure: function _get_closure() { @@ -13209,7 +14177,7 @@ self.util = _cliPkgRequires.util; _numberFunction($name, transform) { return A.BuiltInCallable$function($name, "$number", new A._numberFunction_closure(transform), "sass:math"); }, - _function1($name, $arguments, callback) { + _function2($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:math"); }, global_closure: function global_closure() { @@ -13256,60 +14224,57 @@ self.util = _cliPkgRequires.util; _numberFunction_closure: function _numberFunction_closure(t0) { this.transform = t0; }, - _function5($name, $arguments, callback) { + _function($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:meta"); }, - global_closure27: function global_closure27() { + _shared_closure: function _shared_closure() { }, - global_closure28: function global_closure28() { + _shared_closure0: function _shared_closure0() { }, - global_closure29: function global_closure29() { + _shared_closure1: function _shared_closure1() { }, - global_closure30: function global_closure30() { + _shared_closure2: function _shared_closure2() { }, - local_closure: function local_closure() { + moduleFunctions_closure: function moduleFunctions_closure() { }, - local_closure0: function local_closure0() { + moduleFunctions_closure0: function moduleFunctions_closure0() { }, - local__closure: function local__closure() { + moduleFunctions__closure: function moduleFunctions__closure() { }, - local_closure1: function local_closure1() { + moduleFunctions_closure1: function moduleFunctions_closure1() { }, _prependParent(compound) { - var _0_3, _0_4, _0_4_isSet, rest, _null = null, + var _0_3, _0_4, _0_40, t2, _0_4_isSet, t3, rest, _null = null, t1 = A.EvaluationContext_currentOrNull(), span = (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan(), _0_0 = compound.components; $label0$0: { _0_3 = _0_0.length >= 1; + _0_4 = _null; if (_0_3) { - _0_4 = _0_0[0]; - t1 = _0_4; + _0_40 = _0_0[0]; + t1 = _0_40; + _0_4 = t1; t1 = t1 instanceof A.UniversalSelector; - } else { - _0_4 = _null; + } else t1 = false; - } + t2 = _null; if (t1) { - t1 = _null; + t1 = t2; break $label0$0; } + t1 = false; if (_0_3) { - t1 = _0_4; - if (t1 instanceof A.TypeSelector) { + _0_4_isSet = true; + t3 = _0_4; + if (t3 instanceof A.TypeSelector) { t1 = _0_4; t1 = type$.TypeSelector._as(t1).name.namespace != null; - _0_4_isSet = true; - } else { - _0_4_isSet = true; - t1 = false; } - } else { + } else _0_4_isSet = _0_3; - t1 = false; - } if (t1) { - t1 = _null; + t1 = t2; break $label0$0; } if (_0_3) { @@ -13339,7 +14304,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - _function0($name, $arguments, callback) { + _function1($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:selector"); }, _nest_closure: function _nest_closure() { @@ -13385,7 +14350,7 @@ self.util = _cliPkgRequires.util; return 0; return result; }, - _function($name, $arguments, callback) { + _function0($name, $arguments, callback) { return A.BuiltInCallable$function($name, $arguments, callback, "sass:string"); }, module_closure: function module_closure() { @@ -13414,12 +14379,11 @@ self.util = _cliPkgRequires.util; }, _uniqueId_closure: function _uniqueId_closure() { }, - ImportCache$(importers, loadPaths, logger) { + ImportCache$(importers, loadPaths) { var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl, t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport, - t3 = type$.Uri, - t4 = A.ImportCache__toImporters(importers, loadPaths, null); - return new A.ImportCache(t4, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult)); + t3 = type$.Uri; + return new A.ImportCache(A.ImportCache__toImporters(importers, loadPaths, null), A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult)); }, ImportCache__toImporters(importers, loadPaths, packageConfig) { var t1, t2, t3, t4, _i, path, _null = null, @@ -13447,15 +14411,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - ImportCache: function ImportCache(t0, t1, t2, t3, t4, t5, t6) { + ImportCache: function ImportCache(t0, t1, t2, t3, t4, t5) { var _ = this; _._importers = t0; - _._logger = t1; - _._canonicalizeCache = t2; - _._perImporterCanonicalizeCache = t3; - _._nonCanonicalRelativeUrls = t4; - _._importCache = t5; - _._resultsCache = t6; + _._canonicalizeCache = t1; + _._perImporterCanonicalizeCache = t2; + _._nonCanonicalRelativeUrls = t3; + _._importCache = t4; + _._resultsCache = t5; }, ImportCache_canonicalize_closure: function ImportCache_canonicalize_closure(t0, t1, t2, t3, t4, t5, t6) { var _ = this; @@ -13471,13 +14434,12 @@ self.util = _cliPkgRequires.util; this.importer = t0; this.url = t1; }, - ImportCache_importCanonical_closure: function ImportCache_importCanonical_closure(t0, t1, t2, t3, t4) { + ImportCache_importCanonical_closure: function ImportCache_importCanonical_closure(t0, t1, t2, t3) { var _ = this; _.$this = t0; _.importer = t1; _.canonicalUrl = t2; _.originalUrl = t3; - _.quiet = t4; }, ImportCache_humanize_closure: function ImportCache_humanize_closure(t0) { this.canonicalUrl = t0; @@ -13620,9 +14582,10 @@ self.util = _cliPkgRequires.util; }, _exactlyOne_closure: function _exactlyOne_closure() { }, - InterpolationBuffer: function InterpolationBuffer(t0, t1) { + InterpolationBuffer: function InterpolationBuffer(t0, t1, t2) { this._interpolation_buffer$_text = t0; this._interpolation_buffer$_contents = t1; + this._spans = t2; }, InterpolationMap$(_interpolation, targetLocations) { var t1 = A.List_List$unmodifiable(targetLocations, type$.SourceLocation), @@ -13799,19 +14762,64 @@ self.util = _cliPkgRequires.util; return J.$eq$(t1 == null ? null : J.get$platform$x(t1), "win32"); }, watchDir(path, poll) { - var watcher, t2, t3, t1 = {}; - if (!A.isNodeJs()) - throw A.wrapException(A.UnsupportedError$("watchDir() is only supported on Node.js")); - watcher = J.watch$2$x(self.chokidar, path, {disableGlobbing: true, usePolling: poll}); - t1.controller = null; - t2 = J.getInterceptor$x(watcher); - t2.on$2(watcher, "add", A.allowInterop(new A.watchDir_closure(t1))); - t2.on$2(watcher, "change", A.allowInterop(new A.watchDir_closure0(t1))); - t2.on$2(watcher, "unlink", A.allowInterop(new A.watchDir_closure1(t1))); - t2.on$2(watcher, "error", A.allowInterop(new A.watchDir_closure2(t1))); - t3 = new A._Future($.Zone__current, type$._Future_Stream_WatchEvent); - t2.on$2(watcher, "ready", A.allowInterop(new A.watchDir_closure3(t1, watcher, new A._AsyncCompleter(t3, type$._AsyncCompleter_Stream_WatchEvent)))); - return t3; + return A.watchDir$body(path, poll); + }, + watchDir$body(path, poll) { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Stream_WatchEvent), + $async$returnValue, watcher, t2, t3, controller, t1, $async$temp1, $async$temp2, $async$temp3; + var $async$watchDir = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = {}; + if (!A.isNodeJs()) + throw A.wrapException(A.UnsupportedError$("watchDir() is only supported on Node.js")); + t1.controller = null; + $async$goto = poll ? 3 : 5; + break; + case 3: + // then + watcher = J.watch$2$x(self.chokidar, path, {usePolling: true}); + t2 = J.getInterceptor$x(watcher); + t2.on$2(watcher, "add", A.allowInterop(new A.watchDir_closure(t1))); + t2.on$2(watcher, "change", A.allowInterop(new A.watchDir_closure0(t1))); + t2.on$2(watcher, "unlink", A.allowInterop(new A.watchDir_closure1(t1))); + t2.on$2(watcher, "error", A.allowInterop(new A.watchDir_closure2(t1))); + t3 = new A._Future($.Zone__current, type$._Future_Stream_WatchEvent); + t2.on$2(watcher, "ready", A.allowInterop(new A.watchDir_closure3(t1, watcher, new A._AsyncCompleter(t3, type$._AsyncCompleter_Stream_WatchEvent)))); + $async$returnValue = t3; + // goto return + $async$goto = 1; + break; + // goto join + $async$goto = 4; + break; + case 5: + // else + $async$temp1 = t1; + $async$temp2 = A; + $async$temp3 = A; + $async$goto = 6; + return A._asyncAwait(A.ParcelWatcher_subscribeFuture(path, new A.watchDir_closure5(t1)), $async$watchDir); + case 6: + // returning from await. + controller = $async$temp1.controller = $async$temp2.StreamController_StreamController(new $async$temp3.watchDir_closure4($async$result), null, null, null, false, type$.WatchEvent); + $async$returnValue = new A._ControllerStream(controller, A._instanceType(controller)._eval$1("_ControllerStream<1>")); + // goto return + $async$goto = 1; + break; + case 4: + // join + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$watchDir, $async$completer); }, FileSystemException: function FileSystemException(t0, t1) { this.message = t0; @@ -13888,6 +14896,12 @@ self.util = _cliPkgRequires.util; watchDir__closure: function watchDir__closure(t0) { this.watcher = t0; }, + watchDir_closure5: function watchDir_closure5(t0) { + this._box_0 = t0; + }, + watchDir_closure4: function watchDir_closure4(t0) { + this.subscription = t0; + }, JSArray0: function JSArray0() { }, Chokidar: function Chokidar() { @@ -13916,6 +14930,18 @@ self.util = _cliPkgRequires.util; }, JSModuleRequire: function JSModuleRequire() { }, + ParcelWatcher_subscribeFuture(path, callback) { + return A.promiseToFuture(self.parcel_watcher.subscribe(path, A.allowInterop(new A.ParcelWatcher_subscribeFuture_closure(callback))), type$.ParcelWatcherSubscription); + }, + ParcelWatcherSubscription: function ParcelWatcherSubscription() { + }, + ParcelWatcherEvent: function ParcelWatcherEvent() { + }, + ParcelWatcher: function ParcelWatcher() { + }, + ParcelWatcher_subscribeFuture_closure: function ParcelWatcher_subscribeFuture_closure(t0) { + this.callback = t0; + }, JSClass: function JSClass() { }, JSUrl: function JSUrl() { @@ -13928,8 +14954,6 @@ self.util = _cliPkgRequires.util; _RequireMain: function _RequireMain() { }, WarnForDeprecation_warnForDeprecation(_this, deprecation, message, span, trace) { - if (deprecation.isFuture && !(_this instanceof A.DeprecationProcessingLogger)) - return; if (_this instanceof A.DeprecationProcessingLogger) _this.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace); else @@ -13939,11 +14963,6 @@ self.util = _cliPkgRequires.util; }, _QuietLogger: function _QuietLogger() { }, - DeprecationProcessingLogger$(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) { - var t1 = new A.DeprecationProcessingLogger(A.LinkedHashMap_LinkedHashMap$_empty(type$.Deprecation, type$.int), _inner, silenceDeprecations, fatalDeprecations, futureDeprecations, limitRepetition); - t1.DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations); - return t1; - }, DeprecationProcessingLogger: function DeprecationProcessingLogger(t0, t1, t2, t3, t4, t5) { var _ = this; _._warningCounts = t0; @@ -13995,24 +15014,19 @@ self.util = _cliPkgRequires.util; _.$ti = t4; }, ForwardedModuleView_ifNecessary(inner, rule, $T) { - var t1; + var t2, + t1 = false; if (rule.prefix == null) if (rule.shownMixinsAndFunctions == null) if (rule.shownVariables == null) { - t1 = rule.hiddenMixinsAndFunctions; - t1 = t1 == null ? null : t1._base.get$isEmpty(0); - if (t1 === true) { + t2 = rule.hiddenMixinsAndFunctions; + t2 = t2 == null ? null : t2._base.get$isEmpty(0); + if (t2 === true) { t1 = rule.hiddenVariables; t1 = t1 == null ? null : t1._base.get$isEmpty(0); t1 = t1 === true; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; - else - t1 = false; + } + } if (t1) return inner; else @@ -14027,15 +15041,11 @@ self.util = _cliPkgRequires.util; return new A.ForwardedModuleView(_inner, _rule, A.ForwardedModuleView__forwardedMap(_inner.get$variables(), t1, t2, t3, type$.Value), A.ForwardedModuleView__forwardedMap(_inner.get$variableNodes(), t1, t2, t3, type$.AstNode), A.ForwardedModuleView__forwardedMap(_inner.get$functions(_inner), t1, t4, t5, $T), A.ForwardedModuleView__forwardedMap(_inner.get$mixins(), t1, t4, t5, $T), $T._eval$1("ForwardedModuleView<0>")); }, ForwardedModuleView__forwardedMap(map, prefix, safelist, blocklist, $V) { - var t2, - t1 = prefix == null; + var t1 = prefix == null, + t2 = false; if (t1) if (safelist == null) t2 = blocklist == null || blocklist._base.get$isEmpty(0); - else - t2 = false; - else - t2 = false; if (t2) return map; if (!t1) @@ -14075,14 +15085,9 @@ self.util = _cliPkgRequires.util; _.mixins = t4; _.$ti = t5; }, - AtRootQueryParser$(contents, logger, url) { - var t1 = A.SpanScanner$(contents, url); - return new A.AtRootQueryParser(t1, logger, null); - }, - AtRootQueryParser: function AtRootQueryParser(t0, t1, t2) { + AtRootQueryParser: function AtRootQueryParser(t0, t1) { this.scanner = t0; - this.logger = t1; - this._interpolationMap = t2; + this._interpolationMap = t1; }, AtRootQueryParser_parse_closure: function AtRootQueryParser_parse_closure(t0) { this.$this = t0; @@ -14094,37 +15099,29 @@ self.util = _cliPkgRequires.util; _._isUseAllowed = true; _._inExpression = _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = _._stylesheet$_inMixin = false; _._globalVariables = t0; + _.warnings = t1; _.lastSilentComment = null; - _.scanner = t1; - _.logger = t2; + _.scanner = t2; _._interpolationMap = t3; }, - KeyframeSelectorParser$(contents, interpolationMap, logger) { - var t1 = A.SpanScanner$(contents, null); - return new A.KeyframeSelectorParser(t1, logger, interpolationMap); - }, - KeyframeSelectorParser: function KeyframeSelectorParser(t0, t1, t2) { + KeyframeSelectorParser: function KeyframeSelectorParser(t0, t1) { this.scanner = t0; - this.logger = t1; - this._interpolationMap = t2; + this._interpolationMap = t1; }, KeyframeSelectorParser_parse_closure: function KeyframeSelectorParser_parse_closure(t0) { this.$this = t0; }, - MediaQueryParser: function MediaQueryParser(t0, t1, t2) { + MediaQueryParser: function MediaQueryParser(t0, t1) { this.scanner = t0; - this.logger = t1; - this._interpolationMap = t2; + this._interpolationMap = t1; }, MediaQueryParser_parse_closure: function MediaQueryParser_parse_closure(t0) { this.$this = t0; }, Parser_isIdentifier(text) { - var t1, t2, exception, logger = null; + var exception; try { - t1 = logger; - t2 = A.SpanScanner$(text, null); - new A.Parser(t2, t1 == null ? B.StderrLogger_false : t1, null)._parseIdentifier$0(); + new A.Parser(A.SpanScanner$(text, null), null)._parseIdentifier$0(); return true; } catch (exception) { if (type$.SassFormatException._is(A.unwrapException(exception))) @@ -14133,10 +15130,9 @@ self.util = _cliPkgRequires.util; throw exception; } }, - Parser: function Parser(t0, t1, t2) { + Parser: function Parser(t0, t1) { this.scanner = t0; - this.logger = t1; - this._interpolationMap = t2; + this._interpolationMap = t1; }, Parser__parseIdentifier_closure: function Parser__parseIdentifier_closure(t0) { this.$this = t0; @@ -14158,9 +15154,9 @@ self.util = _cliPkgRequires.util; _._isUseAllowed = true; _._inExpression = _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = _._stylesheet$_inMixin = false; _._globalVariables = t0; + _.warnings = t1; _.lastSilentComment = null; - _.scanner = t1; - _.logger = t2; + _.scanner = t2; _._interpolationMap = t3; }, SassParser_styleRuleSelector_closure: function SassParser_styleRuleSelector_closure() { @@ -14174,32 +15170,25 @@ self.util = _cliPkgRequires.util; }, SassParser__peekIndentation_closure0: function SassParser__peekIndentation_closure0() { }, - ScssParser$(contents, logger, url) { - var t1 = A.SpanScanner$(contents, url), - t2 = logger == null ? B.StderrLogger_false : logger; - return new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), t1, t2, null); + ScssParser$(contents, url) { + return new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration), A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span), A.SpanScanner$(contents, url), null); }, ScssParser: function ScssParser(t0, t1, t2, t3) { var _ = this; _._isUseAllowed = true; _._inExpression = _._inParentheses = _._inStyleRule = _._stylesheet$_inUnknownAtRule = _._inControlDirective = _._inContentBlock = _._stylesheet$_inMixin = false; _._globalVariables = t0; + _.warnings = t1; _.lastSilentComment = null; - _.scanner = t1; - _.logger = t2; + _.scanner = t2; _._interpolationMap = t3; }, - SelectorParser$(contents, allowParent, interpolationMap, logger, plainCss, url) { - var t1 = A.SpanScanner$(contents, url); - return new A.SelectorParser(allowParent, plainCss, t1, logger == null ? B.StderrLogger_false : logger, interpolationMap); - }, - SelectorParser: function SelectorParser(t0, t1, t2, t3, t4) { + SelectorParser: function SelectorParser(t0, t1, t2, t3) { var _ = this; _._allowParent = t0; _._plainCss = t1; _.scanner = t2; - _.logger = t3; - _._interpolationMap = t4; + _._interpolationMap = t3; }, SelectorParser_parse_closure: function SelectorParser_parse_closure(t0) { this.$this = t0; @@ -14855,13 +15844,10 @@ self.util = _cliPkgRequires.util; for (value = 0, i = 0; i < 6; ++i) { next = scanner.peekChar$0(); if (next != null) { + t1 = true; if (!(next >= 48 && next <= 57)) if (!(next >= 97 && next <= 102)) t1 = next >= 65 && next <= 70; - else - t1 = true; - else - t1 = true; t1 = !t1; } else t1 = true; @@ -14939,7 +15925,7 @@ self.util = _cliPkgRequires.util; var error, stackTrace, t1, exception, string = _this._selectorString$1($name); try { - t1 = A.SelectorList_SelectorList$parse(string, allowParent, null, null, false); + t1 = A.SelectorList_SelectorList$parse(string, allowParent, null, false); return t1; } catch (exception) { t1 = A.unwrapException(exception); @@ -14957,7 +15943,7 @@ self.util = _cliPkgRequires.util; allowParent = false, string = _this._selectorString$1($name); try { - t1 = A.SelectorParser$(string, allowParent, null, null, false, null).parseCompoundSelector$0(); + t1 = new A.SelectorParser(allowParent, false, A.SpanScanner$(string, null), null).parseCompoundSelector$0(); return t1; } catch (exception) { t1 = A.unwrapException(exception); @@ -15080,7 +16066,7 @@ self.util = _cliPkgRequires.util; if (!(argument instanceof A.SassNumber)) return new A.SassCalculation("abs", A._setArrayType([argument], type$.JSArray_Object)); if (argument.hasUnit$1("%")) - A.warnForDeprecation(string$.Passinp + argument.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + argument.toString$0(0) + string$.x7d__Mor, B.Deprecation_GFc); + A.warnForDeprecation(string$.Passinp + argument.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + argument.toString$0(0) + string$.x7d__Mor, B.Deprecation_Zk6); return A.SassNumber_SassNumber(Math.abs(argument._number$_value), null).coerceToMatch$1(argument); }, SassCalculation_exp(argument) { @@ -15230,12 +16216,19 @@ self.util = _cliPkgRequires.util; return dividend.modulo$1(modulus); }, SassCalculation_round(strategyOrNumber, numberOrStep, step) { - var _0_4, _0_5_isSet, _0_20, _0_6, t1, _0_50, _0_6_isSet, number, t2, _0_2_isSet, _0_10_isSet, _0_8, _0_12_isSet, _0_12, _0_14_isSet, _0_14, _0_16_isSet, _0_16, t3, strategy, _0_8_isSet, t4, rest, _null = null, _s5_ = "round", + var number, t2, _0_2_isSet, _0_2_isSet0, _0_10_isSet, _0_8, _0_12, _0_14, _0_14_isSet, _0_16, _0_16_isSet, strategy, _0_5_isSet0, _0_12_isSet, t3, t4, _0_8_isSet, _0_8_isSet0, rest, _null = null, _s5_ = "round", _0_1 = A.SassCalculation__simplify(strategyOrNumber), _0_2 = A.NullableExtension_andThen(numberOrStep, A.calculation_SassCalculation__simplify$closure()), _0_5 = A.NullableExtension_andThen(step, A.calculation_SassCalculation__simplify$closure()), _0_10 = _0_1, - _0_4_isSet = _0_1 instanceof A.SassNumber; + _0_4_isSet = _0_1 instanceof A.SassNumber, + _0_4 = _null, + _0_20 = _null, + _0_6 = _null, + _0_6_isSet = false, + _0_50 = _null, + _0_5_isSet = false, + t1 = false; if (_0_4_isSet) { type$.SassNumber._as(_0_10); _0_4 = _0_2 == null; @@ -15245,697 +16238,40 @@ self.util = _cliPkgRequires.util; _0_6 = _0_5 == null; t1 = _0_6; _0_50 = _0_5; - } else { - _0_50 = _null; - _0_6 = _0_50; - t1 = false; } _0_6_isSet = _0_5_isSet; number = _0_10; _0_1 = number; } else { number = _null; - _0_50 = number; - _0_6 = _0_50; - _0_20 = _0_6; - _0_4 = _0_20; _0_1 = _0_10; - _0_6_isSet = false; - _0_5_isSet = false; - t1 = false; } if (t1) { t1 = B.JSNumber_methods.round$0(number._number$_value); t2 = number.get$numeratorUnits(number); return A.SassNumber_SassNumber$withUnits(t1, number.get$denominatorUnits(number), t2); } + step = _null; + t1 = false; if (_0_1 instanceof A.SassNumber) { + _0_2_isSet = true; if (_0_4_isSet) { - t1 = _0_20; - _0_2_isSet = _0_4_isSet; + t2 = _0_20; + _0_2_isSet0 = _0_4_isSet; } else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; + t2 = _0_2; + _0_2_isSet0 = _0_2_isSet; + _0_20 = t2; } - if (t1 instanceof A.SassNumber) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - type$.SassNumber._as(t1); - if (_0_6_isSet) - t2 = _0_6; - else { - if (_0_5_isSet) - t2 = _0_50; - else { - t2 = _0_5; - _0_50 = t2; - _0_5_isSet = true; - } - _0_6 = t2 == null; - t2 = _0_6; - _0_6_isSet = true; - } - t2 = t2 && !_0_1.hasCompatibleUnits$1(t1); - step = t1; - t1 = t2; - } else { - step = _null; - t1 = false; - } - number = _0_1; - } else { - step = _null; - number = step; - _0_2_isSet = _0_4_isSet; - t1 = false; - } - if (t1) { - t1 = type$.JSArray_Object; - A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], t1)); - return new A.SassCalculation(_s5_, A._setArrayType([number, step], t1)); - } - if (_0_1 instanceof A.SassNumber) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassNumber) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - type$.SassNumber._as(t1); - if (_0_6_isSet) - t2 = _0_6; - else { - if (_0_5_isSet) - t2 = _0_50; - else { - t2 = _0_5; - _0_50 = t2; - _0_5_isSet = true; - } - _0_6 = t2 == null; - t2 = _0_6; - _0_6_isSet = true; - } - step = t1; - t1 = t2; - } else { - step = _null; - t1 = false; - } - number = _0_1; - } else { - step = _null; - number = step; - t1 = false; - } - if (t1) { - A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], type$.JSArray_Object)); - return A.SassCalculation__roundWithStep("nearest", number, step); - } - _0_10_isSet = _0_1 instanceof A.SassString; - if (_0_10_isSet) { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_12_isSet = !t1; - if (_0_12_isSet) { - _0_12 = "up" === _0_8; - t1 = _0_12; - _0_14_isSet = !t1; - if (_0_14_isSet) { - _0_14 = "down" === _0_8; - t1 = _0_14; - _0_16_isSet = !t1; - if (_0_16_isSet) { - _0_16 = "to-zero" === _0_8; - t1 = _0_16; - } else { - _0_16 = _null; - t1 = true; - } + if (t2 instanceof A.SassNumber) { + if (_0_2_isSet0) { + t2 = _0_20; + _0_2_isSet = _0_2_isSet0; } else { - _0_16 = _null; - _0_14 = _0_16; - _0_16_isSet = false; - t1 = true; + t2 = _0_2; + _0_20 = t2; } - } else { - _0_16 = _null; - _0_14 = _0_16; - _0_12 = _0_14; - _0_14_isSet = false; - _0_16_isSet = false; - t1 = true; - } - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassNumber) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - t2 = type$.SassNumber; - t2._as(t1); - if (_0_5_isSet) - t3 = _0_50; - else { - t3 = _0_5; - _0_50 = t3; - _0_5_isSet = true; - } - if (t3 instanceof A.SassNumber) { - if (_0_5_isSet) - t3 = _0_50; - else { - t3 = _0_5; - _0_50 = t3; - _0_5_isSet = true; - } - t2._as(t3); - t2 = !t1.hasCompatibleUnits$1(t3); - step = t3; - } else { - step = _null; - t2 = false; - } - number = t1; - t1 = t2; - } else { - step = _null; - number = step; - t1 = false; - } - strategy = _0_1; - } else { - step = _null; - number = step; - strategy = number; - t1 = false; - } - } else { - step = _null; - number = step; - strategy = number; - _0_16 = strategy; - _0_14 = _0_16; - _0_12 = _0_14; - _0_8 = _0_12; - _0_10 = _0_8; - _0_12_isSet = false; - _0_14_isSet = false; - _0_16_isSet = false; - t1 = false; - } - if (t1) { - t1 = type$.JSArray_Object; - A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], t1)); - return new A.SassCalculation(_s5_, A._setArrayType([strategy, number, step], t1)); - } - if (_0_1 instanceof A.SassString) { - if (_0_10_isSet) { - t1 = _0_10; - _0_8_isSet = _0_10_isSet; - } else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - _0_8_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassNumber) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - t2 = type$.SassNumber; - t2._as(t1); - if (_0_5_isSet) - t3 = _0_50; - else { - t3 = _0_5; - _0_50 = t3; - _0_5_isSet = true; - } - t3 = t3 instanceof A.SassNumber; - if (t3) { - if (_0_5_isSet) - t4 = _0_50; - else { - t4 = _0_5; - _0_50 = t4; - _0_5_isSet = true; - } - t2._as(t4); - step = t4; - } else - step = _null; - t2 = t3; - number = t1; - t1 = t2; - } else { - step = _null; - number = step; - t1 = false; - } - strategy = _0_1; - } else { - step = _null; - number = step; - strategy = number; - t1 = false; - } - } else { - step = _null; - number = step; - strategy = number; - _0_8_isSet = _0_10_isSet; - t1 = false; - } - if (t1) { - A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], type$.JSArray_Object)); - return A.SassCalculation__roundWithStep(strategy._string$_text, number, step); - } - if (_0_1 instanceof A.SassString) { - if (_0_10_isSet) - t1 = _0_10; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassString) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - type$.SassString._as(t1); - if (_0_6_isSet) - t2 = _0_6; - else { - if (_0_5_isSet) - t2 = _0_50; - else { - t2 = _0_5; - _0_50 = t2; - _0_5_isSet = true; - } - _0_6 = t2 == null; - t2 = _0_6; - _0_6_isSet = true; - } - rest = t1; - t1 = t2; - } else { - rest = _null; - t1 = false; - } - strategy = _0_1; - } else { - rest = _null; - strategy = rest; - t1 = false; - } - } else { - rest = _null; - strategy = rest; - t1 = false; - } - if (t1) - return new A.SassCalculation(_s5_, A._setArrayType([strategy, rest], type$.JSArray_Object)); - if (_0_1 instanceof A.SassString) { - if (_0_10_isSet) - t1 = _0_10; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 != null) - if (_0_6_isSet) - t1 = _0_6; - else { - if (_0_5_isSet) - t1 = _0_50; - else { - t1 = _0_5; - _0_50 = t1; - _0_5_isSet = true; - } - _0_6 = t1 == null; - t1 = _0_6; - _0_6_isSet = true; - } - else - t1 = false; - } else - t1 = false; - } else - t1 = false; - if (t1) - throw A.wrapException(A.SassScriptException$(string$.If_str, _null)); - if (_0_1 instanceof A.SassString) { - if (_0_10_isSet) - t1 = _0_10; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_4_isSet) - t1 = _0_4; - else { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - _0_4 = t1 == null; - t1 = _0_4; - _0_4_isSet = true; - } - if (t1) - if (_0_6_isSet) - t1 = _0_6; - else { - if (_0_5_isSet) - t1 = _0_50; - else { - t1 = _0_5; - _0_50 = t1; - _0_5_isSet = true; - } - _0_6 = t1 == null; - t1 = _0_6; - _0_6_isSet = true; - } - else - t1 = false; - } else - t1 = false; - } else - t1 = false; - if (t1) - throw A.wrapException(A.SassScriptException$(string$.Number, _null)); - if (_0_1 instanceof A.SassString) { - if (_0_4_isSet) - t1 = _0_4; - else { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - _0_4 = t1 == null; - t1 = _0_4; - _0_4_isSet = true; - } - if (t1) + type$.SassNumber._as(t2); if (_0_6_isSet) t1 = _0_6; else { @@ -15950,29 +16286,632 @@ self.util = _cliPkgRequires.util; t1 = _0_6; _0_6_isSet = true; } - else - t1 = false; - rest = _0_1; + t1 = t1 && !_0_1.hasCompatibleUnits$1(t2); + step = t2; + } else + _0_2_isSet = _0_2_isSet0; + number = _0_1; } else { - rest = _null; - t1 = false; + number = _null; + _0_2_isSet = _0_4_isSet; } + if (t1) { + t1 = type$.JSArray_Object; + A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], t1)); + return new A.SassCalculation(_s5_, A._setArrayType([number, step], t1)); + } + step = _null; + t1 = false; + if (_0_1 instanceof A.SassNumber) { + _0_2_isSet0 = true; + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassNumber) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + type$.SassNumber._as(t2); + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + step = t2; + } + number = _0_1; + } else + number = _null; + if (t1) { + A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], type$.JSArray_Object)); + return A.SassCalculation__roundWithStep("nearest", number, step); + } + _0_10_isSet = _0_1 instanceof A.SassString; + _0_10 = _null; + _0_8 = _null; + _0_12 = _null; + _0_14 = _null; + _0_14_isSet = false; + _0_16 = _null; + _0_16_isSet = false; + strategy = _null; + number = _null; + step = _null; + t1 = false; + if (_0_10_isSet) { + _0_2_isSet0 = true; + _0_5_isSet0 = true; + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_12_isSet = !t2; + t2 = true; + if (_0_12_isSet) { + _0_12 = "up" === _0_8; + t3 = _0_12; + _0_14_isSet = !t3; + if (_0_14_isSet) { + _0_14 = "down" === _0_8; + t3 = _0_14; + _0_16_isSet = !t3; + if (_0_16_isSet) { + _0_16 = "to-zero" === _0_8; + t2 = _0_16; + } + } + } + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassNumber) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + t3 = type$.SassNumber; + t3._as(t2); + if (_0_5_isSet) + t4 = _0_50; + else { + t4 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t4; + } + if (t4 instanceof A.SassNumber) { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t1; + } + t3._as(t1); + t3 = !t2.hasCompatibleUnits$1(t1); + step = t1; + t1 = t3; + } + number = t2; + } + strategy = _0_1; + } + } else + _0_12_isSet = false; + if (t1) { + t1 = type$.JSArray_Object; + A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], t1)); + return new A.SassCalculation(_s5_, A._setArrayType([strategy, number, step], t1)); + } + strategy = _null; + number = _null; + step = _null; + t1 = false; + if (_0_1 instanceof A.SassString) { + _0_2_isSet0 = true; + _0_5_isSet0 = true; + _0_8_isSet = true; + if (_0_10_isSet) { + t2 = _0_10; + _0_8_isSet0 = _0_10_isSet; + } else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_8_isSet0 = _0_8_isSet; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet0) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet0 = _0_8_isSet; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet0) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet0 = _0_8_isSet; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) { + t2 = _0_16; + _0_8_isSet = _0_8_isSet0; + } else { + if (_0_8_isSet0) { + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else { + t2 = t3; + _0_8_isSet = _0_8_isSet0; + } + } else { + t2 = t3; + _0_8_isSet = _0_8_isSet0; + } + } else { + t2 = t3; + _0_8_isSet = _0_8_isSet0; + } + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassNumber) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + t3 = type$.SassNumber; + t3._as(t2); + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t1; + } + t1 = t1 instanceof A.SassNumber; + if (t1) { + if (_0_5_isSet) + t4 = _0_50; + else { + t4 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t4; + } + t3._as(t4); + step = t4; + } + number = t2; + } + strategy = _0_1; + } + } else + _0_8_isSet = _0_10_isSet; + if (t1) { + A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([number, step], type$.JSArray_Object)); + return A.SassCalculation__roundWithStep(strategy._string$_text, number, step); + } + strategy = _null; + rest = _null; + t1 = false; + if (_0_1 instanceof A.SassString) { + _0_2_isSet0 = true; + _0_8_isSet0 = true; + if (_0_10_isSet) + t2 = _0_10; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) + t2 = _0_16; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else + t2 = t3; + } else + t2 = t3; + } else + t2 = t3; + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassString) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + type$.SassString._as(t2); + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + rest = t2; + } + strategy = _0_1; + } + } + if (t1) + return new A.SassCalculation(_s5_, A._setArrayType([strategy, rest], type$.JSArray_Object)); + t1 = false; + if (_0_1 instanceof A.SassString) { + _0_8_isSet0 = true; + if (_0_10_isSet) + t2 = _0_10; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) + t2 = _0_16; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else + t2 = t3; + } else + t2 = t3; + } else + t2 = t3; + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_20 = t2; + _0_2_isSet = true; + } + if (t2 != null) + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + } + } + if (t1) + throw A.wrapException(A.SassScriptException$(string$.If_str, _null)); + t1 = false; + if (_0_1 instanceof A.SassString) { + _0_8_isSet0 = true; + if (_0_10_isSet) + t2 = _0_10; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) + t2 = _0_16; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else + t2 = t3; + } else + t2 = t3; + } else + t2 = t3; + if (t2) { + if (_0_4_isSet) + t2 = _0_4; + else { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_20 = t2; + _0_2_isSet = true; + } + _0_4 = t2 == null; + t2 = _0_4; + _0_4_isSet = true; + } + if (t2) + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + } + } + if (t1) + throw A.wrapException(A.SassScriptException$(string$.Number, _null)); + t1 = false; + if (_0_1 instanceof A.SassString) { + if (_0_4_isSet) + t2 = _0_4; + else { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_20 = t2; + _0_2_isSet = true; + } + _0_4 = t2 == null; + t2 = _0_4; + _0_4_isSet = true; + } + if (t2) + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + rest = _0_1; + } else + rest = _null; if (t1) return new A.SassCalculation(_s5_, A._setArrayType([rest], type$.JSArray_Object)); + t1 = false; if (_0_4_isSet) - t1 = _0_4; + t2 = _0_4; else { if (_0_2_isSet) - t1 = _0_20; + t2 = _0_20; else { - t1 = _0_2; - _0_20 = t1; + t2 = _0_2; + _0_20 = t2; _0_2_isSet = true; } - _0_4 = t1 == null; - t1 = _0_4; + _0_4 = t2 == null; + t2 = _0_4; } - if (t1) + if (t2) if (_0_6_isSet) t1 = _0_6; else { @@ -15987,24 +16926,25 @@ self.util = _cliPkgRequires.util; t1 = _0_6; _0_6_isSet = true; } - else - t1 = false; if (t1) throw A.wrapException(A.SassScriptException$("Single argument " + A.S(_0_1) + " expected to be simplifiable.", _null)); + step = _null; + t1 = false; + _0_2_isSet0 = true; if (_0_2_isSet) - t1 = _0_20; + t2 = _0_20; else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; } - if (t1 != null) { + if (t2 != null) { if (_0_2_isSet) step = _0_20; else { step = _0_2; + _0_2_isSet = _0_2_isSet0; _0_20 = step; - _0_2_isSet = true; } if (step == null) step = type$.Object._as(step); @@ -16021,55 +16961,53 @@ self.util = _cliPkgRequires.util; _0_6 = t1 == null; t1 = _0_6; } - } else { - step = _null; - t1 = false; } if (t1) return new A.SassCalculation(_s5_, A._setArrayType([_0_1, step], type$.JSArray_Object)); if (_0_1 instanceof A.SassString) { + t1 = true; if (_0_10_isSet) - t1 = _0_10; + t2 = _0_10; else { if (_0_8_isSet) - t1 = _0_8; + t2 = _0_8; else { _0_8 = _0_1._string$_text; - t1 = _0_8; + t2 = _0_8; _0_8_isSet = true; } - _0_10 = "nearest" === t1; - t1 = _0_10; + _0_10 = "nearest" === t2; + t2 = _0_10; } - if (!t1) { + if (!t2) { if (_0_12_isSet) - t1 = _0_12; + t2 = _0_12; else { if (_0_8_isSet) - t1 = _0_8; + t2 = _0_8; else { _0_8 = _0_1._string$_text; - t1 = _0_8; + t2 = _0_8; _0_8_isSet = true; } - _0_12 = "up" === t1; - t1 = _0_12; + _0_12 = "up" === t2; + t2 = _0_12; } - if (!t1) { + if (!t2) { if (_0_14_isSet) - t1 = _0_14; + t2 = _0_14; else { if (_0_8_isSet) - t1 = _0_8; + t2 = _0_8; else { _0_8 = _0_1._string$_text; - t1 = _0_8; + t2 = _0_8; _0_8_isSet = true; } - _0_14 = "down" === t1; - t1 = _0_14; + _0_14 = "down" === t2; + t2 = _0_14; } - if (!t1) + if (!t2) if (_0_16_isSet) t1 = _0_16; else { @@ -16082,12 +17020,8 @@ self.util = _cliPkgRequires.util; _0_16 = "to-zero" === t1; t1 = _0_16; } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; + } + } } else t1 = false; if (!t1) @@ -16097,22 +17031,27 @@ self.util = _cliPkgRequires.util; t1 = false; else t1 = true; + number = _null; + step = _null; + t2 = false; if (t1) { + _0_2_isSet0 = true; + _0_5_isSet0 = true; type$.SassString._as(_0_1); if (_0_2_isSet) t1 = _0_20; else { t1 = _0_2; + _0_2_isSet = _0_2_isSet0; _0_20 = t1; - _0_2_isSet = true; } if (t1 != null) { if (_0_2_isSet) number = _0_20; else { number = _0_2; + _0_2_isSet = _0_2_isSet0; _0_20 = number; - _0_2_isSet = true; } if (number == null) number = type$.Object._as(number); @@ -16120,8 +17059,8 @@ self.util = _cliPkgRequires.util; t1 = _0_50; else { t1 = _0_5; + _0_5_isSet = _0_5_isSet0; _0_50 = t1; - _0_5_isSet = true; } t1 = t1 != null; if (t1) { @@ -16129,31 +17068,24 @@ self.util = _cliPkgRequires.util; step = _0_50; else { step = _0_5; + _0_5_isSet = _0_5_isSet0; _0_50 = step; - _0_5_isSet = true; } if (step == null) step = type$.Object._as(step); - } else - step = _null; - } else { - step = _null; - number = step; - t1 = false; - } + } + } else + t1 = t2; strategy = _0_1; } else { - step = _null; - number = step; - strategy = number; - t1 = false; + t1 = t2; + strategy = _null; } if (t1) return new A.SassCalculation(_s5_, A._setArrayType([strategy, number, step], type$.JSArray_Object)); + t1 = false; if ((_0_2_isSet ? _0_20 : _0_2) != null) t1 = (_0_5_isSet ? _0_50 : _0_5) != null; - else - t1 = false; if (t1) throw A.wrapException(A.SassScriptException$(A.S(strategyOrNumber) + string$.x20must_b, _null)); t1 = A.SassScriptException$("Invalid parameters.", _null); @@ -16166,13 +17098,10 @@ self.util = _cliPkgRequires.util; left = A.SassCalculation__simplify(left); right = A.SassCalculation__simplify(right); if (B.CalculationOperator_g2q === operator || B.CalculationOperator_CxF === operator) { + t1 = false; if (left instanceof A.SassNumber) if (right instanceof A.SassNumber) t1 = inLegacySassFunction ? left.isComparableTo$1(right) : left.hasCompatibleUnits$1(right); - else - t1 = false; - else - t1 = false; if (t1) return operator === B.CalculationOperator_g2q ? left.plus$1(right) : left.minus$1(right); A.SassCalculation__verifyCompatibleNumbers(A._setArrayType([left, right], type$.JSArray_Object)); @@ -16222,20 +17151,18 @@ self.util = _cliPkgRequires.util; _0_6 = "nearest" === strategy; t1 = _0_6; _0_8_isSet = !t1; + _0_8 = _null; if (_0_8_isSet) { _0_8 = "to-zero" === strategy; _0_9_isSet = _0_8; - } else { - _0_8 = _null; + } else _0_9_isSet = true; - } + _0_9 = _null; if (_0_9_isSet) { _0_9 = _0_2 > 0; t1 = _0_9; - } else { - _0_9 = _null; + } else t1 = false; - } if (t1) { t1 = number.get$numeratorUnits(number); t1 = A.SassNumber_SassNumber$withUnits(0, number.get$denominatorUnits(number), t1); @@ -16343,7 +17270,7 @@ self.util = _cliPkgRequires.util; return t1; }, SassCalculation__simplify(arg) { - var t1, _0_11_isSet, _0_11, _0_12, _0_15, _0_16_isSet, _0_16, text, _0_12_isSet, _0_15_isSet, value, _null = null, + var t1, t2, _0_11_isSet, _0_15, _0_12, _0_16_isSet, text, _0_11, _0_16, _0_12_isSet, _0_15_isSet, value, _null = null, _s32_ = " can't be used in a calculation."; $label0$0: { if (arg instanceof A.SassNumber || arg instanceof A.CalculationOperation) { @@ -16351,6 +17278,7 @@ self.util = _cliPkgRequires.util; break $label0$0; } t1 = arg instanceof A.SassString; + t2 = _null; if (t1 && !arg._hasQuotes) { t1 = arg; break $label0$0; @@ -16358,6 +17286,11 @@ self.util = _cliPkgRequires.util; if (t1) A.throwExpression(A.SassScriptException$("Quoted string " + arg.toString$0(0) + _s32_, _null)); _0_11_isSet = arg instanceof A.SassCalculation; + _0_15 = _null; + _0_12 = _null; + _0_16_isSet = false; + text = _null; + t1 = false; if (_0_11_isSet) { _0_11 = "calc" === arg.name; if (_0_11) { @@ -16366,50 +17299,31 @@ self.util = _cliPkgRequires.util; _0_16_isSet = _0_15; if (_0_16_isSet) { _0_16 = _0_12[0]; - t1 = _0_16; - if (t1 instanceof A.SassString) { + t2 = _0_16; + if (t2 instanceof A.SassString) { type$.SassString._as(_0_16); if (!_0_16._hasQuotes) { text = _0_16._string$_text; t1 = A.SassCalculation__needsParentheses(text); - } else { - text = _null; - t1 = false; } - } else { - text = _null; - t1 = false; } - } else { - text = _null; - _0_16 = text; - t1 = false; - } - } else { - text = _null; - _0_16 = text; - _0_12 = _0_16; - _0_15 = _0_12; - _0_16_isSet = false; - t1 = false; - } + } else + _0_16 = t2; + } else + _0_16 = t2; _0_12_isSet = _0_11; _0_15_isSet = _0_12_isSet; } else { - text = _null; - _0_16 = text; - _0_12 = _0_16; - _0_15 = _0_12; - _0_11 = _0_15; + _0_16 = t2; + _0_11 = _null; _0_15_isSet = false; _0_12_isSet = false; - _0_16_isSet = false; - t1 = false; } if (t1) { t1 = new A.SassString("(" + A.S(text) + ")", false); break $label0$0; } + t1 = false; if (_0_11_isSet) if (_0_11) if (_0_15_isSet) @@ -16425,10 +17339,6 @@ self.util = _cliPkgRequires.util; _0_15 = t1.length === 1; t1 = _0_15; } - else - t1 = false; - else - t1 = false; if (t1) { if (_0_16_isSet) value = _0_16; @@ -16538,86 +17448,328 @@ self.util = _cliPkgRequires.util; _.precedence = t2; _._name = t3; }, - SassColor$rgb(red, green, blue, alpha) { + SassColor_SassColor$rgb(red, green, blue, alpha) { + return A.SassColor_SassColor$rgbInternal(red, green, blue, alpha, null); + }, + SassColor_SassColor$rgbInternal(red, green, blue, alpha, format) { var _null = null, - t1 = new A.SassColor(red, green, blue, _null, _null, _null, A.fuzzyAssertRange(A.SassColor__handleNullAlpha(alpha), 0, 1, "alpha"), _null); - A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red"); - A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green"); - A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue"); - return t1; + t1 = red == null ? _null : red, + t2 = green == null ? _null : green, + t3 = blue == null ? _null : blue; + return A.SassColor$_forSpace(B.RgbColorSpace_mlz, t1, t2, t3, alpha == null ? _null : alpha, format); }, - SassColor$rgbInternal(_red, _green, _blue, alpha, format) { - var t1 = new A.SassColor(_red, _green, _blue, null, null, null, A.fuzzyAssertRange(alpha, 0, 1, "alpha"), format); - A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red"); - A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green"); - A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue"); - return t1; - }, - SassColor$hslInternal(hue, saturation, lightness, alpha, format) { - return new A.SassColor(null, null, null, B.JSNumber_methods.$mod(hue, 360), A.fuzzyAssertRange(saturation, 0, 100, "saturation"), A.fuzzyAssertRange(lightness, 0, 100, "lightness"), A.fuzzyAssertRange(alpha, 0, 1, "alpha"), format); + SassColor_SassColor$hsl(hue, saturation, lightness, alpha) { + var _null = null, + t1 = hue == null ? _null : hue, + t2 = saturation == null ? _null : saturation, + t3 = lightness == null ? _null : lightness; + return A.SassColor_SassColor$forSpaceInternal(B.HslColorSpace_gsm, t1, t2, t3, alpha == null ? _null : alpha); }, SassColor_SassColor$hwb(hue, whiteness, blackness, alpha) { - var t2, t1 = {}, - scaledHue = B.JSNumber_methods.$mod(hue, 360) / 360, - scaledWhiteness = t1.scaledWhiteness = A.fuzzyAssertRange(whiteness, 0, 100, "whiteness") / 100, - scaledBlackness = A.fuzzyAssertRange(blackness, 0, 100, "blackness") / 100, - sum = scaledWhiteness + scaledBlackness; - if (sum > 1) { - t2 = t1.scaledWhiteness = scaledWhiteness / sum; - scaledBlackness /= sum; - } else - t2 = scaledWhiteness; - t2 = new A.SassColor_SassColor$hwb_toRgb(t1, 1 - t2 - scaledBlackness); - return A.SassColor$rgb(t2.call$1(scaledHue + 0.3333333333333333), t2.call$1(scaledHue), t2.call$1(scaledHue - 0.3333333333333333), alpha); + var _null = null, + t1 = hue == null ? _null : hue, + t2 = whiteness == null ? _null : whiteness, + t3 = blackness == null ? _null : blackness; + return A.SassColor_SassColor$forSpaceInternal(B.HwbColorSpace_06z, t1, t2, t3, alpha == null ? _null : alpha); }, - SassColor__handleNullAlpha(alpha) { - return alpha; - }, - SassColor__hueToRgb(m1, m2, hue) { - var t1; - if (hue < 0) - ++hue; - if (hue > 1) - --hue; + SassColor_SassColor$forSpaceInternal(space, channel0, channel1, channel2, alpha) { + var t1, t2, _null = null; $label0$0: { - if (hue < 0.16666666666666666) { - t1 = m1 + (m2 - m1) * hue * 6; + if (B.HslColorSpace_gsm === space) { + t1 = channel1 == null; + t2 = A.SassColor__normalizeHue(channel0, !t1 && channel1 < 0 && !A.fuzzyEquals(channel1, 0)); + t2 = A.SassColor$_forSpace(space, t2, t1 ? _null : Math.abs(channel1), channel2, alpha, _null); + t1 = t2; break $label0$0; } - if (hue < 0.5) { - t1 = m2; + if (B.HwbColorSpace_06z === space) { + t1 = A.SassColor$_forSpace(space, A.SassColor__normalizeHue(channel0, false), channel1, channel2, alpha, _null); break $label0$0; } - if (hue < 0.6666666666666666) { - t1 = m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6; + if (B.LchColorSpace_wv8 === space || B.OklchColorSpace_li8 === space) { + t1 = channel1 == null; + t2 = t1 ? _null : Math.abs(channel1); + t2 = A.SassColor$_forSpace(space, channel0, t2, A.SassColor__normalizeHue(channel2, !t1 && channel1 < 0 && !A.fuzzyEquals(channel1, 0)), alpha, _null); + t1 = t2; break $label0$0; } - t1 = m1; + t1 = A.SassColor$_forSpace(space, channel0, channel1, channel2, alpha, _null); break $label0$0; } return t1; }, - SassColor: function SassColor(t0, t1, t2, t3, t4, t5, t6, t7) { + SassColor$_forSpace(_space, channel0OrNull, channel1OrNull, channel2OrNull, alpha, format) { + return new A.SassColor(_space, channel0OrNull, channel1OrNull, channel2OrNull, format, A.NullableExtension_andThen(alpha, new A.SassColor$_forSpace_closure())); + }, + SassColor__normalizeHue(hue, invert) { + var t1, t2; + if (hue == null) + return hue; + t1 = B.JSNumber_methods.$mod(hue, 360); + t2 = invert ? 180 : 0; + return B.JSNumber_methods.$mod(t1 + 360 + t2, 360); + }, + SassColor: function SassColor(t0, t1, t2, t3, t4, t5) { var _ = this; - _._red = t0; - _._green = t1; - _._blue = t2; - _._hue = t3; - _._saturation = t4; - _._lightness = t5; - _._alpha = t6; - _.format = t7; + _._space = t0; + _.channel0OrNull = t1; + _.channel1OrNull = t2; + _.channel2OrNull = t3; + _.format = t4; + _.alphaOrNull = t5; }, - SassColor_SassColor$hwb_toRgb: function SassColor_SassColor$hwb_toRgb(t0, t1) { - this._box_0 = t0; - this.factor = t1; + SassColor$_forSpace_closure: function SassColor$_forSpace_closure() { }, - _ColorFormatEnum: function _ColorFormatEnum(t0) { - this._color$_name = t0; + _ColorFormatEnum: function _ColorFormatEnum() { }, SpanColorFormat: function SpanColorFormat(t0) { this._color$_span = t0; }, + ColorChannel: function ColorChannel(t0, t1, t2) { + this.name = t0; + this.isPolarAngle = t1; + this.associatedUnit = t2; + }, + LinearChannel: function LinearChannel(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _.min = t0; + _.max = t1; + _.requiresPercent = t2; + _.lowerClamped = t3; + _.upperClamped = t4; + _.name = t5; + _.isPolarAngle = t6; + _.associatedUnit = t7; + }, + GamutMapMethod_GamutMapMethod$fromName($name) { + var t1; + $label0$0: { + if ("clip" === $name) { + t1 = B.ClipGamutMap_clip; + break $label0$0; + } + if ("local-minde" === $name) { + t1 = B.LocalMindeGamutMap_Q7f; + break $label0$0; + } + t1 = A.throwExpression(A.SassScriptException$('Unknown gamut map method "' + $name + '".', null)); + } + return t1; + }, + GamutMapMethod: function GamutMapMethod() { + }, + ClipGamutMap: function ClipGamutMap(t0) { + this.name = t0; + }, + LocalMindeGamutMap: function LocalMindeGamutMap(t0) { + this.name = t0; + }, + InterpolationMethod$(space, hue) { + var t1; + if (space.get$isPolarInternal()) + t1 = hue == null ? B.HueInterpolationMethod_0 : hue; + else + t1 = null; + if (!space.get$isPolarInternal() && hue != null) + A.throwExpression(A.ArgumentError$(string$.Hue_in + space.toString$0(0) + ".", null)); + return new A.InterpolationMethod(space, t1); + }, + InterpolationMethod_InterpolationMethod$fromValue(value, $name) { + var t1, space, hueMethod, + list = value.assertCommonListStyle$2$allowSlash($name, false); + if (list.length === 0) + throw A.wrapException(A.SassScriptException$(string$.Expecta, $name)); + t1 = B.JSArray_methods.get$first(list).assertString$1($name); + t1.assertUnquoted$1($name); + space = A.ColorSpace_fromName(t1._string$_text, $name); + if (list.length === 1) + return A.InterpolationMethod$(space, null); + hueMethod = A.HueInterpolationMethod_HueInterpolationMethod$_fromValue(list[1], $name); + if (list.length === 2) + throw A.wrapException(A.SassScriptException$('Expected unquoted string "hue" after ' + value.toString$0(0) + ".", $name)); + else { + t1 = list[2].assertString$1($name); + t1.assertUnquoted$1($name); + if (t1._string$_text.toLowerCase() !== "hue") + throw A.wrapException(A.SassScriptException$(string$.Expectu + value.toString$0(0) + ", was " + A.S(list[2]) + ".", $name)); + else if (list.length > 3) + throw A.wrapException(A.SassScriptException$('Expected nothing after "hue" in ' + value.toString$0(0) + ".", $name)); + else if (!space.get$isPolarInternal()) + throw A.wrapException(A.SassScriptException$('Hue interpolation method "' + hueMethod.toString$0(0) + string$.x20hue__ + space.toString$0(0) + ".", $name)); + } + return A.InterpolationMethod$(space, hueMethod); + }, + HueInterpolationMethod_HueInterpolationMethod$_fromValue(value, $name) { + var _0_0, + t1 = value.assertString$1($name); + t1.assertUnquoted$0(); + _0_0 = t1._string$_text.toLowerCase(); + $label0$0: { + if ("shorter" === _0_0) { + t1 = B.HueInterpolationMethod_0; + break $label0$0; + } + if ("longer" === _0_0) { + t1 = B.HueInterpolationMethod_1; + break $label0$0; + } + if ("increasing" === _0_0) { + t1 = B.HueInterpolationMethod_2; + break $label0$0; + } + if ("decreasing" === _0_0) { + t1 = B.HueInterpolationMethod_3; + break $label0$0; + } + t1 = A.throwExpression(A.SassScriptException$("Unknown hue interpolation method " + value.toString$0(0) + ".", $name)); + } + return t1; + }, + InterpolationMethod: function InterpolationMethod(t0, t1) { + this.space = t0; + this.hue = t1; + }, + HueInterpolationMethod: function HueInterpolationMethod(t0) { + this._name = t0; + }, + ColorSpace_fromName($name, argumentName) { + var t1, + _0_0 = $name.toLowerCase(); + $label0$0: { + if ("rgb" === _0_0) { + t1 = B.RgbColorSpace_mlz; + break $label0$0; + } + if ("hwb" === _0_0) { + t1 = B.HwbColorSpace_06z; + break $label0$0; + } + if ("hsl" === _0_0) { + t1 = B.HslColorSpace_gsm; + break $label0$0; + } + if ("srgb" === _0_0) { + t1 = B.SrgbColorSpace_AD4; + break $label0$0; + } + if ("srgb-linear" === _0_0) { + t1 = B.SrgbLinearColorSpace_sEs; + break $label0$0; + } + if ("display-p3" === _0_0) { + t1 = B.DisplayP3ColorSpace_NQk; + break $label0$0; + } + if ("a98-rgb" === _0_0) { + t1 = B.A98RgbColorSpace_bdu; + break $label0$0; + } + if ("prophoto-rgb" === _0_0) { + t1 = B.ProphotoRgbColorSpace_KiG; + break $label0$0; + } + if ("rec2020" === _0_0) { + t1 = B.Rec2020ColorSpace_2jN; + break $label0$0; + } + if ("xyz" === _0_0 || "xyz-d65" === _0_0) { + t1 = B.XyzD65ColorSpace_4CA; + break $label0$0; + } + if ("xyz-d50" === _0_0) { + t1 = B.XyzD50ColorSpace_2No; + break $label0$0; + } + if ("lab" === _0_0) { + t1 = B.LabColorSpace_IF2; + break $label0$0; + } + if ("lch" === _0_0) { + t1 = B.LchColorSpace_wv8; + break $label0$0; + } + if ("oklab" === _0_0) { + t1 = B.OklabColorSpace_yrt; + break $label0$0; + } + if ("oklch" === _0_0) { + t1 = B.OklchColorSpace_li8; + break $label0$0; + } + t1 = A.throwExpression(A.SassScriptException$('Unknown color space "' + $name + '".', argumentName)); + } + return t1; + }, + ColorSpace: function ColorSpace() { + }, + A98RgbColorSpace: function A98RgbColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + DisplayP3ColorSpace: function DisplayP3ColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + HslColorSpace: function HslColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + HwbColorSpace: function HwbColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + HwbColorSpace_convert_toRgb: function HwbColorSpace_convert_toRgb(t0, t1) { + this._box_0 = t0; + this.factor = t1; + }, + LabColorSpace: function LabColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + LchColorSpace: function LchColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + LmsColorSpace: function LmsColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + OklabColorSpace: function OklabColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + OklchColorSpace: function OklchColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + ProphotoRgbColorSpace: function ProphotoRgbColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + Rec2020ColorSpace: function Rec2020ColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + RgbColorSpace: function RgbColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + SrgbColorSpace: function SrgbColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + SrgbLinearColorSpace: function SrgbLinearColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + XyzD50ColorSpace: function XyzD50ColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, + XyzD65ColorSpace: function XyzD65ColorSpace(t0, t1) { + this.name = t0; + this._channels = t1; + }, SassFunction: function SassFunction(t0) { this.callable = t0; }, @@ -16659,18 +17811,19 @@ self.util = _cliPkgRequires.util; return unit == null ? new A.UnitlessSassNumber(value, null) : new A.SingleUnitSassNumber(unit, value, null); }, SassNumber_SassNumber$withUnits(value, denominatorUnits, numeratorUnits) { - var _0_4, t1, _0_6, _0_8_isSet, _0_8, _0_10_isSet, _0_10, _0_7, t2, _0_4_isSet, unit, _0_7_isSet, numerators, t3, denominators, unsimplifiedDenominators, valueDouble, _i, denominator, simplifiedAway, i, factor, _1_2, _1_7_isSet, _1_7, _null = null, - _0_6_isSet = !false; + var t1, _0_8_isSet, _0_8, _0_10, _0_10_isSet, _0_7, unit, t2, _0_7_isSet, t3, _0_4_isSet, _0_7_isSet0, numerators, denominators, unsimplifiedDenominators, valueDouble, _i, denominator, simplifiedAway, i, factor, _1_2, _1_7_isSet, _1_7, _null = null, + _0_6_isSet = !false, + _0_6 = _null, + _0_4 = _null; if (_0_6_isSet) { _0_4 = (numeratorUnits === null ? type$.List_String._as(numeratorUnits) : numeratorUnits).length; t1 = _0_4; _0_6 = t1 <= 0; _0_8_isSet = _0_6; - } else { - _0_4 = _null; - _0_6 = _0_4; + } else _0_8_isSet = true; - } + _0_8 = _null; + _0_10 = _null; if (_0_8_isSet) { _0_8 = denominatorUnits == null; t1 = _0_8; @@ -16678,74 +17831,73 @@ self.util = _cliPkgRequires.util; if (_0_10_isSet) { _0_10 = (denominatorUnits == null ? type$.List_String._as(denominatorUnits) : denominatorUnits).length <= 0; t1 = _0_10; - } else { - _0_10 = _null; + } else t1 = true; - } _0_7 = denominatorUnits; } else { - _0_10 = _null; - _0_7 = _0_10; - _0_8 = _0_7; + _0_7 = _null; _0_10_isSet = false; t1 = false; } if (t1) return new A.UnitlessSassNumber(value, _null); t1 = type$.List_String; + unit = _null; + t2 = false; if (t1._is(numeratorUnits)) { + _0_7_isSet = true; if (_0_6_isSet) { - t2 = _0_4; + t3 = _0_4; _0_4_isSet = _0_6_isSet; } else { _0_4 = numeratorUnits.length; - t2 = _0_4; + t3 = _0_4; _0_4_isSet = true; } - if (t2 === 1) { + if (t3 === 1) { unit = numeratorUnits[0]; if (_0_8_isSet) { t2 = _0_8; - _0_7_isSet = _0_8_isSet; + _0_7_isSet0 = _0_8_isSet; } else { _0_8 = denominatorUnits == null; t2 = _0_8; + _0_7_isSet0 = _0_7_isSet; _0_7 = denominatorUnits; _0_8_isSet = true; - _0_7_isSet = true; } if (!t2) - if (_0_10_isSet) + if (_0_10_isSet) { t2 = _0_10; - else { - if (_0_7_isSet) + _0_7_isSet = _0_7_isSet0; + } else { + if (_0_7_isSet0) { t2 = _0_7; - else { + _0_7_isSet = _0_7_isSet0; + } else { t2 = denominatorUnits; _0_7 = t2; - _0_7_isSet = true; } _0_10 = (t2 == null ? t1._as(t2) : t2).length <= 0; t2 = _0_10; _0_10_isSet = true; } - else + else { + _0_7_isSet = _0_7_isSet0; t2 = true; - } else { - unit = _null; + } + } else _0_7_isSet = _0_8_isSet; - t2 = false; - } } else { - unit = _null; _0_7_isSet = _0_8_isSet; _0_4_isSet = _0_6_isSet; - t2 = false; } if (t2) return new A.SingleUnitSassNumber(unit, value, _null); t2 = numeratorUnits === null; + t3 = false; if (!t2) { + _0_7_isSet0 = true; numerators = numeratorUnits; if (_0_8_isSet) t3 = _0_8; @@ -16754,8 +17906,8 @@ self.util = _cliPkgRequires.util; t3 = _0_7; else { t3 = denominatorUnits; + _0_7_isSet = _0_7_isSet0; _0_7 = t3; - _0_7_isSet = true; } _0_8 = t3 == null; t3 = _0_8; @@ -16768,18 +17920,16 @@ self.util = _cliPkgRequires.util; t3 = _0_7; else { t3 = denominatorUnits; + _0_7_isSet = _0_7_isSet0; _0_7 = t3; - _0_7_isSet = true; } _0_10 = (t3 == null ? t1._as(t3) : t3).length <= 0; t3 = _0_10; } else t3 = true; - } else { + } else numerators = _null; - t3 = false; - } if (t3) return new A.ComplexSassNumber(A.List_List$unmodifiable(numerators, type$.String), B.List_empty, value, _null); if (!false) @@ -16797,6 +17947,7 @@ self.util = _cliPkgRequires.util; } else t2 = true; + denominators = _null; if (t2) { if (_0_7_isSet) t2 = _0_7; @@ -16810,13 +17961,10 @@ self.util = _cliPkgRequires.util; denominators = _0_7_isSet ? _0_7 : denominatorUnits; if (denominators == null) denominators = t1._as(denominators); - } else - denominators = _null; + } t1 = t2; - } else { - denominators = _null; + } else t1 = false; - } if (t1) return new A.ComplexSassNumber(B.List_empty, A.List_List$unmodifiable(denominators, type$.String), value, _null); numerators = A._setArrayType(numeratorUnits.slice(0), A._arrayInstanceType(numeratorUnits)); @@ -16859,13 +18007,12 @@ self.util = _cliPkgRequires.util; t1 = new A.UnitlessSassNumber(valueDouble, _null); break $label0$1; } + t1 = false; if (_1_2 === 1) { unit = numerators[0]; t1 = _1_7_isSet ? _1_7 : denominators.length <= 0; - } else { + } else unit = _null; - t1 = false; - } if (t1) { t1 = new A.SingleUnitSassNumber(unit, valueDouble, _null); break $label0$1; @@ -17356,13 +18503,13 @@ self.util = _cliPkgRequires.util; _EvaluateVisitor_visitMediaRule_closure4: function _EvaluateVisitor_visitMediaRule_closure4(t0) { this.mergedSources = t0; }, - _EvaluateVisitor_visitStyleRule_closure4: function _EvaluateVisitor_visitStyleRule_closure4(t0, t1) { + _EvaluateVisitor_visitStyleRule_closure3: function _EvaluateVisitor_visitStyleRule_closure3(t0, t1) { this.$this = t0; this.node = t1; }, - _EvaluateVisitor_visitStyleRule_closure5: function _EvaluateVisitor_visitStyleRule_closure5() { + _EvaluateVisitor_visitStyleRule_closure4: function _EvaluateVisitor_visitStyleRule_closure4() { }, - _EvaluateVisitor_visitStyleRule_closure7: function _EvaluateVisitor_visitStyleRule_closure7(t0, t1, t2) { + _EvaluateVisitor_visitStyleRule_closure6: function _EvaluateVisitor_visitStyleRule_closure6(t0, t1, t2) { this.$this = t0; this.rule = t1; this.node = t2; @@ -17371,9 +18518,9 @@ self.util = _cliPkgRequires.util; this.$this = t0; this.node = t1; }, - _EvaluateVisitor_visitStyleRule_closure6: function _EvaluateVisitor_visitStyleRule_closure6() { + _EvaluateVisitor_visitStyleRule_closure5: function _EvaluateVisitor_visitStyleRule_closure5() { }, - _EvaluateVisitor_visitStyleRule_closure8: function _EvaluateVisitor_visitStyleRule_closure8() { + _EvaluateVisitor__warnForBogusCombinators_closure0: function _EvaluateVisitor__warnForBogusCombinators_closure0() { }, _EvaluateVisitor_visitSupportsRule_closure1: function _EvaluateVisitor_visitSupportsRule_closure1(t0, t1) { this.$this = t0; @@ -17670,7 +18817,7 @@ self.util = _cliPkgRequires.util; _._modules = t4; _._moduleConfigurations = t5; _._moduleNodes = t6; - _._evaluate$_logger = t7; + _._logger = t7; _._warningsEmitted = t8; _._quietDeps = t9; _._sourceMap = t10; @@ -18065,7 +19212,7 @@ self.util = _cliPkgRequires.util; }, _EvaluateVisitor_visitStyleRule_closure1: function _EvaluateVisitor_visitStyleRule_closure1() { }, - _EvaluateVisitor_visitStyleRule_closure3: function _EvaluateVisitor_visitStyleRule_closure3() { + _EvaluateVisitor__warnForBogusCombinators_closure: function _EvaluateVisitor__warnForBogusCombinators_closure() { }, _EvaluateVisitor_visitSupportsRule_closure: function _EvaluateVisitor_visitSupportsRule_closure(t0, t1) { this.$this = t0; @@ -18356,7 +19503,7 @@ self.util = _cliPkgRequires.util; }, expressionToCalc(expression) { var t4, - t1 = A._setArrayType([B.C__MakeExpressionCalculationSafe.visitBinaryOperationExpression$1(expression)], type$.JSArray_Expression), + t1 = A._setArrayType([B.C__MakeExpressionCalculationSafe.visitBinaryOperationExpression$1(0, expression)], type$.JSArray_Expression), t2 = expression.get$span(0), t3 = type$.Expression; t1 = A.List_List$unmodifiable(t1, t3); @@ -18385,6 +19532,11 @@ self.util = _cliPkgRequires.util; }, __FindDependenciesVisitor_Object_RecursiveStatementVisitor: function __FindDependenciesVisitor_Object_RecursiveStatementVisitor() { }, + IsCalculationSafeVisitor: function IsCalculationSafeVisitor() { + }, + IsCalculationSafeVisitor_visitListExpression_closure: function IsCalculationSafeVisitor_visitListExpression_closure(t0) { + this.$this = t0; + }, RecursiveStatementVisitor: function RecursiveStatementVisitor() { }, ReplaceExpressionVisitor: function ReplaceExpressionVisitor() { @@ -18406,9 +19558,9 @@ self.util = _cliPkgRequires.util; SelectorSearchVisitor_visitCompoundSelector_closure: function SelectorSearchVisitor_visitCompoundSelector_closure(t0) { this.$this = t0; }, - serialize(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) { + serialize(node, charset, indentWidth, inspect, lineFeed, logger, sourceMap, style, useSpaces) { var t1, css, t2, prefix, - visitor = A._SerializeVisitor$(2, inspect, lineFeed, true, sourceMap, style, true); + visitor = A._SerializeVisitor$(2, inspect, lineFeed, logger, true, sourceMap, style, true); node.accept$1(visitor); t1 = visitor._serialize$_buffer; css = t1.toString$0(0); @@ -18425,25 +19577,28 @@ self.util = _cliPkgRequires.util; return new A._Record_2_sourceMap(prefix + css, t1); }, serializeValue(value, inspect, quote) { - var visitor = A._SerializeVisitor$(null, inspect, null, quote, false, null, true); + var _null = null, + visitor = A._SerializeVisitor$(_null, inspect, _null, _null, quote, false, _null, true); value.accept$1(visitor); return visitor._serialize$_buffer.toString$0(0); }, serializeSelector(selector, inspect) { - var visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); + var _null = null, + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); selector.accept$1(visitor); return visitor._serialize$_buffer.toString$0(0); }, - _SerializeVisitor$(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) { + _SerializeVisitor$(indentWidth, inspect, lineFeed, logger, quote, sourceMap, style, useSpaces) { var t1 = sourceMap ? new A.SourceMapBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Entry)) : new A.NoSourceMapBuffer(new A.StringBuffer("")), t2 = style == null ? B.OutputStyle_0 : style, - t3 = indentWidth == null ? 2 : indentWidth; + t3 = indentWidth == null ? 2 : indentWidth, + t4 = logger == null ? B.StderrLogger_false : logger; A.RangeError_checkValueInInterval(t3, 0, 10, "indentWidth"); - return new A._SerializeVisitor(t1, t2, inspect, quote, 32, t3, B.LineFeed_lf); + return new A._SerializeVisitor(t1, t2, inspect, quote, 32, t3, B.LineFeed_lf, t4); }, serialize_closure: function serialize_closure() { }, - _SerializeVisitor: function _SerializeVisitor(t0, t1, t2, t3, t4, t5, t6) { + _SerializeVisitor: function _SerializeVisitor(t0, t1, t2, t3, t4, t5, t6, t7) { var _ = this; _._serialize$_buffer = t0; _._indentation = 0; @@ -18453,6 +19608,7 @@ self.util = _cliPkgRequires.util; _._indentCharacter = t4; _._indentWidth = t5; _._serialize$_lineFeed = t6; + _._serialize$_logger = t7; }, _SerializeVisitor_visitCssComment_closure: function _SerializeVisitor_visitCssComment_closure(t0, t1) { this.$this = t0; @@ -18728,7 +19884,7 @@ self.util = _cliPkgRequires.util; Highlighter__collateLines(highlights) { var t1, t2, t3, highlightsByUrl = A.groupBy(highlights, new A.Highlighter__collateLines_closure(), type$._Highlight, type$.Object); - for (t1 = highlightsByUrl.get$values(0), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { + for (t1 = highlightsByUrl.get$values(0), t2 = A._instanceType(t1), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { t3 = t1.__internal$_current; if (t3 == null) t3 = t2._as(t3); @@ -19102,7 +20258,7 @@ self.util = _cliPkgRequires.util; Frame_Frame$parseV8_closure: function Frame_Frame$parseV8_closure(t0) { this.frame = t0; }, - Frame_Frame$parseV8_closure_parseLocation: function Frame_Frame$parseV8_closure_parseLocation(t0) { + Frame_Frame$parseV8_closure_parseJsLocation: function Frame_Frame$parseV8_closure_parseJsLocation(t0) { this.frame = t0; }, Frame_Frame$_parseFirefoxEval_closure: function Frame_Frame$_parseFirefoxEval_closure(t0) { @@ -19390,6 +20546,10 @@ self.util = _cliPkgRequires.util; ChangeType: function ChangeType(t0) { this._watch_event$_name = t0; }, + A98RgbColorSpace0: function A98RgbColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, AnySelectorVisitor0: function AnySelectorVisitor0() { }, AnySelectorVisitor_visitComplexSelector_closure0: function AnySelectorVisitor_visitComplexSelector_closure0(t0) { @@ -19408,7 +20568,7 @@ self.util = _cliPkgRequires.util; this.span = t2; }, ArgumentDeclaration_ArgumentDeclaration$parse0(contents, url) { - return A.ScssParser$0(contents, null, url).parseArgumentDeclaration$0(); + return A.ScssParser$0(contents, url).parseArgumentDeclaration$0(); }, ArgumentDeclaration0: function ArgumentDeclaration0(t0, t1, t2) { this.$arguments = t0; @@ -19420,7 +20580,7 @@ self.util = _cliPkgRequires.util; ArgumentDeclaration_verify_closure2: function ArgumentDeclaration_verify_closure2() { }, ArgumentInvocation$empty0(span) { - return new A.ArgumentInvocation0(B.List_empty20, B.Map_empty14, null, null, span); + return new A.ArgumentInvocation0(B.List_empty21, B.Map_empty14, null, null, span); }, ArgumentInvocation0: function ArgumentInvocation0(t0, t1, t2, t3, t4) { var _ = this; @@ -19468,7 +20628,7 @@ self.util = _cliPkgRequires.util; this.url = t1; }, AsyncBuiltInCallable$mixin0($name, $arguments, callback, acceptsContent, url) { - return new A.AsyncBuiltInCallable0($name, A.ScssParser$0("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.AsyncBuiltInCallable$mixin_closure0(callback), false); + return new A.AsyncBuiltInCallable0($name, A.ScssParser$0("@mixin " + $name + "(" + $arguments + ") {", url).parseArgumentDeclaration$0(), new A.AsyncBuiltInCallable$mixin_closure0(callback), false); }, AsyncBuiltInCallable0: function AsyncBuiltInCallable0(t0, t1, t2, t3) { var _ = this; @@ -19480,6 +20640,11 @@ self.util = _cliPkgRequires.util; AsyncBuiltInCallable$mixin_closure0: function AsyncBuiltInCallable$mixin_closure0(t0) { this.callback = t0; }, + AsyncBuiltInCallable_withDeprecationWarning_closure0: function AsyncBuiltInCallable_withDeprecationWarning_closure0(t0, t1, t2) { + this.$this = t0; + this.module = t1; + this.newName = t2; + }, compileAsync0(path, charset, fatalDeprecations, functions, futureDeprecations, importCache, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, useSpaces, verbose) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult_2), @@ -19498,10 +20663,11 @@ self.util = _cliPkgRequires.util; t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (fatalDeprecations != null) t3.addAll$1(0, fatalDeprecations); - t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1); + t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (futureDeprecations != null) - t1.addAll$1(0, futureDeprecations); - logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2); + t4.addAll$1(0, futureDeprecations); + logger = new A.DeprecationProcessingLogger0(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), logger, t2, t3, t4, !verbose); + logger.validate$0(); t1 = nodeImporter == null; if (t1) t2 = syntax == null || syntax === A.Syntax_forPath0(path); @@ -19512,7 +20678,7 @@ self.util = _cliPkgRequires.util; case 3: // then if (importCache == null) - importCache = A.AsyncImportCache$none(logger); + importCache = A.AsyncImportCache$none(); t2 = $.$get$FilesystemImporter_cwd0(); t3 = A.isNodeJs() ? self.process : null; if (!J.$eq$(t3 == null ? null : J.get$platform$x(t3), "win32")) { @@ -19547,7 +20713,7 @@ self.util = _cliPkgRequires.util; // else t2 = A.readFile0(path); t3 = syntax == null ? A.Syntax_forPath0(path) : syntax; - stylesheet = A.Stylesheet_Stylesheet$parse0(t2, t3, logger, $.$get$context().toUri$1(path)); + stylesheet = A.Stylesheet_Stylesheet$parse0(t2, t3, $.$get$context().toUri$1(path)); case 4: // join $async$goto = 7; @@ -19570,7 +20736,7 @@ self.util = _cliPkgRequires.util; compileStringAsync0(source, charset, fatalDeprecations, functions, futureDeprecations, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, url, useSpaces, verbose) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.CompileResult_2), - $async$returnValue, t3, stylesheet, result, t1, t2; + $async$returnValue, t3, t4, stylesheet, result, t1, t2; var $async$compileStringAsync0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -19585,11 +20751,12 @@ self.util = _cliPkgRequires.util; t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (fatalDeprecations != null) t3.addAll$1(0, fatalDeprecations); - t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1); + t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (futureDeprecations != null) - t1.addAll$1(0, futureDeprecations); - logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2); - stylesheet = A.Stylesheet_Stylesheet$parse0(source, syntax == null ? B.Syntax_SCSS_scss0 : syntax, logger, url); + t4.addAll$1(0, futureDeprecations); + logger = new A.DeprecationProcessingLogger0(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), logger, t2, t3, t4, !verbose); + logger.validate$0(); + stylesheet = A.Stylesheet_Stylesheet$parse0(source, syntax == null ? B.Syntax_SCSS_scss0 : syntax, url); if (importer == null) t1 = A.isBrowser() ? new A.NoOpImporter0() : $.$get$FilesystemImporter_cwd0(); else @@ -19622,12 +20789,14 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start + if (nodeImporter != null) + A.WarnForDeprecation_warnForDeprecation0(logger, B.Deprecation_2No, string$.The_le, null, null); $async$goto = 3; return A._asyncAwait(A._EvaluateVisitor$2(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet), $async$_compileStylesheet2); case 3: // returning from await. evaluateResult = $async$result; - serializeResult = A.serialize0(evaluateResult._1, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces); + serializeResult = A.serialize0(evaluateResult._1, charset, indentWidth, false, lineFeed, logger, sourceMap, style, useSpaces); resultSourceMap = serializeResult._1; if (resultSourceMap != null && importCache != null) A.mapInPlace0(resultSourceMap.urls, new A._compileStylesheet_closure2(stylesheet, importCache)); @@ -19803,7 +20972,7 @@ self.util = _cliPkgRequires.util; t2 = type$.Module_AsyncCallable_2, t3 = A._setArrayType([], type$.JSArray_Record_2_String_and_AstNode_2); if (importCache == null) - t4 = nodeImporter == null ? A.AsyncImportCache$none(logger) : null; + t4 = nodeImporter == null ? A.AsyncImportCache$none() : null; else t4 = importCache; t1 = new A._EvaluateVisitor2(t4, nodeImporter, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.AsyncCallable_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Configuration_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode_2), logger, A.LinkedHashSet_LinkedHashSet$_empty(type$.Record_2_String_and_SourceSpan), quietDeps, sourceMap, A.AsyncEnvironment$0(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_AstNode_2), t3, B.Configuration_Map_empty_null0); @@ -20171,13 +21340,13 @@ self.util = _cliPkgRequires.util; _EvaluateVisitor_visitMediaRule_closure10: function _EvaluateVisitor_visitMediaRule_closure10(t0) { this.mergedSources = t0; }, - _EvaluateVisitor_visitStyleRule_closure14: function _EvaluateVisitor_visitStyleRule_closure14(t0, t1) { + _EvaluateVisitor_visitStyleRule_closure11: function _EvaluateVisitor_visitStyleRule_closure11(t0, t1) { this.$this = t0; this.node = t1; }, - _EvaluateVisitor_visitStyleRule_closure15: function _EvaluateVisitor_visitStyleRule_closure15() { + _EvaluateVisitor_visitStyleRule_closure12: function _EvaluateVisitor_visitStyleRule_closure12() { }, - _EvaluateVisitor_visitStyleRule_closure17: function _EvaluateVisitor_visitStyleRule_closure17(t0, t1, t2) { + _EvaluateVisitor_visitStyleRule_closure14: function _EvaluateVisitor_visitStyleRule_closure14(t0, t1, t2) { this.$this = t0; this.rule = t1; this.node = t2; @@ -20186,9 +21355,9 @@ self.util = _cliPkgRequires.util; this.$this = t0; this.node = t1; }, - _EvaluateVisitor_visitStyleRule_closure16: function _EvaluateVisitor_visitStyleRule_closure16() { + _EvaluateVisitor_visitStyleRule_closure13: function _EvaluateVisitor_visitStyleRule_closure13() { }, - _EvaluateVisitor_visitStyleRule_closure18: function _EvaluateVisitor_visitStyleRule_closure18() { + _EvaluateVisitor__warnForBogusCombinators_closure2: function _EvaluateVisitor__warnForBogusCombinators_closure2() { }, _EvaluateVisitor_visitSupportsRule_closure5: function _EvaluateVisitor_visitSupportsRule_closure5(t0, t1) { this.$this = t0; @@ -20464,18 +21633,17 @@ self.util = _cliPkgRequires.util; this.$this = t0; this.url = t1; }, - AsyncImportCache$(importers, loadPaths, logger, packageConfig) { - var t1 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2, - t2 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2, - t3 = type$.Uri, - t4 = A.AsyncImportCache__toImporters0(importers, loadPaths, packageConfig); - return new A.AsyncImportCache0(t4, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); - }, - AsyncImportCache$none(logger) { + AsyncImportCache$(importers, loadPaths, packageConfig) { var t1 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2, t2 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2, t3 = type$.Uri; - return new A.AsyncImportCache0(B.List_empty25, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); + return new A.AsyncImportCache0(A.AsyncImportCache__toImporters0(importers, loadPaths, packageConfig), A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); + }, + AsyncImportCache$none() { + var t1 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2, + t2 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2, + t3 = type$.Uri; + return new A.AsyncImportCache0(B.List_empty27, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); }, AsyncImportCache__toImporters0(importers, loadPaths, packageConfig) { var t1, t2, t3, t4, _i, path, _null = null, @@ -20506,15 +21674,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - AsyncImportCache0: function AsyncImportCache0(t0, t1, t2, t3, t4, t5, t6) { + AsyncImportCache0: function AsyncImportCache0(t0, t1, t2, t3, t4, t5) { var _ = this; _._async_import_cache0$_importers = t0; - _._async_import_cache0$_logger = t1; - _._async_import_cache0$_canonicalizeCache = t2; - _._async_import_cache0$_perImporterCanonicalizeCache = t3; - _._async_import_cache0$_nonCanonicalRelativeUrls = t4; - _._async_import_cache0$_importCache = t5; - _._async_import_cache0$_resultsCache = t6; + _._async_import_cache0$_canonicalizeCache = t1; + _._async_import_cache0$_perImporterCanonicalizeCache = t2; + _._async_import_cache0$_nonCanonicalRelativeUrls = t3; + _._async_import_cache0$_importCache = t4; + _._async_import_cache0$_resultsCache = t5; }, AsyncImportCache_canonicalize_closure0: function AsyncImportCache_canonicalize_closure0(t0, t1, t2, t3, t4, t5, t6) { var _ = this; @@ -20530,13 +21697,12 @@ self.util = _cliPkgRequires.util; this.importer = t0; this.url = t1; }, - AsyncImportCache_importCanonical_closure0: function AsyncImportCache_importCanonical_closure0(t0, t1, t2, t3, t4) { + AsyncImportCache_importCanonical_closure0: function AsyncImportCache_importCanonical_closure0(t0, t1, t2, t3) { var _ = this; _.$this = t0; _.importer = t1; _.canonicalUrl = t2; _.originalUrl = t3; - _.quiet = t4; }, AsyncImportCache_humanize_closure3: function AsyncImportCache_humanize_closure3(t0) { this.canonicalUrl = t0; @@ -20548,14 +21714,9 @@ self.util = _cliPkgRequires.util; AsyncImportCache_humanize_closure6: function AsyncImportCache_humanize_closure6(t0) { this.canonicalUrl = t0; }, - AtRootQueryParser$0(contents, logger, url) { - var t1 = A.SpanScanner$(contents, url); - return new A.AtRootQueryParser0(t1, logger, null); - }, - AtRootQueryParser0: function AtRootQueryParser0(t0, t1, t2) { + AtRootQueryParser0: function AtRootQueryParser0(t0, t1) { this.scanner = t0; - this.logger = t1; - this._parser0$_interpolationMap = t2; + this._parser1$_interpolationMap = t1; }, AtRootQueryParser_parse_closure0: function AtRootQueryParser_parse_closure0(t0) { this.$this = t0; @@ -20660,20 +21821,19 @@ self.util = _cliPkgRequires.util; this.$ti = t1; }, BuiltInCallable$function0($name, $arguments, callback, url) { - return new A.BuiltInCallable0($name, A._setArrayType([new A._Record_2(A.ScssParser$0("@function " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), false); + return new A.BuiltInCallable0($name, A._setArrayType([new A._Record_2(A.ScssParser$0("@function " + $name + "(" + $arguments + ") {", url).parseArgumentDeclaration$0(), callback)], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), false); }, BuiltInCallable$mixin0($name, $arguments, callback, acceptsContent, url) { - return new A.BuiltInCallable0($name, A._setArrayType([new A._Record_2(A.ScssParser$0("@mixin " + $name + "(" + $arguments + ") {", null, url).parseArgumentDeclaration$0(), new A.BuiltInCallable$mixin_closure0(callback))], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), acceptsContent); + return new A.BuiltInCallable0($name, A._setArrayType([new A._Record_2(A.ScssParser$0("@mixin " + $name + "(" + $arguments + ") {", url).parseArgumentDeclaration$0(), new A.BuiltInCallable$mixin_closure0(callback))], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2), acceptsContent); }, BuiltInCallable$overloadedFunction0($name, overloads) { - var t2, t3, t4, t5, t6, args, callback, + var t2, t3, t4, t5, t6, t7, args, callback, t1 = A._setArrayType([], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2); - for (t2 = type$.String, t3 = A.MapExtensions_get_pairs0(overloads, t2, type$.Value_Function_List_Value_2), t3 = t3.get$iterator(t3), t4 = "@function " + $name + "(", t5 = type$.VariableDeclaration_2; t3.moveNext$0();) { - t6 = t3.get$current(t3); - args = t6._0; - callback = t6._1; - t6 = A.SpanScanner$(t4 + args + ") {", null); - t1.push(new A._Record_2(new A.ScssParser0(A.LinkedHashMap_LinkedHashMap$_empty(t2, t5), t6, B.StderrLogger_false0, null).parseArgumentDeclaration$0(), callback)); + for (t2 = type$.String, t3 = A.MapExtensions_get_pairs0(overloads, t2, type$.Value_Function_List_Value_2), t3 = t3.get$iterator(t3), t4 = "@function " + $name + "(", t5 = type$.VariableDeclaration_2, t6 = type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2; t3.moveNext$0();) { + t7 = t3.get$current(t3); + args = t7._0; + callback = t7._1; + t1.push(new A._Record_2(new A.ScssParser0(A.LinkedHashMap_LinkedHashMap$_empty(t2, t5), A._setArrayType([], t6), A.SpanScanner$(t4 + args + ") {", null), null).parseArgumentDeclaration$0(), callback)); } return new A.BuiltInCallable0($name, t1, false); }, @@ -20685,6 +21845,13 @@ self.util = _cliPkgRequires.util; BuiltInCallable$mixin_closure0: function BuiltInCallable$mixin_closure0(t0) { this.callback = t0; }, + BuiltInCallable_withDeprecationWarning_closure0: function BuiltInCallable_withDeprecationWarning_closure0(t0, t1, t2, t3) { + var _ = this; + _._box_0 = t0; + _.$this = t1; + _.module = t2; + _.newName = t3; + }, BuiltInModule$0($name, functions, mixins, variables, $T) { var t1 = A._Uri__Uri(null, $name, null, "sass"), t2 = A.BuiltInModule__callableMap0(functions, $T), @@ -20877,7 +22044,7 @@ self.util = _cliPkgRequires.util; if (!(argument instanceof A.SassNumber0)) return new A.SassCalculation0("abs", A._setArrayType([argument], type$.JSArray_Object)); if (argument.hasUnit$1("%")) - A.warnForDeprecation0(string$.Passinp + argument.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + argument.toString$0(0) + string$.x7d__Mor, B.Deprecation_jYb); + A.warnForDeprecation0(string$.Passinp + argument.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + argument.toString$0(0) + string$.x7d__Mor, B.Deprecation_qgq); return A.SassNumber_SassNumber0(Math.abs(argument._number1$_value), null).coerceToMatch$1(argument); }, SassCalculation_exp0(argument) { @@ -21027,12 +22194,19 @@ self.util = _cliPkgRequires.util; return dividend.modulo$1(modulus); }, SassCalculation_round0(strategyOrNumber, numberOrStep, step) { - var _0_4, _0_5_isSet, _0_20, _0_6, t1, _0_50, _0_6_isSet, number, t2, _0_2_isSet, _0_10_isSet, _0_8, _0_12_isSet, _0_12, _0_14_isSet, _0_14, _0_16_isSet, _0_16, t3, strategy, _0_8_isSet, t4, rest, _null = null, _s5_ = "round", + var number, t2, _0_2_isSet, _0_2_isSet0, _0_10_isSet, _0_8, _0_12, _0_14, _0_14_isSet, _0_16, _0_16_isSet, strategy, _0_5_isSet0, _0_12_isSet, t3, t4, _0_8_isSet, _0_8_isSet0, rest, _null = null, _s5_ = "round", _0_1 = A.SassCalculation__simplify0(strategyOrNumber), _0_2 = A.NullableExtension_andThen0(numberOrStep, A.calculation0_SassCalculation__simplify$closure()), _0_5 = A.NullableExtension_andThen0(step, A.calculation0_SassCalculation__simplify$closure()), _0_10 = _0_1, - _0_4_isSet = _0_1 instanceof A.SassNumber0; + _0_4_isSet = _0_1 instanceof A.SassNumber0, + _0_4 = _null, + _0_20 = _null, + _0_6 = _null, + _0_6_isSet = false, + _0_50 = _null, + _0_5_isSet = false, + t1 = false; if (_0_4_isSet) { type$.SassNumber_2._as(_0_10); _0_4 = _0_2 == null; @@ -21042,697 +22216,40 @@ self.util = _cliPkgRequires.util; _0_6 = _0_5 == null; t1 = _0_6; _0_50 = _0_5; - } else { - _0_50 = _null; - _0_6 = _0_50; - t1 = false; } _0_6_isSet = _0_5_isSet; number = _0_10; _0_1 = number; } else { number = _null; - _0_50 = number; - _0_6 = _0_50; - _0_20 = _0_6; - _0_4 = _0_20; _0_1 = _0_10; - _0_6_isSet = false; - _0_5_isSet = false; - t1 = false; } if (t1) { t1 = B.JSNumber_methods.round$0(number._number1$_value); t2 = number.get$numeratorUnits(number); return A.SassNumber_SassNumber$withUnits0(t1, number.get$denominatorUnits(number), t2); } + step = _null; + t1 = false; if (_0_1 instanceof A.SassNumber0) { + _0_2_isSet = true; if (_0_4_isSet) { - t1 = _0_20; - _0_2_isSet = _0_4_isSet; + t2 = _0_20; + _0_2_isSet0 = _0_4_isSet; } else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; + t2 = _0_2; + _0_2_isSet0 = _0_2_isSet; + _0_20 = t2; } - if (t1 instanceof A.SassNumber0) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - type$.SassNumber_2._as(t1); - if (_0_6_isSet) - t2 = _0_6; - else { - if (_0_5_isSet) - t2 = _0_50; - else { - t2 = _0_5; - _0_50 = t2; - _0_5_isSet = true; - } - _0_6 = t2 == null; - t2 = _0_6; - _0_6_isSet = true; - } - t2 = t2 && !_0_1.hasCompatibleUnits$1(t1); - step = t1; - t1 = t2; - } else { - step = _null; - t1 = false; - } - number = _0_1; - } else { - step = _null; - number = step; - _0_2_isSet = _0_4_isSet; - t1 = false; - } - if (t1) { - t1 = type$.JSArray_Object; - A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], t1)); - return new A.SassCalculation0(_s5_, A._setArrayType([number, step], t1)); - } - if (_0_1 instanceof A.SassNumber0) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassNumber0) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - type$.SassNumber_2._as(t1); - if (_0_6_isSet) - t2 = _0_6; - else { - if (_0_5_isSet) - t2 = _0_50; - else { - t2 = _0_5; - _0_50 = t2; - _0_5_isSet = true; - } - _0_6 = t2 == null; - t2 = _0_6; - _0_6_isSet = true; - } - step = t1; - t1 = t2; - } else { - step = _null; - t1 = false; - } - number = _0_1; - } else { - step = _null; - number = step; - t1 = false; - } - if (t1) { - A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], type$.JSArray_Object)); - return A.SassCalculation__roundWithStep0("nearest", number, step); - } - _0_10_isSet = _0_1 instanceof A.SassString0; - if (_0_10_isSet) { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_12_isSet = !t1; - if (_0_12_isSet) { - _0_12 = "up" === _0_8; - t1 = _0_12; - _0_14_isSet = !t1; - if (_0_14_isSet) { - _0_14 = "down" === _0_8; - t1 = _0_14; - _0_16_isSet = !t1; - if (_0_16_isSet) { - _0_16 = "to-zero" === _0_8; - t1 = _0_16; - } else { - _0_16 = _null; - t1 = true; - } + if (t2 instanceof A.SassNumber0) { + if (_0_2_isSet0) { + t2 = _0_20; + _0_2_isSet = _0_2_isSet0; } else { - _0_16 = _null; - _0_14 = _0_16; - _0_16_isSet = false; - t1 = true; + t2 = _0_2; + _0_20 = t2; } - } else { - _0_16 = _null; - _0_14 = _0_16; - _0_12 = _0_14; - _0_14_isSet = false; - _0_16_isSet = false; - t1 = true; - } - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassNumber0) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - t2 = type$.SassNumber_2; - t2._as(t1); - if (_0_5_isSet) - t3 = _0_50; - else { - t3 = _0_5; - _0_50 = t3; - _0_5_isSet = true; - } - if (t3 instanceof A.SassNumber0) { - if (_0_5_isSet) - t3 = _0_50; - else { - t3 = _0_5; - _0_50 = t3; - _0_5_isSet = true; - } - t2._as(t3); - t2 = !t1.hasCompatibleUnits$1(t3); - step = t3; - } else { - step = _null; - t2 = false; - } - number = t1; - t1 = t2; - } else { - step = _null; - number = step; - t1 = false; - } - strategy = _0_1; - } else { - step = _null; - number = step; - strategy = number; - t1 = false; - } - } else { - step = _null; - number = step; - strategy = number; - _0_16 = strategy; - _0_14 = _0_16; - _0_12 = _0_14; - _0_8 = _0_12; - _0_10 = _0_8; - _0_12_isSet = false; - _0_14_isSet = false; - _0_16_isSet = false; - t1 = false; - } - if (t1) { - t1 = type$.JSArray_Object; - A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], t1)); - return new A.SassCalculation0(_s5_, A._setArrayType([strategy, number, step], t1)); - } - if (_0_1 instanceof A.SassString0) { - if (_0_10_isSet) { - t1 = _0_10; - _0_8_isSet = _0_10_isSet; - } else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - _0_8_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassNumber0) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - t2 = type$.SassNumber_2; - t2._as(t1); - if (_0_5_isSet) - t3 = _0_50; - else { - t3 = _0_5; - _0_50 = t3; - _0_5_isSet = true; - } - t3 = t3 instanceof A.SassNumber0; - if (t3) { - if (_0_5_isSet) - t4 = _0_50; - else { - t4 = _0_5; - _0_50 = t4; - _0_5_isSet = true; - } - t2._as(t4); - step = t4; - } else - step = _null; - t2 = t3; - number = t1; - t1 = t2; - } else { - step = _null; - number = step; - t1 = false; - } - strategy = _0_1; - } else { - step = _null; - number = step; - strategy = number; - t1 = false; - } - } else { - step = _null; - number = step; - strategy = number; - _0_8_isSet = _0_10_isSet; - t1 = false; - } - if (t1) { - A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], type$.JSArray_Object)); - return A.SassCalculation__roundWithStep0(strategy._string0$_text, number, step); - } - if (_0_1 instanceof A.SassString0) { - if (_0_10_isSet) - t1 = _0_10; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 instanceof A.SassString0) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - type$.SassString_2._as(t1); - if (_0_6_isSet) - t2 = _0_6; - else { - if (_0_5_isSet) - t2 = _0_50; - else { - t2 = _0_5; - _0_50 = t2; - _0_5_isSet = true; - } - _0_6 = t2 == null; - t2 = _0_6; - _0_6_isSet = true; - } - rest = t1; - t1 = t2; - } else { - rest = _null; - t1 = false; - } - strategy = _0_1; - } else { - rest = _null; - strategy = rest; - t1 = false; - } - } else { - rest = _null; - strategy = rest; - t1 = false; - } - if (t1) - return new A.SassCalculation0(_s5_, A._setArrayType([strategy, rest], type$.JSArray_Object)); - if (_0_1 instanceof A.SassString0) { - if (_0_10_isSet) - t1 = _0_10; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - if (t1 != null) - if (_0_6_isSet) - t1 = _0_6; - else { - if (_0_5_isSet) - t1 = _0_50; - else { - t1 = _0_5; - _0_50 = t1; - _0_5_isSet = true; - } - _0_6 = t1 == null; - t1 = _0_6; - _0_6_isSet = true; - } - else - t1 = false; - } else - t1 = false; - } else - t1 = false; - if (t1) - throw A.wrapException(A.SassScriptException$0(string$.If_str, _null)); - if (_0_1 instanceof A.SassString0) { - if (_0_10_isSet) - t1 = _0_10; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_10 = "nearest" === t1; - t1 = _0_10; - _0_10_isSet = true; - } - if (!t1) { - if (_0_12_isSet) - t1 = _0_12; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_12 = "up" === t1; - t1 = _0_12; - _0_12_isSet = true; - } - if (!t1) { - if (_0_14_isSet) - t1 = _0_14; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_14 = "down" === t1; - t1 = _0_14; - _0_14_isSet = true; - } - if (!t1) - if (_0_16_isSet) - t1 = _0_16; - else { - if (_0_8_isSet) - t1 = _0_8; - else { - _0_8 = _0_1._string0$_text; - t1 = _0_8; - _0_8_isSet = true; - } - _0_16 = "to-zero" === t1; - t1 = _0_16; - _0_16_isSet = true; - } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; - if (t1) { - if (_0_4_isSet) - t1 = _0_4; - else { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - _0_4 = t1 == null; - t1 = _0_4; - _0_4_isSet = true; - } - if (t1) - if (_0_6_isSet) - t1 = _0_6; - else { - if (_0_5_isSet) - t1 = _0_50; - else { - t1 = _0_5; - _0_50 = t1; - _0_5_isSet = true; - } - _0_6 = t1 == null; - t1 = _0_6; - _0_6_isSet = true; - } - else - t1 = false; - } else - t1 = false; - } else - t1 = false; - if (t1) - throw A.wrapException(A.SassScriptException$0(string$.Number, _null)); - if (_0_1 instanceof A.SassString0) { - if (_0_4_isSet) - t1 = _0_4; - else { - if (_0_2_isSet) - t1 = _0_20; - else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; - } - _0_4 = t1 == null; - t1 = _0_4; - _0_4_isSet = true; - } - if (t1) + type$.SassNumber_2._as(t2); if (_0_6_isSet) t1 = _0_6; else { @@ -21747,29 +22264,632 @@ self.util = _cliPkgRequires.util; t1 = _0_6; _0_6_isSet = true; } - else - t1 = false; - rest = _0_1; + t1 = t1 && !_0_1.hasCompatibleUnits$1(t2); + step = t2; + } else + _0_2_isSet = _0_2_isSet0; + number = _0_1; } else { - rest = _null; - t1 = false; + number = _null; + _0_2_isSet = _0_4_isSet; } + if (t1) { + t1 = type$.JSArray_Object; + A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], t1)); + return new A.SassCalculation0(_s5_, A._setArrayType([number, step], t1)); + } + step = _null; + t1 = false; + if (_0_1 instanceof A.SassNumber0) { + _0_2_isSet0 = true; + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassNumber0) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + type$.SassNumber_2._as(t2); + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + step = t2; + } + number = _0_1; + } else + number = _null; + if (t1) { + A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], type$.JSArray_Object)); + return A.SassCalculation__roundWithStep0("nearest", number, step); + } + _0_10_isSet = _0_1 instanceof A.SassString0; + _0_10 = _null; + _0_8 = _null; + _0_12 = _null; + _0_14 = _null; + _0_14_isSet = false; + _0_16 = _null; + _0_16_isSet = false; + strategy = _null; + number = _null; + step = _null; + t1 = false; + if (_0_10_isSet) { + _0_2_isSet0 = true; + _0_5_isSet0 = true; + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_12_isSet = !t2; + t2 = true; + if (_0_12_isSet) { + _0_12 = "up" === _0_8; + t3 = _0_12; + _0_14_isSet = !t3; + if (_0_14_isSet) { + _0_14 = "down" === _0_8; + t3 = _0_14; + _0_16_isSet = !t3; + if (_0_16_isSet) { + _0_16 = "to-zero" === _0_8; + t2 = _0_16; + } + } + } + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassNumber0) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + t3 = type$.SassNumber_2; + t3._as(t2); + if (_0_5_isSet) + t4 = _0_50; + else { + t4 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t4; + } + if (t4 instanceof A.SassNumber0) { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t1; + } + t3._as(t1); + t3 = !t2.hasCompatibleUnits$1(t1); + step = t1; + t1 = t3; + } + number = t2; + } + strategy = _0_1; + } + } else + _0_12_isSet = false; + if (t1) { + t1 = type$.JSArray_Object; + A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], t1)); + return new A.SassCalculation0(_s5_, A._setArrayType([strategy, number, step], t1)); + } + strategy = _null; + number = _null; + step = _null; + t1 = false; + if (_0_1 instanceof A.SassString0) { + _0_2_isSet0 = true; + _0_5_isSet0 = true; + _0_8_isSet = true; + if (_0_10_isSet) { + t2 = _0_10; + _0_8_isSet0 = _0_10_isSet; + } else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_8_isSet0 = _0_8_isSet; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet0) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet0 = _0_8_isSet; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet0) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet0 = _0_8_isSet; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) { + t2 = _0_16; + _0_8_isSet = _0_8_isSet0; + } else { + if (_0_8_isSet0) { + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else { + t2 = t3; + _0_8_isSet = _0_8_isSet0; + } + } else { + t2 = t3; + _0_8_isSet = _0_8_isSet0; + } + } else { + t2 = t3; + _0_8_isSet = _0_8_isSet0; + } + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassNumber0) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + t3 = type$.SassNumber_2; + t3._as(t2); + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t1; + } + t1 = t1 instanceof A.SassNumber0; + if (t1) { + if (_0_5_isSet) + t4 = _0_50; + else { + t4 = _0_5; + _0_5_isSet = _0_5_isSet0; + _0_50 = t4; + } + t3._as(t4); + step = t4; + } + number = t2; + } + strategy = _0_1; + } + } else + _0_8_isSet = _0_10_isSet; + if (t1) { + A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([number, step], type$.JSArray_Object)); + return A.SassCalculation__roundWithStep0(strategy._string0$_text, number, step); + } + strategy = _null; + rest = _null; + t1 = false; + if (_0_1 instanceof A.SassString0) { + _0_2_isSet0 = true; + _0_8_isSet0 = true; + if (_0_10_isSet) + t2 = _0_10; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) + t2 = _0_16; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else + t2 = t3; + } else + t2 = t3; + } else + t2 = t3; + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + if (t2 instanceof A.SassString0) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; + } + type$.SassString_2._as(t2); + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + rest = t2; + } + strategy = _0_1; + } + } + if (t1) + return new A.SassCalculation0(_s5_, A._setArrayType([strategy, rest], type$.JSArray_Object)); + t1 = false; + if (_0_1 instanceof A.SassString0) { + _0_8_isSet0 = true; + if (_0_10_isSet) + t2 = _0_10; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) + t2 = _0_16; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else + t2 = t3; + } else + t2 = t3; + } else + t2 = t3; + if (t2) { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_20 = t2; + _0_2_isSet = true; + } + if (t2 != null) + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + } + } + if (t1) + throw A.wrapException(A.SassScriptException$0(string$.If_str, _null)); + t1 = false; + if (_0_1 instanceof A.SassString0) { + _0_8_isSet0 = true; + if (_0_10_isSet) + t2 = _0_10; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_10 = "nearest" === t2; + t2 = _0_10; + _0_10_isSet = true; + } + t3 = true; + if (!t2) { + if (_0_12_isSet) + t2 = _0_12; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_12 = "up" === t2; + t2 = _0_12; + _0_12_isSet = true; + } + if (!t2) { + if (_0_14_isSet) + t2 = _0_14; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_14 = "down" === t2; + t2 = _0_14; + _0_14_isSet = true; + } + if (!t2) + if (_0_16_isSet) + t2 = _0_16; + else { + if (_0_8_isSet) + t2 = _0_8; + else { + _0_8 = _0_1._string0$_text; + t2 = _0_8; + _0_8_isSet = _0_8_isSet0; + } + _0_16 = "to-zero" === t2; + t2 = _0_16; + _0_16_isSet = true; + } + else + t2 = t3; + } else + t2 = t3; + } else + t2 = t3; + if (t2) { + if (_0_4_isSet) + t2 = _0_4; + else { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_20 = t2; + _0_2_isSet = true; + } + _0_4 = t2 == null; + t2 = _0_4; + _0_4_isSet = true; + } + if (t2) + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + } + } + if (t1) + throw A.wrapException(A.SassScriptException$0(string$.Number, _null)); + t1 = false; + if (_0_1 instanceof A.SassString0) { + if (_0_4_isSet) + t2 = _0_4; + else { + if (_0_2_isSet) + t2 = _0_20; + else { + t2 = _0_2; + _0_20 = t2; + _0_2_isSet = true; + } + _0_4 = t2 == null; + t2 = _0_4; + _0_4_isSet = true; + } + if (t2) + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_50; + else { + t1 = _0_5; + _0_50 = t1; + _0_5_isSet = true; + } + _0_6 = t1 == null; + t1 = _0_6; + _0_6_isSet = true; + } + rest = _0_1; + } else + rest = _null; if (t1) return new A.SassCalculation0(_s5_, A._setArrayType([rest], type$.JSArray_Object)); + t1 = false; if (_0_4_isSet) - t1 = _0_4; + t2 = _0_4; else { if (_0_2_isSet) - t1 = _0_20; + t2 = _0_20; else { - t1 = _0_2; - _0_20 = t1; + t2 = _0_2; + _0_20 = t2; _0_2_isSet = true; } - _0_4 = t1 == null; - t1 = _0_4; + _0_4 = t2 == null; + t2 = _0_4; } - if (t1) + if (t2) if (_0_6_isSet) t1 = _0_6; else { @@ -21784,24 +22904,25 @@ self.util = _cliPkgRequires.util; t1 = _0_6; _0_6_isSet = true; } - else - t1 = false; if (t1) throw A.wrapException(A.SassScriptException$0("Single argument " + A.S(_0_1) + " expected to be simplifiable.", _null)); + step = _null; + t1 = false; + _0_2_isSet0 = true; if (_0_2_isSet) - t1 = _0_20; + t2 = _0_20; else { - t1 = _0_2; - _0_20 = t1; - _0_2_isSet = true; + t2 = _0_2; + _0_2_isSet = _0_2_isSet0; + _0_20 = t2; } - if (t1 != null) { + if (t2 != null) { if (_0_2_isSet) step = _0_20; else { step = _0_2; + _0_2_isSet = _0_2_isSet0; _0_20 = step; - _0_2_isSet = true; } if (step == null) step = type$.Object._as(step); @@ -21818,55 +22939,53 @@ self.util = _cliPkgRequires.util; _0_6 = t1 == null; t1 = _0_6; } - } else { - step = _null; - t1 = false; } if (t1) return new A.SassCalculation0(_s5_, A._setArrayType([_0_1, step], type$.JSArray_Object)); if (_0_1 instanceof A.SassString0) { + t1 = true; if (_0_10_isSet) - t1 = _0_10; + t2 = _0_10; else { if (_0_8_isSet) - t1 = _0_8; + t2 = _0_8; else { _0_8 = _0_1._string0$_text; - t1 = _0_8; + t2 = _0_8; _0_8_isSet = true; } - _0_10 = "nearest" === t1; - t1 = _0_10; + _0_10 = "nearest" === t2; + t2 = _0_10; } - if (!t1) { + if (!t2) { if (_0_12_isSet) - t1 = _0_12; + t2 = _0_12; else { if (_0_8_isSet) - t1 = _0_8; + t2 = _0_8; else { _0_8 = _0_1._string0$_text; - t1 = _0_8; + t2 = _0_8; _0_8_isSet = true; } - _0_12 = "up" === t1; - t1 = _0_12; + _0_12 = "up" === t2; + t2 = _0_12; } - if (!t1) { + if (!t2) { if (_0_14_isSet) - t1 = _0_14; + t2 = _0_14; else { if (_0_8_isSet) - t1 = _0_8; + t2 = _0_8; else { _0_8 = _0_1._string0$_text; - t1 = _0_8; + t2 = _0_8; _0_8_isSet = true; } - _0_14 = "down" === t1; - t1 = _0_14; + _0_14 = "down" === t2; + t2 = _0_14; } - if (!t1) + if (!t2) if (_0_16_isSet) t1 = _0_16; else { @@ -21879,12 +22998,8 @@ self.util = _cliPkgRequires.util; _0_16 = "to-zero" === t1; t1 = _0_16; } - else - t1 = true; - } else - t1 = true; - } else - t1 = true; + } + } } else t1 = false; if (!t1) @@ -21894,22 +23009,27 @@ self.util = _cliPkgRequires.util; t1 = false; else t1 = true; + number = _null; + step = _null; + t2 = false; if (t1) { + _0_2_isSet0 = true; + _0_5_isSet0 = true; type$.SassString_2._as(_0_1); if (_0_2_isSet) t1 = _0_20; else { t1 = _0_2; + _0_2_isSet = _0_2_isSet0; _0_20 = t1; - _0_2_isSet = true; } if (t1 != null) { if (_0_2_isSet) number = _0_20; else { number = _0_2; + _0_2_isSet = _0_2_isSet0; _0_20 = number; - _0_2_isSet = true; } if (number == null) number = type$.Object._as(number); @@ -21917,8 +23037,8 @@ self.util = _cliPkgRequires.util; t1 = _0_50; else { t1 = _0_5; + _0_5_isSet = _0_5_isSet0; _0_50 = t1; - _0_5_isSet = true; } t1 = t1 != null; if (t1) { @@ -21926,31 +23046,24 @@ self.util = _cliPkgRequires.util; step = _0_50; else { step = _0_5; + _0_5_isSet = _0_5_isSet0; _0_50 = step; - _0_5_isSet = true; } if (step == null) step = type$.Object._as(step); - } else - step = _null; - } else { - step = _null; - number = step; - t1 = false; - } + } + } else + t1 = t2; strategy = _0_1; } else { - step = _null; - number = step; - strategy = number; - t1 = false; + t1 = t2; + strategy = _null; } if (t1) return new A.SassCalculation0(_s5_, A._setArrayType([strategy, number, step], type$.JSArray_Object)); + t1 = false; if ((_0_2_isSet ? _0_20 : _0_2) != null) t1 = (_0_5_isSet ? _0_50 : _0_5) != null; - else - t1 = false; if (t1) throw A.wrapException(A.SassScriptException$0(A.S(strategyOrNumber) + string$.x20must_b, _null)); t1 = A.SassScriptException$0("Invalid parameters.", _null); @@ -21963,13 +23076,10 @@ self.util = _cliPkgRequires.util; left = A.SassCalculation__simplify0(left); right = A.SassCalculation__simplify0(right); if (B.CalculationOperator_g2q0 === operator || B.CalculationOperator_CxF0 === operator) { + t1 = false; if (left instanceof A.SassNumber0) if (right instanceof A.SassNumber0) t1 = inLegacySassFunction ? left.isComparableTo$1(right) : left.hasCompatibleUnits$1(right); - else - t1 = false; - else - t1 = false; if (t1) return operator === B.CalculationOperator_g2q0 ? left.plus$1(right) : left.minus$1(right); A.SassCalculation__verifyCompatibleNumbers0(A._setArrayType([left, right], type$.JSArray_Object)); @@ -22019,20 +23129,18 @@ self.util = _cliPkgRequires.util; _0_6 = "nearest" === strategy; t1 = _0_6; _0_8_isSet = !t1; + _0_8 = _null; if (_0_8_isSet) { _0_8 = "to-zero" === strategy; _0_9_isSet = _0_8; - } else { - _0_8 = _null; + } else _0_9_isSet = true; - } + _0_9 = _null; if (_0_9_isSet) { _0_9 = _0_2 > 0; t1 = _0_9; - } else { - _0_9 = _null; + } else t1 = false; - } if (t1) { t1 = number.get$numeratorUnits(number); t1 = A.SassNumber_SassNumber$withUnits0(0, number.get$denominatorUnits(number), t1); @@ -22140,7 +23248,7 @@ self.util = _cliPkgRequires.util; return t1; }, SassCalculation__simplify0(arg) { - var t1, _0_11_isSet, _0_11, _0_12, _0_15, _0_16_isSet, _0_16, text, _0_12_isSet, _0_15_isSet, value, _null = null, + var t1, t2, _0_11_isSet, _0_15, _0_12, _0_16_isSet, text, _0_11, _0_16, _0_12_isSet, _0_15_isSet, value, _null = null, _s32_ = " can't be used in a calculation."; $label0$0: { if (arg instanceof A.SassNumber0 || arg instanceof A.CalculationOperation0) { @@ -22152,6 +23260,7 @@ self.util = _cliPkgRequires.util; break $label0$0; } t1 = arg instanceof A.SassString0; + t2 = _null; if (t1 && !arg._string0$_hasQuotes) { t1 = arg; break $label0$0; @@ -22159,6 +23268,11 @@ self.util = _cliPkgRequires.util; if (t1) A.throwExpression(A.SassScriptException$0("Quoted string " + arg.toString$0(0) + _s32_, _null)); _0_11_isSet = arg instanceof A.SassCalculation0; + _0_15 = _null; + _0_12 = _null; + _0_16_isSet = false; + text = _null; + t1 = false; if (_0_11_isSet) { _0_11 = "calc" === arg.name; if (_0_11) { @@ -22167,50 +23281,31 @@ self.util = _cliPkgRequires.util; _0_16_isSet = _0_15; if (_0_16_isSet) { _0_16 = _0_12[0]; - t1 = _0_16; - if (t1 instanceof A.SassString0) { + t2 = _0_16; + if (t2 instanceof A.SassString0) { type$.SassString_2._as(_0_16); if (!_0_16._string0$_hasQuotes) { text = _0_16._string0$_text; t1 = A.SassCalculation__needsParentheses0(text); - } else { - text = _null; - t1 = false; } - } else { - text = _null; - t1 = false; } - } else { - text = _null; - _0_16 = text; - t1 = false; - } - } else { - text = _null; - _0_16 = text; - _0_12 = _0_16; - _0_15 = _0_12; - _0_16_isSet = false; - t1 = false; - } + } else + _0_16 = t2; + } else + _0_16 = t2; _0_12_isSet = _0_11; _0_15_isSet = _0_12_isSet; } else { - text = _null; - _0_16 = text; - _0_12 = _0_16; - _0_15 = _0_12; - _0_11 = _0_15; + _0_16 = t2; + _0_11 = _null; _0_15_isSet = false; _0_12_isSet = false; - _0_16_isSet = false; - t1 = false; } if (t1) { t1 = new A.SassString0("(" + A.S(text) + ")", false); break $label0$0; } + t1 = false; if (_0_11_isSet) if (_0_11) if (_0_15_isSet) @@ -22226,10 +23321,6 @@ self.util = _cliPkgRequires.util; _0_15 = t1.length === 1; t1 = _0_15; } - else - t1 = false; - else - t1 = false; if (t1) { if (_0_16_isSet) value = _0_16; @@ -22358,6 +23449,22 @@ self.util = _cliPkgRequires.util; this._canonicalize_context$_containingUrl = t1; this._canonicalize_context$_wasContainingUrlAccessed = false; }, + ColorChannel0: function ColorChannel0(t0, t1, t2) { + this.name = t0; + this.isPolarAngle = t1; + this.associatedUnit = t2; + }, + LinearChannel0: function LinearChannel0(t0, t1, t2, t3, t4, t5, t6, t7) { + var _ = this; + _.min = t0; + _.max = t1; + _.requiresPercent = t2; + _.lowerClamped = t3; + _.upperClamped = t4; + _.name = t5; + _.isPolarAngle = t6; + _.associatedUnit = t7; + }, Chokidar0: function Chokidar0() { }, ChokidarOptions0: function ChokidarOptions0() { @@ -22368,6 +23475,9 @@ self.util = _cliPkgRequires.util; this.name = t0; this.span = t1; }, + ClipGamutMap0: function ClipGamutMap0(t0) { + this.name = t0; + }, cloneCssStylesheet0(stylesheet, extensionStore) { var _0_0 = extensionStore.clone$0(); return new A._Record_2(new A._CloneCssVisitor0(_0_0._1)._clone_css$_visitChildren$2(A.ModifiableCssStylesheet$0(stylesheet.get$span(stylesheet)), stylesheet), _0_0._0); @@ -22379,74 +23489,368 @@ self.util = _cliPkgRequires.util; this.value = t0; this.span = t1; }, - _updateComponents0($arguments, adjust, change, scale) { - var keywords, alpha, red, green, blue, hue, saturation, lightness, whiteness, blackness, hasRgb, hasSL, hasWB, t2, t3, t4, _null = null, + _invert0($arguments, global) { + var t2, color, rgb, channel2, space, weight, inSpace, t3, _1_9, channel0, channel1, t4, _s6_ = "weight", _s5_ = "space", + t1 = J.getInterceptor$asx($arguments), + weightNumber = t1.$index($arguments, 1).assertNumber$1(_s6_); + if (!(t1.$index($arguments, 0) instanceof A.SassNumber0)) + t2 = global && t1.$index($arguments, 0).get$isSpecialNumber(); + else + t2 = true; + if (t2) { + if (weightNumber._number1$_value !== 100 || !weightNumber.hasUnit$1("%")) + throw A.wrapException(string$.Only_oa); + return A._functionString0("invert", t1.take$1($arguments, 1)); + } + color = t1.$index($arguments, 0).assertColor$1("color"); + if (J.$eq$(t1.$index($arguments, 2), B.C__SassNull0)) { + t1 = color._color0$_space; + if (!t1.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.To_usei + color.toString$0(0) + ", you must provide a $space.", "color")); + A._checkPercent0(weightNumber, _s6_); + rgb = color.toSpace$1(B.RgbColorSpace_mlz0); + channel2 = B.LinearChannel_Npb0; + return A._mixLegacy0(A.SassColor_SassColor$rgbInternal0(A._invertChannel0(rgb, B.LinearChannel_bdu0, rgb.channel0OrNull), A._invertChannel0(rgb, B.LinearChannel_kUZ0, rgb.channel1OrNull), A._invertChannel0(rgb, channel2, rgb.channel2OrNull), color.alphaOrNull, null), color, weightNumber).toSpace$1(t1); + } + t1 = t1.$index($arguments, 2).assertString$1(_s5_); + t1.assertUnquoted$1(_s5_); + space = A.ColorSpace_fromName0(t1._string0$_text, _s5_); + weight = weightNumber.valueInRangeWithUnit$4(0, 100, _s6_, "%") / 100; + if (A.fuzzyEquals0(weight, 0)) + return color; + inSpace = color.toSpace$1(space); + $label0$0: { + if (B.HwbColorSpace_06z0 === space) { + t1 = A._invertChannel0(inSpace, space._space$_channels[0], inSpace.channel0OrNull); + t2 = inSpace.alphaOrNull; + if (t2 == null) + t2 = 0; + t2 = A.SassColor_SassColor$hwb0(t1, inSpace.channel2OrNull, inSpace.channel1OrNull, t2); + t1 = t2; + break $label0$0; + } + if (B.HslColorSpace_gsm0 === space || B.LchColorSpace_wv80 === space || B.OklchColorSpace_li80 === space) { + t1 = space._space$_channels; + t2 = A._invertChannel0(inSpace, t1[0], inSpace.channel0OrNull); + t1 = A._invertChannel0(inSpace, t1[2], inSpace.channel2OrNull); + t3 = inSpace.alphaOrNull; + if (t3 == null) + t3 = 0; + t3 = A.SassColor_SassColor$forSpaceInternal0(space, t2, inSpace.channel1OrNull, t1, t3); + t1 = t3; + break $label0$0; + } + _1_9 = space._space$_channels; + channel0 = _1_9[0]; + channel1 = _1_9[1]; + channel2 = _1_9[2]; + t1 = A._invertChannel0(inSpace, channel0, inSpace.channel0OrNull); + t2 = A._invertChannel0(inSpace, channel1, inSpace.channel1OrNull); + t3 = A._invertChannel0(inSpace, channel2, inSpace.channel2OrNull); + t4 = inSpace.alphaOrNull; + t1 = A.SassColor_SassColor$forSpaceInternal0(space, t1, t2, t3, t4 == null ? 0 : t4); + break $label0$0; + } + return A.fuzzyEquals0(weight, 1) ? t1.toSpace$2$legacyMissing(color._color0$_space, false) : color.interpolate$4$legacyMissing$weight(t1, A.InterpolationMethod$0(space, null), false, 1 - weight); + }, + _invertChannel0(color, channel, value) { + var _0_2_isSet, _0_2, t1; + if (value == null) + A._missingChannelError0(color, channel.name); + $label0$0: { + _0_2_isSet = channel instanceof A.LinearChannel0; + if (_0_2_isSet) { + _0_2 = channel.min; + t1 = _0_2 < 0; + } else { + _0_2 = null; + t1 = false; + } + if (t1) { + t1 = -value; + break $label0$0; + } + if (_0_2_isSet) + t1 = 0 === _0_2; + else + t1 = false; + if (t1) { + t1 = channel.max - value; + break $label0$0; + } + if (channel.isPolarAngle) { + t1 = B.JSNumber_methods.$mod(value + 180, 360); + break $label0$0; + } + t1 = A.throwExpression(A.UnsupportedError$("Unknown channel " + channel.toString$0(0) + ".")); + } + return t1; + }, + _grayscale0(colorArg) { + var hsl, t2, oklch, + color = colorArg.assertColor$1("color"), + t1 = color._color0$_space; + if (t1.get$isLegacyInternal()) { + hsl = color.toSpace$1(B.HslColorSpace_gsm0); + t2 = hsl.alphaOrNull; + if (t2 == null) + t2 = 0; + return A.SassColor_SassColor$hsl0(hsl.channel0OrNull, 0, hsl.channel2OrNull, t2).toSpace$2$legacyMissing(t1, false); + } else { + oklch = color.toSpace$1(B.OklchColorSpace_li80); + t2 = oklch.alphaOrNull; + if (t2 == null) + t2 = 0; + return A.SassColor_SassColor$forSpaceInternal0(B.OklchColorSpace_li80, oklch.channel0OrNull, 0, oklch.channel2OrNull, t2).toSpace$1(t1); + } + }, + _updateComponents0($arguments, adjust, change, scale) { + var t2, t3, keywords, originalColor, spaceKeyword, alphaArg, color, channelArgs, channelInfo, t4, value, channelIndex, result, i, alphaNumber, _null = null, _s5_ = "space", t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"), argumentList = type$.SassArgumentList_2._as(t1.$index($arguments, 1)); if (argumentList._list1$_contents.length !== 0) throw A.wrapException(A.SassScriptException$0(string$.Only_op, _null)); argumentList._argument_list$_wereKeywordsAccessed = true; - keywords = A.LinkedHashMap_LinkedHashMap$of(argumentList._argument_list$_keywords, type$.String, type$.Value_2); - t1 = new A._updateComponents_getParam0(keywords, scale, change); - alpha = t1.call$3$checkUnitless("alpha", 1, true); - red = t1.call$2("red", 255); - green = t1.call$2("green", 255); - blue = t1.call$2("blue", 255); - hue = scale ? _null : A.NullableExtension_andThen0(keywords.remove$1(0, "hue"), new A._updateComponents_closure1()); - saturation = t1.call$3$checkPercent("saturation", 100, true); - lightness = t1.call$3$checkPercent("lightness", 100, true); - whiteness = t1.call$3$assertPercent("whiteness", 100, true); - blackness = t1.call$3$assertPercent("blackness", 100, true); - t1 = keywords.__js_helper$_length; - if (t1 !== 0) - throw A.wrapException(A.SassScriptException$0("No " + A.pluralize0("argument", t1, _null) + " named " + A.toSentence0(keywords.get$keys(0).map$1$1(0, new A._updateComponents_closure2(), type$.Object), "or") + ".", _null)); - hasRgb = red != null || green != null || blue != null; - hasSL = saturation != null || lightness != null; - hasWB = whiteness != null || blackness != null; - if (hasRgb) - t1 = hasSL || hasWB || hue != null; + t2 = type$.String; + t3 = type$.Value_2; + keywords = A.LinkedHashMap_LinkedHashMap$of(argumentList._argument_list$_keywords, t2, t3); + originalColor = t1.$index($arguments, 0).assertColor$1("color"); + t1 = keywords.remove$1(0, _s5_); + spaceKeyword = t1 == null ? _null : t1.assertString$1(_s5_); + if (spaceKeyword == null) + spaceKeyword = _null; else - t1 = false; - if (t1) - throw A.wrapException(A.SassScriptException$0(string$.RGB_pa + (hasWB ? "HWB" : "HSL") + " parameters.", _null)); - if (hasSL && hasWB) - throw A.wrapException(A.SassScriptException$0(string$.HSL_pa, _null)); - t1 = new A._updateComponents_updateValue0(change, adjust); - t2 = new A._updateComponents_updateRgb0(t1); - if (hasRgb) { - t3 = t2.call$2(color.get$red(0), red); - t4 = t2.call$2(color.get$green(0), green); - t2 = t2.call$2(color.get$blue(0), blue); - return color.changeRgb$4$alpha$blue$green$red(t1.call$3(color._color1$_alpha, alpha, 1), t2, t4, t3); - } else if (hasWB) { - if (change) - t2 = hue; - else { - t2 = color.get$hue(0); - t2 += hue == null ? 0 : hue; - } - t3 = t1.call$3(color.get$whiteness(0), whiteness, 100); - t4 = t1.call$3(color.get$blackness(0), blackness, 100); - return color.changeHwb$4$alpha$blackness$hue$whiteness(t1.call$3(color._color1$_alpha, alpha, 1), t4, t2, t3); - } else { - t2 = hue == null; - if (!t2 || hasSL) { - if (change) - t2 = hue; - else { - t3 = color.get$hue(0); - t3 += t2 ? 0 : hue; - t2 = t3; - } - t3 = t1.call$3(color.get$saturation(0), saturation, 100); - t4 = t1.call$3(color.get$lightness(0), lightness, 100); - return color.changeHsl$4$alpha$hue$lightness$saturation(t1.call$3(color._color1$_alpha, alpha, 1), t2, t4, t3); - } else if (alpha != null) - return color.changeAlpha$1(t1.call$3(color._color1$_alpha, alpha, 1)); - else - return color; + spaceKeyword.assertUnquoted$1(_s5_); + alphaArg = keywords.remove$1(0, "alpha"); + t1 = spaceKeyword == null; + if (t1 && originalColor._color0$_space.get$isLegacyInternal() && keywords.__js_helper$_length !== 0) { + t1 = A.NullableExtension_andThen0(A._sniffLegacyColorSpace0(keywords), new A._updateComponents_closure1(originalColor)); + color = t1 == null ? originalColor : t1; + } else + color = A._colorInSpace0(originalColor, t1 ? B.C__SassNull0 : spaceKeyword, true); + channelArgs = A.List_List$filled(color.get$channels().length, _null, false, type$.nullable_Value_2); + t1 = color._color0$_space; + channelInfo = t1._space$_channels; + for (t2 = A.MapExtensions_get_pairs0(keywords, t2, t3), t2 = t2.get$iterator(t2); t2.moveNext$0();) { + t3 = {}; + t4 = t2.get$current(t2); + t3.name = null; + t3.name = t4._0; + value = t4._1; + channelIndex = B.JSArray_methods.indexWhere$1(channelInfo, new A._updateComponents_closure2(t3)); + if (channelIndex === -1) + throw A.wrapException(A.SassScriptException$0("Color space " + t1.toString$0(0) + " doesn't have a channel with this name.", t3.name)); + channelArgs[channelIndex] = value; } + if (change) + result = A._changeColor0(color, channelArgs, alphaArg); + else { + t2 = A._setArrayType([], type$.JSArray_nullable_SassNumber_2); + for (i = 0; i < 3; ++i) { + t3 = channelArgs[i]; + t2.push(t3 == null ? _null : t3.assertNumber$1(channelInfo[i].name)); + } + alphaNumber = alphaArg == null ? _null : alphaArg.assertNumber$1("alpha"); + result = scale ? A.SassColor_SassColor$forSpaceInternal0(t1, A._scaleChannel0(color, channelInfo[0], color.channel0OrNull, t2[0]), A._scaleChannel0(color, channelInfo[1], color.channel1OrNull, t2[1]), A._scaleChannel0(color, channelInfo[2], color.channel2OrNull, t2[2]), A._scaleChannel0(color, B.LinearChannel_omH0, color.alphaOrNull, alphaNumber)) : A._adjustColor0(color, t2, alphaNumber); + } + return result.toSpace$2$legacyMissing(originalColor._color0$_space, false); + }, + _changeColor0(color, channelArgs, alphaArg) { + var t4, _s5_ = "alpha", + t1 = A._channelForChange0(channelArgs[0], color, 0), + t2 = A._channelForChange0(channelArgs[1], color, 1), + t3 = A._channelForChange0(channelArgs[2], color, 2); + $label0$0: { + if (alphaArg == null) { + t4 = color.alphaOrNull; + if (t4 == null) + t4 = 0; + break $label0$0; + } + t4 = A._isNone0(alphaArg); + if (t4) { + t4 = null; + break $label0$0; + } + t4 = alphaArg instanceof A.SassNumber0; + if (t4 && !alphaArg.get$hasUnits()) { + t4 = alphaArg.valueInRange$3(0, 1, _s5_); + break $label0$0; + } + if (t4 && alphaArg.hasUnit$1("%")) { + t4 = alphaArg.valueInRangeWithUnit$4(0, 100, _s5_, "%") / 100; + break $label0$0; + } + if (t4) { + t4 = new A._changeColor_closure0(alphaArg).call$0(); + break $label0$0; + } + t4 = A.throwExpression(A.SassScriptException$0(alphaArg.toString$0(0) + ' is not a number or unquoted "none".', _s5_)); + } + return A._colorFromChannels0(color._color0$_space, t1, t2, t3, t4, false, false); + }, + _channelForChange0(channelArg, color, channel) { + var _0_0, t1, t2; + if (channelArg == null) { + _0_0 = color.get$channelsOrNull()[channel]; + $label0$0: { + if (_0_0 != null) { + t1 = color._color0$_space; + t2 = A.SassNumber_SassNumber0(_0_0, (t1 === B.HslColorSpace_gsm0 || t1 === B.HwbColorSpace_06z0) && channel > 0 ? "%" : null); + t1 = t2; + break $label0$0; + } + t1 = null; + break $label0$0; + } + return t1; + } + if (A._isNone0(channelArg)) + return null; + if (channelArg instanceof A.SassNumber0) + return channelArg; + throw A.wrapException(A.SassScriptException$0(channelArg.toString$0(0) + ' is not a number or unquoted "none".', color._color0$_space._space$_channels[channel].name)); + }, + _scaleChannel0(color, channel, oldValue, factorArg) { + var t1, factor; + if (factorArg == null) + return oldValue; + if (!(channel instanceof A.LinearChannel0)) + throw A.wrapException(A.SassScriptException$0("Channel isn't scalable.", channel.name)); + if (oldValue == null) + A._missingChannelError0(color, channel.name); + t1 = channel.name; + factorArg.assertUnit$2("%", t1); + factor = factorArg.valueInRangeWithUnit$4(-100, 100, t1, "%") / 100; + $label0$0: { + if (0 === factor) { + t1 = oldValue; + break $label0$0; + } + if (factor > 0) { + t1 = channel.max; + t1 = oldValue >= t1 ? oldValue : oldValue + (t1 - oldValue) * factor; + break $label0$0; + } + t1 = channel.min; + t1 = oldValue <= t1 ? oldValue : oldValue + (oldValue - t1) * factor; + break $label0$0; + } + return t1; + }, + _adjustColor0(color, channelArgs, alphaArg) { + var t1 = color._color0$_space, + t2 = t1._space$_channels; + return A.SassColor_SassColor$forSpaceInternal0(t1, A._adjustChannel0(color, t2[0], color.channel0OrNull, channelArgs[0]), A._adjustChannel0(color, t2[1], color.channel1OrNull, channelArgs[1]), A._adjustChannel0(color, t2[2], color.channel2OrNull, channelArgs[2]), A.NullableExtension_andThen0(A._adjustChannel0(color, B.LinearChannel_omH0, color.alphaOrNull, alphaArg), new A._adjustColor_closure0())); + }, + _adjustChannel0(color, channel, oldValue, adjustmentArg) { + var _0_1, _0_3, t1, _0_6_isSet, _0_6, _0_6_isSet0, t2, _0_11, result, min, max, _null = null; + if (adjustmentArg == null) + return oldValue; + if (oldValue == null) + A._missingChannelError0(color, channel.name); + $label0$0: { + _0_1 = color._color0$_space; + _0_3 = B.HslColorSpace_gsm0 === _0_1; + t1 = _0_3; + if (!t1) + _0_6_isSet = B.HwbColorSpace_06z0 === _0_1; + else + _0_6_isSet = true; + if (_0_6_isSet) { + t1 = channel.isPolarAngle; + _0_6 = channel; + } else { + _0_6 = _null; + t1 = false; + } + if (t1) { + adjustmentArg = A.SassNumber_SassNumber0(A._angleValue0(adjustmentArg, "hue"), _null); + break $label0$0; + } + t1 = false; + if (_0_3) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t2 = _0_6; + else { + t2 = channel; + _0_6_isSet = _0_6_isSet0; + _0_6 = t2; + } + if (t2 instanceof A.LinearChannel0) { + if (_0_6_isSet) + t1 = _0_6; + else { + t1 = channel; + _0_6_isSet = _0_6_isSet0; + _0_6 = t1; + } + _0_11 = type$.LinearChannel_2._as(t1).name; + t1 = _0_11; + if ("saturation" !== t1) + t1 = "lightness" === _0_11; + else + t1 = true; + } + } + if (t1) { + A._checkPercent0(adjustmentArg, channel.name); + adjustmentArg = A.SassNumber_SassNumber0(adjustmentArg._number1$_value, "%"); + break $label0$0; + } + if (B.LinearChannel_omH0 === (_0_6_isSet ? _0_6 : channel) && adjustmentArg.get$hasUnits()) { + A.warnForDeprecation0("$alpha: Passing a number with unit " + adjustmentArg.get$unitString() + string$.x20is_de + adjustmentArg.unitSuggestion$1("alpha") + string$.x0a_Morex3af, B.Deprecation_jV0); + adjustmentArg = A.SassNumber_SassNumber0(adjustmentArg._number1$_value, _null); + } + } + t1 = A._channelFromValue0(channel, adjustmentArg, false); + t1.toString; + result = oldValue + t1; + $label1$1: { + t1 = channel instanceof A.LinearChannel0; + min = _null; + t2 = false; + if (t1) + if (channel.lowerClamped) { + min = channel.min; + t2 = result < min; + } + if (t2) { + t1 = oldValue < min ? Math.max(oldValue, result) : min; + break $label1$1; + } + max = _null; + t2 = false; + if (t1) + if (channel.upperClamped) { + max = channel.max; + t1 = result > max; + } else + t1 = t2; + else + t1 = t2; + if (t1) { + t1 = oldValue > max ? Math.min(oldValue, result) : max; + break $label1$1; + } + t1 = result; + break $label1$1; + } + return t1; + }, + _sniffLegacyColorSpace0(keywords) { + var t1, t2; + for (t1 = A.LinkedHashMapKeyIterator$(keywords, keywords.__js_helper$_modifications); t1.moveNext$0();) { + t2 = t1.__js_helper$_current; + if ("red" === t2 || "green" === t2 || "blue" === t2) + return B.RgbColorSpace_mlz0; + if ("saturation" === t2 || "lightness" === t2) + return B.HslColorSpace_gsm0; + if ("whiteness" === t2 || "blackness" === t2) + return B.HwbColorSpace_06z0; + } + return keywords.containsKey$1("hue") ? B.HslColorSpace_gsm0 : null; }, _functionString0($name, $arguments) { return new A.SassString0($name + "(" + J.map$1$1$ax($arguments, new A._functionString_closure0(), type$.String).join$1(0, ", ") + ")", false); @@ -22455,224 +23859,75 @@ self.util = _cliPkgRequires.util; return A.BuiltInCallable$function0($name, "$color, $amount", new A._removedColorFunction_closure0($name, argument, negative), "sass:color"); }, _rgb0($name, $arguments) { - var t2, red, green, blue, t3, t4, + var t3, t4, t1 = J.getInterceptor$asx($arguments), - alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null; + alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null, + t2 = true; if (!t1.$index($arguments, 0).get$isSpecialNumber()) if (!t1.$index($arguments, 1).get$isSpecialNumber()) if (!t1.$index($arguments, 2).get$isSpecialNumber()) { t2 = alpha == null ? null : alpha.get$isSpecialNumber(); t2 = t2 === true; - } else - t2 = true; - else - t2 = true; - else - t2 = true; + } if (t2) return A._functionString0($name, $arguments); - red = t1.$index($arguments, 0).assertNumber$1("red"); - green = t1.$index($arguments, 1).assertNumber$1("green"); - blue = t1.$index($arguments, 2).assertNumber$1("blue"); - t1 = A.fuzzyRound0(A._percentageOrUnitless0(red, 255, "red")); - t2 = A.fuzzyRound0(A._percentageOrUnitless0(green, 255, "green")); - t3 = A.fuzzyRound0(A._percentageOrUnitless0(blue, 255, "blue")); + t2 = t1.$index($arguments, 0).assertNumber$1("red"); + t3 = t1.$index($arguments, 1).assertNumber$1("green"); + t1 = t1.$index($arguments, 2).assertNumber$1("blue"); t4 = A.NullableExtension_andThen0(alpha, new A._rgb_closure0()); - return A.SassColor$rgbInternal0(t1, t2, t3, t4 == null ? 1 : t4, B._ColorFormatEnum_rgbFunction0); + return A._colorFromChannels0(B.RgbColorSpace_mlz0, t2, t3, t1, t4 == null ? 1 : t4, true, true); }, _rgbTwoArg0($name, $arguments) { var t2, color, - t1 = J.getInterceptor$asx($arguments); - if (!t1.$index($arguments, 0).get$isVar()) - t2 = !(t1.$index($arguments, 0) instanceof A.SassColor0) && t1.$index($arguments, 1).get$isVar(); + t1 = J.getInterceptor$asx($arguments), + first = t1.$index($arguments, 0), + second = t1.$index($arguments, 1); + if (!first.get$isVar()) + t2 = !(first instanceof A.SassColor0) && second.get$isVar(); else t2 = true; if (t2) return A._functionString0($name, $arguments); - else if (t1.$index($arguments, 1).get$isSpecialNumber()) { - color = t1.$index($arguments, 0).assertColor$1("color"); - return new A.SassString0($name + "(" + color.get$red(0) + ", " + color.get$green(0) + ", " + color.get$blue(0) + ", " + A.serializeValue0(t1.$index($arguments, 1), false, true) + ")", false); - } - return t1.$index($arguments, 0).assertColor$1("color").changeAlpha$1(A._percentageOrUnitless0(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha")); + color = first.assertColor$1("color"); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0("Expected " + color.toString$0(0) + string$.x20to_be_ + color.toString$0(0) + ", $alpha: " + second.toString$0(0) + ")", $name)); + color.assertLegacy$1("color"); + color = color.toSpace$1(B.RgbColorSpace_mlz0); + if (second.get$isSpecialNumber()) + return A._functionString0($name, A._setArrayType([A.SassNumber_SassNumber0(color.channel$1(0, "red"), null), A.SassNumber_SassNumber0(color.channel$1(0, "green"), null), A.SassNumber_SassNumber0(color.channel$1(0, "blue"), null), t1.$index($arguments, 1)], type$.JSArray_Value_2)); + t1 = A._percentageOrUnitless0(t1.$index($arguments, 1).assertNumber$1("alpha"), 1, "alpha"); + return color.changeAlpha$1(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1)); }, _hsl0($name, $arguments) { - var t2, hue, saturation, lightness, t3, - _s10_ = "saturation", - _s9_ = "lightness", + var t3, t4, t1 = J.getInterceptor$asx($arguments), - alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null; + alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null, + t2 = true; if (!t1.$index($arguments, 0).get$isSpecialNumber()) if (!t1.$index($arguments, 1).get$isSpecialNumber()) if (!t1.$index($arguments, 2).get$isSpecialNumber()) { t2 = alpha == null ? null : alpha.get$isSpecialNumber(); t2 = t2 === true; - } else - t2 = true; - else - t2 = true; - else - t2 = true; + } if (t2) return A._functionString0($name, $arguments); - hue = A._angleValue0(t1.$index($arguments, 0), "hue"); - saturation = t1.$index($arguments, 1).assertNumber$1(_s10_); - lightness = t1.$index($arguments, 2).assertNumber$1(_s9_); - A._checkPercent0(saturation, _s10_); - A._checkPercent0(lightness, _s9_); - t1 = B.JSNumber_methods.clamp$2(saturation._number1$_value, 0, 100); - t2 = B.JSNumber_methods.clamp$2(lightness._number1$_value, 0, 100); - t3 = A.NullableExtension_andThen0(alpha, new A._hsl_closure0()); - return A.SassColor$hslInternal0(hue, t1, t2, t3 == null ? 1 : t3, B._ColorFormatEnum_hslFunction0); + t2 = t1.$index($arguments, 0).assertNumber$1("hue"); + t3 = t1.$index($arguments, 1).assertNumber$1("saturation"); + t1 = t1.$index($arguments, 2).assertNumber$1("lightness"); + t4 = A.NullableExtension_andThen0(alpha, new A._hsl_closure0()); + return A._colorFromChannels0(B.HslColorSpace_gsm0, t2, t3, t1, t4 == null ? 1 : t4, true, false); }, _angleValue0(angleValue, $name) { var angle = angleValue.assertNumber$1($name); if (angle.compatibleWithUnit$1("deg")) return angle.coerceValueToUnit$1("deg"); - A.warnForDeprecation0("$" + $name + ": Passing a unit other than deg (" + angle.toString$0(0) + string$.x29x20is_d + angle.unitSuggestion$1($name) + string$.x0a_See_, B.Deprecation_oCX); + A.warnForDeprecation0("$" + $name + ": Passing a unit other than deg (" + angle.toString$0(0) + string$.x29x20is_d + angle.unitSuggestion$1($name) + string$.x0a_See_, B.Deprecation_jV0); return angle._number1$_value; }, _checkPercent0(number, $name) { if (number.hasUnit$1("%")) return; - A.warnForDeprecation0("$" + $name + ": Passing a number without unit % (" + number.toString$0(0) + string$.x29x20is_d + number.unitSuggestion$2($name, "%") + string$.x0a_Morex3a, B.Deprecation_oCX); - }, - _hwb0($arguments) { - var t2, t3, - _s9_ = "whiteness", - _s9_0 = "blackness", - t1 = J.getInterceptor$asx($arguments), - alpha = t1.get$length($arguments) > 3 ? t1.$index($arguments, 3) : null, - hue = A._angleValue0(t1.$index($arguments, 0), "hue"), - whiteness = t1.$index($arguments, 1).assertNumber$1(_s9_), - blackness = t1.$index($arguments, 2).assertNumber$1(_s9_0); - whiteness.assertUnit$2("%", _s9_); - blackness.assertUnit$2("%", _s9_0); - t1 = whiteness.valueInRange$3(0, 100, _s9_); - t2 = blackness.valueInRange$3(0, 100, _s9_0); - t3 = A.NullableExtension_andThen0(alpha, new A._hwb_closure0()); - return A.SassColor_SassColor$hwb0(hue, t1, t2, t3 == null ? 1 : t3); - }, - _parseChannels0($name, argumentNames, channels) { - var list, t1, channels0, alphaFromSlashList, isCommaSeparated, isBracketed, buffer, _0_4, _1_0, _1_2_isSet, _1_2, t2, _null = null, - _s17_ = "$channels must be"; - if (channels.get$isVar()) - return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2)); - if (channels.get$separator(channels) === B.ListSeparator_cQA0) { - list = channels.get$asList(); - t1 = list.length; - if (t1 !== 2) - throw A.wrapException(A.SassScriptException$0(string$.Only_2 + t1 + " " + A.pluralize0("was", t1, "were") + " passed.", _null)); - channels0 = list[0]; - alphaFromSlashList = list[1]; - if (!alphaFromSlashList.get$isSpecialNumber()) - alphaFromSlashList.assertNumber$1("alpha"); - if (list[0].get$isVar()) - return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2)); - } else { - alphaFromSlashList = _null; - channels0 = channels; - } - isCommaSeparated = channels0.get$separator(channels0) === B.ListSeparator_ECn0; - isBracketed = channels0.get$hasBrackets(); - if (isCommaSeparated || isBracketed) { - buffer = new A.StringBuffer(_s17_); - if (isBracketed) { - t1 = _s17_ + " an unbracketed"; - buffer._contents = t1; - } else - t1 = _s17_; - if (isCommaSeparated) { - t1 += isBracketed ? "," : " a"; - buffer._contents = t1; - t1 = buffer._contents = t1 + " space-separated"; - } - buffer._contents = t1 + " list."; - throw A.wrapException(A.SassScriptException$0(buffer.toString$0(0), _null)); - } - list = channels0.get$asList(); - if (list.length >= 2) { - _0_4 = list[0]; - t1 = _0_4; - if (t1 instanceof A.SassString0) { - type$.SassString_2._as(_0_4); - t1 = !_0_4._string0$_hasQuotes && A.equalsIgnoreCase0(_0_4._string0$_text, "from"); - } else - t1 = false; - } else - t1 = false; - if (t1) - return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2)); - t1 = list.length; - if (t1 > 3) - throw A.wrapException(A.SassScriptException$0("Only 3 elements allowed, but " + t1 + " were passed.", _null)); - else if (t1 < 3) { - if (!B.JSArray_methods.any$1(list, new A._parseChannels_closure0())) - if (list.length !== 0) { - t1 = B.JSArray_methods.get$last(list); - if (t1 instanceof A.SassString0) - if (t1._string0$_hasQuotes) { - t1 = t1._string0$_text; - t1 = A.startsWithIgnoreCase0(t1, "var(") && B.JSString_methods.contains$1(t1, "/"); - } else - t1 = false; - else - t1 = false; - } else - t1 = false; - else - t1 = true; - if (t1) - return A._functionString0($name, A._setArrayType([channels], type$.JSArray_Value_2)); - else - throw A.wrapException(A.SassScriptException$0("Missing element " + argumentNames[list.length] + ".", _null)); - } - if (alphaFromSlashList != null) { - t1 = A.List_List$of(list, true, type$.Value_2); - t1.push(alphaFromSlashList); - return t1; - } - _1_0 = list[2]; - $label0$0: { - _1_2_isSet = _1_0 instanceof A.SassNumber0; - if (_1_2_isSet) { - _1_2 = _1_0.asSlash; - t1 = type$.Record_2_nullable_Object_and_nullable_Object._is(_1_2); - } else { - _1_2 = _null; - t1 = false; - } - if (t1) { - if (_1_2_isSet) - t1 = _1_2; - else { - _1_2 = _1_0.asSlash; - t1 = _1_2; - _1_2_isSet = true; - } - if (t1 == null) - t1 = type$.Record_2_nullable_Object_and_nullable_Object._as(t1); - t2 = _1_2_isSet ? _1_2 : _1_0.asSlash; - if (t2 == null) - t2 = type$.Record_2_nullable_Object_and_nullable_Object._as(t2); - t2 = A._setArrayType([list[0], list[1], t1._0, t2._1], type$.JSArray_Value_2); - t1 = t2; - break $label0$0; - } - if (_1_0 instanceof A.SassString0) - if (!_1_0._string0$_hasQuotes) - t1 = B.JSString_methods.contains$1(_1_0._string0$_text, "/"); - else - t1 = false; - else - t1 = false; - if (t1) { - t1 = A._functionString0($name, A._setArrayType([channels0], type$.JSArray_Value_2)); - break $label0$0; - } - t1 = list; - break $label0$0; - } - return t1; + A.warnForDeprecation0("$" + $name + ": Passing a number without unit % (" + number.toString$0(0) + string$.x29x20is_d + number.unitSuggestion$2($name, "%") + string$.x0a_Morex3af, B.Deprecation_jV0); }, _percentageOrUnitless0(number, max, $name) { var value; @@ -22681,59 +23936,475 @@ self.util = _cliPkgRequires.util; else if (number.hasUnit$1("%")) value = max * number._number1$_value / 100; else - throw A.wrapException(A.SassScriptException$0("$" + $name + ": Expected " + number.toString$0(0) + ' to have unit "%" or no units.', null)); - return B.JSNumber_methods.clamp$2(value, 0, max); + throw A.wrapException(A.SassScriptException$0("Expected " + number.toString$0(0) + ' to have unit "%" or no units.', $name)); + return value; }, - _mixColors0(color1, color2, weight) { - var weightScale, normalizedWeight, t1, t2, alphaDistance, t3, weight1, weight2; - A._checkPercent0(weight, "weight"); - weightScale = weight.valueInRange$3(0, 100, "weight") / 100; - normalizedWeight = weightScale * 2 - 1; - t1 = color1._color1$_alpha; - t2 = color2._color1$_alpha; - alphaDistance = t1 - t2; - t3 = normalizedWeight * alphaDistance; - weight1 = ((t3 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t3)) + 1) / 2; + _mixLegacy0(color1, color2, weight) { + var t2, alphaDistance, weight1, weight2, t3, t4, t5, t6, t7, t8, + rgb1 = color1.toSpace$1(B.RgbColorSpace_mlz0), + rgb2 = color2.toSpace$1(B.RgbColorSpace_mlz0), + weightScale = weight.valueInRange$3(0, 100, "weight") / 100, + normalizedWeight = weightScale * 2 - 1, + t1 = color1.alphaOrNull; + if (t1 == null) + t1 = 0; + t2 = color2.alphaOrNull; + alphaDistance = t1 - (t2 == null ? 0 : t2); + t1 = normalizedWeight * alphaDistance; + weight1 = ((t1 === -1 ? normalizedWeight : (normalizedWeight + alphaDistance) / (1 + t1)) + 1) / 2; weight2 = 1 - weight1; - return A.SassColor$rgb0(A.fuzzyRound0(color1.get$red(0) * weight1 + color2.get$red(0) * weight2), A.fuzzyRound0(color1.get$green(0) * weight1 + color2.get$green(0) * weight2), A.fuzzyRound0(color1.get$blue(0) * weight1 + color2.get$blue(0) * weight2), t1 * weightScale + t2 * (1 - weightScale)); + t1 = rgb1.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = rgb2.channel0OrNull; + if (t2 == null) + t2 = 0; + t3 = rgb1.channel1OrNull; + if (t3 == null) + t3 = 0; + t4 = rgb2.channel1OrNull; + if (t4 == null) + t4 = 0; + t5 = rgb1.channel2OrNull; + if (t5 == null) + t5 = 0; + t6 = rgb2.channel2OrNull; + if (t6 == null) + t6 = 0; + t7 = rgb1.alphaOrNull; + if (t7 == null) + t7 = 0; + t8 = rgb2.alphaOrNull; + if (t8 == null) + t8 = 0; + return A.SassColor_SassColor$rgbInternal0(t1 * weight1 + t2 * weight2, t3 * weight1 + t4 * weight2, t5 * weight1 + t6 * weight2, t7 * weightScale + t8 * (1 - weightScale), null); }, - _opacify0($arguments) { - var t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"); - return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._color1$_alpha + t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1)); + _opacify0($name, $arguments) { + var result, + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + amount = t1.$index($arguments, 1).assertNumber$1("amount"); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0($name + string$.x28__is_oa, null)); + t1 = color.alphaOrNull; + if (t1 == null) + t1 = 0; + t1 += amount.valueInRangeWithUnit$4(0, 1, "amount", ""); + result = color.changeAlpha$1(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1)); + A.warnForDeprecation0($name + "() is deprecated. " + A._suggestScaleAndAdjust0(color, amount._number1$_value, "alpha") + string$.x0a_Morex3ac, B.Deprecation_rb9); + return result; }, - _transparentize0($arguments) { - var t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"); - return color.changeAlpha$1(B.JSNumber_methods.clamp$2(color._color1$_alpha - t1.$index($arguments, 1).assertNumber$1("amount").valueInRangeWithUnit$4(0, 1, "amount", ""), 0, 1)); + _transparentize0($name, $arguments) { + var result, + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + amount = t1.$index($arguments, 1).assertNumber$1("amount"); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0($name + string$.x28__is_oa, null)); + t1 = color.alphaOrNull; + if (t1 == null) + t1 = 0; + t1 -= amount.valueInRangeWithUnit$4(0, 1, "amount", ""); + result = color.changeAlpha$1(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1)); + A.warnForDeprecation0($name + "() is deprecated. " + A._suggestScaleAndAdjust0(color, -amount._number1$_value, "alpha") + string$.x0a_Morex3ac, B.Deprecation_rb9); + return result; }, - _function11($name, $arguments, callback) { + _colorInSpace0(colorUntyped, spaceUntyped, legacyMissing) { + var t1, _s5_ = "space", + color = colorUntyped.assertColor$1("color"); + if (spaceUntyped.$eq(0, B.C__SassNull0)) + return color; + t1 = spaceUntyped.assertString$1(_s5_); + t1.assertUnquoted$1(_s5_); + return color.toSpace$2$legacyMissing(A.ColorSpace_fromName0(t1._string0$_text, _s5_), legacyMissing); + }, + _parseChannels0(functionName, input, $name, space) { + var parsedSlash, components, alphaValue, _2_0, _2_1, _2_5, t1, _2_6, t2, _2_60, t3, channels, first, rest, componentList, spaceName, i, channel, channelName, t4, _null = null; + if (input.get$isVar()) + return A._functionString0(functionName, A._setArrayType([input], type$.JSArray_Value_2)); + parsedSlash = A._parseSlashChannels0(input, $name); + if (parsedSlash == null) + return A._functionString0(functionName, A._setArrayType([input], type$.JSArray_Value_2)); + components = parsedSlash._0; + alphaValue = parsedSlash._1; + $label0$0: { + _2_0 = components.assertCommonListStyle$2$allowSlash($name, false); + _2_1 = _2_0.length; + if (_2_1 <= 0) + throw A.wrapException(A.SassScriptException$0("Color component list may not be empty.", $name)); + _2_5 = _2_1 >= 1; + t1 = _2_5; + _2_6 = _null; + t2 = false; + if (t1) { + _2_60 = _2_0[0]; + t3 = _2_60; + _2_6 = t3; + if (t3 instanceof A.SassString0) { + type$.SassString_2._as(_2_6); + t2 = !_2_6._string0$_hasQuotes && _2_6._string0$_text.toLowerCase() === "from"; + } + } + if (t2) + return A._functionString0(functionName, A._setArrayType([input], type$.JSArray_Value_2)); + t2 = components.get$isVar(); + if (t2) { + channels = A._setArrayType([components], type$.JSArray_Value_2); + break $label0$0; + } + channels = _null; + if (_2_5) { + first = t1 ? _2_6 : _2_0[0]; + rest = B.JSArray_methods.sublist$1(_2_0, 1); + componentList = _2_0; + } else { + componentList = channels; + rest = componentList; + first = _null; + } + if (_2_5) { + if (space == null) { + spaceName = first.assertString$1($name); + spaceName.assertUnquoted$1($name); + space = spaceName.get$isVar() ? _null : A.ColorSpace_fromName0(spaceName._string0$_text, $name); + if (B.RgbColorSpace_mlz0 === space || B.HslColorSpace_gsm0 === space || B.HwbColorSpace_06z0 === space || B.LabColorSpace_IF20 === space || B.LchColorSpace_wv80 === space || B.OklabColorSpace_yrt0 === space || B.OklchColorSpace_li80 === space) + throw A.wrapException(A.SassScriptException$0(string$.The_co + A.S(space) + ". Use the " + A.S(space) + "() function instead.", $name)); + channels = rest; + } else + channels = componentList; + for (i = 0; i < channels.length; ++i) { + channel = channels[i]; + t1 = false; + if (!channel.get$isSpecialNumber()) + if (!(channel instanceof A.SassNumber0)) + t1 = !(channel instanceof A.SassString0 && !channel._string0$_hasQuotes && channel._string0$_text.toLowerCase() === "none"); + if (t1) { + t1 = _null; + if (space == null) + channelName = t1; + else { + t2 = space._space$_channels; + t2 = i < 3 ? t2[i] : _null; + if (!(t2 == null)) + t1 = new A._parseChannels_closure1().call$1(t2.name); + channelName = t1; + } + if (channelName == null) + channelName = "channel " + (i + 1); + throw A.wrapException(A.SassScriptException$0("Expected " + channelName + " to be a number, was " + channel.toString$0(0) + ".", $name)); + } + } + break $label0$0; + } + throw A.wrapException("unreachable"); + } + t1 = alphaValue == null; + t2 = t1 ? _null : alphaValue.get$isSpecialNumber(); + if (t2 === true) { + if (channels.length === 3 && B.Set_2Dcfy0.contains$1(0, space)) { + t1 = A.List_List$of(channels, true, type$.Value_2); + alphaValue.toString; + t1.push(alphaValue); + t1 = A._functionString0(functionName, t1); + } else + t1 = A._functionString0(functionName, A._setArrayType([input], type$.JSArray_Value_2)); + return t1; + } + $label1$1: { + if (t1) { + t2 = 1; + break $label1$1; + } + if (alphaValue instanceof A.SassString0 && !alphaValue._string0$_hasQuotes && "none" === alphaValue._string0$_text) { + t2 = _null; + break $label1$1; + } + t2 = A._percentageOrUnitless0(alphaValue.assertNumber$1($name), 1, "alpha"); + t2 = isNaN(t2) ? 0 : B.JSNumber_methods.clamp$2(t2, 0, 1); + break $label1$1; + } + if (space == null) + return A._functionString0(functionName, A._setArrayType([input], type$.JSArray_Value_2)); + if (B.JSArray_methods.any$1(channels, new A._parseChannels_closure2())) { + if (channels.length === 3 && B.Set_2Dcfy0.contains$1(0, space)) { + t2 = A.List_List$of(channels, true, type$.Value_2); + if (!t1) + t2.push(alphaValue); + t1 = A._functionString0(functionName, t2); + } else + t1 = A._functionString0(functionName, A._setArrayType([input], type$.JSArray_Value_2)); + return t1; + } + if (channels.length !== 3) + throw A.wrapException(A.SassScriptException$0("The " + space.toString$0(0) + " color space has 3 channels but " + input.toString$0(0) + " has " + channels.length + ".", $name)); + t1 = channels[0]; + t1 = t1 instanceof A.SassNumber0 ? t1 : _null; + t3 = channels[1]; + t3 = t3 instanceof A.SassNumber0 ? t3 : _null; + t4 = channels[2]; + t4 = t4 instanceof A.SassNumber0 ? t4 : _null; + return A._colorFromChannels0(space, t1, t3, t4, t2, true, space === B.RgbColorSpace_mlz0); + }, + _parseSlashChannels0(input, $name) { + var _1_1, alphaValue, t1, components, _1_7, _1_9_isSet, _1_8, _1_9, initial, t2, _0_0, _0_1, channel3, alpha, _1_16, _1_16_isSet, _1_9_isSet0, t3, _null = null, + _1_0 = input.assertCommonListStyle$2$allowSlash($name, true); + $label0$0: { + _1_1 = _1_0.length; + alphaValue = _null; + t1 = false; + if (_1_1 === 2) { + components = _1_0[0]; + alphaValue = _1_0[1]; + t1 = input.get$separator(input) === B.ListSeparator_cQA0; + } else + components = _null; + if (t1) { + t1 = new A._Record_2(components, alphaValue); + break $label0$0; + } + t1 = input.get$separator(input); + if (t1 === B.ListSeparator_cQA0) { + t1 = _1_0.length; + A.throwExpression(A.SassScriptException$0(string$.Only_2 + t1 + " " + A.pluralize0("was", t1, "were") + " passed.", $name)); + } + _1_7 = _1_1 >= 1; + _1_9_isSet = _1_7; + _1_8 = _null; + _1_9 = _null; + initial = _null; + t1 = false; + if (_1_9_isSet) { + _1_8 = B.JSArray_methods.sublist$2(_1_0, 0, _1_1 - 1); + initial = _1_8; + _1_9 = _1_0[_1_1 - 1]; + t2 = _1_9; + if (t2 instanceof A.SassString0) { + type$.SassString_2._as(_1_9); + t1 = !_1_9._string0$_hasQuotes; + } + } + if (t1) { + if (_1_9_isSet) + t1 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t1 = _1_9; + } + _0_0 = type$.SassString_2._as(t1)._string0$_text.split("/"); + $label1$1: { + _0_1 = _0_0.length; + if (_0_1 === 1) { + t1 = new A._Record_2(input, _null); + break $label1$1; + } + if (_0_1 === 2) { + channel3 = _0_0[0]; + alpha = _0_0[1]; + t1 = A.List_List$of(initial, true, type$.Value_2); + t1.push(A._parseNumberOrString0(channel3)); + t1 = new A._Record_2(A.SassList$0(t1, B.ListSeparator_nbm0, false), A._parseNumberOrString0(alpha)); + break $label1$1; + } + t1 = _null; + break $label1$1; + } + break $label0$0; + } + _1_16 = _null; + _1_16_isSet = false; + t1 = false; + if (_1_7) { + _1_9_isSet0 = true; + if (_1_9_isSet) + initial = _1_8; + else { + _1_8 = B.JSArray_methods.sublist$2(_1_0, 0, _1_1 - 1); + initial = _1_8; + } + if (_1_9_isSet) + t2 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t2 = _1_9; + _1_9_isSet = _1_9_isSet0; + } + _1_16_isSet = t2 instanceof A.SassNumber0; + if (_1_16_isSet) { + if (_1_9_isSet) + t1 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t1 = _1_9; + _1_9_isSet = _1_9_isSet0; + } + _1_16 = type$.SassNumber_2._as(t1).asSlash; + t1 = _1_16; + t1 = type$.Record_2_nullable_Object_and_nullable_Object._is(t1); + } + } else + initial = _null; + if (t1) { + if (_1_16_isSet) + t1 = _1_16; + else { + if (_1_9_isSet) + t1 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t1 = _1_9; + _1_9_isSet = true; + } + _1_16 = type$.SassNumber_2._as(t1).asSlash; + t1 = _1_16; + _1_16_isSet = true; + } + if (t1 == null) + t1 = type$.Record_2_nullable_Object_and_nullable_Object._as(t1); + if (_1_16_isSet) + t2 = _1_16; + else { + if (_1_9_isSet) + t2 = _1_9; + else { + _1_9 = _1_0[_1_1 - 1]; + t2 = _1_9; + } + _1_16 = type$.SassNumber_2._as(t2).asSlash; + t2 = _1_16; + } + if (t2 == null) + t2 = type$.Record_2_nullable_Object_and_nullable_Object._as(t2); + t3 = A.List_List$of(initial, true, type$.Value_2); + t3.push(t1._0); + t2 = new A._Record_2(A.SassList$0(t3, B.ListSeparator_nbm0, false), t2._1); + t1 = t2; + break $label0$0; + } + t1 = new A._Record_2(input, _null); + break $label0$0; + } + return t1; + }, + _parseNumberOrString0(text) { + var t1, expression, exception; + try { + t1 = A.ScssParser$0(text, null); + expression = t1._stylesheet0$_parseSingleProduction$1$1(t1.get$_stylesheet0$_number(), type$.NumberExpression_2); + t1 = A.SassNumber_SassNumber0(expression.value, expression.unit); + return t1; + } catch (exception) { + if (type$.SassFormatException_2._is(A.unwrapException(exception))) + return new A.SassString0(text, false); + else + throw exception; + } + }, + _colorFromChannels0(space, channel0, channel1, channel2, alpha, clamp, fromRgbFunction) { + var t1, t2, whiteness, blackness, t3; + switch (space) { + case B.HslColorSpace_gsm0: + if (channel1 != null) + A._checkPercent0(channel1, "saturation"); + if (channel2 != null) + A._checkPercent0(channel2, "lightness"); + t1 = space._space$_channels; + return A.SassColor_SassColor$hsl0(A.NullableExtension_andThen0(channel0, new A._colorFromChannels_closure1()), A._channelFromValue0(t1[1], A._forcePercent0(channel1), clamp), A._channelFromValue0(t1[2], A._forcePercent0(channel2), clamp), alpha); + case B.HwbColorSpace_06z0: + t1 = channel1 == null; + if (!t1) + channel1.assertUnit$2("%", "whiteness"); + t2 = channel2 == null; + if (!t2) + channel2.assertUnit$2("%", "blackness"); + whiteness = t1 ? null : channel1._number1$_value; + blackness = t2 ? null : channel2._number1$_value; + if (whiteness != null && blackness != null && whiteness + blackness > 100) { + t1 = whiteness + blackness; + whiteness = whiteness / t1 * 100; + blackness = blackness / t1 * 100; + } + return A.SassColor_SassColor$hwb0(A.NullableExtension_andThen0(channel0, new A._colorFromChannels_closure2()), whiteness, blackness, alpha); + case B.RgbColorSpace_mlz0: + t1 = space._space$_channels; + t2 = A._channelFromValue0(t1[0], channel0, clamp); + t3 = A._channelFromValue0(t1[1], channel1, clamp); + t1 = A._channelFromValue0(t1[2], channel2, clamp); + return A.SassColor_SassColor$rgbInternal0(t2, t3, t1, alpha, fromRgbFunction ? B.C__ColorFormatEnum0 : null); + default: + t1 = space._space$_channels; + return A.SassColor_SassColor$forSpaceInternal0(space, A._channelFromValue0(t1[0], channel0, clamp), A._channelFromValue0(t1[1], channel1, clamp), A._channelFromValue0(t1[2], channel2, clamp), alpha); + } + }, + _forcePercent0(number) { + var t1, _0_3; + $label0$0: { + if (number == null) { + t1 = null; + break $label0$0; + } + _0_3 = number.get$numeratorUnits(number); + if (_0_3.length === 1) + t1 = "%" === _0_3[0] && number.get$denominatorUnits(number).length <= 0; + else + t1 = false; + if (t1) { + t1 = number; + break $label0$0; + } + t1 = A.SassNumber_SassNumber0(number._number1$_value, "%"); + break $label0$0; + } + return t1; + }, + _channelFromValue0(channel, value, clamp) { + return A.NullableExtension_andThen0(value, new A._channelFromValue_closure0(channel, clamp)); + }, + _isNone0(value) { + return value instanceof A.SassString0 && !value._string0$_hasQuotes && value._string0$_text.toLowerCase() === "none"; + }, + _channelFunction0($name, space, getter, global, unit) { + return A.BuiltInCallable$function0($name, "$color", new A._channelFunction_closure0(getter, unit, global, $name, space), "sass:color"); + }, + _suggestScaleAndAdjust0(original, adjustment, channelName) { + var t2, oldValue, newValue, factor, t3, suggestion, + channel = channelName === "alpha" ? B.LinearChannel_omH0 : type$.LinearChannel_2._as(B.JSArray_methods.firstWhere$1(B.List_8aB0, new A._suggestScaleAndAdjust_closure0(channelName))), + t1 = channel === B.LinearChannel_omH0; + if (t1) { + t2 = original.alphaOrNull; + oldValue = t2 == null ? 0 : t2; + } else + oldValue = original.toSpace$1(B.HslColorSpace_gsm0).channel$1(0, channelName); + newValue = oldValue + adjustment; + if (adjustment !== 0) { + factor = A._Cell$(); + t2 = channel.max; + if (newValue > t2) + factor.__late_helper$_value = 1; + else { + t3 = channel.min; + if (newValue < t3) + factor.__late_helper$_value = -1; + else if (adjustment > 0) + factor.__late_helper$_value = adjustment / (t2 - oldValue); + else + factor.__late_helper$_value = (newValue - oldValue) / (oldValue - t3); + } + suggestion = "Suggestion" + ("s:\n\ncolor.scale($color, $" + channelName + ": " + A.SassNumber_SassNumber0(factor._readLocal$0() * 100, "%").toString$0(0) + ")\n"); + } else + suggestion = "Suggestion:\n\n"; + return suggestion + ("color.adjust($color, $" + channelName + ": " + A.SassNumber_SassNumber0(adjustment, t1 ? null : "%").toString$0(0) + ")"); + }, + _missingChannelError0(color, channel) { + return A.throwExpression(A.SassScriptException$0(string$.Becaus + color.toString$0(0) + ").", channel)); + }, + _channelName0(value) { + var t1 = value.assertString$1("channel"); + t1.assertQuoted$1("channel"); + return t1._string0$_text; + }, + _function12($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:color"); }, - global_closure32: function global_closure32() { - }, - global_closure33: function global_closure33() { - }, - global_closure34: function global_closure34() { - }, - global_closure35: function global_closure35() { - }, - global_closure36: function global_closure36() { - }, - global_closure37: function global_closure37() { - }, - global_closure38: function global_closure38() { - }, - global_closure39: function global_closure39() { - }, - global_closure40: function global_closure40() { - }, - global_closure41: function global_closure41() { - }, - global_closure42: function global_closure42() { - }, - global_closure43: function global_closure43() { - }, global_closure44: function global_closure44() { }, global_closure45: function global_closure45() { @@ -22762,44 +24433,123 @@ self.util = _cliPkgRequires.util; }, global_closure57: function global_closure57() { }, - global__closure0: function global__closure0() { - }, global_closure58: function global_closure58() { }, - module_closure12: function module_closure12() { + global_closure59: function global_closure59() { }, - module_closure13: function module_closure13() { + global_closure60: function global_closure60() { }, - module_closure14: function module_closure14() { + global_closure61: function global_closure61() { }, - module_closure15: function module_closure15() { + global_closure62: function global_closure62() { }, - module_closure16: function module_closure16() { + global_closure63: function global_closure63() { }, - module_closure17: function module_closure17() { + global_closure64: function global_closure64() { }, - module_closure18: function module_closure18() { + global_closure65: function global_closure65() { }, - module_closure19: function module_closure19() { + global_closure66: function global_closure66() { }, - module__closure4: function module__closure4() { + global_closure67: function global_closure67() { }, - module_closure20: function module_closure20() { + global_closure68: function global_closure68() { }, - _red_closure0: function _red_closure0() { + global_closure69: function global_closure69() { }, - _green_closure0: function _green_closure0() { + global_closure70: function global_closure70() { }, - _blue_closure0: function _blue_closure0() { + global_closure71: function global_closure71() { + }, + global_closure72: function global_closure72() { + }, + global_closure73: function global_closure73() { + }, + global_closure74: function global_closure74() { + }, + global_closure75: function global_closure75() { + }, + global_closure76: function global_closure76() { + }, + global_closure77: function global_closure77() { + }, + global_closure78: function global_closure78() { + }, + global_closure79: function global_closure79() { + }, + global__closure0: function global__closure0() { + }, + global_closure80: function global_closure80() { + }, + global_closure81: function global_closure81() { + }, + global_closure82: function global_closure82() { + }, + global_closure83: function global_closure83() { + }, + global_closure84: function global_closure84() { + }, + global_closure85: function global_closure85() { + }, + global_closure86: function global_closure86() { + }, + module_closure27: function module_closure27() { + }, + module_closure28: function module_closure28() { + }, + module_closure29: function module_closure29() { + }, + module_closure30: function module_closure30() { + }, + module_closure31: function module_closure31() { + }, + module_closure32: function module_closure32() { + }, + module_closure33: function module_closure33() { + }, + module_closure34: function module_closure34() { + }, + module_closure35: function module_closure35() { + }, + module_closure36: function module_closure36() { + }, + module_closure37: function module_closure37() { + }, + module_closure38: function module_closure38() { + }, + module_closure39: function module_closure39() { + }, + module_closure40: function module_closure40() { + }, + module__closure6: function module__closure6() { + }, + module_closure41: function module_closure41() { + }, + module_closure42: function module_closure42() { + }, + module_closure43: function module_closure43() { + }, + module_closure44: function module_closure44() { + }, + module_closure45: function module_closure45() { + }, + module_closure46: function module_closure46() { + }, + module_closure47: function module_closure47() { + }, + module_closure48: function module_closure48() { + }, + module__closure5: function module__closure5(t0) { + this.channelName = t0; + }, + module_closure49: function module_closure49() { + }, + module_closure_toXyzNoMissing0: function module_closure_toXyzNoMissing0() { + }, + module_closure50: function module_closure50() { }, _mix_closure0: function _mix_closure0() { }, - _hue_closure0: function _hue_closure0() { - }, - _saturation_closure0: function _saturation_closure0() { - }, - _lightness_closure0: function _lightness_closure0() { - }, _complement_closure0: function _complement_closure0() { }, _adjust_closure0: function _adjust_closure0() { @@ -22812,21 +24562,16 @@ self.util = _cliPkgRequires.util; }, _ieHexStr_closure_hexString0: function _ieHexStr_closure_hexString0() { }, - _updateComponents_getParam0: function _updateComponents_getParam0(t0, t1, t2) { - this.keywords = t0; - this.scale = t1; - this.change = t2; + _updateComponents_closure1: function _updateComponents_closure1(t0) { + this.originalColor = t0; }, - _updateComponents_closure1: function _updateComponents_closure1() { + _updateComponents_closure2: function _updateComponents_closure2(t0) { + this._box_0 = t0; }, - _updateComponents_closure2: function _updateComponents_closure2() { + _changeColor_closure0: function _changeColor_closure0(t0) { + this.alphaArg = t0; }, - _updateComponents_updateValue0: function _updateComponents_updateValue0(t0, t1) { - this.change = t0; - this.adjust = t1; - }, - _updateComponents_updateRgb0: function _updateComponents_updateRgb0(t0) { - this.updateValue = t0; + _adjustColor_closure0: function _adjustColor_closure0() { }, _functionString_closure0: function _functionString_closure0() { }, @@ -22839,9 +24584,52 @@ self.util = _cliPkgRequires.util; }, _hsl_closure0: function _hsl_closure0() { }, - _hwb_closure0: function _hwb_closure0() { + _parseChannels_closure1: function _parseChannels_closure1() { }, - _parseChannels_closure0: function _parseChannels_closure0() { + _parseChannels_closure2: function _parseChannels_closure2() { + }, + _colorFromChannels_closure1: function _colorFromChannels_closure1() { + }, + _colorFromChannels_closure2: function _colorFromChannels_closure2() { + }, + _channelFromValue_closure0: function _channelFromValue_closure0(t0, t1) { + this.channel = t0; + this.clamp = t1; + }, + _channelFunction_closure0: function _channelFunction_closure0(t0, t1, t2, t3, t4) { + var _ = this; + _.getter = t0; + _.unit = t1; + _.global = t2; + _.name = t3; + _.space = t4; + }, + _suggestScaleAndAdjust_closure0: function _suggestScaleAndAdjust_closure0(t0) { + this.channelName = t0; + }, + _constructionSpace(options) { + var t1 = J.getInterceptor$x(options); + if (t1.get$space(options) != null) { + t1 = t1.get$space(options); + t1.toString; + return A.ColorSpace_fromName0(t1, null); + } + if (t1.get$red(options) != null) + return B.RgbColorSpace_mlz0; + if (t1.get$saturation(options) != null) + return B.HslColorSpace_gsm0; + if (t1.get$whiteness(options) != null) + return B.HwbColorSpace_06z0; + throw A.wrapException("No color space found"); + }, + _toSpace($self, space) { + return $self.toSpace$1(A.ColorSpace_fromName0(space == null ? $self._color0$_space.name : space, null)); + }, + _checkNullAlphaDeprecation(options) { + var t1 = J.getInterceptor$x(options), + t2 = t1.get$alpha(options); + if (!A._asBool($.$get$_isUndefined().call$1(t2)) && t1.get$alpha(options) == null && t1.get$space(options) == null) + A.warnForDeprecationFromApi(string$.Passin_, B.Deprecation_mBb); }, colorClass_closure: function colorClass_closure() { }, @@ -22865,14 +24653,57 @@ self.util = _cliPkgRequires.util; }, colorClass__closure8: function colorClass__closure8() { }, + colorClass___closure: function colorClass___closure(t0) { + this.key = t0; + }, + colorClass__closure_changedValue: function colorClass__closure_changedValue(t0, t1) { + this.color = t0; + this.options = t1; + }, colorClass__closure9: function colorClass__closure9() { }, + colorClass__closure10: function colorClass__closure10() { + }, + colorClass__closure11: function colorClass__closure11() { + }, + colorClass__closure12: function colorClass__closure12() { + }, + colorClass__closure13: function colorClass__closure13() { + }, + colorClass__closure14: function colorClass__closure14() { + }, + colorClass__closure15: function colorClass__closure15() { + }, + colorClass__closure16: function colorClass__closure16() { + }, + colorClass__closure17: function colorClass__closure17() { + }, + colorClass__closure18: function colorClass__closure18() { + }, + colorClass__closure19: function colorClass__closure19() { + }, + colorClass__closure20: function colorClass__closure20() { + }, + colorClass__closure21: function colorClass__closure21() { + }, + colorClass__closure22: function colorClass__closure22() { + }, _Channels: function _Channels() { }, + _ConstructionOptions: function _ConstructionOptions() { + }, + _ChannelOptions: function _ChannelOptions() { + }, + _ToGamutOptions: function _ToGamutOptions() { + }, + _InterpolationOptions: function _InterpolationOptions() { + }, _NodeSassColor: function _NodeSassColor() { }, legacyColorClass_closure: function legacyColorClass_closure() { }, + legacyColorClass__closure: function legacyColorClass__closure() { + }, legacyColorClass_closure0: function legacyColorClass_closure0() { }, legacyColorClass_closure1: function legacyColorClass_closure1() { @@ -22889,93 +24720,82 @@ self.util = _cliPkgRequires.util; }, legacyColorClass_closure7: function legacyColorClass_closure7() { }, - SassColor$rgb0(red, green, blue, alpha) { + SassColor_SassColor$rgb0(red, green, blue, alpha) { + return A.SassColor_SassColor$rgbInternal0(red, green, blue, alpha, null); + }, + SassColor_SassColor$rgbInternal0(red, green, blue, alpha, format) { var _null = null, - t1 = new A.SassColor0(red, green, blue, _null, _null, _null, A.fuzzyAssertRange0(A.SassColor__handleNullAlpha0(alpha), 0, 1, "alpha"), _null); - A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red"); - A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green"); - A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue"); - return t1; + t1 = red == null ? _null : red, + t2 = green == null ? _null : green, + t3 = blue == null ? _null : blue; + return A.SassColor$_forSpace0(B.RgbColorSpace_mlz0, t1, t2, t3, alpha == null ? _null : alpha, format); }, - SassColor$rgbInternal0(_red, _green, _blue, alpha, format) { - var t1 = new A.SassColor0(_red, _green, _blue, null, null, null, A.fuzzyAssertRange0(alpha, 0, 1, "alpha"), format); - A.RangeError_checkValueInInterval(t1.get$red(0), 0, 255, "red"); - A.RangeError_checkValueInInterval(t1.get$green(0), 0, 255, "green"); - A.RangeError_checkValueInInterval(t1.get$blue(0), 0, 255, "blue"); - return t1; - }, - SassColor$hsl(hue, saturation, lightness, alpha) { + SassColor_SassColor$hsl0(hue, saturation, lightness, alpha) { var _null = null, - t1 = A.SassColor__handleNullAlpha0(alpha); - return new A.SassColor0(_null, _null, _null, B.JSNumber_methods.$mod(hue, 360), A.fuzzyAssertRange0(saturation, 0, 100, "saturation"), A.fuzzyAssertRange0(lightness, 0, 100, "lightness"), A.fuzzyAssertRange0(t1, 0, 1, "alpha"), _null); - }, - SassColor$hslInternal0(hue, saturation, lightness, alpha, format) { - return new A.SassColor0(null, null, null, B.JSNumber_methods.$mod(hue, 360), A.fuzzyAssertRange0(saturation, 0, 100, "saturation"), A.fuzzyAssertRange0(lightness, 0, 100, "lightness"), A.fuzzyAssertRange0(alpha, 0, 1, "alpha"), format); + t1 = hue == null ? _null : hue, + t2 = saturation == null ? _null : saturation, + t3 = lightness == null ? _null : lightness; + return A.SassColor_SassColor$forSpaceInternal0(B.HslColorSpace_gsm0, t1, t2, t3, alpha == null ? _null : alpha); }, SassColor_SassColor$hwb0(hue, whiteness, blackness, alpha) { - var t2, t1 = {}, - scaledHue = B.JSNumber_methods.$mod(hue, 360) / 360, - scaledWhiteness = t1.scaledWhiteness = A.fuzzyAssertRange0(whiteness, 0, 100, "whiteness") / 100, - scaledBlackness = A.fuzzyAssertRange0(blackness, 0, 100, "blackness") / 100, - sum = scaledWhiteness + scaledBlackness; - if (sum > 1) { - t2 = t1.scaledWhiteness = scaledWhiteness / sum; - scaledBlackness /= sum; - } else - t2 = scaledWhiteness; - t2 = new A.SassColor_SassColor$hwb_toRgb0(t1, 1 - t2 - scaledBlackness); - return A.SassColor$rgb0(t2.call$1(scaledHue + 0.3333333333333333), t2.call$1(scaledHue), t2.call$1(scaledHue - 0.3333333333333333), alpha); + var _null = null, + t1 = hue == null ? _null : hue, + t2 = whiteness == null ? _null : whiteness, + t3 = blackness == null ? _null : blackness; + return A.SassColor_SassColor$forSpaceInternal0(B.HwbColorSpace_06z0, t1, t2, t3, alpha == null ? _null : alpha); }, - SassColor__handleNullAlpha0(alpha) { - if (alpha != null) - return alpha; - A.warnForDeprecation0("Passing null for alpha in the JS API is deprecated.\nTo preserve current behavior, pass 1 or undefined instead.\nMore info: https://sass-lang.com/d/null-alpha", B.Deprecation_omH); - return 1; - }, - SassColor__hueToRgb0(m1, m2, hue) { - var t1; - if (hue < 0) - ++hue; - if (hue > 1) - --hue; + SassColor_SassColor$forSpaceInternal0(space, channel0, channel1, channel2, alpha) { + var t1, t2, _null = null; $label0$0: { - if (hue < 0.16666666666666666) { - t1 = m1 + (m2 - m1) * hue * 6; + if (B.HslColorSpace_gsm0 === space) { + t1 = channel1 == null; + t2 = A.SassColor__normalizeHue0(channel0, !t1 && channel1 < 0 && !A.fuzzyEquals0(channel1, 0)); + t2 = A.SassColor$_forSpace0(space, t2, t1 ? _null : Math.abs(channel1), channel2, alpha, _null); + t1 = t2; break $label0$0; } - if (hue < 0.5) { - t1 = m2; + if (B.HwbColorSpace_06z0 === space) { + t1 = A.SassColor$_forSpace0(space, A.SassColor__normalizeHue0(channel0, false), channel1, channel2, alpha, _null); break $label0$0; } - if (hue < 0.6666666666666666) { - t1 = m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6; + if (B.LchColorSpace_wv80 === space || B.OklchColorSpace_li80 === space) { + t1 = channel1 == null; + t2 = t1 ? _null : Math.abs(channel1); + t2 = A.SassColor$_forSpace0(space, channel0, t2, A.SassColor__normalizeHue0(channel2, !t1 && channel1 < 0 && !A.fuzzyEquals0(channel1, 0)), alpha, _null); + t1 = t2; break $label0$0; } - t1 = m1; + t1 = A.SassColor$_forSpace0(space, channel0, channel1, channel2, alpha, _null); break $label0$0; } return t1; }, - SassColor0: function SassColor0(t0, t1, t2, t3, t4, t5, t6, t7) { + SassColor$_forSpace0(_space, channel0OrNull, channel1OrNull, channel2OrNull, alpha, format) { + return new A.SassColor0(_space, channel0OrNull, channel1OrNull, channel2OrNull, format, A.NullableExtension_andThen0(alpha, new A.SassColor$_forSpace_closure0())); + }, + SassColor__normalizeHue0(hue, invert) { + var t1, t2; + if (hue == null) + return hue; + t1 = B.JSNumber_methods.$mod(hue, 360); + t2 = invert ? 180 : 0; + return B.JSNumber_methods.$mod(t1 + 360 + t2, 360); + }, + SassColor0: function SassColor0(t0, t1, t2, t3, t4, t5) { var _ = this; - _._color1$_red = t0; - _._color1$_green = t1; - _._color1$_blue = t2; - _._color1$_hue = t3; - _._color1$_saturation = t4; - _._color1$_lightness = t5; - _._color1$_alpha = t6; - _.format = t7; + _._color0$_space = t0; + _.channel0OrNull = t1; + _.channel1OrNull = t2; + _.channel2OrNull = t3; + _.format = t4; + _.alphaOrNull = t5; }, - SassColor_SassColor$hwb_toRgb0: function SassColor_SassColor$hwb_toRgb0(t0, t1) { - this._box_0 = t0; - this.factor = t1; + SassColor$_forSpace_closure0: function SassColor$_forSpace_closure0() { }, - _ColorFormatEnum0: function _ColorFormatEnum0(t0) { - this._color1$_name = t0; + _ColorFormatEnum0: function _ColorFormatEnum0() { }, SpanColorFormat0: function SpanColorFormat0(t0) { - this._color1$_span = t0; + this._color0$_span = t0; }, Combinator0: function Combinator0(t0, t1) { this._combinator0$_text = t0; @@ -22989,7 +24809,7 @@ self.util = _cliPkgRequires.util; _.isGroupEnd = false; }, compile0(path, options) { - var color, ascii, logger, result, error, stackTrace, t1, color0, ascii0, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, exception, _null = null; + var color, ascii, logger, result, error, stackTrace, t1, color0, ascii0, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, exception, _null = null; if (!A.isNodeJs()) A.jsThrow(new self.Error("The compile() method is only available in Node.js.")); t1 = options == null; @@ -23017,21 +24837,19 @@ self.util = _cliPkgRequires.util; t7 = t1 ? _null : J.get$sourceMap$x(options); if (t7 == null) t7 = false; - t8 = logger; if (t1) - t9 = _null; + t8 = _null; else { - t9 = J.get$importers$x(options); - t9 = t9 == null ? _null : J.map$1$1$ax(t9, A.compile___parseImporter$closure(), type$.Importer); + t8 = J.get$importers$x(options); + t8 = t8 == null ? _null : J.map$1$1$ax(t8, A.compile___parseImporter$closure(), type$.Importer); } - t10 = A._parseFunctions0(t1 ? _null : J.get$functions$x(options), false); - t11 = t1 ? _null : J.get$fatalDeprecations$x(options); - t11 = A._parseDeprecations(logger, t11, true); - t12 = t1 ? _null : J.get$silenceDeprecations$x(options); - t12 = A._parseDeprecations(logger, t12, false); - t13 = t1 ? _null : J.get$futureDeprecations$x(options); - t13 = A._parseDeprecations(logger, t13, false); - result = A.compile(path, t6, t11, new A.CastList(t10, A._arrayInstanceType(t10)._eval$1("CastList<1,Callable>")), t13, A.ImportCache$0(t9, t2, t8 == null ? new A.StderrLogger0(color) : t8, _null), _null, _null, t8, _null, t3, t12, t7, t4, _null, true, t5); + t9 = A._parseFunctions0(t1 ? _null : J.get$functions$x(options), false); + t10 = t1 ? _null : J.get$fatalDeprecations$x(options); + t10 = A.parseDeprecations(logger, t10, true); + t11 = t1 ? _null : J.get$silenceDeprecations$x(options); + t11 = A.parseDeprecations(logger, t11, false); + t12 = t1 ? _null : J.get$futureDeprecations$x(options); + result = A.compile(path, t6, t10, new A.CastList(t9, A._arrayInstanceType(t9)._eval$1("CastList<1,Callable>")), A.parseDeprecations(logger, t12, false), A.ImportCache$0(t8, t2, _null), _null, _null, logger, _null, t3, t11, t7, t4, _null, true, t5); t1 = t1 ? _null : J.get$sourceMapIncludeSources$x(options); if (t1 == null) t1 = false; @@ -23048,7 +24866,7 @@ self.util = _cliPkgRequires.util; } }, compileString0(text, options) { - var logger, result, error, stackTrace, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, exception, _null = null, + var logger, result, error, stackTrace, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, exception, _null = null, t1 = options == null, color0 = t1 ? _null : J.get$alertColor$x(options), color = color0 == null ? A.hasTerminal0() : color0, @@ -23061,7 +24879,7 @@ self.util = _cliPkgRequires.util; logger = new A.JSToDartLogger(t2, new A.StderrLogger0(color), t3); try { t2 = A.parseSyntax(t1 ? _null : J.get$syntax$x(options)); - t3 = t1 ? _null : A.NullableExtension_andThen0(J.get$url$x(options), A.utils1__jsToDartUrl$closure()); + t3 = t1 ? _null : A.NullableExtension_andThen0(J.get$url$x(options), A.utils3__jsToDartUrl$closure()); t4 = t1 ? _null : J.get$loadPaths$x(options); t5 = t1 ? _null : J.get$quietDeps$x(options); if (t5 == null) @@ -23076,24 +24894,22 @@ self.util = _cliPkgRequires.util; t9 = t1 ? _null : J.get$sourceMap$x(options); if (t9 == null) t9 = false; - t10 = logger; if (t1) - t11 = _null; + t10 = _null; else { - t11 = J.get$importers$x(options); - t11 = t11 == null ? _null : J.map$1$1$ax(t11, A.compile___parseImporter$closure(), type$.Importer); + t10 = J.get$importers$x(options); + t10 = t10 == null ? _null : J.map$1$1$ax(t10, A.compile___parseImporter$closure(), type$.Importer); } - t12 = t1 ? _null : A.NullableExtension_andThen0(J.get$importer$x(options), A.compile___parseImporter$closure()); - if (t12 == null) - t12 = (t1 ? _null : J.get$url$x(options)) == null ? new A.NoOpImporter0() : _null; - t13 = A._parseFunctions0(t1 ? _null : J.get$functions$x(options), false); - t14 = t1 ? _null : J.get$fatalDeprecations$x(options); - t14 = A._parseDeprecations(logger, t14, true); - t15 = t1 ? _null : J.get$silenceDeprecations$x(options); - t15 = A._parseDeprecations(logger, t15, false); - t16 = t1 ? _null : J.get$futureDeprecations$x(options); - t16 = A._parseDeprecations(logger, t16, false); - result = A.compileString(text, t8, t14, new A.CastList(t13, A._arrayInstanceType(t13)._eval$1("CastList<1,Callable>")), t16, A.ImportCache$0(t11, t4, t10 == null ? new A.StderrLogger0(color) : t10, _null), t12, _null, _null, t10, _null, t5, t15, t9, t6, t2, t3, true, t7); + t11 = t1 ? _null : A.NullableExtension_andThen0(J.get$importer$x(options), A.compile___parseImporter$closure()); + if (t11 == null) + t11 = (t1 ? _null : J.get$url$x(options)) == null ? new A.NoOpImporter0() : _null; + t12 = A._parseFunctions0(t1 ? _null : J.get$functions$x(options), false); + t13 = t1 ? _null : J.get$fatalDeprecations$x(options); + t13 = A.parseDeprecations(logger, t13, true); + t14 = t1 ? _null : J.get$silenceDeprecations$x(options); + t14 = A.parseDeprecations(logger, t14, false); + t15 = t1 ? _null : J.get$futureDeprecations$x(options); + result = A.compileString(text, t8, t13, new A.CastList(t12, A._arrayInstanceType(t12)._eval$1("CastList<1,Callable>")), A.parseDeprecations(logger, t15, false), A.ImportCache$0(t10, t4, _null), t11, _null, _null, logger, _null, t5, t14, t9, t6, t2, t3, true, t7); t1 = t1 ? _null : J.get$sourceMapIncludeSources$x(options); if (t1 == null) t1 = false; @@ -23142,7 +24958,7 @@ self.util = _cliPkgRequires.util; sourceMap = t2 == null ? null : t2.toJson$1$includeSourceContents(includeSourceContents); if (type$.Map_String_dynamic._is(sourceMap) && !sourceMap.containsKey$1("sources")) sourceMap.$indexSet(0, "sources", A._setArrayType([], type$.JSArray_String)); - loadedUrls = A.toJSArray(result._evaluate._0.map$1$1(0, A.utils1__dartToJSUrl$closure(), type$.nullable_Object)); + loadedUrls = A.toJSArray(result._evaluate._0.map$1$1(0, A.utils3__dartToJSUrl$closure(), type$.nullable_Object)); t1 = t1._0; return sourceMap == null ? {css: t1, loadedUrls: loadedUrls} : {css: t1, sourceMap: A.jsify0(sourceMap), loadedUrls: loadedUrls}; }, @@ -23185,7 +25001,7 @@ self.util = _cliPkgRequires.util; else { t1 = A._normalizeNonCanonicalSchemes(t1.get$nonCanonicalScheme(importer)); t1 = t1 == null ? B.Set_empty7 : A.Set_Set$unmodifiable(t1, type$.String); - t1.forEach$1(0, A.utils2__validateUrlScheme$closure()); + t1.forEach$1(0, A.utils4__validateUrlScheme$closure()); return new A.JSToDartAsyncImporter(canonicalize, load, t1); } }, @@ -23210,7 +25026,7 @@ self.util = _cliPkgRequires.util; else { t1 = A._normalizeNonCanonicalSchemes(t1.get$nonCanonicalScheme(importer)); t1 = t1 == null ? B.Set_empty7 : A.Set_Set$unmodifiable(t1, type$.String); - t1.forEach$1(0, A.utils2__validateUrlScheme$closure()); + t1.forEach$1(0, A.utils4__validateUrlScheme$closure()); return new A.JSToDartImporter(canonicalize, load, t1); } }, @@ -23244,16 +25060,15 @@ self.util = _cliPkgRequires.util; $label0$0: { _0_3 = "calc" === _0_1; _0_4_isSet = _0_3; + _0_5 = _null; + _0_40 = _null; if (_0_4_isSet) { _0_5 = _0_4.length; t1 = _0_5; _0_40 = _0_4; t1 = t1 === 1; - } else { - _0_40 = _null; - _0_5 = _0_40; + } else t1 = false; - } if (t1) { _0_8 = (_0_4_isSet ? _0_40 : _0_4)[0]; first = _0_8; @@ -23336,16 +25151,11 @@ self.util = _cliPkgRequires.util; _parseFunctions0(functions, asynch) { var result; if (functions == null) - return B.List_empty24; + return B.List_empty26; result = A._setArrayType([], type$.JSArray_AsyncCallable_2); A.jsForEach(functions, new A._parseFunctions_closure0(asynch, result)); return result; }, - _parseDeprecations(logger, deprecations, supportVersions) { - if (deprecations == null) - return null; - return new A._parseDeprecations_closure(deprecations, logger, supportVersions).call$0(); - }, compileAsync_closure: function compileAsync_closure(t0, t1, t2, t3) { var _ = this; _.path = t0; @@ -23390,11 +25200,6 @@ self.util = _cliPkgRequires.util; this.callback = t0; this.$arguments = t1; }, - _parseDeprecations_closure: function _parseDeprecations_closure(t0, t1, t2) { - this.deprecations = t0; - this.logger = t1; - this.supportVersions = t2; - }, nodePackageImporterClass_closure: function nodePackageImporterClass_closure() { }, nodePackageImporterClass__closure: function nodePackageImporterClass__closure() { @@ -23408,10 +25213,11 @@ self.util = _cliPkgRequires.util; t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (fatalDeprecations != null) t3.addAll$1(0, fatalDeprecations); - t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1); + t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (futureDeprecations != null) - t1.addAll$1(0, futureDeprecations); - logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2); + t4.addAll$1(0, futureDeprecations); + logger = new A.DeprecationProcessingLogger0(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), logger, t2, t3, t4, !verbose); + logger.validate$0(); t1 = nodeImporter == null; if (t1) t2 = syntax == null || syntax === A.Syntax_forPath0(path); @@ -23419,7 +25225,7 @@ self.util = _cliPkgRequires.util; t2 = false; if (t2) { if (importCache == null) - importCache = A.ImportCache$none(logger); + importCache = A.ImportCache$none(); t2 = $.$get$FilesystemImporter_cwd0(); t3 = A.isNodeJs() ? self.process : _null; if (!J.$eq$(t3 == null ? _null : J.get$platform$x(t3), "win32")) { @@ -23446,14 +25252,14 @@ self.util = _cliPkgRequires.util; } else { t2 = A.readFile0(path); t3 = syntax == null ? A.Syntax_forPath0(path) : syntax; - stylesheet = A.Stylesheet_Stylesheet$parse0(t2, t3, logger, $.$get$context().toUri$1(path)); + stylesheet = A.Stylesheet_Stylesheet$parse0(t2, t3, $.$get$context().toUri$1(path)); } result = A._compileStylesheet1(stylesheet, logger, importCache, nodeImporter, $.$get$FilesystemImporter_cwd0(), functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset); logger.summarize$1$js(!t1); return result; }, compileString(source, charset, fatalDeprecations, functions, futureDeprecations, importCache, importer, indentWidth, lineFeed, logger, nodeImporter, quietDeps, silenceDeprecations, sourceMap, style, syntax, url, useSpaces, verbose) { - var t3, stylesheet, result, + var t3, t4, stylesheet, result, t1 = type$.Deprecation_3, t2 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (silenceDeprecations != null) @@ -23461,11 +25267,12 @@ self.util = _cliPkgRequires.util; t3 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (fatalDeprecations != null) t3.addAll$1(0, fatalDeprecations); - t1 = A.LinkedHashSet_LinkedHashSet$_empty(t1); + t4 = A.LinkedHashSet_LinkedHashSet$_empty(t1); if (futureDeprecations != null) - t1.addAll$1(0, futureDeprecations); - logger = A.DeprecationProcessingLogger$0(logger, t3, t1, !verbose, t2); - stylesheet = A.Stylesheet_Stylesheet$parse0(source, syntax == null ? B.Syntax_SCSS_scss0 : syntax, logger, url); + t4.addAll$1(0, futureDeprecations); + logger = new A.DeprecationProcessingLogger0(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.int), logger, t2, t3, t4, !verbose); + logger.validate$0(); + stylesheet = A.Stylesheet_Stylesheet$parse0(source, syntax == null ? B.Syntax_SCSS_scss0 : syntax, url); if (importer == null) t1 = A.isBrowser() ? new A.NoOpImporter0() : $.$get$FilesystemImporter_cwd0(); else @@ -23475,9 +25282,12 @@ self.util = _cliPkgRequires.util; return result; }, _compileStylesheet1(stylesheet, logger, importCache, nodeImporter, importer, functions, style, useSpaces, indentWidth, lineFeed, quietDeps, sourceMap, charset) { - var evaluateResult = A._EvaluateVisitor$1(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet), - serializeResult = A.serialize0(evaluateResult._1, charset, indentWidth, false, lineFeed, sourceMap, style, useSpaces), - resultSourceMap = serializeResult._1; + var evaluateResult, serializeResult, resultSourceMap; + if (nodeImporter != null) + A.WarnForDeprecation_warnForDeprecation0(logger, B.Deprecation_2No, string$.The_le, null, null); + evaluateResult = A._EvaluateVisitor$1(functions, importCache, logger, nodeImporter, quietDeps, sourceMap).run$2(0, importer, stylesheet); + serializeResult = A.serialize0(evaluateResult._1, charset, indentWidth, false, lineFeed, logger, sourceMap, style, useSpaces); + resultSourceMap = serializeResult._1; if (resultSourceMap != null && importCache != null) A.mapInPlace0(resultSourceMap.urls, new A._compileStylesheet_closure1(stylesheet, importCache)); return new A.CompileResult0(evaluateResult, serializeResult); @@ -23575,12 +25385,15 @@ self.util = _cliPkgRequires.util; return new A.CompoundSelector0(t1, span); }, CompoundSelector0: function CompoundSelector0(t0, t1) { - this.components = t0; - this._compound$__CompoundSelector_specificity_FI = $; - this.span = t1; + var _ = this; + _.components = t0; + _._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = _._compound$__CompoundSelector_specificity_FI = $; + _.span = t1; }, CompoundSelector_specificity_closure0: function CompoundSelector_specificity_closure0() { }, + CompoundSelector_hasComplicatedSuperselectorSemantics_closure0: function CompoundSelector_hasComplicatedSuperselectorSemantics_closure0() { + }, Configuration0: function Configuration0(t0, t1) { this._configuration0$_values = t0; this._configuration0$__originalConfiguration = t1; @@ -23629,35 +25442,38 @@ self.util = _cliPkgRequires.util; _._stylesheet0$_isUseAllowed = true; _._stylesheet0$_inExpression = _._stylesheet0$_inParentheses = _._stylesheet0$_inStyleRule = _._stylesheet0$_inUnknownAtRule = _._stylesheet0$_inControlDirective = _._stylesheet0$_inContentBlock = _._stylesheet0$_inMixin = false; _._stylesheet0$_globalVariables = t0; + _.warnings = t1; _.lastSilentComment = null; - _.scanner = t1; - _.logger = t2; - _._parser0$_interpolationMap = t3; + _.scanner = t2; + _._parser1$_interpolationMap = t3; }, DebugRule0: function DebugRule0(t0, t1) { this.expression = t0; this.span = t1; }, - ModifiableCssDeclaration$0($name, value, span, parsedAsCustomProperty, valueSpanForMap) { - var t2, - t1 = valueSpanForMap == null ? value.span : valueSpanForMap; + ModifiableCssDeclaration$0($name, value, span, interleavedRules, parsedAsCustomProperty, trace, valueSpanForMap) { + var t3, + t1 = interleavedRules == null ? B.List_empty23 : A.List_List$unmodifiable(interleavedRules, type$.CssStyleRule_2), + t2 = valueSpanForMap == null ? value.span : valueSpanForMap; if (parsedAsCustomProperty) if (!J.startsWith$1$s($name.value, "--")) A.throwExpression(A.ArgumentError$(string$.parsed, null)); else { - t2 = value.value; - if (!(t2 instanceof A.SassString0)) - A.throwExpression(A.ArgumentError$(string$.If_par + value.toString$0(0) + "` of type " + A.getRuntimeTypeOfDartObject(t2).toString$0(0) + ").", null)); + t3 = value.value; + if (!(t3 instanceof A.SassString0)) + A.throwExpression(A.ArgumentError$(string$.If_par + value.toString$0(0) + "` of type " + A.getRuntimeTypeOfDartObject(t3).toString$0(0) + ").", null)); } - return new A.ModifiableCssDeclaration0($name, value, parsedAsCustomProperty, t1, span); + return new A.ModifiableCssDeclaration0($name, value, parsedAsCustomProperty, t1, trace, t2, span); }, - ModifiableCssDeclaration0: function ModifiableCssDeclaration0(t0, t1, t2, t3, t4) { + ModifiableCssDeclaration0: function ModifiableCssDeclaration0(t0, t1, t2, t3, t4, t5, t6) { var _ = this; _.name = t0; _.value = t1; _.parsedAsCustomProperty = t2; - _.valueSpanForMap = t3; - _.span = t4; + _.interleavedRules = t3; + _.trace = t4; + _.valueSpanForMap = t5; + _.span = t6; _._node$_indexInParent = _._node$_parent = null; _.isGroupEnd = false; }, @@ -23683,13 +25499,13 @@ self.util = _cliPkgRequires.util; this.span = t2; }, Deprecation_fromId0(id) { - return A.IterableExtension_firstWhereOrNull(B.List_jM9, new A.Deprecation_fromId_closure0(id)); + return A.IterableExtension_firstWhereOrNull(B.List_31K, new A.Deprecation_fromId_closure0(id)); }, Deprecation_forVersion0(version) { var t2, _i, deprecation, $self, t3, t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.Deprecation_3); - for (t2 = A.VersionRange_VersionRange(true, version).get$allows(), _i = 0; _i < 18; ++_i) { - deprecation = B.List_jM9[_i]; + for (t2 = A.VersionRange_VersionRange(true, version).get$allows(), _i = 0; _i < 24; ++_i) { + deprecation = B.List_31K[_i]; $self = deprecation._deprecation$_deprecatedIn; t3 = $self == null ? null : A.Version___parse_tearOff($self); t3 = t3 == null ? null : t2.call$1(t3); @@ -23698,22 +25514,16 @@ self.util = _cliPkgRequires.util; } return t1; }, - Deprecation0: function Deprecation0(t0, t1, t2, t3, t4) { + Deprecation0: function Deprecation0(t0, t1, t2, t3) { var _ = this; _.id = t0; _._deprecation$_deprecatedIn = t1; _.description = t2; - _.isFuture = t3; - _._name = t4; + _._name = t3; }, Deprecation_fromId_closure0: function Deprecation_fromId_closure0(t0) { this.id = t0; }, - DeprecationProcessingLogger$0(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) { - var t1 = new A.DeprecationProcessingLogger0(A.LinkedHashMap_LinkedHashMap$_empty(type$.Deprecation_3, type$.int), _inner, silenceDeprecations, fatalDeprecations, futureDeprecations, limitRepetition); - t1.DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations0(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations); - return t1; - }, DeprecationProcessingLogger0: function DeprecationProcessingLogger0(t0, t1, t2, t3, t4, t5) { var _ = this; _._deprecation_processing$_warningCounts = t0; @@ -23727,17 +25537,31 @@ self.util = _cliPkgRequires.util; }, DeprecationProcessingLogger_summarize_closure2: function DeprecationProcessingLogger_summarize_closure2() { }, + parseDeprecations(logger, deprecations, supportVersions) { + if (deprecations == null) + return null; + return new A.parseDeprecations_closure(deprecations, logger, supportVersions).call$0(); + }, Deprecation1: function Deprecation1() { }, deprecations_closure: function deprecations_closure(t0) { this.deprecation = t0; }, + parseDeprecations_closure: function parseDeprecations_closure(t0, t1, t2) { + this.deprecations = t0; + this.logger = t1; + this.supportVersions = t2; + }, versionClass_closure: function versionClass_closure() { }, versionClass__closure: function versionClass__closure() { }, versionClass__closure0: function versionClass__closure0() { }, + DisplayP3ColorSpace0: function DisplayP3ColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, DynamicImport0: function DynamicImport0(t0, t1) { this.urlString = t0; this.span = t1; @@ -23921,7 +25745,7 @@ self.util = _cliPkgRequires.util; t2 = type$.Module_Callable_2, t3 = A._setArrayType([], type$.JSArray_Record_2_String_and_AstNode_2); if (importCache == null) - t4 = nodeImporter == null ? A.ImportCache$none(logger) : null; + t4 = nodeImporter == null ? A.ImportCache$none() : null; else t4 = importCache; t1 = new A._EvaluateVisitor1(t4, nodeImporter, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Callable_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, t2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Configuration_2), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.AstNode_2), logger, A.LinkedHashSet_LinkedHashSet$_empty(type$.Record_2_String_and_SourceSpan), quietDeps, sourceMap, A.Environment$0(), A.LinkedHashSet_LinkedHashSet$_empty(t1), A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.nullable_AstNode_2), t3, B.Configuration_Map_empty_null0); @@ -24289,13 +26113,13 @@ self.util = _cliPkgRequires.util; _EvaluateVisitor_visitMediaRule_closure7: function _EvaluateVisitor_visitMediaRule_closure7(t0) { this.mergedSources = t0; }, - _EvaluateVisitor_visitStyleRule_closure9: function _EvaluateVisitor_visitStyleRule_closure9(t0, t1) { + _EvaluateVisitor_visitStyleRule_closure7: function _EvaluateVisitor_visitStyleRule_closure7(t0, t1) { this.$this = t0; this.node = t1; }, - _EvaluateVisitor_visitStyleRule_closure10: function _EvaluateVisitor_visitStyleRule_closure10() { + _EvaluateVisitor_visitStyleRule_closure8: function _EvaluateVisitor_visitStyleRule_closure8() { }, - _EvaluateVisitor_visitStyleRule_closure12: function _EvaluateVisitor_visitStyleRule_closure12(t0, t1, t2) { + _EvaluateVisitor_visitStyleRule_closure10: function _EvaluateVisitor_visitStyleRule_closure10(t0, t1, t2) { this.$this = t0; this.rule = t1; this.node = t2; @@ -24304,9 +26128,9 @@ self.util = _cliPkgRequires.util; this.$this = t0; this.node = t1; }, - _EvaluateVisitor_visitStyleRule_closure11: function _EvaluateVisitor_visitStyleRule_closure11() { + _EvaluateVisitor_visitStyleRule_closure9: function _EvaluateVisitor_visitStyleRule_closure9() { }, - _EvaluateVisitor_visitStyleRule_closure13: function _EvaluateVisitor_visitStyleRule_closure13() { + _EvaluateVisitor__warnForBogusCombinators_closure1: function _EvaluateVisitor__warnForBogusCombinators_closure1() { }, _EvaluateVisitor_visitSupportsRule_closure3: function _EvaluateVisitor_visitSupportsRule_closure3(t0, t1) { this.$this = t0; @@ -24704,14 +26528,16 @@ self.util = _cliPkgRequires.util; }, LoggerNamespace: function LoggerNamespace() { }, - _IsCalculationSafeVisitor0: function _IsCalculationSafeVisitor0() { + Expression0: function Expression0() { }, - _IsCalculationSafeVisitor_visitListExpression_closure0: function _IsCalculationSafeVisitor_visitListExpression_closure0(t0) { - this.$this = t0; + JSExpressionVisitor: function JSExpressionVisitor(t0) { + this._expression$_inner = t0; + }, + JSExpressionVisitorObject: function JSExpressionVisitorObject() { }, expressionToCalc0(expression) { var t4, - t1 = A._setArrayType([B.C__MakeExpressionCalculationSafe0.visitBinaryOperationExpression$1(expression)], type$.JSArray_Expression_2), + t1 = A._setArrayType([B.C__MakeExpressionCalculationSafe0.visitBinaryOperationExpression$1(0, expression)], type$.JSArray_Expression_2), t2 = expression.get$span(0), t3 = type$.Expression_2; t1 = A.List_List$unmodifiable(t1, t3); @@ -24904,24 +26730,19 @@ self.util = _cliPkgRequires.util; _.span = t7; }, ForwardedModuleView_ifNecessary0(inner, rule, $T) { - var t1; + var t2, + t1 = false; if (rule.prefix == null) if (rule.shownMixinsAndFunctions == null) if (rule.shownVariables == null) { - t1 = rule.hiddenMixinsAndFunctions; - t1 = t1 == null ? null : t1._base.get$isEmpty(0); - if (t1 === true) { + t2 = rule.hiddenMixinsAndFunctions; + t2 = t2 == null ? null : t2._base.get$isEmpty(0); + if (t2 === true) { t1 = rule.hiddenVariables; t1 = t1 == null ? null : t1._base.get$isEmpty(0); t1 = t1 === true; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; - else - t1 = false; + } + } if (t1) return inner; else @@ -24936,15 +26757,11 @@ self.util = _cliPkgRequires.util; return new A.ForwardedModuleView0(_inner, _rule, A.ForwardedModuleView__forwardedMap0(_inner.get$variables(), t1, t2, t3, type$.Value_2), A.ForwardedModuleView__forwardedMap0(_inner.get$variableNodes(), t1, t2, t3, type$.AstNode_2), A.ForwardedModuleView__forwardedMap0(_inner.get$functions(_inner), t1, t4, t5, $T), A.ForwardedModuleView__forwardedMap0(_inner.get$mixins(), t1, t4, t5, $T), $T._eval$1("ForwardedModuleView0<0>")); }, ForwardedModuleView__forwardedMap0(map, prefix, safelist, blocklist, $V) { - var t2, - t1 = prefix == null; + var t1 = prefix == null, + t2 = false; if (t1) if (safelist == null) t2 = blocklist == null || blocklist._base.get$isEmpty(0); - else - t2 = false; - else - t2 = false; if (t2) return map; if (!t1) @@ -25005,7 +26822,7 @@ self.util = _cliPkgRequires.util; _.hasDeclarations = t5; }, unifyComplex0(complexes, span) { - var t2, trailingCombinator, leadingCombinator, unifiedBase, t3, t4, _0_6_isSet, _0_6, t5, newLeadingCombinator, base, _1_1, newTrailingCombinator, _i, t6, t7, t8, _null = null, + var t2, trailingCombinator, leadingCombinator, unifiedBase, t3, t4, _0_6_isSet, _0_6, t5, newLeadingCombinator, base, _1_1, newTrailingCombinator, unifiedBase0, t6, t7, t8, _null = null, t1 = J.getInterceptor$asx(complexes); if (t1.get$length(complexes) === 1) return complexes; @@ -25041,14 +26858,14 @@ self.util = _cliPkgRequires.util; return _null; trailingCombinator = newTrailingCombinator; } + unifiedBase0 = base.selector; if (unifiedBase == null) - unifiedBase = base.selector.components; - else - for (t3 = base.selector.components, t4 = t3.length, _i = 0; _i < t4; ++_i) { - unifiedBase = t3[_i].unify$1(unifiedBase); - if (unifiedBase == null) - return _null; - } + unifiedBase = unifiedBase0; + else { + unifiedBase = A.unifyCompound0(unifiedBase, unifiedBase0); + if (unifiedBase == null) + return _null; + } } t2 = type$.JSArray_ComplexSelector_2; t3 = A._setArrayType([], t2); @@ -25063,9 +26880,8 @@ self.util = _cliPkgRequires.util; } t4 = leadingCombinator == null ? B.List_empty14 : A._setArrayType([leadingCombinator], type$.JSArray_CssValue_Combinator_2); unifiedBase.toString; - t5 = A.CompoundSelector$0(unifiedBase, span); - t6 = trailingCombinator == null ? B.List_empty14 : A._setArrayType([trailingCombinator], type$.JSArray_CssValue_Combinator_2); - base = A.ComplexSelector$0(t4, A._setArrayType([new A.ComplexSelectorComponent0(t5, A.List_List$unmodifiable(t6, type$.CssValue_Combinator_2), span)], type$.JSArray_ComplexSelectorComponent_2), span, t1.any$1(complexes, new A.unifyComplex_closure0())); + t5 = trailingCombinator == null ? B.List_empty14 : A._setArrayType([trailingCombinator], type$.JSArray_CssValue_Combinator_2); + base = A.ComplexSelector$0(t4, A._setArrayType([new A.ComplexSelectorComponent0(unifiedBase, A.List_List$unmodifiable(t5, type$.CssValue_Combinator_2), span)], type$.JSArray_ComplexSelectorComponent_2), span, t1.any$1(complexes, new A.unifyComplex_closure0())); if (t3.length === 0) t1 = A._setArrayType([base], t2); else { @@ -25075,14 +26891,27 @@ self.util = _cliPkgRequires.util; return A.weave0(t1, span, false); }, unifyCompound0(compound1, compound2) { - var t1, t2, _i, unified, - result = compound2.components; - for (t1 = compound1.components, t2 = t1.length, _i = 0; _i < t2; ++_i, result = unified) { - unified = t1[_i].unify$1(result); - if (unified == null) - return null; + var t1, t2, pseudoElementFound, _i, simple, unified, + result = compound1.components, + pseudoResult = A._setArrayType([], type$.JSArray_SimpleSelector_2); + for (t1 = compound2.components, t2 = t1.length, pseudoElementFound = false, _i = 0; _i < t2; ++_i) { + simple = t1[_i]; + if (pseudoElementFound && simple instanceof A.PseudoSelector0) { + unified = simple.unify$1(pseudoResult); + if (unified == null) + return null; + pseudoResult = unified; + } else { + pseudoElementFound = B.JSBool_methods.$or(pseudoElementFound, simple instanceof A.PseudoSelector0 && !simple.isClass); + unified = simple.unify$1(result); + if (unified == null) + return null; + result = unified; + } } - return A.CompoundSelector$0(result, compound1.span); + t1 = A.List_List$of(result, true, type$.SimpleSelector_2); + B.JSArray_methods.addAll$1(t1, pseudoResult); + return A.CompoundSelector$0(t1, compound1.span); }, unifyUniversalAndElement0(selector1, selector2) { var namespace, $name, t1, @@ -25167,7 +26996,7 @@ self.util = _cliPkgRequires.util; return prefixes; }, _weaveParents0(prefix, base, span) { - var t1, queue1, queue2, trailingCombinators, _0_1, _0_3, _0_3_isSet, rootish1, t2, rootish2, _0_30, rootish, t3, rootish_case_0, t0, rootish_case_1, groups1, groups2, lcs, choices, t4, _i, group, t5, t6, t7, _i0, chunk, t8, t9, _null = null, + var t1, queue1, queue2, trailingCombinators, _0_1, _0_3, _0_3_isSet, _0_30, rootish2, t2, rootish1, rootish, t3, rootish_case_0, t0, rootish_case_1, groups1, groups2, lcs, choices, t4, _i, group, t5, t6, t7, _i0, chunk, t8, t9, _null = null, leadingCombinators = A._mergeLeadingCombinators0(prefix.leadingCombinators, base.leadingCombinators); if (leadingCombinators == null) return _null; @@ -25181,20 +27010,17 @@ self.util = _cliPkgRequires.util; _0_1 = A._firstIfRootish0(queue1); _0_3 = A._firstIfRootish0(queue2); _0_3_isSet = _0_1 != null; + _0_30 = _null; + rootish2 = _null; + t2 = false; if (_0_3_isSet) { rootish1 = _0_1 == null ? t1._as(_0_1) : _0_1; t2 = _0_3 != null; if (t2) rootish2 = _0_3 == null ? t1._as(_0_3) : _0_3; - else - rootish2 = _null; _0_30 = _0_3; - } else { - rootish2 = _null; - rootish1 = rootish2; - _0_30 = rootish1; - t2 = false; - } + } else + rootish1 = _null; if (t2) { rootish = A.unifyCompound0(rootish1.selector, rootish2.selector); if (rootish == null) @@ -25206,6 +27032,8 @@ self.util = _cliPkgRequires.util; queue2.addFirst$1(new A.ComplexSelectorComponent0(rootish, A.List_List$unmodifiable(rootish2.combinators, t3), t2)); break $label0$0; } + t2 = _null; + t3 = false; if (_0_1 != null) { rootish_case_0 = _0_1; if (_0_3_isSet) @@ -25220,9 +27048,6 @@ self.util = _cliPkgRequires.util; t0 = t3; t3 = t2; t2 = t0; - } else { - t2 = _null; - t3 = false; } if (!t3) if (_0_1 == null) { @@ -25301,13 +27126,10 @@ self.util = _cliPkgRequires.util; first = queue.$index(0, 0); for (t1 = first.selector.components, t2 = t1.length, _i = 0; _i < t2; ++_i) { simple = t1[_i]; + t3 = false; if (simple instanceof A.PseudoSelector0) if (simple.isClass) t3 = $._rootishPseudoClasses0.contains$1(0, simple.normalizedName); - else - t3 = false; - else - t3 = false; if (t3) { queue.removeFirst$0(); return first; @@ -25317,52 +27139,46 @@ self.util = _cliPkgRequires.util; return null; }, _mergeLeadingCombinators0(combinators1, combinators2) { - var _0_4, t1, _0_7_isSet, _0_7, t2, _0_11_isSet, _0_11, _0_4_isSet, combinators, _null = null; + var _0_4, t1, t2, _0_7_isSet, _0_7, t3, _0_4_isSet, _0_11, _0_11_isSet, combinators, _null = null; $label0$0: { _0_4 = combinators2; - t1 = type$.List_CssValue_Combinator_2; - _0_7_isSet = t1._is(combinators1); + t1 = _null; + t2 = type$.List_CssValue_Combinator_2; + _0_7_isSet = t2._is(combinators1); + _0_7 = _null; if (_0_7_isSet) { _0_7 = combinators1.length; - t2 = _0_7; - t2 = t2 > 1; - } else { - _0_7 = _null; - t2 = false; - } - if (!t2) { - t2 = _0_4; - _0_11_isSet = t1._is(t2); + t3 = _0_7; + t3 = t3 > 1; + } else + t3 = false; + _0_4_isSet = true; + _0_11 = _null; + if (!t3) { + t3 = _0_4; + _0_11_isSet = t2._is(t3); if (_0_11_isSet) { - t2 = _0_4; - _0_11 = (t2 == null ? t1._as(t2) : t2).length; - t2 = _0_11; - _0_4_isSet = true; - t2 = t2 > 1; - } else { - _0_11 = _null; - _0_4_isSet = true; - t2 = false; - } + t3 = _0_4; + _0_11 = (t3 == null ? t2._as(t3) : t3).length; + t3 = _0_11; + t3 = t3 > 1; + } else + t3 = false; } else { - _0_11 = _null; - _0_4_isSet = true; _0_11_isSet = false; - t2 = true; + t3 = true; } - if (t2) { - t1 = _null; + if (t3) break $label0$0; - } - if (t1._is(combinators1)) { + if (t2._is(combinators1)) { if (_0_7_isSet) - t2 = _0_7; + t3 = _0_7; else { _0_7 = combinators1.length; - t2 = _0_7; + t3 = _0_7; } - t2 = t2 <= 0; - if (t2) + t3 = t3 <= 0; + if (t3) if (_0_4_isSet) combinators = _0_4; else { @@ -25371,30 +27187,31 @@ self.util = _cliPkgRequires.util; _0_4_isSet = true; } else - combinators = _null; + combinators = t1; + t1 = t3; } else { - combinators = _null; - t2 = false; + combinators = t1; + t1 = false; } - if (!t2) { + if (!t1) { + t1 = false; if (_0_4_isSet) - t2 = _0_4; + t3 = _0_4; else { - t2 = combinators2; - _0_4 = t2; + t3 = combinators2; + _0_4 = t3; _0_4_isSet = true; } - if (t1._is(t2)) { + if (t2._is(t3)) { if (_0_11_isSet) t1 = _0_11; else { - t2 = _0_4_isSet ? _0_4 : combinators2; - _0_11 = (t2 == null ? t1._as(t2) : t2).length; + t1 = _0_4_isSet ? _0_4 : combinators2; + _0_11 = (t1 == null ? t2._as(t1) : t1).length; t1 = _0_11; } t1 = t1 <= 0; - } else - t1 = false; + } combinators = combinators1; } else t1 = true; @@ -25408,7 +27225,7 @@ self.util = _cliPkgRequires.util; return t1; }, _mergeTrailingCombinators0(components1, components2, span, result) { - var _0_1, t1, _1_1, t2, t3, _4_1, _4_3, _4_4_isSet, _4_4, _4_5, component1, component2, t4, t5, choices, _2_0, _4_4_isSet0, _4_9, _4_6_isSet, _4_6, _4_7, nextComponents, followingComponents, _4_7_isSet, _4_10_isSet, _4_10, _4_5_isSet, next, following, _3_0, siblingComponents_case_0, t0, siblingComponents_case_1, combinator1, combinator2, unified, combinator_case_0, combinatorComponents_case_0, descendantComponents_case_0, t6, combinator_case_1, descendantComponents_case_1, combinatorComponents_case_1, _null = null; + var _0_1, t1, _1_1, t2, t3, _4_1, _4_3, _4_4_isSet, _4_5, _4_4, component1, component2, t4, t5, choices, _2_0, _4_9, _4_6, _4_7, followingComponents, nextComponents, _4_4_isSet0, _4_6_isSet, _4_7_isSet, _4_10_isSet, _4_10, _4_5_isSet, next, following, _3_0, siblingComponents_case_0, siblingComponents_case_1, combinator1, t6, combinator2, unified, t7, combinator_case_0, combinatorComponents_case_0, descendantComponents_case_0, t0, combinator_case_1, descendantComponents_case_1, combinatorComponents_case_1, _null = null; if (result == null) result = A.QueueList$(_null, type$.List_List_ComplexSelectorComponent_2); $label0$0: { @@ -25442,15 +27259,14 @@ self.util = _cliPkgRequires.util; _4_1 = t2[0]; _4_3 = B.Combinator_y180 === _4_1; _4_4_isSet = _4_3; + _4_5 = _null; + _4_4 = _null; if (_4_4_isSet) { _4_4 = t2[1]; _4_5 = B.Combinator_y180 === _4_4; t3 = _4_5; - } else { - _4_4 = _null; - _4_5 = _4_4; + } else t3 = false; - } if (t3) { component1 = components1.removeLast$0(0); component2 = components2.removeLast$0(0); @@ -25473,6 +27289,11 @@ self.util = _cliPkgRequires.util; } break $label2$2; } + _4_9 = _null; + _4_6 = _null; + _4_7 = _null; + followingComponents = _null; + nextComponents = _null; if (_4_3) { if (_4_4_isSet) { t3 = _4_4; @@ -25489,26 +27310,17 @@ self.util = _cliPkgRequires.util; _4_7 = t2[3]; nextComponents = _4_7; followingComponents = _4_6; - } else { - nextComponents = _null; - followingComponents = nextComponents; - _4_7 = followingComponents; - _4_6 = _4_7; } t3 = _4_6_isSet; _4_7_isSet = t3; } else { - nextComponents = _null; - followingComponents = nextComponents; - _4_7 = followingComponents; - _4_6 = _4_7; - _4_9 = _4_6; _4_4_isSet0 = _4_4_isSet; _4_6_isSet = false; _4_7_isSet = false; t3 = false; } _4_10_isSet = !t3; + _4_10 = _null; if (_4_10_isSet) { _4_10 = B.Combinator_gRV0 === _4_1; t3 = _4_10; @@ -25552,7 +27364,6 @@ self.util = _cliPkgRequires.util; t3 = false; } } else { - _4_10 = _null; _4_5_isSet = _4_4_isSet; _4_4_isSet = _4_4_isSet0; t3 = true; @@ -25575,37 +27386,39 @@ self.util = _cliPkgRequires.util; } break $label2$2; } + t3 = _null; if (B.Combinator_8I80 === _4_1) { + _4_4_isSet0 = true; if (_4_3) - t3 = _4_9; + t4 = _4_9; else { if (_4_4_isSet) - t3 = _4_4; + t4 = _4_4; else { _4_4 = t2[1]; - t3 = _4_4; - _4_4_isSet = true; + t4 = _4_4; + _4_4_isSet = _4_4_isSet0; } - _4_9 = B.Combinator_gRV0 === t3; - t3 = _4_9; + _4_9 = B.Combinator_gRV0 === t4; + t4 = _4_9; } - if (!t3) + if (!t4) if (_4_5_isSet) - t3 = _4_5; + t4 = _4_5; else { if (_4_4_isSet) - t3 = _4_4; + t4 = _4_4; else { _4_4 = t2[1]; - t3 = _4_4; - _4_4_isSet = true; + t4 = _4_4; + _4_4_isSet = _4_4_isSet0; } - _4_5 = B.Combinator_y180 === t3; - t3 = _4_5; + _4_5 = B.Combinator_y180 === t4; + t4 = _4_5; } else - t3 = true; - if (t3) { + t4 = true; + if (t4) { if (_4_7_isSet) siblingComponents_case_0 = _4_7; else { @@ -25613,16 +27426,10 @@ self.util = _cliPkgRequires.util; siblingComponents_case_0 = _4_7; _4_7_isSet = true; } - t4 = siblingComponents_case_0; - } else - t4 = _null; - t0 = t4; - t4 = t3; - t3 = t0; - } else { - t3 = _null; + t3 = siblingComponents_case_0; + } + } else t4 = false; - } if (!t4) { if (_4_10_isSet) t4 = _4_10; @@ -25663,28 +27470,28 @@ self.util = _cliPkgRequires.util; } t3 = _4_1 == null; t4 = !t3; + t5 = false; if (t4) { + _4_4_isSet0 = true; combinator1 = _4_1; if (_4_4_isSet) - t5 = _4_4; + t6 = _4_4; else { _4_4 = t2[1]; - t5 = _4_4; - _4_4_isSet = true; + t6 = _4_4; + _4_4_isSet = _4_4_isSet0; } - if (t5 != null) { + if (t6 != null) { if (_4_4_isSet) combinator2 = _4_4; else { _4_4 = t2[1]; combinator2 = _4_4; - _4_4_isSet = true; + _4_4_isSet = _4_4_isSet0; } t5 = combinator1 === (combinator2 == null ? type$.Combinator_2._as(combinator2) : combinator2); - } else - t5 = false; - } else - t5 = false; + } + } if (t5) { unified = A.unifyCompound0(components1.removeLast$0(0).selector, components2.removeLast$0(0).selector); if (unified == null) @@ -25692,17 +27499,21 @@ self.util = _cliPkgRequires.util; result.addFirst$1(A._setArrayType([A._setArrayType([new A.ComplexSelectorComponent0(unified, A.List_List$unmodifiable(A._setArrayType([B.JSArray_methods.get$first(t1)], type$.JSArray_CssValue_Combinator_2), type$.CssValue_Combinator_2), span)], type$.JSArray_ComplexSelectorComponent_2)], type$.JSArray_List_ComplexSelectorComponent_2)); break $label2$2; } + t1 = _null; + t5 = _null; + t6 = _null; + t7 = false; if (t4) { combinator_case_0 = _4_1; if (_4_4_isSet) - t1 = _4_4; + t4 = _4_4; else { _4_4 = t2[1]; - t1 = _4_4; + t4 = _4_4; _4_4_isSet = true; } - t1 = t1 == null; - if (t1) { + t4 = t4 == null; + if (t4) { if (_4_6_isSet) combinatorComponents_case_0 = _4_6; else { @@ -25717,25 +27528,19 @@ self.util = _cliPkgRequires.util; descendantComponents_case_0 = _4_7; _4_7_isSet = true; } - t4 = descendantComponents_case_0; - t6 = t4; - t4 = combinator_case_0; + t1 = descendantComponents_case_0; + t6 = t1; + t1 = combinator_case_0; t5 = combinatorComponents_case_0; - } else { - t6 = _null; - t5 = t6; - t4 = t5; } t0 = t6; - t6 = t1; - t1 = t4; + t6 = t4; t4 = t5; t5 = t0; } else { - t5 = _null; t4 = t5; - t1 = t4; - t6 = false; + t5 = t6; + t6 = t7; } if (!t6) if (t3) { @@ -25822,15 +27627,14 @@ self.util = _cliPkgRequires.util; _0_4 = chunk1.length <= 0; _0_5_isSet = _0_4; _0_1 = chunk1; + _0_7 = _null; + _0_5 = _null; if (_0_5_isSet) { _0_7 = chunk2.length <= 0; t1 = _0_7; _0_5 = chunk2; - } else { - _0_5 = _null; - _0_7 = _0_5; + } else t1 = false; - } if (t1) { t1 = A._setArrayType([], $T._eval$1("JSArray>")); break $label0$0; @@ -25911,120 +27715,123 @@ self.util = _cliPkgRequires.util; return A.complexIsSuperselector0(t2, t1); }, complexIsSuperselector0(complex1, complex2) { - var t1, t2, t3, i1, i2, previousCombinator, remaining1, t4, remaining2, component1, t5, parents, endOfSubselector, component2, combinator1; + var t1, t2, previousCombinator, i1, i2, remaining1, remaining2, component1, t3, t4, endOfSubselector, component2, t5, combinator1, _null = null; if (B.JSArray_methods.get$last(complex1).combinators.length !== 0) return false; if (B.JSArray_methods.get$last(complex2).combinators.length !== 0) return false; - for (t1 = type$.JSArray_ComplexSelectorComponent_2, t2 = A._arrayInstanceType(complex2), t3 = t2._precomputed1, t2 = t2._eval$1("SubListIterable<1>"), i1 = 0, i2 = 0, previousCombinator = null; true; previousCombinator = combinator1) { + for (t1 = A._arrayInstanceType(complex2), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), previousCombinator = _null, i1 = 0, i2 = 0; true; previousCombinator = combinator1) { remaining1 = complex1.length - i1; - t4 = complex2.length; - remaining2 = t4 - i2; + remaining2 = complex2.length - i2; if (remaining1 === 0 || remaining2 === 0) return false; if (remaining1 > remaining2) return false; component1 = complex1[i1]; - t5 = component1.combinators; - if (t5.length > 1) + t3 = component1.combinators; + if (t3.length > 1) return false; - if (remaining1 === 1) { - parents = B.JSArray_methods.sublist$2(complex2, i2, t4 - 1); - if (B.JSArray_methods.any$1(parents, new A.complexIsSuperselector_closure1())) + if (remaining1 === 1) + if (B.JSArray_methods.any$1(complex2, new A.complexIsSuperselector_closure1())) return false; - return A.compoundIsSuperselector0(component1.selector, B.JSArray_methods.get$last(complex2).selector, parents); - } - for (t4 = component1.selector, endOfSubselector = i2, parents = null; true;) { + else { + t1 = component1.selector; + t2 = B.JSArray_methods.get$last(complex2).selector; + return A.compoundIsSuperselector0(t1, t2, t1.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, complex2.length - 1) : _null); + } + for (t4 = component1.selector, endOfSubselector = i2; true;) { component2 = complex2[endOfSubselector]; if (component2.combinators.length > 1) return false; - if (A.compoundIsSuperselector0(t4, component2.selector, parents)) + t5 = component2.selector; + if (A.compoundIsSuperselector0(t4, t5, t4.get$hasComplicatedSuperselectorSemantics() ? B.JSArray_methods.sublist$2(complex2, i2, endOfSubselector) : _null)) break; ++endOfSubselector; if (endOfSubselector === complex2.length - 1) return false; - if (parents == null) - parents = A._setArrayType([], t1); - parents.push(component2); } - if (!A._compatibleWithPreviousCombinator0(previousCombinator, parents == null ? B.List_empty13 : parents)) + t4 = new A.SubListIterable(complex2, 0, endOfSubselector, t1); + t4.SubListIterable$3(complex2, 0, endOfSubselector, t2); + if (!A._compatibleWithPreviousCombinator0(previousCombinator, t4.skip$1(0, i2))) return false; component2 = complex2[endOfSubselector]; - combinator1 = A.IterableExtension_get_firstOrNull(t5); + combinator1 = A.IterableExtension_get_firstOrNull(t3); if (!A._isSupercombinator0(combinator1, A.IterableExtension_get_firstOrNull(component2.combinators))) return false; ++i1; i2 = endOfSubselector + 1; if (complex1.length - i1 === 1) { - t4 = combinator1 == null; - if (J.$eq$(t4 ? null : combinator1.value, B.Combinator_y180)) { - t4 = complex2.length - 1; - t5 = new A.SubListIterable(complex2, 0, t4, t2); - t5.SubListIterable$3(complex2, 0, t4, t3); - if (!t5.skip$1(0, i2).every$1(0, new A.complexIsSuperselector_closure2(combinator1))) + t3 = combinator1 == null; + if (J.$eq$(t3 ? _null : combinator1.value, B.Combinator_y180)) { + t3 = complex2.length - 1; + t4 = new A.SubListIterable(complex2, 0, t3, t1); + t4.SubListIterable$3(complex2, 0, t3, t2); + if (!t4.skip$1(0, i2).every$1(0, new A.complexIsSuperselector_closure2(combinator1))) return false; - } else if (!t4) + } else if (!t3) if (complex2.length - i2 > 1) return false; } } }, _compatibleWithPreviousCombinator0(previous, parents) { - if (parents.length === 0) + if (parents.get$isEmpty(parents)) return true; if (previous == null) return true; if (previous.value !== B.Combinator_y180) return false; - return B.JSArray_methods.every$1(parents, new A._compatibleWithPreviousCombinator_closure0()); + return parents.every$1(0, new A._compatibleWithPreviousCombinator_closure0()); }, _isSupercombinator0(combinator1, combinator2) { - var t1, t2; + var t2, t3, + t1 = true; if (!J.$eq$(combinator1, combinator2)) { - t1 = combinator1 == null; - if (t1) - t2 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_8I80); + t2 = combinator1 == null; + if (t2) + t3 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_8I80); else - t2 = false; - if (!t2) - if (J.$eq$(t1 ? null : combinator1.value, B.Combinator_y180)) + t3 = false; + if (!t3) + if (J.$eq$(t2 ? null : combinator1.value, B.Combinator_y180)) t1 = J.$eq$(combinator2 == null ? null : combinator2.value, B.Combinator_gRV0); else t1 = false; - else - t1 = true; - } else - t1 = true; + } return t1; }, compoundIsSuperselector0(compound1, compound2, parents) { - var t2, pseudo1, index1, t3, pseudo2, index2, _0_50, t4, t5, _i, simple1, _null = null, - _0_1 = A._findPseudoElementIndexed0(compound1), - _0_5 = A._findPseudoElementIndexed0(compound2), - t1 = type$.Record_2_nullable_Object_and_nullable_Object, - _0_5_isSet = t1._is(_0_1); + var t1, _0_1, _0_5, _0_5_isSet, _0_50, index1, pseudo2, index2, t2, t3, pseudo1, t4, t5, _i, simple1, _null = null; + if (!compound1.get$hasComplicatedSuperselectorSemantics() && !compound2.get$hasComplicatedSuperselectorSemantics()) { + t1 = compound1.components; + if (t1.length > compound2.components.length) + return false; + return B.JSArray_methods.every$1(t1, new A.compoundIsSuperselector_closure0(compound2)); + } + _0_1 = A._findPseudoElementIndexed0(compound1); + _0_5 = A._findPseudoElementIndexed0(compound2); + t1 = type$.Record_2_nullable_Object_and_nullable_Object; + _0_5_isSet = t1._is(_0_1); + _0_50 = _null; + index1 = _null; + pseudo2 = _null; + index2 = _null; + t2 = false; if (_0_5_isSet) { - t2 = _0_1 == null; - pseudo1 = (t2 ? t1._as(_0_1) : _0_1)._0; - index1 = (t2 ? t1._as(_0_1) : _0_1)._1; + t3 = _0_1 == null; + pseudo1 = (t3 ? t1._as(_0_1) : _0_1)._0; + index1 = (t3 ? t1._as(_0_1) : _0_1)._1; t2 = t1._is(_0_5); if (t2) { t3 = _0_5 == null; pseudo2 = (t3 ? t1._as(_0_5) : _0_5)._0; index2 = (t3 ? t1._as(_0_5) : _0_5)._1; - } else { - index2 = _null; - pseudo2 = index2; } t1 = t2; _0_50 = _0_5; } else { - index2 = _null; - pseudo2 = index2; - index1 = pseudo2; - pseudo1 = index1; - _0_50 = pseudo1; - t1 = false; + t1 = t2; + pseudo1 = _null; } if (t1) { if (pseudo1.isSuperselector$1(pseudo2)) { @@ -26105,7 +27912,7 @@ self.util = _cliPkgRequires.util; }, _selectorPseudoArgs0(compound, $name, isClass) { var t1 = type$.WhereTypeIterable_PseudoSelector_2; - return A.IterableNullableExtension_whereNotNull(new A.MappedIterable(new A.WhereIterable(new A.WhereTypeIterable(compound.components, t1), new A._selectorPseudoArgs_closure1(isClass, $name), t1._eval$1("WhereIterable")), new A._selectorPseudoArgs_closure2(), t1._eval$1("MappedIterable")), type$.SelectorList_2); + return new A.NonNullsIterable(new A.MappedIterable(new A.WhereIterable(new A.WhereTypeIterable(compound.components, t1), new A._selectorPseudoArgs_closure1(isClass, $name), t1._eval$1("WhereIterable")), new A._selectorPseudoArgs_closure2(), t1._eval$1("MappedIterable")), type$.NonNullsIterable_SelectorList_2); }, unifyComplex_closure0: function unifyComplex_closure0() { }, @@ -26149,6 +27956,9 @@ self.util = _cliPkgRequires.util; }, _compatibleWithPreviousCombinator_closure0: function _compatibleWithPreviousCombinator_closure0() { }, + compoundIsSuperselector_closure0: function compoundIsSuperselector_closure0(t0) { + this.compound2 = t0; + }, _selectorPseudoIsSuperselector_closure6: function _selectorPseudoIsSuperselector_closure6(t0) { this.selector1 = t0; }, @@ -26191,6 +28001,35 @@ self.util = _cliPkgRequires.util; }, globalFunctions_closure0: function globalFunctions_closure0() { }, + GamutMapMethod_GamutMapMethod$fromName0($name) { + var t1; + $label0$0: { + if ("clip" === $name) { + t1 = B.ClipGamutMap_clip0; + break $label0$0; + } + if ("local-minde" === $name) { + t1 = B.LocalMindeGamutMap_Q7f0; + break $label0$0; + } + t1 = A.throwExpression(A.SassScriptException$0('Unknown gamut map method "' + $name + '".', null)); + } + return t1; + }, + GamutMapMethod0: function GamutMapMethod0() { + }, + HslColorSpace0: function HslColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + HwbColorSpace0: function HwbColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + HwbColorSpace_convert_toRgb0: function HwbColorSpace_convert_toRgb0(t0, t1) { + this._box_0 = t0; + this.factor = t1; + }, IDSelector0: function IDSelector0(t0, t1) { this.name = t0; this.span = t1; @@ -26332,18 +28171,17 @@ self.util = _cliPkgRequires.util; _._node$_indexInParent = _._node$_parent = null; _.isGroupEnd = false; }, - ImportCache$0(importers, loadPaths, logger, packageConfig) { - var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2, - t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2, - t3 = type$.Uri, - t4 = A.ImportCache__toImporters0(importers, loadPaths, packageConfig); - return new A.ImportCache0(t4, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); - }, - ImportCache$none(logger) { + ImportCache$0(importers, loadPaths, packageConfig) { var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2, t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2, t3 = type$.Uri; - return new A.ImportCache0(B.List_empty23, logger, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); + return new A.ImportCache0(A.ImportCache__toImporters0(importers, loadPaths, packageConfig), A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); + }, + ImportCache$none() { + var t1 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2, + t2 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2, + t3 = type$.Uri; + return new A.ImportCache0(B.List_empty25, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t1), A.LinkedHashMap_LinkedHashMap$_empty(t2, t3), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t3, type$.ImporterResult_2)); }, ImportCache__toImporters0(importers, loadPaths, packageConfig) { var t1, t2, t3, t4, _i, path, _null = null, @@ -26374,15 +28212,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - ImportCache0: function ImportCache0(t0, t1, t2, t3, t4, t5, t6) { + ImportCache0: function ImportCache0(t0, t1, t2, t3, t4, t5) { var _ = this; _._import_cache$_importers = t0; - _._import_cache$_logger = t1; - _._import_cache$_canonicalizeCache = t2; - _._import_cache$_perImporterCanonicalizeCache = t3; - _._import_cache$_nonCanonicalRelativeUrls = t4; - _._import_cache$_importCache = t5; - _._import_cache$_resultsCache = t6; + _._import_cache$_canonicalizeCache = t1; + _._import_cache$_perImporterCanonicalizeCache = t2; + _._import_cache$_nonCanonicalRelativeUrls = t3; + _._import_cache$_importCache = t4; + _._import_cache$_resultsCache = t5; }, ImportCache_canonicalize_closure0: function ImportCache_canonicalize_closure0(t0, t1, t2, t3, t4, t5, t6) { var _ = this; @@ -26398,13 +28235,12 @@ self.util = _cliPkgRequires.util; this.importer = t0; this.url = t1; }, - ImportCache_importCanonical_closure0: function ImportCache_importCanonical_closure0(t0, t1, t2, t3, t4) { + ImportCache_importCanonical_closure0: function ImportCache_importCanonical_closure0(t0, t1, t2, t3) { var _ = this; _.$this = t0; _.importer = t1; _.canonicalUrl = t2; _.originalUrl = t3; - _.quiet = t4; }, ImportCache_humanize_closure3: function ImportCache_humanize_closure3(t0) { this.canonicalUrl = t0; @@ -26442,14 +28278,15 @@ self.util = _cliPkgRequires.util; this.$arguments = t1; this.span = t2; }, - Interpolation$0(contents, span) { - var t1 = new A.Interpolation0(A.List_List$unmodifiable(contents, type$.Object), span); - t1.Interpolation$20(contents, span); + Interpolation$0(contents, spans, span) { + var t1 = new A.Interpolation0(A.List_List$unmodifiable(contents, type$.Object), A.List_List$unmodifiable(spans, type$.nullable_FileSpan), span); + t1.Interpolation$30(contents, spans, span); return t1; }, - Interpolation0: function Interpolation0(t0, t1) { + Interpolation0: function Interpolation0(t0, t1, t2) { this.contents = t0; - this.span = t1; + this.spans = t1; + this.span = t2; }, Interpolation_toString_closure0: function Interpolation_toString_closure0() { }, @@ -26457,9 +28294,10 @@ self.util = _cliPkgRequires.util; this.expression = t0; this.span = t1; }, - InterpolationBuffer0: function InterpolationBuffer0(t0, t1) { + InterpolationBuffer0: function InterpolationBuffer0(t0, t1, t2) { this._interpolation_buffer0$_text = t0; this._interpolation_buffer0$_contents = t1; + this._interpolation_buffer0$_spans = t2; }, InterpolationMap$0(_interpolation, targetLocations) { var t1 = A.List_List$unmodifiable(targetLocations, type$.SourceLocation), @@ -26475,6 +28313,74 @@ self.util = _cliPkgRequires.util; }, InterpolationMap_mapException_closure0: function InterpolationMap_mapException_closure0() { }, + InterpolationMethod$0(space, hue) { + var t1; + if (space.get$isPolarInternal()) + t1 = hue == null ? B.HueInterpolationMethod_00 : hue; + else + t1 = null; + if (!space.get$isPolarInternal() && hue != null) + A.throwExpression(A.ArgumentError$(string$.Hue_in + space.toString$0(0) + ".", null)); + return new A.InterpolationMethod0(space, t1); + }, + InterpolationMethod_InterpolationMethod$fromValue0(value, $name) { + var t1, space, hueMethod, + list = value.assertCommonListStyle$2$allowSlash($name, false); + if (list.length === 0) + throw A.wrapException(A.SassScriptException$0(string$.Expecta, $name)); + t1 = B.JSArray_methods.get$first(list).assertString$1($name); + t1.assertUnquoted$1($name); + space = A.ColorSpace_fromName0(t1._string0$_text, $name); + if (list.length === 1) + return A.InterpolationMethod$0(space, null); + hueMethod = A.HueInterpolationMethod_HueInterpolationMethod$_fromValue0(list[1], $name); + if (list.length === 2) + throw A.wrapException(A.SassScriptException$0('Expected unquoted string "hue" after ' + value.toString$0(0) + ".", $name)); + else { + t1 = list[2].assertString$1($name); + t1.assertUnquoted$1($name); + if (t1._string0$_text.toLowerCase() !== "hue") + throw A.wrapException(A.SassScriptException$0(string$.Expectu + value.toString$0(0) + ", was " + A.S(list[2]) + ".", $name)); + else if (list.length > 3) + throw A.wrapException(A.SassScriptException$0('Expected nothing after "hue" in ' + value.toString$0(0) + ".", $name)); + else if (!space.get$isPolarInternal()) + throw A.wrapException(A.SassScriptException$0('Hue interpolation method "' + hueMethod.toString$0(0) + string$.x20hue__ + space.toString$0(0) + ".", $name)); + } + return A.InterpolationMethod$0(space, hueMethod); + }, + HueInterpolationMethod_HueInterpolationMethod$_fromValue0(value, $name) { + var _0_0, + t1 = value.assertString$1($name); + t1.assertUnquoted$0(); + _0_0 = t1._string0$_text.toLowerCase(); + $label0$0: { + if ("shorter" === _0_0) { + t1 = B.HueInterpolationMethod_00; + break $label0$0; + } + if ("longer" === _0_0) { + t1 = B.HueInterpolationMethod_10; + break $label0$0; + } + if ("increasing" === _0_0) { + t1 = B.HueInterpolationMethod_20; + break $label0$0; + } + if ("decreasing" === _0_0) { + t1 = B.HueInterpolationMethod_30; + break $label0$0; + } + t1 = A.throwExpression(A.SassScriptException$0("Unknown hue interpolation method " + value.toString$0(0) + ".", $name)); + } + return t1; + }, + InterpolationMethod0: function InterpolationMethod0(t0, t1) { + this.space = t0; + this.hue = t1; + }, + HueInterpolationMethod0: function HueInterpolationMethod0(t0) { + this._name = t0; + }, _realCasePath0(path) { var prefix, _null = null, t1 = A.isNodeJs() ? self.process : _null; @@ -26504,6 +28410,11 @@ self.util = _cliPkgRequires.util; _realCasePath_helper__closure0: function _realCasePath_helper__closure0(t0) { this.basename = t0; }, + IsCalculationSafeVisitor0: function IsCalculationSafeVisitor0() { + }, + IsCalculationSafeVisitor_visitListExpression_closure0: function IsCalculationSafeVisitor_visitListExpression_closure0(t0) { + this.$this = t0; + }, printError0(message) { var t1 = A.isNodeJs() ? self.process : null; if (t1 != null) { @@ -26633,7 +28544,8 @@ self.util = _cliPkgRequires.util; J.set$NodePackageImporter$x(self.exports, $.$get$nodePackageImporterClass()); J.set$deprecations$x(self.exports, A.jsify($.$get$deprecations())); J.set$Version$x(self.exports, $.$get$versionClass()); - J.set$info$x(self.exports, "dart-sass\t1.77.4\t(Sass Compiler)\t[Dart]\ndart2js\t3.4.2\t(Dart Compiler)\t[Dart]"); + J.set$loadParserExports_$x(self.exports, A.allowInterop(A.parser0__loadParserExports$closure())); + J.set$info$x(self.exports, "dart-sass\t1.80.4\t(Sass Compiler)\t[Dart]\ndart2js\t3.5.4\t(Dart Compiler)\t[Dart]"); A.updateCanonicalizeContextPrototype(); A.updateSourceSpanPrototype(); J.set$render$x(self.exports, A.allowInteropNamed("sass.render", A.legacy__render$closure())); @@ -26678,22 +28590,25 @@ self.util = _cliPkgRequires.util; _._node$_indexInParent = _._node$_parent = null; _.isGroupEnd = false; }, - KeyframeSelectorParser$0(contents, interpolationMap, logger) { - var t1 = A.SpanScanner$(contents, null); - return new A.KeyframeSelectorParser0(t1, logger, interpolationMap); - }, - KeyframeSelectorParser0: function KeyframeSelectorParser0(t0, t1, t2) { + KeyframeSelectorParser0: function KeyframeSelectorParser0(t0, t1) { this.scanner = t0; - this.logger = t1; - this._parser0$_interpolationMap = t2; + this._parser1$_interpolationMap = t1; }, KeyframeSelectorParser_parse_closure0: function KeyframeSelectorParser_parse_closure0(t0) { this.$this = t0; }, + LabColorSpace0: function LabColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, LazyFileSpan0: function LazyFileSpan0(t0) { this._lazy_file_span0$_builder = t0; this._lazy_file_span0$_span = null; }, + LchColorSpace0: function LchColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, render(options, callback) { var _0_0; if (!A.isNodeJs()) @@ -26707,7 +28622,7 @@ self.util = _cliPkgRequires.util; _renderAsync(options) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.RenderResult), - $async$returnValue, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, result, start, t1, file, _0_0; + $async$returnValue, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, result, start, t1, file, t2, t3, t4, logger, _0_0; var $async$_renderAsync = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -26715,9 +28630,13 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - start = new A.DateTime(Date.now(), false); + start = new A.DateTime(Date.now(), 0, false); t1 = J.getInterceptor$x(options); file = A.NullableExtension_andThen0(t1.get$file(options), A.path__absolute$closure()); + t2 = t1.get$logger(options); + t3 = A.hasTerminal0(); + t4 = $._glyphs; + logger = new A.JSToDartLogger(t2, new A.StderrLogger0(t3), t4 === B.C_AsciiGlyphSet); _0_0 = t1.get$data(options); $async$goto = _0_0 != null ? 3 : 5; break; @@ -26736,18 +28655,17 @@ self.util = _cliPkgRequires.util; t11 = t1.get$quietDeps(options); if (t11 == null) t11 = false; - t12 = t1.get$verbose(options); - if (t12 == null) - t12 = false; - t13 = t1.get$charset(options); - if (t13 == null) - t13 = true; - t14 = A._enableSourceMaps(options); - t1 = t1.get$logger(options); - t15 = A.hasTerminal0(); - t16 = $._glyphs; + t12 = A.parseDeprecations(logger, t1.get$fatalDeprecations(options), true); + t13 = A.parseDeprecations(logger, t1.get$futureDeprecations(options), false); + t14 = A.parseDeprecations(logger, t1.get$silenceDeprecations(options), false); + t15 = t1.get$verbose(options); + if (t15 == null) + t15 = false; + t1 = t1.get$charset(options); + if (t1 == null) + t1 = true; $async$goto = 6; - return A._asyncAwait(A.compileStringAsync0(_0_0, t13, null, t4, null, t3, null, t8, t9, new A.JSToDartLogger(t1, new A.StderrLogger0(t15), t16 === B.C_AsciiGlyphSet), t2, t11, null, t14, t6, t5, t10, !t7, t12), $async$_renderAsync); + return A._asyncAwait(A.compileStringAsync0(_0_0, t1, t12, t4, t13, t3, null, t8, t9, logger, t2, t11, t14, A._enableSourceMaps(options), t6, t5, t10, !t7, t15), $async$_renderAsync); case 6: // returning from await. result = $async$result; @@ -26772,18 +28690,17 @@ self.util = _cliPkgRequires.util; t10 = t1.get$quietDeps(options); if (t10 == null) t10 = false; - t11 = t1.get$verbose(options); - if (t11 == null) - t11 = false; - t12 = t1.get$charset(options); - if (t12 == null) - t12 = true; - t13 = A._enableSourceMaps(options); - t1 = t1.get$logger(options); - t14 = A.hasTerminal0(); - t15 = $._glyphs; + t11 = A.parseDeprecations(logger, t1.get$fatalDeprecations(options), true); + t12 = A.parseDeprecations(logger, t1.get$futureDeprecations(options), false); + t13 = A.parseDeprecations(logger, t1.get$silenceDeprecations(options), false); + t14 = t1.get$verbose(options); + if (t14 == null) + t14 = false; + t1 = t1.get$charset(options); + if (t1 == null) + t1 = true; $async$goto = 10; - return A._asyncAwait(A.compileAsync0(file, t12, null, t4, null, t3, t8, t9, new A.JSToDartLogger(t1, new A.StderrLogger0(t14), t15 === B.C_AsciiGlyphSet), t2, t10, null, t13, t6, t5, !t7, t11), $async$_renderAsync); + return A._asyncAwait(A.compileAsync0(file, t1, t11, t4, t12, t3, t8, t9, logger, t2, t10, t13, A._enableSourceMaps(options), t6, t5, !t7, t14), $async$_renderAsync); case 10: // returning from await. result = $async$result; @@ -26809,14 +28726,18 @@ self.util = _cliPkgRequires.util; return A._asyncStartSync($async$_renderAsync, $async$completer); }, renderSync(options) { - var start, result, file, _0_0, data, error, stackTrace, error0, stackTrace0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, exception, _null = null; + var start, result, file, logger, _0_0, data, error, stackTrace, error0, stackTrace0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, exception, _null = null; if (!A.isNodeJs()) A.jsThrow(new self.Error("The renderSync() method is only available in Node.js.")); try { - start = new A.DateTime(Date.now(), false); + start = new A.DateTime(Date.now(), 0, false); result = null; t1 = J.getInterceptor$x(options); file = A.NullableExtension_andThen0(t1.get$file(options), A.path__absolute$closure()); + t2 = t1.get$logger(options); + t3 = A.hasTerminal0(); + t4 = $._glyphs; + logger = new A.JSToDartLogger(t2, new A.StderrLogger0(t3), t4 === B.C_AsciiGlyphSet); _0_0 = t1.get$data(options); data = null; if (_0_0 != null) { @@ -26835,17 +28756,16 @@ self.util = _cliPkgRequires.util; t12 = t1.get$quietDeps(options); if (t12 == null) t12 = false; - t13 = t1.get$verbose(options); - if (t13 == null) - t13 = false; - t14 = t1.get$charset(options); - if (t14 == null) - t14 = true; - t15 = A._enableSourceMaps(options); - t1 = t1.get$logger(options); - t16 = A.hasTerminal0(); - t17 = $._glyphs; - result = A.compileString(t2, t14, _null, new A.CastList(t5, A._arrayInstanceType(t5)._eval$1("CastList<1,Callable>")), _null, t4, _null, t9, t10, new A.JSToDartLogger(t1, new A.StderrLogger0(t16), t17 === B.C_AsciiGlyphSet), t3, t12, _null, t15, t7, t6, t11, !t8, t13); + t13 = A.parseDeprecations(logger, t1.get$fatalDeprecations(options), true); + t14 = A.parseDeprecations(logger, t1.get$futureDeprecations(options), false); + t15 = A.parseDeprecations(logger, t1.get$silenceDeprecations(options), false); + t16 = t1.get$verbose(options); + if (t16 == null) + t16 = false; + t1 = t1.get$charset(options); + if (t1 == null) + t1 = true; + result = A.compileString(t2, t1, t13, new A.CastList(t5, A._arrayInstanceType(t5)._eval$1("CastList<1,Callable>")), t14, t4, _null, t9, t10, logger, t3, t12, t15, A._enableSourceMaps(options), t7, t6, t11, !t8, t16); } else if (file != null) { t2 = A._parseImporter(options, start); t3 = A._parsePackageImporters(options, start); @@ -26859,17 +28779,16 @@ self.util = _cliPkgRequires.util; t10 = t1.get$quietDeps(options); if (t10 == null) t10 = false; - t11 = t1.get$verbose(options); - if (t11 == null) - t11 = false; - t12 = t1.get$charset(options); - if (t12 == null) - t12 = true; - t13 = A._enableSourceMaps(options); - t1 = t1.get$logger(options); - t14 = A.hasTerminal0(); - t15 = $._glyphs; - result = A.compile(file, t12, _null, new A.CastList(t4, A._arrayInstanceType(t4)._eval$1("CastList<1,Callable>")), _null, t3, t8, t9, new A.JSToDartLogger(t1, new A.StderrLogger0(t14), t15 === B.C_AsciiGlyphSet), t2, t10, _null, t13, t6, t5, !t7, t11); + t11 = A.parseDeprecations(logger, t1.get$fatalDeprecations(options), true); + t12 = A.parseDeprecations(logger, t1.get$futureDeprecations(options), false); + t13 = A.parseDeprecations(logger, t1.get$silenceDeprecations(options), false); + t14 = t1.get$verbose(options); + if (t14 == null) + t14 = false; + t1 = t1.get$charset(options); + if (t1 == null) + t1 = true; + result = A.compile(file, t1, t11, new A.CastList(t4, A._arrayInstanceType(t4)._eval$1("CastList<1,Callable>")), t12, t3, t8, t9, logger, t2, t10, t13, A._enableSourceMaps(options), t6, t5, !t7, t14); } else { t1 = A.ArgumentError$(string$.Either, _null); throw A.wrapException(t1); @@ -26922,7 +28841,7 @@ self.util = _cliPkgRequires.util; var result, functions = J.get$functions$x(options); if (functions == null) - return B.List_empty24; + return B.List_empty26; result = A._setArrayType([], type$.JSArray_AsyncCallable_2); A.jsForEach(functions, new A._parseFunctions_closure(options, start, result, asynch)); return result; @@ -26968,8 +28887,7 @@ self.util = _cliPkgRequires.util; t2 = type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2; t3 = type$.Record_3_AsyncImporter_and_Uri_and_bool_forImport_2; t4 = type$.Uri; - t1 = A.List_List$unmodifiable(A._setArrayType([t1], type$.JSArray_AsyncImporter), type$.AsyncImporter); - return new A.AsyncImportCache0(t1, B.StderrLogger_false0, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult_2)); + return new A.AsyncImportCache0(A.List_List$unmodifiable(A._setArrayType([t1], type$.JSArray_AsyncImporter), type$.AsyncImporter), A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult_2)); } return null; }, @@ -26982,8 +28900,7 @@ self.util = _cliPkgRequires.util; t2 = type$.nullable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2; t3 = type$.Record_3_Importer_and_Uri_and_bool_forImport_2; t4 = type$.Uri; - t1 = A.List_List$unmodifiable(A._setArrayType([t1], type$.JSArray_Importer_2), type$.Importer); - return new A.ImportCache0(t1, B.StderrLogger_false0, A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult_2)); + return new A.ImportCache0(A.List_List$unmodifiable(A._setArrayType([t1], type$.JSArray_Importer_2), type$.Importer), A.LinkedHashMap_LinkedHashMap$_empty(type$.Record_2_Uri_and_bool_forImport, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t2), A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.nullable_Stylesheet_2), A.LinkedHashMap_LinkedHashMap$_empty(t4, type$.ImporterResult_2)); } return null; }, @@ -27062,95 +28979,95 @@ self.util = _cliPkgRequires.util; return t1; }, _newRenderResult(options, result, start) { - var t3, sourceMapOption, sourceMapPath, t4, sourceMapDir, outFile, _0_0, t5, sourceMapDirUrl, i, source, t6, buffer, indices, url, t7, t8, _null = null, - t1 = Date.now(), - t2 = result._compile_result$_serialize, - css = t2._0, + var t2, sourceMapOption, sourceMapPath, t3, sourceMapDir, outFile, _0_0, t4, sourceMapDirUrl, i, source, t5, buffer, indices, url, t6, t7, t8, _null = null, + end = new A.DateTime(Date.now(), 0, false), + t1 = result._compile_result$_serialize, + css = t1._0, sourceMapBytes = type$.Null._as(self.undefined); if (A._enableSourceMaps(options)) { - t3 = J.getInterceptor$x(options); - sourceMapOption = t3.get$sourceMap(options); + t2 = J.getInterceptor$x(options); + sourceMapOption = t2.get$sourceMap(options); if (typeof sourceMapOption == "string") sourceMapPath = sourceMapOption; else { - t4 = t3.get$outFile(options); - t4.toString; - sourceMapPath = J.$add$ansx(t4, ".map"); + t3 = t2.get$outFile(options); + t3.toString; + sourceMapPath = J.$add$ansx(t3, ".map"); } - t4 = $.$get$context(); - sourceMapDir = t4.dirname$1(sourceMapPath); - t2 = t2._1; - t2.toString; - t2.sourceRoot = t3.get$sourceMapRoot(options); - outFile = t3.get$outFile(options); + t3 = $.$get$context(); + sourceMapDir = t3.dirname$1(sourceMapPath); + t1 = t1._1; + t1.toString; + t1.sourceRoot = t2.get$sourceMapRoot(options); + outFile = t2.get$outFile(options); if (outFile == null) { - _0_0 = t3.get$file(options); + _0_0 = t2.get$file(options); $label0$0: { if (_0_0 != null) { - t5 = t4.toUri$1(t4.withoutExtension$1(_0_0) + ".css").toString$0(0); + t4 = t3.toUri$1(t3.withoutExtension$1(_0_0) + ".css").toString$0(0); break $label0$0; } - t5 = t2.targetUrl = "stdin.css"; + t4 = t1.targetUrl = "stdin.css"; break $label0$0; } - t2.targetUrl = t5; + t1.targetUrl = t4; } else - t2.targetUrl = t4.toUri$1(t4.relative$2$from(outFile, sourceMapDir)).toString$0(0); - sourceMapDirUrl = t4.toUri$1(sourceMapDir).toString$0(0); - for (t4 = t2.urls, i = 0; i < t4.length; ++i) { - source = t4[i]; + t1.targetUrl = t3.toUri$1(t3.relative$2$from(outFile, sourceMapDir)).toString$0(0); + sourceMapDirUrl = t3.toUri$1(sourceMapDir).toString$0(0); + for (t3 = t1.urls, i = 0; i < t3.length; ++i) { + source = t3[i]; if (source === "stdin") continue; - t5 = $.$get$url(); - t6 = t5.style; - if (t6.rootLength$1(source) <= 0 || t6.isRootRelative$1(source)) + t4 = $.$get$url(); + t5 = t4.style; + if (t5.rootLength$1(source) <= 0 || t5.isRootRelative$1(source)) continue; - t4[i] = t5.relative$2$from(source, sourceMapDirUrl); + t3[i] = t4.relative$2$from(source, sourceMapDirUrl); } - t4 = t3.get$sourceMapContents(options); - sourceMapBytes = self.Buffer.from(B.C_JsonCodec.encode$2$toEncodable(t2.toJson$1$includeSourceContents(!J.$eq$(t4, false) && t4 != null), _null), "utf8"); - t2 = t3.get$omitSourceMapUrl(options); - if (!(!J.$eq$(t2, false) && t2 != null)) { - t2 = t3.get$sourceMapEmbed(options); - if (!J.$eq$(t2, false) && t2 != null) { + t3 = t2.get$sourceMapContents(options); + sourceMapBytes = self.Buffer.from(B.C_JsonCodec.encode$2$toEncodable(t1.toJson$1$includeSourceContents(!J.$eq$(t3, false) && t3 != null), _null), "utf8"); + t1 = t2.get$omitSourceMapUrl(options); + if (!(!J.$eq$(t1, false) && t1 != null)) { + t1 = t2.get$sourceMapEmbed(options); + if (!J.$eq$(t1, false) && t1 != null) { buffer = new A.StringBuffer(""); indices = A._setArrayType([-1], type$.JSArray_int); A.UriData__writeUri("application/json", _null, _null, buffer, indices); indices.push(buffer._contents.length); - t2 = buffer._contents += ";base64,"; - indices.push(t2.length - 1); - t2 = B.C_Base64Encoder.startChunkedConversion$1(new A._StringSinkConversionSink(buffer)); - t3 = sourceMapBytes.length; - A.RangeError_checkValidRange(0, t3, t3); - t2._convert$_add$4(sourceMapBytes, 0, t3, true); - t2 = buffer._contents; - url = new A.UriData(t2.charCodeAt(0) == 0 ? t2 : t2, indices, _null).get$uri(); + t1 = buffer._contents += ";base64,"; + indices.push(t1.length - 1); + t1 = B.C_Base64Encoder.startChunkedConversion$1(new A._StringSinkConversionSink(buffer)); + t2 = sourceMapBytes.length; + A.RangeError_checkValidRange(0, t2, t2); + t1._convert$_add$4(sourceMapBytes, 0, t2, true); + t1 = buffer._contents; + url = new A.UriData(t1.charCodeAt(0) == 0 ? t1 : t1, indices, _null).get$uri(); } else { if (outFile == null) - t2 = sourceMapPath; + t1 = sourceMapPath; else { - t2 = $.$get$context(); - t2 = t2.relative$2$from(sourceMapPath, t2.dirname$1(outFile)); + t1 = $.$get$context(); + t1 = t1.relative$2$from(sourceMapPath, t1.dirname$1(outFile)); } - url = $.$get$context().toUri$1(t2); + url = $.$get$context().toUri$1(t1); } - t2 = url.toString$0(0); - css += "\n\n/*# sourceMappingURL=" + A.stringReplaceAllUnchecked(t2, "*/", "%2A/") + " */"; + t1 = url.toString$0(0); + css += "\n\n/*# sourceMappingURL=" + A.stringReplaceAllUnchecked(t1, "*/", "%2A/") + " */"; } } - t2 = self.Buffer.from(css, "utf8"); - t3 = J.get$file$x(options); - if (t3 == null) - t3 = "data"; - t4 = start._value; - t1 = new A.DateTime(t1, false)._value; - t5 = B.JSInt_methods._tdivFast$1(A.Duration$(t1 - t4)._duration, 1000); + t1 = self.Buffer.from(css, "utf8"); + t2 = J.get$file$x(options); + if (t2 == null) + t2 = "data"; + t3 = start._value; + t4 = end._value; + t5 = B.JSInt_methods._tdivFast$1(A.Duration$(end._microsecond - start._microsecond, t4 - t3)._duration, 1000); t6 = A._setArrayType([], type$.JSArray_String); for (t7 = result._evaluate._0, t7 = t7.get$iterator(t7); t7.moveNext$0();) { t8 = t7.get$current(t7); t6.push(t8.get$scheme() === "file" ? $.$get$context().style.pathFromUri$1(A._parseUri(t8)) : t8.toString$0(0)); } - return {css: t2, map: sourceMapBytes, stats: {entry: t3, start: t4, end: t1, duration: t5, includedFiles: t6}}; + return {css: t1, map: sourceMapBytes, stats: {entry: t2, start: t3, end: t4, duration: t5, includedFiles: t6}}; }, _enableSourceMaps(options) { var t2, @@ -27275,7 +29192,7 @@ self.util = _cliPkgRequires.util; ListExpression_toString_closure0: function ListExpression_toString_closure0(t0) { this.$this = t0; }, - _function10($name, $arguments, callback) { + _function11($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:list"); }, _length_closure2: function _length_closure2() { @@ -27312,8 +29229,8 @@ self.util = _cliPkgRequires.util; A.throwExpression(A.ArgumentError$("components may not be empty.", null)); return new A.SelectorList0(t1, span); }, - SelectorList_SelectorList$parse0(contents, allowParent, interpolationMap, logger, plainCss) { - return A.SelectorParser$0(contents, allowParent, interpolationMap, logger, plainCss, null).parse$0(); + SelectorList_SelectorList$parse0(contents, allowParent, interpolationMap, plainCss) { + return new A.SelectorParser0(allowParent, plainCss, A.SpanScanner$(contents, null), interpolationMap).parse$0(0); }, SelectorList0: function SelectorList0(t0, t1) { this.components = t0; @@ -27392,6 +29309,13 @@ self.util = _cliPkgRequires.util; this.separator = t1; this._name = t2; }, + LmsColorSpace0: function LmsColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + LocalMindeGamutMap0: function LocalMindeGamutMap0(t0) { + this.name = t0; + }, JSLogger: function JSLogger() { }, WarnOptions: function WarnOptions() { @@ -27399,8 +29323,6 @@ self.util = _cliPkgRequires.util; DebugOptions: function DebugOptions() { }, WarnForDeprecation_warnForDeprecation0(_this, deprecation, message, span, trace) { - if (deprecation.isFuture && !(_this instanceof A.DeprecationProcessingLogger0)) - return; if (_this instanceof A.LoggerWithDeprecationType) _this.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace); else @@ -27408,8 +29330,6 @@ self.util = _cliPkgRequires.util; }, LoggerWithDeprecationType: function LoggerWithDeprecationType() { }, - _QuietLogger0: function _QuietLogger0() { - }, LoudComment0: function LoudComment0(t0) { this.text = t0; }, @@ -27422,7 +29342,7 @@ self.util = _cliPkgRequires.util; return keyIterator.moveNext$0() ? new A._modify_modifyNestedMap0(keyIterator, modify, addNesting).call$1(map) : modify.call$1(map); }, _deepMergeImpl0(map1, map2) { - var t2, t3, result, t4, key, value, _1_1, _1_3, _1_3_isSet, resultMap, _1_30, valueMap, merged, _null = null, + var t2, t3, result, t4, key, value, _1_1, _1_3, _1_3_isSet, _1_30, resultMap, valueMap, merged, t1 = map1._map0$_contents; if (t1.get$isEmpty(t1)) return map2; @@ -27436,18 +29356,17 @@ self.util = _cliPkgRequires.util; key = t4._0; value = t4._1; t4 = result.$index(0, key); - _1_1 = t4 == null ? _null : t4.tryMap$0(); + _1_1 = t4 == null ? null : t4.tryMap$0(); _1_3 = value.tryMap$0(); _1_3_isSet = _1_1 != null; + _1_30 = null; + t4 = false; if (_1_3_isSet) { resultMap = _1_1 == null ? t2._as(_1_1) : _1_1; t4 = _1_3 != null; _1_30 = _1_3; - } else { - resultMap = _null; - _1_30 = resultMap; - t4 = false; - } + } else + resultMap = null; if (t4) { valueMap = _1_3_isSet ? _1_30 : _1_3; merged = A._deepMergeImpl0(resultMap, valueMap == null ? t2._as(valueMap) : valueMap); @@ -27459,7 +29378,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(result, t3, t3)); }, - _function9($name, $arguments, callback) { + _function10($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:map"); }, _get_closure0: function _get_closure0() { @@ -27545,12 +29464,12 @@ self.util = _cliPkgRequires.util; _numberFunction0($name, transform) { return A.BuiltInCallable$function0($name, "$number", new A._numberFunction_closure0(transform), "sass:math"); }, - _function8($name, $arguments, callback) { + _function9($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:math"); }, - global_closure31: function global_closure31() { + global_closure43: function global_closure43() { }, - module_closure11: function module_closure11() { + module_closure26: function module_closure26() { }, _ceil_closure0: function _ceil_closure0() { }, @@ -27592,10 +29511,6 @@ self.util = _cliPkgRequires.util; _numberFunction_closure0: function _numberFunction_closure0(t0) { this.transform = t0; }, - CssMediaQuery_parseList0(contents, interpolationMap, logger) { - var t1 = A.SpanScanner$(contents, null); - return new A.MediaQueryParser0(t1, logger, interpolationMap).parse$0(); - }, CssMediaQuery$type0(type, conditions, modifier) { return new A.CssMediaQuery0(modifier, type, true, conditions == null ? B.List_empty : A.List_List$unmodifiable(conditions, type$.String)); }, @@ -27618,10 +29533,9 @@ self.util = _cliPkgRequires.util; MediaQuerySuccessfulMergeResult0: function MediaQuerySuccessfulMergeResult0(t0) { this.query = t0; }, - MediaQueryParser0: function MediaQueryParser0(t0, t1, t2) { + MediaQueryParser0: function MediaQueryParser0(t0, t1) { this.scanner = t0; - this.logger = t1; - this._parser0$_interpolationMap = t2; + this._parser1$_interpolationMap = t1; }, MediaQueryParser_parse_closure0: function MediaQueryParser_parse_closure0(t0) { this.$this = t0; @@ -27698,24 +29612,24 @@ self.util = _cliPkgRequires.util; this._merged_map_view$_mapsByKey = t0; this.$ti = t1; }, - _function12($name, $arguments, callback) { + _function6($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:meta"); }, - global_closure59: function global_closure59() { + _shared_closure3: function _shared_closure3() { }, - global_closure60: function global_closure60() { + _shared_closure4: function _shared_closure4() { }, - global_closure61: function global_closure61() { + _shared_closure5: function _shared_closure5() { }, - global_closure62: function global_closure62() { + _shared_closure6: function _shared_closure6() { }, - local_closure2: function local_closure2() { + moduleFunctions_closure2: function moduleFunctions_closure2() { }, - local_closure3: function local_closure3() { + moduleFunctions_closure3: function moduleFunctions_closure3() { }, - local__closure0: function local__closure0() { + moduleFunctions__closure0: function moduleFunctions__closure0() { }, - local_closure4: function local_closure4() { + moduleFunctions_closure4: function moduleFunctions_closure4() { }, mixinClass_closure: function mixinClass_closure() { }, @@ -27810,6 +29724,9 @@ self.util = _cliPkgRequires.util; }, NodePackageImporter__getMainExport_closure0: function NodePackageImporter__getMainExport_closure0() { }, + NullExpression$(span) { + return new A.NullExpression0(span); + }, NullExpression0: function NullExpression0(t0) { this.span = t0; }, @@ -27921,20 +29838,21 @@ self.util = _cliPkgRequires.util; return unit == null ? new A.UnitlessSassNumber0(value, null) : new A.SingleUnitSassNumber0(unit, value, null); }, SassNumber_SassNumber$withUnits0(value, denominatorUnits, numeratorUnits) { - var _0_4, _0_6, _0_8_isSet, _0_8, _0_10_isSet, _0_10, _0_7, t2, _0_4_isSet, unit, _0_7_isSet, numerators, t3, denominators, unsimplifiedDenominators, valueDouble, _i, denominator, simplifiedAway, i, factor, _1_2, _1_7_isSet, _1_7, _null = null, + var _0_8_isSet, _0_8, _0_10, _0_10_isSet, _0_7, unit, t2, _0_7_isSet, t3, _0_4_isSet, _0_7_isSet0, numerators, denominators, unsimplifiedDenominators, valueDouble, _i, denominator, simplifiedAway, i, factor, _1_2, _1_7_isSet, _1_7, _null = null, _0_3 = numeratorUnits == null, t1 = _0_3, - _0_6_isSet = !t1; + _0_6_isSet = !t1, + _0_6 = _null, + _0_4 = _null; if (_0_6_isSet) { _0_4 = J.get$length$asx(numeratorUnits == null ? type$.List_String._as(numeratorUnits) : numeratorUnits); t1 = _0_4; _0_6 = t1 <= 0; _0_8_isSet = _0_6; - } else { - _0_4 = _null; - _0_6 = _0_4; + } else _0_8_isSet = true; - } + _0_8 = _null; + _0_10 = _null; if (_0_8_isSet) { _0_8 = denominatorUnits == null; t1 = _0_8; @@ -27942,74 +29860,73 @@ self.util = _cliPkgRequires.util; if (_0_10_isSet) { _0_10 = J.get$length$asx(denominatorUnits == null ? type$.List_String._as(denominatorUnits) : denominatorUnits) <= 0; t1 = _0_10; - } else { - _0_10 = _null; + } else t1 = true; - } _0_7 = denominatorUnits; } else { - _0_10 = _null; - _0_7 = _0_10; - _0_8 = _0_7; + _0_7 = _null; _0_10_isSet = false; t1 = false; } if (t1) return new A.UnitlessSassNumber0(value, _null); t1 = type$.List_String; + unit = _null; + t2 = false; if (t1._is(numeratorUnits)) { + _0_7_isSet = true; if (_0_6_isSet) { - t2 = _0_4; + t3 = _0_4; _0_4_isSet = _0_6_isSet; } else { _0_4 = J.get$length$asx(numeratorUnits); - t2 = _0_4; + t3 = _0_4; _0_4_isSet = true; } - if (t2 === 1) { + if (t3 === 1) { unit = J.$index$asx(numeratorUnits, 0); if (_0_8_isSet) { t2 = _0_8; - _0_7_isSet = _0_8_isSet; + _0_7_isSet0 = _0_8_isSet; } else { _0_8 = denominatorUnits == null; t2 = _0_8; + _0_7_isSet0 = _0_7_isSet; _0_7 = denominatorUnits; _0_8_isSet = true; - _0_7_isSet = true; } if (!t2) - if (_0_10_isSet) + if (_0_10_isSet) { t2 = _0_10; - else { - if (_0_7_isSet) + _0_7_isSet = _0_7_isSet0; + } else { + if (_0_7_isSet0) { t2 = _0_7; - else { + _0_7_isSet = _0_7_isSet0; + } else { t2 = denominatorUnits; _0_7 = t2; - _0_7_isSet = true; } _0_10 = J.get$length$asx(t2 == null ? t1._as(t2) : t2) <= 0; t2 = _0_10; _0_10_isSet = true; } - else + else { + _0_7_isSet = _0_7_isSet0; t2 = true; - } else { - unit = _null; + } + } else _0_7_isSet = _0_8_isSet; - t2 = false; - } } else { - unit = _null; _0_7_isSet = _0_8_isSet; _0_4_isSet = _0_6_isSet; - t2 = false; } if (t2) return new A.SingleUnitSassNumber0(unit, value, _null); t2 = numeratorUnits == null; + t3 = false; if (!t2) { + _0_7_isSet0 = true; numerators = numeratorUnits; if (_0_8_isSet) t3 = _0_8; @@ -28018,8 +29935,8 @@ self.util = _cliPkgRequires.util; t3 = _0_7; else { t3 = denominatorUnits; + _0_7_isSet = _0_7_isSet0; _0_7 = t3; - _0_7_isSet = true; } _0_8 = t3 == null; t3 = _0_8; @@ -28032,18 +29949,16 @@ self.util = _cliPkgRequires.util; t3 = _0_7; else { t3 = denominatorUnits; + _0_7_isSet = _0_7_isSet0; _0_7 = t3; - _0_7_isSet = true; } _0_10 = J.get$length$asx(t3 == null ? t1._as(t3) : t3) <= 0; t3 = _0_10; } else t3 = true; - } else { + } else numerators = _null; - t3 = false; - } if (t3) return new A.ComplexSassNumber0(A.List_List$unmodifiable(numerators, type$.String), B.List_empty, value, _null); if (!_0_3) @@ -28061,6 +29976,7 @@ self.util = _cliPkgRequires.util; } else t2 = true; + denominators = _null; if (t2) { if (_0_7_isSet) t2 = _0_7; @@ -28074,13 +29990,10 @@ self.util = _cliPkgRequires.util; denominators = _0_7_isSet ? _0_7 : denominatorUnits; if (denominators == null) denominators = t1._as(denominators); - } else - denominators = _null; + } t1 = t2; - } else { - denominators = _null; + } else t1 = false; - } if (t1) return new A.ComplexSassNumber0(B.List_empty, A.List_List$unmodifiable(denominators, type$.String), value, _null); numeratorUnits.toString; @@ -28125,13 +30038,12 @@ self.util = _cliPkgRequires.util; t1 = new A.UnitlessSassNumber0(valueDouble, _null); break $label0$1; } + t1 = false; if (_1_2 === 1) { unit = numerators[0]; t1 = _1_7_isSet ? _1_7 : denominators.length <= 0; - } else { + } else unit = _null; - t1 = false; - } if (t1) { t1 = new A.SingleUnitSassNumber0(unit, valueDouble, _null); break $label0$1; @@ -28200,6 +30112,14 @@ self.util = _cliPkgRequires.util; }, SassNumber_unitSuggestion_closure2: function SassNumber_unitSuggestion_closure2() { }, + OklabColorSpace0: function OklabColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + OklchColorSpace0: function OklchColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, SupportsOperation$0(left, right, operator, span) { var lowerOperator = operator.toLowerCase(); if (lowerOperator !== "and" && lowerOperator !== "or") @@ -28213,6 +30133,12 @@ self.util = _cliPkgRequires.util; _.operator = t2; _.span = t3; }, + ParcelWatcherSubscription0: function ParcelWatcherSubscription0() { + }, + ParcelWatcherEvent0: function ParcelWatcherEvent0() { + }, + ParcelWatcher0: function ParcelWatcher0() { + }, ParentSelector0: function ParentSelector0(t0, t1) { this.suffix = t0; this.span = t1; @@ -28227,12 +30153,101 @@ self.util = _cliPkgRequires.util; this.expression = t0; this.span = t1; }, - Parser_isIdentifier0(text) { - var t1, t2, exception, logger = null; + loadParserExports() { + A._updateAstPrototypes(); + return {parse: A.allowInterop(A.parser0___parse$closure()), parseIdentifier: A.allowInterop(A.parser0___parseIdentifier$closure()), toCssIdentifier: A.allowInterop(A.parser0___toCssIdentifier$closure()), createExpressionVisitor: A.allowInterop(new A.loadParserExports_closure()), createStatementVisitor: A.allowInterop(new A.loadParserExports_closure0())}; + }, + _updateAstPrototypes() { + var t2, t3, string, _i, t4, + file = A.SourceFile$fromString("", null), + t1 = type$.JSClass; + J.get$$prototype$x(t1._as(file.constructor)).getText = A.allowInteropCaptureThisNamed("getText", new A._updateAstPrototypes_closure()); + A.defineGetter(J.get$$prototype$x(t1._as(file.constructor)), "codeUnits", new A._updateAstPrototypes_closure0(), null); + t2 = $.$get$_interpolation(); + A.defineGetter(J.get$$prototype$x(t1._as(t2.constructor)), "asPlain", new A._updateAstPrototypes_closure1(), null); + t3 = $.$get$bogusSpan0(); + J.get$$prototype$x(t1._as(self.Object.getPrototypeOf(J.get$$prototype$x(t1._as(new A.ExtendRule0(t2, false, t3).constructor))).constructor)).accept = A.allowInteropCaptureThisNamed("accept", new A._updateAstPrototypes_closure2()); + string = new A.StringExpression0(t2, false); + J.get$$prototype$x(t1._as(self.Object.getPrototypeOf(J.get$$prototype$x(t1._as(string.constructor))).constructor)).accept = A.allowInteropCaptureThisNamed("accept", new A._updateAstPrototypes_closure3()); + A._addSupportsConditionToInterpolation(); + for (t2 = [string, new A.BinaryOperationExpression0(B.BinaryOperator_u150, string, string, false), new A.SupportsExpression0(new A.SupportsAnything0(t2, t3)), new A.LoudComment0(t2)], _i = 0; _i < 4; ++_i) { + t3 = J.get$$prototype$x(t1._as(t2[_i].constructor)); + t4 = {get: A.allowInteropCaptureThis(new A._updateAstPrototypes_closure4()), enumerable: false}; + self.Object.defineProperty(t3, "span", t4); + } + }, + _addSupportsConditionToInterpolation() { + var t3, _i, $function, t4, + t1 = $.$get$_interpolation(), + t2 = $.$get$bogusSpan0(), + anything = new A.SupportsAnything0(t1, t2); + for (t3 = $.$get$_expression(), t2 = [anything, new A.SupportsDeclaration0(t3, t3, t2), new A.SupportsFunction0(t1, t1, t2), new A.SupportsInterpolation0(t3, t2), new A.SupportsNegation0(anything, t2), A.SupportsOperation$0(anything, anything, "and", t2)], t3 = type$.JSClass, _i = 0; _i < 6; ++_i) { + t1 = J.get$$prototype$x(t3._as(t2[_i].constructor)); + $function = A.allowInteropCaptureThis(new A._addSupportsConditionToInterpolation_closure()); + t4 = {value: "toInterpolation", enumerable: false}; + self.Object.defineProperty($function, "name", t4); + A._hideDartProperties($function); + t1.toInterpolation = $function; + } + }, + _parse(css, syntax, path) { + var t1; + $label0$0: { + if ("scss" === syntax) { + t1 = B.Syntax_SCSS_scss0; + break $label0$0; + } + if ("sass" === syntax) { + t1 = B.Syntax_Sass_sass0; + break $label0$0; + } + if ("css" === syntax) { + t1 = B.Syntax_CSS_css0; + break $label0$0; + } + t1 = A.throwExpression(A.UnsupportedError$('Unknown syntax "' + syntax + '"')); + } + return A.Stylesheet_Stylesheet$parse0(css, t1, A.NullableExtension_andThen0(path, A.path__toUri$closure())); + }, + _parseIdentifier(identifier) { + var t1, exception; try { - t1 = logger; - t2 = A.SpanScanner$(text, null); - new A.Parser1(t2, t1 == null ? B.StderrLogger_false0 : t1, null)._parser0$_parseIdentifier$0(); + t1 = new A.Parser1(A.SpanScanner$(identifier, null), null)._parser1$_parseIdentifier$0(); + return t1; + } catch (exception) { + if (type$.SassFormatException_2._is(A.unwrapException(exception))) + return null; + else + throw exception; + } + }, + _toCssIdentifier(text) { + return A.StringExtension_toCssIdentifier(text); + }, + ParserExports: function ParserExports() { + }, + loadParserExports_closure: function loadParserExports_closure() { + }, + loadParserExports_closure0: function loadParserExports_closure0() { + }, + _updateAstPrototypes_closure: function _updateAstPrototypes_closure() { + }, + _updateAstPrototypes_closure0: function _updateAstPrototypes_closure0() { + }, + _updateAstPrototypes_closure1: function _updateAstPrototypes_closure1() { + }, + _updateAstPrototypes_closure2: function _updateAstPrototypes_closure2() { + }, + _updateAstPrototypes_closure3: function _updateAstPrototypes_closure3() { + }, + _updateAstPrototypes_closure4: function _updateAstPrototypes_closure4() { + }, + _addSupportsConditionToInterpolation_closure: function _addSupportsConditionToInterpolation_closure() { + }, + Parser_isIdentifier0(text) { + var exception; + try { + new A.Parser1(A.SpanScanner$(text, null), null)._parser1$_parseIdentifier$0(); return true; } catch (exception) { if (type$.SassFormatException_2._is(A.unwrapException(exception))) @@ -28241,10 +30256,9 @@ self.util = _cliPkgRequires.util; throw exception; } }, - Parser1: function Parser1(t0, t1, t2) { + Parser1: function Parser1(t0, t1) { this.scanner = t0; - this.logger = t1; - this._parser0$_interpolationMap = t2; + this._parser1$_interpolationMap = t1; }, Parser__parseIdentifier_closure0: function Parser__parseIdentifier_closure0(t0) { this.$this = t0; @@ -28277,6 +30291,10 @@ self.util = _cliPkgRequires.util; _PrefixedKeys_iterator_closure0: function _PrefixedKeys_iterator_closure0(t0) { this.$this = t0; }, + ProphotoRgbColorSpace0: function ProphotoRgbColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, PseudoSelector$0($name, span, argument, element, selector) { var t1 = !element, t2 = t1 && !A.PseudoSelector__isFakePseudoElement0($name); @@ -28325,6 +30343,10 @@ self.util = _cliPkgRequires.util; this.name = t0; this.namespace = t1; }, + Rec2020ColorSpace0: function Rec2020ColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, createJSClass($name, $constructor) { return type$.JSClass._as(A.allowInteropCaptureThisNamed($name, $constructor)); }, @@ -28404,6 +30426,10 @@ self.util = _cliPkgRequires.util; this.expression = t0; this.span = t1; }, + RgbColorSpace0: function RgbColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, SassParser0: function SassParser0(t0, t1, t2, t3) { var _ = this; _._sass0$_currentIndentation = 0; @@ -28411,10 +30437,10 @@ self.util = _cliPkgRequires.util; _._stylesheet0$_isUseAllowed = true; _._stylesheet0$_inExpression = _._stylesheet0$_inParentheses = _._stylesheet0$_inStyleRule = _._stylesheet0$_inUnknownAtRule = _._stylesheet0$_inControlDirective = _._stylesheet0$_inContentBlock = _._stylesheet0$_inMixin = false; _._stylesheet0$_globalVariables = t0; + _.warnings = t1; _.lastSilentComment = null; - _.scanner = t1; - _.logger = t2; - _._parser0$_interpolationMap = t3; + _.scanner = t2; + _._parser1$_interpolationMap = t3; }, SassParser_styleRuleSelector_closure0: function SassParser_styleRuleSelector_closure0() { }, @@ -28452,20 +30478,18 @@ self.util = _cliPkgRequires.util; _wrapMain_closure0: function _wrapMain_closure0(t0) { this.main = t0; }, - ScssParser$0(contents, logger, url) { - var t1 = A.SpanScanner$(contents, url), - t2 = logger == null ? B.StderrLogger_false0 : logger; - return new A.ScssParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), t1, t2, null); + ScssParser$0(contents, url) { + return new A.ScssParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2), A.SpanScanner$(contents, url), null); }, ScssParser0: function ScssParser0(t0, t1, t2, t3) { var _ = this; _._stylesheet0$_isUseAllowed = true; _._stylesheet0$_inExpression = _._stylesheet0$_inParentheses = _._stylesheet0$_inStyleRule = _._stylesheet0$_inUnknownAtRule = _._stylesheet0$_inControlDirective = _._stylesheet0$_inContentBlock = _._stylesheet0$_inMixin = false; _._stylesheet0$_globalVariables = t0; + _.warnings = t1; _.lastSilentComment = null; - _.scanner = t1; - _.logger = t2; - _._parser0$_interpolationMap = t3; + _.scanner = t2; + _._parser1$_interpolationMap = t3; }, Selector0: function Selector0() { }, @@ -28493,40 +30517,37 @@ self.util = _cliPkgRequires.util; this.span = t0; }, _prependParent0(compound) { - var _0_3, _0_4, _0_4_isSet, rest, _null = null, + var _0_3, _0_4, _0_40, t2, _0_4_isSet, t3, rest, _null = null, t1 = A.EvaluationContext_currentOrNull0(), span = (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan(), _0_0 = compound.components; $label0$0: { _0_3 = _0_0.length >= 1; + _0_4 = _null; if (_0_3) { - _0_4 = _0_0[0]; - t1 = _0_4; + _0_40 = _0_0[0]; + t1 = _0_40; + _0_4 = t1; t1 = t1 instanceof A.UniversalSelector0; - } else { - _0_4 = _null; + } else t1 = false; - } + t2 = _null; if (t1) { - t1 = _null; + t1 = t2; break $label0$0; } + t1 = false; if (_0_3) { - t1 = _0_4; - if (t1 instanceof A.TypeSelector0) { + _0_4_isSet = true; + t3 = _0_4; + if (t3 instanceof A.TypeSelector0) { t1 = _0_4; t1 = type$.TypeSelector_2._as(t1).name.namespace != null; - _0_4_isSet = true; - } else { - _0_4_isSet = true; - t1 = false; } - } else { + } else _0_4_isSet = _0_3; - t1 = false; - } if (t1) { - t1 = _null; + t1 = t2; break $label0$0; } if (_0_3) { @@ -28556,7 +30577,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - _function7($name, $arguments, callback) { + _function8($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:selector"); }, _nest_closure0: function _nest_closure0() { @@ -28591,17 +30612,12 @@ self.util = _cliPkgRequires.util; }, _parse_closure0: function _parse_closure0() { }, - SelectorParser$0(contents, allowParent, interpolationMap, logger, plainCss, url) { - var t1 = A.SpanScanner$(contents, url); - return new A.SelectorParser0(allowParent, plainCss, t1, logger == null ? B.StderrLogger_false0 : logger, interpolationMap); - }, - SelectorParser0: function SelectorParser0(t0, t1, t2, t3, t4) { + SelectorParser0: function SelectorParser0(t0, t1, t2, t3) { var _ = this; _._selector$_allowParent = t0; _._selector$_plainCss = t1; _.scanner = t2; - _.logger = t3; - _._parser0$_interpolationMap = t4; + _._parser1$_interpolationMap = t3; }, SelectorParser_parse_closure0: function SelectorParser_parse_closure0(t0) { this.$this = t0; @@ -28617,9 +30633,9 @@ self.util = _cliPkgRequires.util; SelectorSearchVisitor_visitCompoundSelector_closure0: function SelectorSearchVisitor_visitCompoundSelector_closure0(t0) { this.$this = t0; }, - serialize0(node, charset, indentWidth, inspect, lineFeed, sourceMap, style, useSpaces) { + serialize0(node, charset, indentWidth, inspect, lineFeed, logger, sourceMap, style, useSpaces) { var t1, css, t2, prefix, - visitor = A._SerializeVisitor$0(indentWidth == null ? 2 : indentWidth, inspect, lineFeed, true, sourceMap, style, useSpaces); + visitor = A._SerializeVisitor$0(indentWidth == null ? 2 : indentWidth, inspect, lineFeed, logger, true, sourceMap, style, useSpaces); node.accept$1(visitor); t1 = visitor._serialize0$_buffer; css = t1.toString$0(0); @@ -28636,27 +30652,30 @@ self.util = _cliPkgRequires.util; return new A._Record_2_sourceMap(prefix + css, t1); }, serializeValue0(value, inspect, quote) { - var visitor = A._SerializeVisitor$0(null, inspect, null, quote, false, null, true); + var _null = null, + visitor = A._SerializeVisitor$0(_null, inspect, _null, _null, quote, false, _null, true); value.accept$1(visitor); return visitor._serialize0$_buffer.toString$0(0); }, serializeSelector0(selector, inspect) { - var visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); + var _null = null, + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); selector.accept$1(visitor); return visitor._serialize0$_buffer.toString$0(0); }, - _SerializeVisitor$0(indentWidth, inspect, lineFeed, quote, sourceMap, style, useSpaces) { + _SerializeVisitor$0(indentWidth, inspect, lineFeed, logger, quote, sourceMap, style, useSpaces) { var t1 = sourceMap ? new A.SourceMapBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Entry)) : new A.NoSourceMapBuffer0(new A.StringBuffer("")), t2 = style == null ? B.OutputStyle_00 : style, t3 = useSpaces ? 32 : 9, t4 = indentWidth == null ? 2 : indentWidth, - t5 = lineFeed == null ? B.LineFeed_LvD : lineFeed; + t5 = lineFeed == null ? B.LineFeed_LvD : lineFeed, + t6 = logger == null ? B.StderrLogger_false0 : logger; A.RangeError_checkValueInInterval(t4, 0, 10, "indentWidth"); - return new A._SerializeVisitor0(t1, t2, inspect, quote, t3, t4, t5); + return new A._SerializeVisitor0(t1, t2, inspect, quote, t3, t4, t5, t6); }, serialize_closure0: function serialize_closure0() { }, - _SerializeVisitor0: function _SerializeVisitor0(t0, t1, t2, t3, t4, t5, t6) { + _SerializeVisitor0: function _SerializeVisitor0(t0, t1, t2, t3, t4, t5, t6, t7) { var _ = this; _._serialize0$_buffer = t0; _._serialize0$_indentation = 0; @@ -28666,6 +30685,7 @@ self.util = _cliPkgRequires.util; _._serialize0$_indentCharacter = t4; _._serialize0$_indentWidth = t5; _._lineFeed = t6; + _._serialize0$_logger = t7; }, _SerializeVisitor_visitCssComment_closure0: function _SerializeVisitor_visitCssComment_closure0(t0, t1) { this.$this = t0; @@ -28794,6 +30814,9 @@ self.util = _cliPkgRequires.util; this._box_0 = t0; this.$this = t1; }, + SourceInterpolationVisitor: function SourceInterpolationVisitor(t0) { + this.buffer = t0; + }, SourceMapBuffer0: function SourceMapBuffer0(t0, t1) { var _ = this; _._source_map_buffer0$_buffer = t0; @@ -28826,6 +30849,8 @@ self.util = _cliPkgRequires.util; }, updateSourceSpanPrototype_closure2: function updateSourceSpanPrototype_closure2() { }, + updateSourceSpanPrototype__closure: function updateSourceSpanPrototype__closure() { + }, updateSourceSpanPrototype_closure3: function updateSourceSpanPrototype_closure3() { }, updateSourceSpanPrototype_closure4: function updateSourceSpanPrototype_closure4() { @@ -28834,6 +30859,91 @@ self.util = _cliPkgRequires.util; }, updateSourceSpanPrototype_closure6: function updateSourceSpanPrototype_closure6() { }, + ColorSpace_fromName0($name, argumentName) { + var t1, + _0_0 = $name.toLowerCase(); + $label0$0: { + if ("rgb" === _0_0) { + t1 = B.RgbColorSpace_mlz0; + break $label0$0; + } + if ("hwb" === _0_0) { + t1 = B.HwbColorSpace_06z0; + break $label0$0; + } + if ("hsl" === _0_0) { + t1 = B.HslColorSpace_gsm0; + break $label0$0; + } + if ("srgb" === _0_0) { + t1 = B.SrgbColorSpace_AD40; + break $label0$0; + } + if ("srgb-linear" === _0_0) { + t1 = B.SrgbLinearColorSpace_sEs0; + break $label0$0; + } + if ("display-p3" === _0_0) { + t1 = B.DisplayP3ColorSpace_NQk0; + break $label0$0; + } + if ("a98-rgb" === _0_0) { + t1 = B.A98RgbColorSpace_bdu0; + break $label0$0; + } + if ("prophoto-rgb" === _0_0) { + t1 = B.ProphotoRgbColorSpace_KiG0; + break $label0$0; + } + if ("rec2020" === _0_0) { + t1 = B.Rec2020ColorSpace_2jN0; + break $label0$0; + } + if ("xyz" === _0_0 || "xyz-d65" === _0_0) { + t1 = B.XyzD65ColorSpace_4CA0; + break $label0$0; + } + if ("xyz-d50" === _0_0) { + t1 = B.XyzD50ColorSpace_2No0; + break $label0$0; + } + if ("lab" === _0_0) { + t1 = B.LabColorSpace_IF20; + break $label0$0; + } + if ("lch" === _0_0) { + t1 = B.LchColorSpace_wv80; + break $label0$0; + } + if ("oklab" === _0_0) { + t1 = B.OklabColorSpace_yrt0; + break $label0$0; + } + if ("oklch" === _0_0) { + t1 = B.OklchColorSpace_li80; + break $label0$0; + } + t1 = A.throwExpression(A.SassScriptException$0('Unknown color space "' + $name + '".', argumentName)); + } + return t1; + }, + ColorSpace0: function ColorSpace0() { + }, + SrgbColorSpace0: function SrgbColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + SrgbLinearColorSpace0: function SrgbLinearColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + Statement0: function Statement0() { + }, + JSStatementVisitor: function JSStatementVisitor(t0) { + this._statement$_inner = t0; + }, + JSStatementVisitorObject: function JSStatementVisitorObject() { + }, StatementSearchVisitor0: function StatementSearchVisitor0() { }, StatementSearchVisitor_visitIfRule_closure1: function StatementSearchVisitor_visitIfRule_closure1(t0) { @@ -28870,7 +30980,7 @@ self.util = _cliPkgRequires.util; return t1.charCodeAt(0) == 0 ? t1 : t1; }, StringExpression__quoteInnerText0(text, quote, buffer, $static) { - var t1, t2, i, _1_0, _0_0, t3, t4, t0; + var t1, t2, i, _1_0, _0_0, t3, t4, t5, t0; for (t1 = text.length, t2 = t1 - 1, i = 0; i < t1; ++i) { _1_0 = text.charCodeAt(i); if (_1_0 === 10 || _1_0 === 13 || _1_0 === 12) { @@ -28878,16 +30988,11 @@ self.util = _cliPkgRequires.util; buffer.writeCharCode$1(97); if (i !== t2) { _0_0 = text.charCodeAt(i + 1); + t3 = true; if (!(_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12)) if (!(_0_0 >= 48 && _0_0 <= 57)) if (!(_0_0 >= 97 && _0_0 <= 102)) t3 = _0_0 >= 65 && _0_0 <= 70; - else - t3 = true; - else - t3 = true; - else - t3 = true; if (t3) buffer.writeCharCode$1(32); } @@ -28899,27 +31004,39 @@ self.util = _cliPkgRequires.util; else t4 = null; if (!t3) { - t3 = _1_0 === quote; - if (t3) + t3 = false; + t5 = _1_0 === quote; + if (t5) t4 = _1_0; - t0 = t4; - t4 = t3; - t3 = t0; - if (!t4) + if (!t5) if (35 === _1_0) if ($static) if (i < t2) { - t4 = text.charCodeAt(i + 1) === 123; - if (t4) - t3 = _1_0; - } else - t4 = false; - else - t4 = false; - else - t4 = false; - else + t3 = text.charCodeAt(i + 1) === 123; + if (t3) + t4 = _1_0; + t0 = t4; + t4 = t3; + t3 = t0; + } else { + t0 = t4; + t4 = t3; + t3 = t0; + } + else { + t0 = t4; + t4 = t3; + t3 = t0; + } + else { + t0 = t4; + t4 = t3; + t3 = t0; + } + else { + t3 = t4; t4 = true; + } } else { t3 = t4; t4 = true; @@ -28961,17 +31078,17 @@ self.util = _cliPkgRequires.util; return 0; return result; }, - _function6($name, $arguments, callback) { + _function7($name, $arguments, callback) { return A.BuiltInCallable$function0($name, $arguments, callback, "sass:string"); }, - module_closure10: function module_closure10() { - }, - module__closure2: function module__closure2(t0) { - this.string = t0; + module_closure25: function module_closure25() { }, module__closure3: function module__closure3(t0) { this.string = t0; }, + module__closure4: function module__closure4(t0) { + this.string = t0; + }, _unquote_closure0: function _unquote_closure0() { }, _quote_closure0: function _quote_closure0() { @@ -28990,6 +31107,105 @@ self.util = _cliPkgRequires.util; }, _uniqueId_closure0: function _uniqueId_closure0() { }, + StringExtension_toCssIdentifier(_this) { + var t1, doubleDash, _2_0, character, _3_0, + _s52_ = "The U+0000 can't be represented as a CSS identifier.", + _s65_ = "An individual surrogate can't be represented as a CSS identifier.", + buffer = new A.StringBuffer(""), + scanner = A.SpanScanner$(_this, null), + writeEscape = new A.StringExtension_toCssIdentifier_writeEscape(buffer, scanner), + consumeSurrogatePair = new A.StringExtension_toCssIdentifier_consumeSurrogatePair(scanner, writeEscape, buffer); + if (scanner.scanChar$1(45)) { + if (scanner._string_scanner$_position === scanner.string.length) + return "\\2d"; + t1 = A.Primitives_stringFromCharCode(45); + buffer._contents += t1; + doubleDash = scanner.scanChar$1(45); + if (doubleDash) { + t1 = A.Primitives_stringFromCharCode(45); + buffer._contents += t1; + } + } else + doubleDash = false; + if (!doubleDash) + $label0$0: { + _2_0 = scanner.peekChar$0(); + if (_2_0 == null) + scanner.error$1(0, "The empty string can't be represented as a CSS identifier."); + if (0 === _2_0) + scanner.error$1(0, _s52_); + if (A._isInt(_2_0)) { + t1 = _2_0 >>> 10 === 54; + character = _2_0; + } else { + character = null; + t1 = false; + } + if (t1) { + consumeSurrogatePair.call$1(character); + break $label0$0; + } + if (_2_0 >>> 10 === 55) + scanner.error$2$length(0, _s65_, 1); + if (_2_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_2_0) || _2_0 >= 128) + t1 = !(_2_0 >= 57344 && _2_0 <= 63743); + else + t1 = false; + if (t1) { + t1 = A.Primitives_stringFromCharCode(scanner.readChar$0()); + buffer._contents += t1; + break $label0$0; + } + writeEscape.call$1(scanner.readChar$0()); + } + for (; true;) { + _3_0 = scanner.peekChar$0(); + if (_3_0 == null) + break; + if (0 === _3_0) + scanner.error$1(0, _s52_); + t1 = _3_0 >>> 10 === 54; + if (t1) { + consumeSurrogatePair.call$1(_3_0); + continue; + } + if (_3_0 >>> 10 === 55) + scanner.error$2$length(0, _s65_, 1); + if (_3_0 !== 95) { + if (!(_3_0 >= 97 && _3_0 <= 122)) + t1 = _3_0 >= 65 && _3_0 <= 90; + else + t1 = true; + t1 = t1 || _3_0 >= 128; + } else + t1 = true; + if (!t1) + t1 = _3_0 >= 48 && _3_0 <= 57 || _3_0 === 45; + else + t1 = true; + if (t1) + t1 = !(_3_0 >= 57344 && _3_0 <= 63743); + else + t1 = false; + if (t1) { + t1 = A.Primitives_stringFromCharCode(scanner.readChar$0()); + buffer._contents += t1; + continue; + } + writeEscape.call$1(scanner.readChar$0()); + } + t1 = buffer._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + StringExtension_toCssIdentifier_writeEscape: function StringExtension_toCssIdentifier_writeEscape(t0, t1) { + this.buffer = t0; + this.scanner = t1; + }, + StringExtension_toCssIdentifier_consumeSurrogatePair: function StringExtension_toCssIdentifier_consumeSurrogatePair(t0, t1, t2) { + this.scanner = t0; + this.writeEscape = t1; + this.buffer = t2; + }, stringClass_closure: function stringClass_closure() { }, stringClass__closure: function stringClass__closure() { @@ -29227,33 +31443,28 @@ self.util = _cliPkgRequires.util; this.$this = t0; this.start = t1; }, - Stylesheet$internal0(children, span, plainCss) { + Stylesheet$internal0(children, span, parseTimeWarnings, plainCss) { var t1 = A._setArrayType([], type$.JSArray_UseRule_2), t2 = A._setArrayType([], type$.JSArray_ForwardRule_2), t3 = A.List_List$unmodifiable(children, type$.Statement_2), t4 = B.JSArray_methods.any$1(t3, new A.ParentStatement_closure0()); - t1 = new A.Stylesheet0(span, plainCss, t1, t2, t3, t4); - t1.Stylesheet$internal$3$plainCss0(children, span, plainCss); + t1 = new A.Stylesheet0(span, plainCss, t1, t2, new A.UnmodifiableListView(parseTimeWarnings, type$.UnmodifiableListView_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2), t3, t4); + t1.Stylesheet$internal$4$plainCss0(children, span, parseTimeWarnings, plainCss); return t1; }, - Stylesheet_Stylesheet$parse0(contents, syntax, logger, url) { + Stylesheet_Stylesheet$parse0(contents, syntax, url) { var error, stackTrace, url0, t1, exception, t2; try { switch (syntax) { case B.Syntax_Sass_sass0: - t1 = A.SpanScanner$(contents, url); - t1 = new A.SassParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), t1, logger, null).parse$0(); + t1 = new A.SassParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2), A.SpanScanner$(contents, url), null).parse$0(0); return t1; case B.Syntax_SCSS_scss0: - t1 = A.ScssParser$0(contents, logger, url).parse$0(); + t1 = A.ScssParser$0(contents, url).parse$0(0); return t1; case B.Syntax_CSS_css0: - t1 = A.SpanScanner$(contents, url); - t1 = new A.CssParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), t1, logger, null).parse$0(); + t1 = new A.CssParser0(A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.VariableDeclaration_2), A._setArrayType([], type$.JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2), A.SpanScanner$(contents, url), null).parse$0(0); return t1; - default: - t1 = A.ArgumentError$("Unknown syntax " + syntax.toString$0(0) + ".", null); - throw A.wrapException(t1); } } catch (exception) { t1 = A.unwrapException(exception); @@ -29272,14 +31483,15 @@ self.util = _cliPkgRequires.util; throw exception; } }, - Stylesheet0: function Stylesheet0(t0, t1, t2, t3, t4, t5) { + Stylesheet0: function Stylesheet0(t0, t1, t2, t3, t4, t5, t6) { var _ = this; _.span = t0; _.plainCss = t1; _._stylesheet1$_uses = t2; _._stylesheet1$_forwards = t3; - _.children = t4; - _.hasDeclarations = t5; + _.parseTimeWarnings = t4; + _.children = t5; + _.hasDeclarations = t6; }, SupportsExpression0: function SupportsExpression0(t0) { this.condition = t0; @@ -29957,13 +32169,10 @@ self.util = _cliPkgRequires.util; for (value = 0, i = 0; i < 6; ++i) { next = scanner.peekChar$0(); if (next != null) { + t1 = true; if (!(next >= 48 && next <= 57)) if (!(next >= 97 && next <= 102)) t1 = next >= 65 && next <= 70; - else - t1 = true; - else - t1 = true; t1 = !t1; } else t1 = true; @@ -30020,7 +32229,7 @@ self.util = _cliPkgRequires.util; parseSignature(signature, requireParens) { var error, stackTrace, t1, exception, t2; try { - t1 = A.ScssParser$0(signature, null, null).parseSignature$1$requireParens(requireParens); + t1 = A.ScssParser$0(signature, null).parseSignature$1$requireParens(requireParens); return t1; } catch (exception) { t1 = A.unwrapException(exception); @@ -30111,7 +32320,7 @@ self.util = _cliPkgRequires.util; var error, stackTrace, t1, exception, string = _this._value$_selectorString$1($name); try { - t1 = A.SelectorList_SelectorList$parse0(string, allowParent, null, null, false); + t1 = A.SelectorList_SelectorList$parse0(string, allowParent, null, false); return t1; } catch (exception) { t1 = A.unwrapException(exception); @@ -30129,7 +32338,7 @@ self.util = _cliPkgRequires.util; allowParent = false, string = _this._value$_selectorString$1($name); try { - t1 = A.SelectorParser$0(string, allowParent, null, null, false, null).parseCompoundSelector$0(); + t1 = new A.SelectorParser0(allowParent, false, A.SpanScanner$(string, null), null).parseCompoundSelector$0(); return t1; } catch (exception) { t1 = A.unwrapException(exception); @@ -30179,6 +32388,14 @@ self.util = _cliPkgRequires.util; _.children = t2; _.hasDeclarations = t3; }, + XyzD50ColorSpace0: function XyzD50ColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, + XyzD65ColorSpace0: function XyzD65ColorSpace0(t0, t1) { + this.name = t0; + this._space$_channels = t1; + }, AsyncCallable_AsyncCallable$fromSignature(signature, callback, requireParens) { var _0_0 = A.parseSignature(signature, requireParens); return new A.AsyncBuiltInCallable0(_0_0._0, _0_0._1, callback, false); @@ -30226,7 +32443,7 @@ self.util = _cliPkgRequires.util; }, minBy(values, orderBy) { var t1, t2, minValue, minOrderBy, element, elementOrderBy; - for (t1 = values.$ti, t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(values.__internal$_iterable), values._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1], minValue = null, minOrderBy = null; t2.moveNext$0();) { + for (t1 = values.$ti, t2 = new A.MappedIterator(J.get$iterator$ax(values.__internal$_iterable), values._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1], minValue = null, minOrderBy = null; t2.moveNext$0();) { element = t2.__internal$_current; if (element == null) element = t1._as(element); @@ -30268,68 +32485,13 @@ self.util = _cliPkgRequires.util; } return null; }, - IterableNullableExtension_whereNotNull(_this, $T) { - return new A._SyncStarIterable(A.IterableNullableExtension_whereNotNull$body(_this, $T), $T._eval$1("_SyncStarIterable<0>")); - }, - IterableNullableExtension_whereNotNull$body($async$_this, $async$$T) { - return function() { - var _this = $async$_this, - $T = $async$$T; - var $async$goto = 0, $async$handler = 1, $async$currentError, t1, element; - return function $async$IterableNullableExtension_whereNotNull($async$iterator, $async$errorCode, $async$result) { - if ($async$errorCode === 1) { - $async$currentError = $async$result; - $async$goto = $async$handler; - } - while (true) - switch ($async$goto) { - case 0: - // Function start - t1 = J.get$iterator$ax(_this); - case 2: - // for condition - if (!t1.moveNext$0()) { - // goto after for - $async$goto = 3; - break; - } - element = t1.get$current(t1); - $async$goto = element != null ? 4 : 5; - break; - case 4: - // then - $async$goto = 6; - return $async$iterator._async$_current = element, 1; - case 6: - // after yield - case 5: - // join - // goto for condition - $async$goto = 2; - break; - case 3: - // after for - // implicit return - return 0; - case 1: - // rethrow - return $async$iterator._datum = $async$currentError, 3; - } - }; - }; - }, IterableIntegerExtension_get_maxOrNull(_this) { var value, newValue, - t1 = _this.$ti, - iterator = new A.ListIterator(_this, _this.get$length(0), t1._eval$1("ListIterator")); + iterator = _this.get$iterator(_this); if (iterator.moveNext$0()) { - value = iterator.__internal$_current; - if (value == null) - value = t1._eval$1("ListIterable.E")._as(value); - for (t1 = t1._eval$1("ListIterable.E"); iterator.moveNext$0();) { - newValue = iterator.__internal$_current; - if (newValue == null) - newValue = t1._as(newValue); + value = iterator.get$current(iterator); + for (; iterator.moveNext$0();) { + newValue = iterator.get$current(iterator); if (newValue > value) value = newValue; } @@ -30343,7 +32505,7 @@ self.util = _cliPkgRequires.util; }, IterableIntegerExtension_get_sum(_this) { var t1, t2, result, t3; - for (t1 = _this.$ti, t1 = t1._eval$1("@<1>")._bind$1(t1._rest[1]), t2 = new A.MappedIterator(J.get$iterator$ax(_this.__internal$_iterable), _this._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1], result = 0; t2.moveNext$0();) { + for (t1 = _this.$ti, t2 = new A.MappedIterator(J.get$iterator$ax(_this.__internal$_iterable), _this._f, t1._eval$1("MappedIterator<1,2>")), t1 = t1._rest[1], result = 0; t2.moveNext$0();) { t3 = t2.__internal$_current; result += t3 == null ? t1._as(t3) : t3; } @@ -30439,6 +32601,9 @@ self.util = _cliPkgRequires.util; var _null = null; return $.$get$context().join$16(0, part1, part2, part3, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); }, + toUri(path) { + return $.$get$context().toUri$1(path); + }, prettyUri(uri) { var t1 = $.$get$context(); uri.toString; @@ -30635,192 +32800,6 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$compileStylesheets, $async$completer); }, - repl(options) { - return A.repl$body(options); - }, - repl$body(options) { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$handler = 1, $async$currentError, $async$next = [], repl, trackingLogger, logger, evaluator, line, declaration, error, stackTrace, t4, t5, t6, t7, t8, line0, toZone, exception, t1, t2, t3, repl0; - var $async$repl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { - if ($async$errorCode === 1) { - $async$currentError = $async$result; - $async$goto = $async$handler; - } - while (true) - switch ($async$goto) { - case 0: - // Function start - t1 = A._setArrayType([], type$.JSArray_String); - t2 = B.JSString_methods.$mul(" ", 3); - t3 = $.$get$alwaysValid(); - repl0 = new A.Repl(">> ", t2, t3, t1); - repl0.__Repl__adapter_A = new A.ReplAdapter(repl0); - repl = repl0; - t1 = options._options; - trackingLogger = new A.TrackingLogger(A._asBool(t1.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(options.get$color())); - t2 = options.get$silenceDeprecations(0); - logger = A.DeprecationProcessingLogger$(trackingLogger, options.get$fatalDeprecations(0), options.get$futureDeprecations(0), !A._asBool(t1.$index(0, "verbose")), t2); - t2 = $.$get$FilesystemImporter_cwd(); - evaluator = new A.Evaluator(A._EvaluateVisitor$(null, A.ImportCache$(options.get$pkgImporters(), type$.List_String._as(t1.$index(0, "load-path")), logger), logger, null, false, false), t2); - t2 = repl.__Repl__adapter_A; - t2 === $ && A.throwUnnamedLateFieldNI(); - t2 = new A._StreamIterator(A.checkNotNullable(t2.runAsync$0(), "stream", type$.Object)); - $async$handler = 2; - t1 = type$.Expression, t3 = type$.String, t4 = type$.VariableDeclaration; - case 5: - // for condition - $async$goto = 7; - return A._asyncAwait(t2.moveNext$0(), $async$repl); - case 7: - // returning from await. - if (!$async$result) { - // goto after for - $async$goto = 6; - break; - } - line = t2.get$current(0); - if (J.trim$0$s(line).length === 0) { - // goto for condition - $async$goto = 5; - break; - } - try { - if (J.startsWith$1$s(line, "@")) { - t5 = evaluator; - t6 = logger; - t7 = A.SpanScanner$(line, null); - if (t6 == null) - t6 = B.StderrLogger_false; - t6 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), t7, t6, null).parseUseRule$0(); - t5._visitor.runStatement$2(t5._importer, t6); - // goto for condition - $async$goto = 5; - break; - } - t5 = A.SpanScanner$(line, null); - if (new A.Parser(t5, B.StderrLogger_false, null)._isVariableDeclarationLike$0()) { - t5 = logger; - t6 = A.SpanScanner$(line, null); - if (t5 == null) - t5 = B.StderrLogger_false; - declaration = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), t6, t5, null).parseVariableDeclaration$0(); - t5 = evaluator; - t5._visitor.runStatement$2(t5._importer, declaration); - t5 = evaluator; - t6 = declaration.name; - t7 = declaration.span; - t8 = declaration.namespace; - line0 = t5._visitor.runExpression$2(t5._importer, new A.VariableExpression(t8, t6, t7)).toString$0(0); - toZone = $.printToZone; - if (toZone == null) - A.printString(line0); - else - toZone.call$1(line0); - } else { - t5 = evaluator; - t6 = logger; - t7 = A.SpanScanner$(line, null); - if (t6 == null) - t6 = B.StderrLogger_false; - t6 = new A.ScssParser(A.LinkedHashMap_LinkedHashMap$_empty(t3, t4), t7, t6, null); - t6 = t6._parseSingleProduction$1$1(t6.get$_expression(), t1); - line0 = t5._visitor.runExpression$2(t5._importer, t6).toString$0(0); - toZone = $.printToZone; - if (toZone == null) - A.printString(line0); - else - toZone.call$1(line0); - } - } catch (exception) { - t5 = A.unwrapException(exception); - if (t5 instanceof A.SassException) { - error = t5; - stackTrace = A.getTraceFromException(exception); - t5 = error; - t6 = typeof t5 != "string"; - if (!t6 || typeof t5 == "number" || A._isBool(t5)) - t5 = null; - else { - t7 = $.$get$_traces(); - if (A._isBool(t5) || typeof t5 == "number" || !t6 || t5 instanceof A._Record) - A.Expando__badExpandoKey(t5); - t5 = t7._jsWeakMap.get(t5); - } - if (t5 == null) - t5 = stackTrace; - A._logError(error, t5, line, repl, options, trackingLogger); - } else - throw exception; - } - // goto for condition - $async$goto = 5; - break; - case 6: - // after for - $async$next.push(4); - // goto finally - $async$goto = 3; - break; - case 2: - // uncaught - $async$next = [1]; - case 3: - // finally - $async$handler = 1; - $async$goto = 8; - return A._asyncAwait(t2.cancel$0(), $async$repl); - case 8: - // returning from await. - // goto the next finally handler - $async$goto = $async$next.pop(); - break; - case 4: - // after finally - // implicit return - return A._asyncReturn(null, $async$completer); - case 1: - // rethrow - return A._asyncRethrow($async$currentError, $async$completer); - } - }); - return A._asyncStartSync($async$repl, $async$completer); - }, - _logError(error, stackTrace, line, repl, options, logger) { - var t2, spacesBeforeError, t3, - t1 = A.SourceSpanException.prototype.get$span.call(error, 0); - if (t1.get$sourceUrl(t1) == null) - if (!A._asBool(options._options.$index(0, "quiet"))) - t1 = logger._emittedDebug || logger._emittedWarning; - else - t1 = false; - else - t1 = true; - if (t1) { - A.print(error.toString$1$color(0, options.get$color())); - return; - } - t1 = options.get$color() ? "" + "\x1b[31m" : ""; - t2 = A.SourceSpanException.prototype.get$span.call(error, 0); - t2 = t2.get$start(t2); - spacesBeforeError = repl.prompt.length + t2.file.getColumn$1(t2.offset); - if (options.get$color()) { - t2 = A.SourceSpanException.prototype.get$span.call(error, 0); - t2 = t2.get$start(t2); - t2 = t2.file.getColumn$1(t2.offset) < line.length; - } else - t2 = false; - if (t2) - t1 = t1 + ("\x1b[1F\x1b[" + spacesBeforeError + "C") + (A.SourceSpanException.prototype.get$span.call(error, 0).get$text() + "\n"); - t2 = B.JSString_methods.$mul(" ", spacesBeforeError); - t3 = A.SourceSpanException.prototype.get$span.call(error, 0); - t3 = t1 + t2 + (B.JSString_methods.$mul("^", Math.max(1, t3.get$length(t3))) + "\n"); - t1 = options.get$color() ? t3 + "\x1b[0m" : t3; - t1 += "Error: " + error._span_exception$_message + "\n"; - if (A._asBool(options._options.$index(0, "trace"))) - t1 += A.Trace_Trace$from(stackTrace).get$terse().toString$0(0); - A.print(B.JSString_methods.trimRight$0(t1.charCodeAt(0) == 0 ? t1 : t1)); - }, CharacterExtension_get_isAlphabetic(_this) { var t1; if (!(_this >= 97 && _this <= 122)) @@ -30830,14 +32809,10 @@ self.util = _cliPkgRequires.util; return t1; }, CharacterExtension_get_isHex(_this) { - var t1; + var t1 = true; if (!(_this >= 48 && _this <= 57)) if (!(_this >= 97 && _this <= 102)) t1 = _this >= 65 && _this <= 70; - else - t1 = true; - else - t1 = true; return t1; }, asHex(character) { @@ -30921,6 +32896,19 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, + fuzzyEqualsNullable(number1, number2) { + var t1; + if (number1 == number2) + return true; + if (number1 == null || number2 == null) + return false; + if (Math.abs(number1 - number2) <= $.$get$_epsilon()) { + t1 = $.$get$_inverseEpsilon(); + t1 = B.JSNumber_methods.round$0(number1 * t1) === B.JSNumber_methods.round$0(number2 * t1); + } else + t1 = false; + return t1; + }, fuzzyHashCode(number) { if (!isFinite(number)) return B.JSNumber_methods.get$hashCode(number); @@ -30938,6 +32926,11 @@ self.util = _cliPkgRequires.util; fuzzyGreaterThanOrEquals(number1, number2) { return number1 > number2 || A.fuzzyEquals(number1, number2); }, + fuzzyIsInt(number) { + if (number == 1 / 0 || number == -1 / 0 || isNaN(number)) + return false; + return A.fuzzyEquals(number, B.JSNumber_methods.round$0(number)); + }, fuzzyAsInt(number) { var rounded; if (number == 1 / 0 || number == -1 / 0 || isNaN(number)) @@ -31089,6 +33082,56 @@ self.util = _cliPkgRequires.util; break; } }, + hueToRgb(m1, m2, hue) { + var t1; + if (hue < 0) + ++hue; + if (hue > 1) + --hue; + $label0$0: { + if (hue < 0.16666666666666666) { + t1 = m1 + (m2 - m1) * hue * 6; + break $label0$0; + } + if (hue < 0.5) { + t1 = m2; + break $label0$0; + } + if (hue < 0.6666666666666666) { + t1 = m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6; + break $label0$0; + } + t1 = m1; + break $label0$0; + } + return t1; + }, + srgbAndDisplayP3ToLinear(channel) { + var abs = Math.abs(channel); + return abs <= 0.04045 ? channel / 12.92 : J.get$sign$in(channel) * Math.pow((abs + 0.055) / 1.055, 2.4); + }, + srgbAndDisplayP3FromLinear(channel) { + var abs = Math.abs(channel); + return abs <= 0.0031308 ? channel * 12.92 : J.get$sign$in(channel) * (1.055 * Math.pow(abs, 0.4166666666666667) - 0.055); + }, + labToLch(dest, lightness, a, b, alpha, missingChroma, missingHue) { + var t3, t4, chroma, hue, + t1 = a == null, + t2 = t1 ? 0 : a; + t2 = Math.pow(t2, 2); + t3 = b == null; + t4 = t3 ? 0 : b; + chroma = Math.sqrt(t2 + Math.pow(t4, 2)); + if (missingHue || A.fuzzyEquals(chroma, 0)) + hue = null; + else { + t2 = t3 ? 0 : b; + t1 = t1 ? 0 : a; + hue = Math.atan2(t2, t1) * 180 / 3.141592653589793; + } + t1 = missingChroma ? null : chroma; + return A.SassColor_SassColor$forSpaceInternal(dest, lightness, t1, hue == null || hue >= 0 ? hue : hue + 360, alpha); + }, encodeVlq(value) { var res, signBit, digit, t1; if (value < $.$get$minInt32() || value > $.$get$maxInt32()) @@ -31184,16 +33227,15 @@ self.util = _cliPkgRequires.util; return t1; }, CharacterExtension_get_isHex0(_this) { - var t1; + var t1 = true; if (!(_this >= 48 && _this <= 57)) if (!(_this >= 97 && _this <= 102)) t1 = _this >= 65 && _this <= 70; - else - t1 = true; - else - t1 = true; return t1; }, + combineSurrogates(highSurrogate, lowSurrogate) { + return 65536 + ((highSurrogate & 1023) << 10) + (lowSurrogate & 1023); + }, asHex0(character) { var t1; $label0$0: { @@ -31254,6 +33296,13 @@ self.util = _cliPkgRequires.util; } return t1; }, + EvaluationContext__currentOrNull() { + var _0_0 = $.Zone__current.$index(0, B.Symbol__evaluationContext); + if (type$.EvaluationContext_2._is(_0_0)) + return _0_0; + else + return null; + }, warn0(message) { var t1, _0_0 = A.EvaluationContext_currentOrNull0(); @@ -31280,6 +33329,13 @@ self.util = _cliPkgRequires.util; } return t1; }, + warnForDeprecationFromApi(message, deprecation) { + var _0_0 = A.EvaluationContext__currentOrNull(); + if (_0_0 != null) + _0_0.warn$2(0, message, deprecation); + else + A.WarnForDeprecation_warnForDeprecation0(new A.StderrLogger0(false), deprecation, message, null, null); + }, IterableExtension_search0(_this, callback) { var t1, _0_0; for (t1 = J.get$iterator$ax(_this); t1.moveNext$0();) { @@ -31310,6 +33366,19 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, + fuzzyEqualsNullable0(number1, number2) { + var t1; + if (number1 == number2) + return true; + if (number1 == null || number2 == null) + return false; + if (Math.abs(number1 - number2) <= $.$get$_epsilon0()) { + t1 = $.$get$_inverseEpsilon0(); + t1 = B.JSNumber_methods.round$0(number1 * t1) === B.JSNumber_methods.round$0(number2 * t1); + } else + t1 = false; + return t1; + }, fuzzyHashCode0(number) { if (!isFinite(number)) return B.JSNumber_methods.get$hashCode(number); @@ -31327,7 +33396,7 @@ self.util = _cliPkgRequires.util; fuzzyGreaterThanOrEquals0(number1, number2) { return number1 > number2 || A.fuzzyEquals0(number1, number2); }, - fuzzyIsInt(number) { + fuzzyIsInt0(number) { if (number == 1 / 0 || number == -1 / 0 || isNaN(number)) return false; return A.fuzzyEquals0(number, B.JSNumber_methods.round$0(number)); @@ -31425,7 +33494,7 @@ self.util = _cliPkgRequires.util; main$body(args) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$returnValue, $async$handler = 2, $async$currentError, options, t1, graph, error, error0, stackTrace, buffer, t2, t3, t4, t5, exception, $async$exception, $async$temp1; + $async$returnValue, $async$handler = 2, $async$currentError, options, t1, graph, error, error0, stackTrace, buffer, t2, exception, $async$exception, $async$temp1; var $async$main1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -31477,14 +33546,13 @@ self.util = _cliPkgRequires.util; break; case 11: // join + J.get$silenceDeprecations$x(options); + J.get$futureDeprecations$x(options); + J.get$fatalDeprecations$x(options); t1 = A.List_List$of(options.get$pkgImporters(), true, type$.Importer_2); J.add$1$ax(t1, $.$get$FilesystemImporter_noLoadPath()); - t2 = type$.List_String._as(options._options.$index(0, "load-path")); - t3 = options; - t3 = A._asBool(t3._options.$index(0, "quiet")) ? $.$get$Logger_quiet() : new A.StderrLogger(t3.get$color()); - t4 = J.get$silenceDeprecations$x(options); - t5 = type$.Uri; - graph = new A.StylesheetGraph(A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.StylesheetNode), A.ImportCache$(t1, t2, A.DeprecationProcessingLogger$(t3, J.get$fatalDeprecations$x(options), J.get$futureDeprecations$x(options), false, t4)), A.LinkedHashMap_LinkedHashMap$_empty(t5, type$.DateTime)); + t2 = type$.Uri; + graph = new A.StylesheetGraph(A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.StylesheetNode), A.ImportCache$(t1, type$.List_String._as(options._options.$index(0, "load-path"))), A.LinkedHashMap_LinkedHashMap$_empty(t2, type$.DateTime)); $async$goto = A._asBool(options._options.$index(0, "watch")) ? 13 : 14; break; case 13: @@ -31584,7 +33652,7 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - $async$returnValue = "1.77.4 compiled with dart2js 3.4.2"; + $async$returnValue = "1.80.4 compiled with dart2js 3.5.4"; // goto return $async$goto = 1; break; @@ -31629,6 +33697,27 @@ self.util = _cliPkgRequires.util; A._scanIdentifier0(scanner); return A.FileSpanExtension_subspan(_this, scanner._string_scanner$_position, null); }, + SpanExtensions_between(_this, other) { + if (!J.$eq$(_this.get$sourceUrl(_this), other.get$sourceUrl(other))) + throw A.wrapException(A.ArgumentError$(_this.toString$0(0) + " and " + other.toString$0(0) + " are in different files.", null)); + else if (_this.get$end(_this).offset > other.get$start(other).offset) + throw A.wrapException(A.ArgumentError$(_this.toString$0(0) + " isn't before " + other.toString$0(0) + ".", null)); + return _this.get$file(_this).span$2(0, _this.get$end(_this).offset, other.get$start(other).offset); + }, + SpanExtensions_before(_this, inner) { + if (!J.$eq$(_this.get$sourceUrl(_this), inner.get$sourceUrl(inner))) + throw A.wrapException(A.ArgumentError$(_this.toString$0(0) + " and " + inner.toString$0(0) + " are in different files.", null)); + else if (inner.get$start(inner).offset < _this.get$start(_this).offset || inner.get$end(inner).offset > _this.get$end(_this).offset) + throw A.wrapException(A.ArgumentError$(inner.toString$0(0) + " isn't inside " + _this.toString$0(0) + ".", null)); + return _this.get$file(_this).span$2(0, _this.get$start(_this).offset, inner.get$start(inner).offset); + }, + SpanExtensions_after(_this, inner) { + if (!J.$eq$(_this.get$sourceUrl(_this), inner.get$sourceUrl(inner))) + throw A.wrapException(A.ArgumentError$(_this.toString$0(0) + " and " + inner.toString$0(0) + " are in different files.", null)); + else if (inner.get$start(inner).offset < _this.get$start(_this).offset || inner.get$end(inner).offset > _this.get$end(_this).offset) + throw A.wrapException(A.ArgumentError$(inner.toString$0(0) + " isn't inside " + _this.toString$0(0) + ".", null)); + return _this.get$file(_this).span$2(0, inner.get$end(inner).offset, _this.get$end(_this).offset); + }, _scanIdentifier0(scanner) { var t1, _0_0, t2; for (t1 = scanner.string.length; scanner._string_scanner$_position !== t1;) { @@ -31664,6 +33753,56 @@ self.util = _cliPkgRequires.util; if (!t1._nativeRegExp.test(scheme)) A.jsThrow(new self.Error('"' + scheme + '" isn\'t a valid URL scheme (for example "file").')); }, + hueToRgb0(m1, m2, hue) { + var t1; + if (hue < 0) + ++hue; + if (hue > 1) + --hue; + $label0$0: { + if (hue < 0.16666666666666666) { + t1 = m1 + (m2 - m1) * hue * 6; + break $label0$0; + } + if (hue < 0.5) { + t1 = m2; + break $label0$0; + } + if (hue < 0.6666666666666666) { + t1 = m1 + (m2 - m1) * (0.6666666666666666 - hue) * 6; + break $label0$0; + } + t1 = m1; + break $label0$0; + } + return t1; + }, + srgbAndDisplayP3ToLinear0(channel) { + var abs = Math.abs(channel); + return abs <= 0.04045 ? channel / 12.92 : J.get$sign$in(channel) * Math.pow((abs + 0.055) / 1.055, 2.4); + }, + srgbAndDisplayP3FromLinear0(channel) { + var abs = Math.abs(channel); + return abs <= 0.0031308 ? channel * 12.92 : J.get$sign$in(channel) * (1.055 * Math.pow(abs, 0.4166666666666667) - 0.055); + }, + labToLch0(dest, lightness, a, b, alpha, missingChroma, missingHue) { + var t3, t4, chroma, hue, + t1 = a == null, + t2 = t1 ? 0 : a; + t2 = Math.pow(t2, 2); + t3 = b == null; + t4 = t3 ? 0 : b; + chroma = Math.sqrt(t2 + Math.pow(t4, 2)); + if (missingHue || A.fuzzyEquals0(chroma, 0)) + hue = null; + else { + t2 = t3 ? 0 : b; + t1 = t1 ? 0 : a; + hue = Math.atan2(t2, t1) * 180 / 3.141592653589793; + } + t1 = missingChroma ? null : chroma; + return A.SassColor_SassColor$forSpaceInternal0(dest, lightness, t1, hue == null || hue >= 0 ? hue : hue + 360, alpha); + }, unwrapValue(object) { var value; if (object != null) { @@ -31731,6 +33870,9 @@ self.util = _cliPkgRequires.util; toString$0(receiver) { return String(receiver); }, + $or(receiver, other) { + return other || receiver; + }, get$hashCode(receiver) { return receiver ? 519018 : 218159; }, @@ -31767,13 +33909,19 @@ self.util = _cliPkgRequires.util; $isPromise: 1, $isJsSystemError: 1, $isImmutableList: 1, - $is_Channels: 1, + $isParcelWatcherSubscription: 1, + $isParcelWatcherEvent: 1, + $is_ConstructionOptions: 1, + $is_ChannelOptions: 1, + $is_ToGamutOptions: 1, + $is_InterpolationOptions: 1, $is_NodeSassColor: 1, $isCompileOptions: 1, $isCompileStringOptions: 1, $isNodeCompileResult: 1, $isDeprecation1: 1, $is_NodeException: 1, + $isJSExpressionVisitorObject: 1, $isFiber: 1, $isJSFunction0: 1, $isImmutableList0: 1, @@ -31788,10 +33936,12 @@ self.util = _cliPkgRequires.util; $is_NodeSassMap: 1, $is_ConstructorOptions0: 1, $is_NodeSassNumber: 1, + $isParserExports: 1, $isJSClass0: 1, $isRenderContextOptions0: 1, $isRenderOptions: 1, $isRenderResult: 1, + $isJSStatementVisitorObject: 1, $is_ConstructorOptions1: 1, $is_NodeSassString: 1, $isJSUrl0: 1, @@ -32041,6 +34191,12 @@ self.util = _cliPkgRequires.util; resolve$1(receiver, p0) { return receiver.resolve(p0); }, + unsubscribe$0(receiver) { + return receiver.unsubscribe(); + }, + get$type(obj) { + return obj.type; + }, get$$prototype(obj) { return obj.prototype; }, @@ -32071,6 +34227,33 @@ self.util = _cliPkgRequires.util; get$alpha(obj) { return obj.alpha; }, + get$a(obj) { + return obj.a; + }, + get$b(obj) { + return obj.b; + }, + get$x(obj) { + return obj.x; + }, + get$y(obj) { + return obj.y; + }, + get$z(obj) { + return obj.z; + }, + get$chroma(obj) { + return obj.chroma; + }, + get$space(obj) { + return obj.space; + }, + get$method(obj) { + return obj.method; + }, + get$weight(obj) { + return obj.weight; + }, get$dartValue(obj) { return obj.dartValue; }, @@ -32239,6 +34422,60 @@ self.util = _cliPkgRequires.util; set$FALSE(obj, v) { return obj.FALSE = v; }, + set$loadParserExports_(obj, v) { + return obj.loadParserExports_ = v; + }, + visitBinaryOperationExpression$1(receiver, p0) { + return receiver.visitBinaryOperationExpression(p0); + }, + visitBooleanExpression$1(receiver, p0) { + return receiver.visitBooleanExpression(p0); + }, + visitColorExpression$1(receiver, p0) { + return receiver.visitColorExpression(p0); + }, + visitInterpolatedFunctionExpression$1(receiver, p0) { + return receiver.visitInterpolatedFunctionExpression(p0); + }, + visitFunctionExpression$1(receiver, p0) { + return receiver.visitFunctionExpression(p0); + }, + visitIfExpression$1(receiver, p0) { + return receiver.visitIfExpression(p0); + }, + visitListExpression$1(receiver, p0) { + return receiver.visitListExpression(p0); + }, + visitMapExpression$1(receiver, p0) { + return receiver.visitMapExpression(p0); + }, + visitNullExpression$1(receiver, p0) { + return receiver.visitNullExpression(p0); + }, + visitNumberExpression$1(receiver, p0) { + return receiver.visitNumberExpression(p0); + }, + visitParenthesizedExpression$1(receiver, p0) { + return receiver.visitParenthesizedExpression(p0); + }, + visitSelectorExpression$1(receiver, p0) { + return receiver.visitSelectorExpression(p0); + }, + visitStringExpression$1(receiver, p0) { + return receiver.visitStringExpression(p0); + }, + visitSupportsExpression$1(receiver, p0) { + return receiver.visitSupportsExpression(p0); + }, + visitUnaryOperationExpression$1(receiver, p0) { + return receiver.visitUnaryOperationExpression(p0); + }, + visitValueExpression$1(receiver, p0) { + return receiver.visitValueExpression(p0); + }, + visitVariableExpression$1(receiver, p0) { + return receiver.visitVariableExpression(p0); + }, get$current(obj) { return obj.current; }, @@ -32317,6 +34554,90 @@ self.util = _cliPkgRequires.util; set$cli_pkg_main_0_(obj, v) { return obj.cli_pkg_main_0_ = v; }, + visitAtRootRule$1(receiver, p0) { + return receiver.visitAtRootRule(p0); + }, + visitAtRule$1(receiver, p0) { + return receiver.visitAtRule(p0); + }, + get$visitContentBlock(obj) { + return obj.visitContentBlock; + }, + visitContentBlock$1(receiver, p0) { + return receiver.visitContentBlock(p0); + }, + visitContentRule$1(receiver, p0) { + return receiver.visitContentRule(p0); + }, + visitDebugRule$1(receiver, p0) { + return receiver.visitDebugRule(p0); + }, + visitDeclaration$1(receiver, p0) { + return receiver.visitDeclaration(p0); + }, + visitEachRule$1(receiver, p0) { + return receiver.visitEachRule(p0); + }, + visitErrorRule$1(receiver, p0) { + return receiver.visitErrorRule(p0); + }, + visitExtendRule$1(receiver, p0) { + return receiver.visitExtendRule(p0); + }, + visitForRule$1(receiver, p0) { + return receiver.visitForRule(p0); + }, + visitForwardRule$1(receiver, p0) { + return receiver.visitForwardRule(p0); + }, + visitFunctionRule$1(receiver, p0) { + return receiver.visitFunctionRule(p0); + }, + visitIfRule$1(receiver, p0) { + return receiver.visitIfRule(p0); + }, + visitImportRule$1(receiver, p0) { + return receiver.visitImportRule(p0); + }, + visitIncludeRule$1(receiver, p0) { + return receiver.visitIncludeRule(p0); + }, + visitLoudComment$1(receiver, p0) { + return receiver.visitLoudComment(p0); + }, + visitMediaRule$1(receiver, p0) { + return receiver.visitMediaRule(p0); + }, + visitMixinRule$1(receiver, p0) { + return receiver.visitMixinRule(p0); + }, + visitReturnRule$1(receiver, p0) { + return receiver.visitReturnRule(p0); + }, + visitSilentComment$1(receiver, p0) { + return receiver.visitSilentComment(p0); + }, + visitStyleRule$1(receiver, p0) { + return receiver.visitStyleRule(p0); + }, + visitStylesheet$1(receiver, p0) { + return receiver.visitStylesheet(p0); + }, + visitSupportsRule$1(receiver, p0) { + return receiver.visitSupportsRule(p0); + }, + visitUseRule$1(receiver, p0) { + return receiver.visitUseRule(p0); + }, + visitVariableDeclaration$1(receiver, p0) { + return receiver.visitVariableDeclaration(p0); + }, + visitWarnRule$1(receiver, p0) { + return receiver.visitWarnRule(p0); + }, + visitWhileRule$1(receiver, p0) { + return receiver.visitWhileRule(p0); + }, get$quotes(obj) { return obj.quotes; } @@ -32444,6 +34765,15 @@ self.util = _cliPkgRequires.util; A.throwExpression(A.UnsupportedError$("clear")); receiver.length = 0; }, + forEach$1(receiver, f) { + var i, + end = receiver.length; + for (i = 0; i < end; ++i) { + f.call$1(receiver[i]); + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + }, map$1$1(receiver, f, $T) { return new A.MappedListIterable(receiver, f, A._arrayInstanceType(receiver)._eval$1("@<1>")._bind$1($T)._eval$1("MappedListIterable<1,2>")); }, @@ -32476,6 +34806,18 @@ self.util = _cliPkgRequires.util; fold$2(receiver, initialValue, combine) { return this.fold$1$2(receiver, initialValue, combine, type$.dynamic); }, + firstWhere$1(receiver, test) { + var i, element, + end = receiver.length; + for (i = 0; i < end; ++i) { + element = receiver[i]; + if (test.call$1(element)) + return element; + if (receiver.length !== end) + throw A.wrapException(A.ConcurrentModificationError$(receiver)); + } + throw A.wrapException(A.IterableElementError_noElement()); + }, elementAt$1(receiver, index) { return receiver[index]; }, @@ -32604,14 +34946,13 @@ self.util = _cliPkgRequires.util; } return; } - if (A._arrayInstanceType(receiver)._precomputed1._is(null)) { - for (undefineds = 0, i = 0; i < receiver.length; ++i) + undefineds = 0; + if (A._arrayInstanceType(receiver)._precomputed1._is(null)) + for (i = 0; i < receiver.length; ++i) if (receiver[i] === void 0) { receiver[i] = null; ++undefineds; } - } else - undefineds = 0; receiver.sort(A.convertDartClosureToJS(compare, 2)); if (undefineds > 0) this._replaceSomeNullsWithUndefined$1(receiver, undefineds); @@ -32808,7 +35149,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.UnsupportedError$("" + receiver + ".round()")); }, clamp$2(receiver, lowerLimit, upperLimit) { - if (B.JSInt_methods.compareTo$1(lowerLimit, upperLimit) > 0) + if (this.compareTo$1(lowerLimit, upperLimit) > 0) throw A.wrapException(A.argumentErrorValue(lowerLimit)); if (this.compareTo$1(receiver, lowerLimit) < 0) return lowerLimit; @@ -33163,8 +35504,7 @@ self.util = _cliPkgRequires.util; }; A._CastIterableBase.prototype = { get$iterator(_) { - var t1 = A._instanceType(this); - return new A.CastIterator(J.get$iterator$ax(this.get$_source()), t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastIterator<1,2>")); + return new A.CastIterator(J.get$iterator$ax(this.get$_source()), A._instanceType(this)._eval$1("CastIterator<1,2>")); }, get$length(_) { return J.get$length$asx(this.get$_source()); @@ -33281,11 +35621,10 @@ self.util = _cliPkgRequires.util; this._source.addAll$1(0, A.CastIterable_CastIterable(elements, t1._rest[1], t1._precomputed1)); }, difference$1(other) { - var t1, _this = this; + var _this = this; if (_this._emptySet != null) return _this._conditionalAdd$2(other, false); - t1 = _this.$ti; - return new A.CastSet(_this._source.difference$1(other), null, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("CastSet<1,2>")); + return new A.CastSet(_this._source.difference$1(other), null, _this.$ti); }, _conditionalAdd$2(other, otherContains) { var t3, castElement, @@ -33315,8 +35654,7 @@ self.util = _cliPkgRequires.util; }; A.CastMap.prototype = { cast$2$0(_, RK, RV) { - var t1 = this.$ti; - return new A.CastMap(this._source, t1._eval$1("@<1>")._bind$1(t1._rest[1])._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>")); + return new A.CastMap(this._source, this.$ti._eval$1("@<1,2>")._bind$1(RK)._bind$1(RV)._eval$1("CastMap<1,2,3,4>")); }, containsKey$1(key) { return this._source.containsKey$1(key); @@ -33329,8 +35667,7 @@ self.util = _cliPkgRequires.util; this._source.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value)); }, addAll$1(_, other) { - var t1 = this.$ti; - this._source.addAll$1(0, new A.CastMap(other, t1._eval$1("@<3>")._bind$1(t1._rest[3])._bind$1(t1._precomputed1)._bind$1(t1._rest[1])._eval$1("CastMap<1,2,3,4>"))); + this._source.addAll$1(0, new A.CastMap(other, this.$ti._eval$1("CastMap<3,4,1,2>"))); }, remove$1(_, key) { return this.$ti._eval$1("4?")._as(this._source.remove$1(0, key)); @@ -33376,9 +35713,8 @@ self.util = _cliPkgRequires.util; }; A.CastMap_entries_closure.prototype = { call$1(e) { - var t1 = this.$this.$ti, - t2 = t1._rest[3]; - return new A.MapEntry(t1._rest[2]._as(e.key), t2._as(e.value), t1._eval$1("@<3>")._bind$1(t2)._eval$1("MapEntry<1,2>")); + var t1 = this.$this.$ti; + return new A.MapEntry(t1._rest[2]._as(e.key), t1._rest[3]._as(e.value), t1._eval$1("MapEntry<3,4>")); }, $signature() { return this.$this.$ti._eval$1("MapEntry<3,4>(MapEntry<1,2>)"); @@ -33666,8 +36002,7 @@ self.util = _cliPkgRequires.util; }; A.MappedIterable.prototype = { get$iterator(_) { - var t1 = A._instanceType(this); - return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("MappedIterator<1,2>")); + return new A.MappedIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, A._instanceType(this)._eval$1("MappedIterator<1,2>")); }, get$length(_) { return J.get$length$asx(this.__internal$_iterable); @@ -33736,8 +36071,7 @@ self.util = _cliPkgRequires.util; }; A.ExpandIterable.prototype = { get$iterator(_) { - var t1 = this.$ti; - return new A.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, B.C_EmptyIterator, t1._eval$1("@<1>")._bind$1(t1._rest[1])._eval$1("ExpandIterator<1,2>")); + return new A.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, B.C_EmptyIterator, this.$ti._eval$1("ExpandIterator<1,2>")); } }; A.ExpandIterator.prototype = { @@ -34040,6 +36374,48 @@ self.util = _cliPkgRequires.util; return this.$ti._precomputed1._as(t1.get$current(t1)); } }; + A.NonNullsIterable.prototype = { + get$_firstNonNull() { + var t1, element; + for (t1 = J.get$iterator$ax(this._source); t1.moveNext$0();) { + element = t1.get$current(t1); + if (element != null) + return element; + } + return null; + }, + get$isEmpty(_) { + return this.get$_firstNonNull() == null; + }, + get$isNotEmpty(_) { + return this.get$_firstNonNull() != null; + }, + get$first(_) { + var t1 = this.get$_firstNonNull(); + return t1 == null ? A.throwExpression(A.IterableElementError_noElement()) : t1; + }, + get$iterator(_) { + return new A.NonNullsIterator(J.get$iterator$ax(this._source)); + } + }; + A.NonNullsIterator.prototype = { + moveNext$0() { + var t1, next; + this.__internal$_current = null; + for (t1 = this._source; t1.moveNext$0();) { + next = t1.get$current(t1); + if (next != null) { + this.__internal$_current = next; + return true; + } + } + return false; + }, + get$current(_) { + var t1 = this.__internal$_current; + return t1 == null ? A.throwExpression(A.IterableElementError_noElement()) : t1; + } + }; A.FixedLengthListMixin.prototype = { set$length(receiver, newLength) { throw A.wrapException(A.UnsupportedError$("Cannot change the length of a fixed-length list")); @@ -34118,10 +36494,17 @@ self.util = _cliPkgRequires.util; A._Record_2_loadedUrls_stylesheet.prototype = {$recipe: "+loadedUrls,stylesheet(1,2)", $shape: 6}; A._Record_2_sourceMap.prototype = {$recipe: "+sourceMap(1,2)", $shape: 4}; A._Record_3.prototype = {$recipe: "+(1,2,3)", $shape: 7}; + A._Record_3_deprecation_message_span.prototype = { + get$message(_) { + return this._1; + }, + $recipe: "+deprecation,message,span(1,2,3)", + $shape: 11 + }; A._Record_3_forImport.prototype = {$recipe: "+forImport(1,2,3)", $shape: 8}; A._Record_3_importer_isDependency.prototype = {$recipe: "+importer,isDependency(1,2,3)", $shape: 10}; A._Record_3_originalUrl.prototype = {$recipe: "+originalUrl(1,2,3)", $shape: 9}; - A._Record_5_named_namedNodes_positional_positionalNodes_separator.prototype = {$recipe: "+named,namedNodes,positional,positionalNodes,separator(1,2,3,4,5)", $shape: 12}; + A._Record_5_named_namedNodes_positional_positionalNodes_separator.prototype = {$recipe: "+named,namedNodes,positional,positionalNodes,separator(1,2,3,4,5)", $shape: 13}; A.ConstantMapView.prototype = {}; A.ConstantMap.prototype = { cast$2$0(_, RK, RV) { @@ -34163,7 +36546,7 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - t1 = $async$self.get$keys($async$self), t1 = t1.get$iterator(t1), t2 = A._instanceType($async$self), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("MapEntry<1,2>"); + t1 = $async$self.get$keys($async$self), t1 = t1.get$iterator(t1), t2 = A._instanceType($async$self)._eval$1("MapEntry<1,2>"); case 2: // for condition if (!t1.moveNext$0()) { @@ -34322,8 +36705,7 @@ self.util = _cliPkgRequires.util; var t1, t2, _i, key, _this = this, backingMap = _this.$map; if (backingMap == null) { - t1 = _this.$ti; - backingMap = new A.JsConstantLinkedHashMap(t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("JsConstantLinkedHashMap<1,2>")); + backingMap = new A.JsConstantLinkedHashMap(_this.$ti._eval$1("JsConstantLinkedHashMap<1,1>")); for (t1 = _this._elements, t2 = t1.length, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { key = t1[_i]; backingMap.$indexSet(0, key, key); @@ -34424,7 +36806,7 @@ self.util = _cliPkgRequires.util; this.$arguments.push(argument); ++t1.argumentCount; }, - $signature: 113 + $signature: 111 }; A.TypeErrorDecoder.prototype = { matchTypeError$1(message) { @@ -34869,19 +37251,19 @@ self.util = _cliPkgRequires.util; call$1(o) { return this.getTag(o); }, - $signature: 105 + $signature: 110 }; A.initHooks_closure0.prototype = { call$2(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 389 + $signature: 592 }; A.initHooks_closure1.prototype = { call$1(tag) { return this.prototypeForTag(tag); }, - $signature: 170 + $signature: 236 }; A._Record.prototype = { toString$0(_) { @@ -35061,6 +37443,16 @@ self.util = _cliPkgRequires.util; var t1 = this._match; return t1.index + t1[0].length; }, + namedGroup$1($name) { + var result, + groups = this._match.groups; + if (groups != null) { + result = groups[$name]; + if (result != null || $name in groups) + return result; + } + throw A.wrapException(A.ArgumentError$value($name, "name", "Not a capture group name")); + }, $isMatch: 1, $isRegExpMatch: 1 }; @@ -35075,7 +37467,7 @@ self.util = _cliPkgRequires.util; return t1 == null ? type$.RegExpMatch._as(t1) : t1; }, moveNext$0() { - var t1, t2, t3, match, nextIndex, _this = this, + var t1, t2, t3, match, nextIndex, t4, _this = this, string = _this.__js_helper$_string; if (string == null) return false; @@ -35088,20 +37480,18 @@ self.util = _cliPkgRequires.util; _this.__js_helper$_current = match; nextIndex = match.get$end(0); if (match._match.index === nextIndex) { + t1 = false; if (t3._nativeRegExp.unicode) { - t1 = _this._nextIndex; - t3 = t1 + 1; - if (t3 < t2) { - t1 = string.charCodeAt(t1); - if (t1 >= 55296 && t1 <= 56319) { - t1 = string.charCodeAt(t3); + t3 = _this._nextIndex; + t4 = t3 + 1; + if (t4 < t2) { + t2 = string.charCodeAt(t3); + if (t2 >= 55296 && t2 <= 56319) { + t1 = string.charCodeAt(t4); t1 = t1 >= 56320 && t1 <= 57343; - } else - t1 = false; - } else - t1 = false; - } else - t1 = false; + } + } + } nextIndex = (t1 ? nextIndex + 1 : nextIndex) + 1; } _this._nextIndex = nextIndex; @@ -35450,7 +37840,7 @@ self.util = _cliPkgRequires.util; t1.storedCallback = null; f.call$0(); }, - $signature: 54 + $signature: 58 }; A._AsyncRun__initializeScheduleImmediate_closure.prototype = { call$1(callback) { @@ -35553,19 +37943,19 @@ self.util = _cliPkgRequires.util; call$1(result) { return this.bodyFunction.call$2(0, result); }, - $signature: 72 + $signature: 70 }; A._awaitOnObject_closure0.prototype = { call$2(error, stackTrace) { this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, stackTrace)); }, - $signature: 476 + $signature: 296 }; A._wrapJsFunctionForAsync_closure.prototype = { call$2(errorCode, result) { this.$protected(errorCode, result); }, - $signature: 516 + $signature: 544 }; A._SyncStarIterator.prototype = { get$current(_) { @@ -35831,7 +38221,7 @@ self.util = _cliPkgRequires.util; result = new A._Future(t2, t1); if (t2 !== B.C__RootZone) onError = A._registerErrorHandler(onError, t2); - this._addListener$1(new A._FutureListener(result, 2, null, onError, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>"))); + this._addListener$1(new A._FutureListener(result, 2, null, onError, t1._eval$1("_FutureListener<1,1>"))); return result; }, whenComplete$1(action) { @@ -35840,7 +38230,7 @@ self.util = _cliPkgRequires.util; result = new A._Future(t2, t1); if (t2 !== B.C__RootZone) action = t2.registerCallback$1$1(action, type$.dynamic); - this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("@<1>")._bind$1(t1._precomputed1)._eval$1("_FutureListener<1,2>"))); + this._addListener$1(new A._FutureListener(result, 8, action, null, t1._eval$1("_FutureListener<1,1>"))); return result; }, _setErrorObject$1(error) { @@ -35997,13 +38387,13 @@ self.util = _cliPkgRequires.util; t1._completeError$2(error, stackTrace); } }, - $signature: 54 + $signature: 58 }; A._Future__chainForeignFuture_closure0.prototype = { call$2(error, stackTrace) { this.$this._completeError$2(error, stackTrace); }, - $signature: 53 + $signature: 54 }; A._Future__chainForeignFuture_closure1.prototype = { call$0() { @@ -36068,7 +38458,7 @@ self.util = _cliPkgRequires.util; call$1(_) { return this.originalSource; }, - $signature: 393 + $signature: 564 }; A._Future__propagateToListeners_handleValueCallback.prototype = { call$0() { @@ -36141,7 +38531,7 @@ self.util = _cliPkgRequires.util; t1._addError$2(error, stackTrace); t1._closeUnchecked$0(); }, - $signature: 398 + $signature: 579 }; A.Stream_length_closure.prototype = { call$1(_) { @@ -36411,7 +38801,7 @@ self.util = _cliPkgRequires.util; t1._addError$2(e, s); t1._close$0(); }, - $signature: 53 + $signature: 54 }; A._AddStreamState_cancel_closure.prototype = { call$0() { @@ -36589,15 +38979,13 @@ self.util = _cliPkgRequires.util; t1 = _this._state; if ((t1 & 128) !== 0 && _this._pending.lastPendingEvent == null) { t1 = _this._state = (t1 & 4294967167) >>> 0; + t2 = false; if ((t1 & 4) !== 0) if (t1 < 256) { t2 = _this._pending; t2 = t2 == null ? null : t2.lastPendingEvent == null; t2 = t2 !== false; - } else - t2 = false; - else - t2 = false; + } if (t2) { t1 = (t1 & 4294967291) >>> 0; _this._state = t1; @@ -36827,16 +39215,15 @@ self.util = _cliPkgRequires.util; }, listen$4$cancelOnError$onDone$onError(_, onData, cancelOnError, onDone, onError) { var t1 = this.$ti, - t2 = t1._rest[1], - t3 = $.Zone__current, - t4 = cancelOnError === true ? 1 : 0, - t5 = onError != null ? 32 : 0, - t6 = A._BufferingStreamSubscription__registerDataHandler(t3, onData, t2), - t7 = A._BufferingStreamSubscription__registerErrorHandler(t3, onError), - t8 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; - t2 = new A._ForwardingStreamSubscription(this, t6, t7, t3.registerCallback$1$1(t8, type$.void), t3, t4 | t5, t1._eval$1("@<1>")._bind$1(t2)._eval$1("_ForwardingStreamSubscription<1,2>")); - t2._subscription = this._async$_source.listen$3$onDone$onError(0, t2.get$_handleData(), t2.get$_handleDone(), t2.get$_handleError()); - return t2; + t2 = $.Zone__current, + t3 = cancelOnError === true ? 1 : 0, + t4 = onError != null ? 32 : 0, + t5 = A._BufferingStreamSubscription__registerDataHandler(t2, onData, t1._rest[1]), + t6 = A._BufferingStreamSubscription__registerErrorHandler(t2, onError), + t7 = onDone == null ? A.async___nullDoneHandler$closure() : onDone; + t1 = new A._ForwardingStreamSubscription(this, t5, t6, t2.registerCallback$1$1(t7, type$.void), t2, t3 | t4, t1._eval$1("_ForwardingStreamSubscription<1,2>")); + t1._subscription = this._async$_source.listen$3$onDone$onError(0, t1.get$_handleData(), t1.get$_handleDone(), t1.get$_handleError()); + return t1; }, listen$1(_, onData) { return this.listen$4$cancelOnError$onDone$onError(0, onData, null, null, null); @@ -37443,21 +39830,21 @@ self.util = _cliPkgRequires.util; } }, _computeKeys$0() { - var strings, names, entries, index, i, nums, rest, bucket, $length, i0, _this = this, + var strings, index, names, entries, i, nums, rest, bucket, $length, i0, _this = this, result = _this._collection$_keys; if (result != null) return result; result = A.List_List$filled(_this._collection$_length, null, false, type$.dynamic); strings = _this._strings; + index = 0; if (strings != null) { names = Object.getOwnPropertyNames(strings); entries = names.length; - for (index = 0, i = 0; i < entries; ++i) { + for (i = 0; i < entries; ++i) { result[index] = names[i]; ++index; } - } else - index = 0; + } nums = _this._nums; if (nums != null) { names = Object.getOwnPropertyNames(nums); @@ -37629,7 +40016,7 @@ self.util = _cliPkgRequires.util; call$1(v) { return this.K._is(v); }, - $signature: 128 + $signature: 180 }; A._LinkedHashSet.prototype = { _newSet$0() { @@ -37868,13 +40255,13 @@ self.util = _cliPkgRequires.util; call$2(k, v) { this.result.$indexSet(0, this.K._as(k), this.V._as(v)); }, - $signature: 162 + $signature: 193 }; A.LinkedHashMap_LinkedHashMap$from_closure.prototype = { call$2(k, v) { this.result.$indexSet(0, this.K._as(k), this.V._as(v)); }, - $signature: 162 + $signature: 193 }; A.ListBase.prototype = { get$iterator(receiver) { @@ -38082,6 +40469,13 @@ self.util = _cliPkgRequires.util; for (i = 0; i < $length; ++i) this.$indexSet(receiver, start + i, t1.$index(otherList, otherStart + i)); }, + indexOf$1(receiver, element) { + var i; + for (i = 0; i < this.get$length(receiver); ++i) + if (J.$eq$(this.$index(receiver, i), element)) + return i; + return -1; + }, get$reversed(receiver) { return new A.ReversedListIterable(receiver, A.instanceType(receiver)._eval$1("ReversedListIterable")); }, @@ -38138,8 +40532,7 @@ self.util = _cliPkgRequires.util; return J.get$isNotEmpty$asx(this.get$keys(this)); }, get$values(_) { - var t1 = A._instanceType(this); - return new A._MapBaseValueIterable(this, t1._eval$1("@")._bind$1(t1._eval$1("MapBase.V"))._eval$1("_MapBaseValueIterable<1,2>")); + return new A._MapBaseValueIterable(this, A._instanceType(this)._eval$1("_MapBaseValueIterable")); }, toString$0(_) { return A.MapBase_mapToString(this); @@ -38160,8 +40553,7 @@ self.util = _cliPkgRequires.util; t2 = t1.$index(0, key); if (t2 == null) t2 = A._instanceType(t1)._eval$1("MapBase.V")._as(t2); - t1 = A._instanceType(t1); - return new A.MapEntry(key, t2, t1._eval$1("@")._bind$1(t1._eval$1("MapBase.V"))._eval$1("MapEntry<1,2>")); + return new A.MapEntry(key, t2, A._instanceType(t1)._eval$1("MapEntry")); }, $signature() { return A._instanceType(this.$this)._eval$1("MapEntry(MapBase.K)"); @@ -38181,7 +40573,7 @@ self.util = _cliPkgRequires.util; t2 = A.S(v); t1._contents += t2; }, - $signature: 168 + $signature: 213 }; A.UnmodifiableMapBase.prototype = {}; A._MapBaseValueIterable.prototype = { @@ -38213,9 +40605,8 @@ self.util = _cliPkgRequires.util; return t1 == null ? this.$ti._rest[1]._as(t1) : t1; }, get$iterator(_) { - var t1 = this._map, - t2 = this.$ti; - return new A._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys(t1)), t1, t2._eval$1("@<1>")._bind$1(t2._rest[1])._eval$1("_MapBaseValueIterator<1,2>")); + var t1 = this._map; + return new A._MapBaseValueIterator(J.get$iterator$ax(t1.get$keys(t1)), t1, this.$ti._eval$1("_MapBaseValueIterator<1,2>")); } }; A._MapBaseValueIterator.prototype = { @@ -38781,13 +41172,13 @@ self.util = _cliPkgRequires.util; call$1(each) { return this.$this.$index(0, each); }, - $signature: 170 + $signature: 236 }; A._JsonMap_addAll_closure.prototype = { call$2(key, value) { this.$this.$indexSet(0, key, value); }, - $signature: 113 + $signature: 111 }; A._JsonMapKeyIterable.prototype = { get$length(_) { @@ -38822,7 +41213,7 @@ self.util = _cliPkgRequires.util; } return null; }, - $signature: 62 + $signature: 65 }; A._Utf8Decoder__decoderNonfatal_closure.prototype = { call$0() { @@ -38834,7 +41225,7 @@ self.util = _cliPkgRequires.util; } return null; }, - $signature: 62 + $signature: 65 }; A.AsciiCodec.prototype = { encode$1(source) { @@ -38844,9 +41235,9 @@ self.util = _cliPkgRequires.util; A._UnicodeSubsetEncoder.prototype = { convert$1(string) { var t1, i, codeUnit, - $length = A.RangeError_checkValidRange(0, null, string.length) - 0, - result = new Uint8Array($length); - for (t1 = ~this._subsetMask, i = 0; i < $length; ++i) { + end = A.RangeError_checkValidRange(0, null, string.length), + result = new Uint8Array(end); + for (t1 = ~this._subsetMask, i = 0; i < end; ++i) { codeUnit = string.charCodeAt(i); if ((codeUnit & t1) !== 0) throw A.wrapException(A.ArgumentError$value(string, "string", "Contains invalid characters.")); @@ -39205,7 +41596,7 @@ self.util = _cliPkgRequires.util; t2.i = i + 1; t1[i] = value; }, - $signature: 168 + $signature: 213 }; A._JsonStringStringifier.prototype = { get$_partialResult() { @@ -39269,11 +41660,10 @@ self.util = _cliPkgRequires.util; A.Utf8Encoder.prototype = { convert$1(string) { var t1, encoder, - end = A.RangeError_checkValidRange(0, null, string.length), - $length = end - 0; - if ($length === 0) + end = A.RangeError_checkValidRange(0, null, string.length); + if (end === 0) return new Uint8Array(0); - t1 = new Uint8Array($length * 3); + t1 = new Uint8Array(end * 3); encoder = new A._Utf8Encoder(t1); if (encoder._fillBuffer$3(string, 0, end) !== end) encoder._writeReplacementCharacter$0(); @@ -39533,25 +41923,36 @@ self.util = _cliPkgRequires.util; t1._contents += t3; t2.comma = ", "; }, - $signature: 335 + $signature: 312 }; A.DateTime.prototype = { $eq(_, other) { var t1; if (other == null) return false; + t1 = false; if (other instanceof A.DateTime) - t1 = this._value === other._value; + if (this._value === other._value) + t1 = this._microsecond === other._microsecond; + return t1; + }, + get$hashCode(_) { + return A.Object_hash(this._value, this._microsecond, B.C_SentinelValue, B.C_SentinelValue); + }, + isAfter$1(other) { + var t1 = this._value, + t2 = other._value; + if (t1 <= t2) + t1 = t1 === t2 && this._microsecond > other._microsecond; else - t1 = false; + t1 = true; return t1; }, compareTo$1(_, other) { - return B.JSInt_methods.compareTo$1(this._value, other._value); - }, - get$hashCode(_) { - var t1 = this._value; - return (t1 ^ B.JSInt_methods._shrOtherPositive$1(t1, 30)) & 1073741823; + var r = B.JSInt_methods.compareTo$1(this._value, other._value); + if (r !== 0) + return r; + return B.JSInt_methods.compareTo$1(this._microsecond, other._microsecond); }, toString$0(_) { var _this = this, @@ -39561,8 +41962,10 @@ self.util = _cliPkgRequires.util; h = A.DateTime__twoDigits(A.Primitives_getHours(_this)), min = A.DateTime__twoDigits(A.Primitives_getMinutes(_this)), sec = A.DateTime__twoDigits(A.Primitives_getSeconds(_this)), - ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)); - return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms; + ms = A.DateTime__threeDigits(A.Primitives_getMilliseconds(_this)), + t1 = _this._microsecond, + us = t1 === 0 ? "" : A.DateTime__threeDigits(t1); + return y + "-" + m + "-" + d + " " + h + ":" + min + ":" + sec + "." + ms + us; }, $isComparable: 1 }; @@ -39769,7 +42172,7 @@ self.util = _cliPkgRequires.util; }; A.FormatException.prototype = { toString$0(_) { - var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, end, start, prefix, postfix, + var t1, lineNum, lineStart, previousCharWasCR, i, char, lineEnd, prefix, postfix, end, start, message = this.message, report = "" !== message ? "FormatException: " + message : "FormatException", offset = this.offset, @@ -39808,12 +42211,12 @@ self.util = _cliPkgRequires.util; break; } } - if (lineEnd - lineStart > 78) + prefix = ""; + if (lineEnd - lineStart > 78) { + postfix = "..."; if (offset - lineStart < 75) { end = lineStart + 75; start = lineStart; - prefix = ""; - postfix = "..."; } else { if (lineEnd - offset < 75) { start = lineEnd - 75; @@ -39822,14 +42225,12 @@ self.util = _cliPkgRequires.util; } else { start = offset - 36; end = offset + 36; - postfix = "..."; } prefix = "..."; } - else { + } else { end = lineEnd; start = lineStart; - prefix = ""; postfix = ""; } return report + prefix + B.JSString_methods.substring$2(source, start, end) + postfix + "\n" + B.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; @@ -40105,13 +42506,13 @@ self.util = _cliPkgRequires.util; call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 326 + $signature: 343 }; A.Uri_parseIPv6Address_error.prototype = { call$2(msg, position) { throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position)); }, - $signature: 306 + $signature: 390 }; A.Uri_parseIPv6Address_parseHex.prototype = { call$2(start, end) { @@ -40123,7 +42524,7 @@ self.util = _cliPkgRequires.util; this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); return value; }, - $signature: 294 + $signature: 420 }; A._Uri.prototype = { get$_text() { @@ -40233,7 +42634,7 @@ self.util = _cliPkgRequires.util; return A._Uri$_internal(scheme, userInfo, host, port, path, _this._query, _this._fragment); }, _mergePaths$2(base, reference) { - var backCount, refStart, baseEnd, newEnd, delta, t1; + var backCount, refStart, baseEnd, newEnd, delta, t1, t2; for (backCount = 0, refStart = 0; B.JSString_methods.startsWith$2(reference, "../", refStart);) { refStart += 3; ++backCount; @@ -40247,13 +42648,14 @@ self.util = _cliPkgRequires.util; break; delta = baseEnd - newEnd; t1 = delta !== 2; + t2 = false; if (!t1 || delta === 3) if (base.charCodeAt(newEnd + 1) === 46) t1 = !t1 || base.charCodeAt(newEnd + 2) === 46; else - t1 = false; + t1 = t2; else - t1 = false; + t1 = t2; if (t1) break; --backCount; @@ -40398,11 +42800,12 @@ self.util = _cliPkgRequires.util; return this.get$_text(); }, $eq(_, other) { - var t1, t2, _this = this; + var t1, t2, t3, _this = this; if (other == null) return false; if (_this === other) return true; + t1 = false; if (type$.Uri._is(other)) if (_this.scheme === other.get$scheme()) if (_this._host != null === other.get$hasAuthority()) @@ -40410,38 +42813,21 @@ self.util = _cliPkgRequires.util; if (_this.get$host() === other.get$host()) if (_this.get$port(0) === other.get$port(other)) if (_this.path === other.get$path(other)) { - t1 = _this._query; - t2 = t1 == null; - if (!t2 === other.get$hasQuery()) { - if (t2) - t1 = ""; - if (t1 === other.get$query()) { - t1 = _this._fragment; - t2 = t1 == null; - if (!t2 === other.get$hasFragment()) { - if (t2) - t1 = ""; + t2 = _this._query; + t3 = t2 == null; + if (!t3 === other.get$hasQuery()) { + if (t3) + t2 = ""; + if (t2 === other.get$query()) { + t2 = _this._fragment; + t3 = t2 == null; + if (!t3 === other.get$hasFragment()) { + t1 = t3 ? "" : t2; t1 = t1 === other.get$fragment(); - } else - t1 = false; - } else - t1 = false; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; - else - t1 = false; - else - t1 = false; - else - t1 = false; - else - t1 = false; - else - t1 = false; + } + } + } + } return t1; }, $isUri: 1, @@ -40457,7 +42843,7 @@ self.util = _cliPkgRequires.util; call$1(s) { return A._Uri__uriEncode(B.List_M2I0, s, B.C_Utf8Codec, false); }, - $signature: 5 + $signature: 6 }; A.UriData.prototype = { get$uri() { @@ -40488,7 +42874,7 @@ self.util = _cliPkgRequires.util; B.NativeUint8List_methods.fillRange$3(t1, 0, 96, defaultTransition); return t1; }, - $signature: 298 + $signature: 460 }; A._createTables_setChars.prototype = { call$3(target, chars, transition) { @@ -40496,7 +42882,7 @@ self.util = _cliPkgRequires.util; for (t1 = chars.length, i = 0; i < t1; ++i) target[chars.charCodeAt(i) ^ 96] = transition; }, - $signature: 230 + $signature: 174 }; A._createTables_setRange.prototype = { call$3(target, range, transition) { @@ -40504,7 +42890,7 @@ self.util = _cliPkgRequires.util; for (i = range.charCodeAt(0), n = range.charCodeAt(1); i <= n; ++i) target[(i ^ 96) >>> 0] = transition; }, - $signature: 230 + $signature: 174 }; A._SimpleUri.prototype = { get$hasAuthority() { @@ -40826,13 +43212,13 @@ self.util = _cliPkgRequires.util; } else return o; }, - $signature: 343 + $signature: 503 }; A.promiseToFuture_closure1.prototype = { call$1(r) { return this.completer.complete$1(r); }, - $signature: 72 + $signature: 70 }; A.promiseToFuture_closure2.prototype = { call$1(e) { @@ -40840,7 +43226,7 @@ self.util = _cliPkgRequires.util; return this.completer.completeError$1(new A.NullRejectionException(e === undefined)); return this.completer.completeError$1(e); }, - $signature: 72 + $signature: 70 }; A.NullRejectionException.prototype = { toString$0(_) { @@ -40977,21 +43363,21 @@ self.util = _cliPkgRequires.util; call$1($name) { return this.$this.findByNameOrAlias$1($name) != null; }, - $signature: 4 + $signature: 5 }; A.ArgParserException.prototype = {}; A.ArgResults.prototype = { $index(_, $name) { var t1 = this._parser.options._map; if (!t1.containsKey$1($name)) - throw A.wrapException(A.ArgumentError$('Could not find an option named "' + $name + '".', null)); + throw A.wrapException(A.ArgumentError$('Could not find an option named "--' + $name + '".', null)); t1 = t1.$index(0, $name); t1.toString; return t1.valueOrDefault$1(this._parsed.$index(0, $name)); }, wasParsed$1($name) { if (!this._parser.options._map.containsKey$1($name)) - throw A.wrapException(A.ArgumentError$('Could not find an option named "' + $name + '".', null)); + throw A.wrapException(A.ArgumentError$('Could not find an option named "--' + $name + '".', null)); return this._parsed.containsKey$1($name); } }; @@ -41009,7 +43395,7 @@ self.util = _cliPkgRequires.util; }; A.OptionType.prototype = {}; A.Parser0.prototype = { - parse$0() { + parse$0(_) { var commandResults, commandName, commandParser, error, t1, t3, t4, t5, t6, t7, t8, command, exception, _this = this, t2 = _this._args; t2.toList$0(0); @@ -41028,15 +43414,21 @@ self.util = _cliPkgRequires.util; t7 = t6._as(t7); command = t5._map.$index(0, t7); if (command != null) { - if (t3.length !== 0) - A.throwExpression(A.ArgParserException$("Cannot specify arguments before a command.", null)); + t5 = t3.length; + t7 = t2._head; + if (t7 === t2._tail) + A.throwExpression(A.IterableElementError_noElement()); + t7 = t2._table[t7]; + t6 = t7 == null ? t6._as(t7) : t7; + if (t5 !== 0) + A.throwExpression(A.ArgParserException$("Cannot specify arguments before a command.", null, t6, null, null)); commandName = t2.removeFirst$0(); t5 = type$.JSArray_String; t6 = A._setArrayType([], t5); B.JSArray_methods.addAll$1(t6, t3); commandParser = new A.Parser0(commandName, _this, command, t2, t6, A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic)); try { - commandResults = commandParser.parse$0(); + commandResults = J.parse$0$z(commandParser); } catch (exception) { t2 = A.unwrapException(exception); if (t2 instanceof A.ArgParserException) { @@ -41044,7 +43436,7 @@ self.util = _cliPkgRequires.util; t2 = error.message; t1 = A._setArrayType([commandName], t5); J.addAll$1$ax(t1, error.commands); - throw A.wrapException(A.ArgParserException$(t2, t1)); + throw A.wrapException(A.ArgParserException$(t2, t1, error.argumentName, error.source, error.offset)); } else throw exception; } @@ -41064,11 +43456,11 @@ self.util = _cliPkgRequires.util; t2.clear$0(0); return new A.ArgResults(t4, _this._results, _this._commandName, new A.UnmodifiableListView(t3, type$.UnmodifiableListView_String)); }, - _readNextArgAsValue$1(option) { - var t1 = this._args; - if (t1.get$isEmpty(0)) - A.throwExpression(A.ArgParserException$('Missing argument for "' + option.name + '".', null)); - this._setOption$3(this._results, option, t1.get$first(0)); + _readNextArgAsValue$2(option, arg) { + var _this = this, + t1 = _this._args; + _this._validate$3(!t1.get$isEmpty(0), 'Missing argument for "' + arg + '".', arg); + _this._setOption$4(_this._results, option, t1.get$first(0), arg); t1.removeFirst$0(); }, _parseSoloOption$0() { @@ -41089,8 +43481,7 @@ self.util = _cliPkgRequires.util; option = _this._grammar.findByAbbreviation$1(opt); if (option == null) { t1 = _this._parser$_parent; - if (t1 == null) - A.throwExpression(A.ArgParserException$('Could not find an option or flag "-' + opt + '".', null)); + _this._validate$3(t1 != null, 'Could not find an option or flag "-' + opt + '".', "-" + opt); t1._handleSoloOption$1(opt); return true; } @@ -41098,11 +43489,11 @@ self.util = _cliPkgRequires.util; if (option.type === B.OptionType_I6i) _this._results.$indexSet(0, option.name, true); else - _this._readNextArgAsValue$1(option); + _this._readNextArgAsValue$2(option, "-" + opt); return true; }, _parseAbbreviation$1(innermostCommand) { - var t2, index, t3, t4, lettersAndDigits, rest, + var t2, index, t3, t4, t5, lettersAndDigits, rest, t1 = this._args; if (t1.get$first(0).length < 2) return false; @@ -41117,14 +43508,15 @@ self.util = _cliPkgRequires.util; t3 = t1._table[t3]; t4 = t3 == null; if (index < (t4 ? t2._as(t3) : t3).length) { + t5 = true; t3 = (t4 ? t2._as(t3) : t3).charCodeAt(index); if (!(t3 >= 65 && t3 <= 90)) if (!(t3 >= 97 && t3 <= 122)) t3 = t3 >= 48 && t3 <= 57; else - t3 = true; + t3 = t5; else - t3 = true; + t3 = t5; } else t3 = false; if (!t3) @@ -41146,37 +43538,35 @@ self.util = _cliPkgRequires.util; first = _this._grammar.findByAbbreviation$1(c); if (first == null) { t1 = _this._parser$_parent; - if (t1 == null) - A.throwExpression(A.ArgParserException$(string$.Could_ + c + '".', null)); + _this._validate$3(t1 != null, string$.Could_ + c + '".', "-" + c); t1._handleAbbreviation$3(lettersAndDigits, rest, innermostCommand); return true; - } else if (first.type !== B.OptionType_I6i) - _this._setOption$3(_this._results, first, B.JSString_methods.substring$1(lettersAndDigits, 1) + rest); - else { - t1 = B.JSString_methods.substring$1(lettersAndDigits, 1); - if (rest !== "") - A.throwExpression(A.ArgParserException$('Option "-' + c + '" is a flag and cannot handle value "' + t1 + rest + '".', null)); - for (t1 = lettersAndDigits.length, i = 0; i < t1; i = i0) { - i0 = i + 1; - innermostCommand._parseShortFlag$1(B.JSString_methods.substring$2(lettersAndDigits, i, i0)); + } else { + t1 = "-" + c; + if (first.type !== B.OptionType_I6i) + _this._setOption$4(_this._results, first, B.JSString_methods.substring$1(lettersAndDigits, 1) + rest, t1); + else { + _this._validate$3(rest === "", 'Option "-' + c + '" is a flag and cannot handle value "' + B.JSString_methods.substring$1(lettersAndDigits, 1) + rest + '".', t1); + for (t1 = lettersAndDigits.length, i = 0; i < t1; i = i0) { + i0 = i + 1; + innermostCommand._parseShortFlag$1(B.JSString_methods.substring$2(lettersAndDigits, i, i0)); + } } } _this._args.removeFirst$0(); return true; }, _parseShortFlag$1(c) { - var t1, - option = this._grammar.findByAbbreviation$1(c); + var t1, _this = this, + option = _this._grammar.findByAbbreviation$1(c); if (option == null) { - t1 = this._parser$_parent; - if (t1 == null) - A.throwExpression(A.ArgParserException$(string$.Could_ + c + '".', null)); + t1 = _this._parser$_parent; + _this._validate$3(t1 != null, string$.Could_ + c + '".', "-" + c); t1._parseShortFlag$1(c); return; } - if (option.type !== B.OptionType_I6i) - A.throwExpression(A.ArgParserException$('Option "-' + c + '" must be a flag to be in a collapsed "-".', null)); - this._results.$indexSet(0, option.name, true); + _this._validate$3(option.type === B.OptionType_I6i, 'Option "-' + c + '" must be a flag to be in a collapsed "-".', "-" + c); + _this._results.$indexSet(0, option.name, true); }, _parseLongOption$0() { var index, t2, $name, t3, i, t4, t5, value, @@ -41188,13 +43578,10 @@ self.util = _cliPkgRequires.util; $name = t2 ? B.JSString_methods.substring$1(t1.get$first(0), 2) : B.JSString_methods.substring$2(t1.get$first(0), 2, index); for (t3 = $name.length, i = 0; i !== t3; ++i) { t4 = $name.charCodeAt(i); + t5 = true; if (!(t4 >= 65 && t4 <= 90)) if (!(t4 >= 97 && t4 <= 122)) t5 = t4 >= 48 && t4 <= 57; - else - t5 = true; - else - t5 = true; if (!(t5 || t4 === 45 || t4 === 95)) return false; } @@ -41209,48 +43596,51 @@ self.util = _cliPkgRequires.util; return true; }, _handleLongOption$2($name, value) { - var _this = this, _null = null, - _s32_ = 'Could not find an option named "', + var _this = this, + _s34_ = 'Could not find an option named "--', t1 = _this._grammar, option = t1.findByNameOrAlias$1($name); if (option != null) { _this._args.removeFirst$0(); if (option.type === B.OptionType_I6i) { - if (value != null) - A.throwExpression(A.ArgParserException$('Flag option "' + $name + '" should not be given a value.', _null)); + _this._validate$3(value == null, 'Flag option "--' + $name + '" should not be given a value.', "--" + $name); _this._results.$indexSet(0, option.name, true); - } else if (value != null) - _this._setOption$3(_this._results, option, value); - else - _this._readNextArgAsValue$1(option); + } else { + t1 = "--" + $name; + if (value != null) + _this._setOption$4(_this._results, option, value, t1); + else + _this._readNextArgAsValue$2(option, t1); + } } else if (B.JSString_methods.startsWith$1($name, "no-")) { option = t1.findByNameOrAlias$1(B.JSString_methods.substring$1($name, 3)); if (option == null) { t1 = _this._parser$_parent; - if (t1 == null) - A.throwExpression(A.ArgParserException$(_s32_ + $name + '".', _null)); + _this._validate$3(t1 != null, _s34_ + $name + '".', "--" + $name); t1._handleLongOption$2($name, value); return true; } _this._args.removeFirst$0(); - if (option.type !== B.OptionType_I6i) - A.throwExpression(A.ArgParserException$('Cannot negate non-flag option "' + $name + '".', _null)); - if (!option.negatable) - A.throwExpression(A.ArgParserException$('Cannot negate option "' + $name + '".', _null)); + t1 = "--" + $name; + _this._validate$3(option.type === B.OptionType_I6i, 'Cannot negate non-flag option "--' + $name + '".', t1); + _this._validate$3(option.negatable, 'Cannot negate option "--' + $name + '".', t1); _this._results.$indexSet(0, option.name, false); } else { t1 = _this._parser$_parent; - if (t1 == null) - A.throwExpression(A.ArgParserException$(_s32_ + $name + '".', _null)); + _this._validate$3(t1 != null, _s34_ + $name + '".', "--" + $name); t1._handleLongOption$2($name, value); return true; } return true; }, - _setOption$3(results, option, value) { + _validate$3(condition, message, args) { + if (!condition) + throw A.wrapException(A.ArgParserException$(message, null, args, null, null)); + }, + _setOption$4(results, option, value, arg) { var list, t1, t2, t3, _i, element; if (option.type !== B.OptionType_yPm) { - this._validateAllowed$2(option, value); + this._validateAllowed$3(option, value, arg); results.$indexSet(0, option.name, value); return; } @@ -41258,20 +43648,19 @@ self.util = _cliPkgRequires.util; if (option.splitCommas) for (t1 = value.split(","), t2 = t1.length, t3 = J.getInterceptor$ax(list), _i = 0; _i < t2; ++_i) { element = t1[_i]; - this._validateAllowed$2(option, element); + this._validateAllowed$3(option, element, arg); t3.add$1(list, element); } else { - this._validateAllowed$2(option, value); + this._validateAllowed$3(option, value, arg); J.add$1$ax(list, value); } }, - _validateAllowed$2(option, value) { + _validateAllowed$3(option, value, arg) { var t1 = option.allowed; if (t1 == null) return; - if (!B.JSArray_methods.contains$1(t1, value)) - A.throwExpression(A.ArgParserException$('"' + value + '" is not an allowed value for option "' + option.name + '".', null)); + this._validate$3(B.JSArray_methods.contains$1(t1, value), '"' + value + '" is not an allowed value for option "' + arg + '".', arg); } }; A.Parser_parse_closure.prototype = { @@ -41282,13 +43671,13 @@ self.util = _cliPkgRequires.util; return; callback.call$1(option.valueOrDefault$1(parsedOption)); }, - $signature: 391 + $signature: 541 }; A.Parser__setOption_closure.prototype = { call$0() { return A._setArrayType([], type$.JSArray_String); }, - $signature: 126 + $signature: 132 }; A._Usage.prototype = { get$_columnWidths() { @@ -41457,13 +43846,13 @@ self.util = _cliPkgRequires.util; call$1(value) { return '"' + A.S(value) + '"'; }, - $signature: 125 + $signature: 130 }; A._Usage__buildAllowedList_closure.prototype = { call$1(value) { return value === this.option.defaultsTo; }, - $signature: 128 + $signature: 5 }; A.FutureGroup.prototype = { add$1(_, task) { @@ -41516,7 +43905,7 @@ self.util = _cliPkgRequires.util; return null; t1.completeError$2(error, stackTrace); }, - $signature: 53 + $signature: 54 }; A.ErrorResult.prototype = { complete$1(completer) { @@ -41641,7 +44030,7 @@ self.util = _cliPkgRequires.util; _onPause$0() { var t1, t2, t3; this._stream_group$_state = B._StreamGroupState_paused; - for (t1 = this._subscriptions.get$values(0), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { + for (t1 = this._subscriptions.get$values(0), t2 = A._instanceType(t1), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { t3 = t1.__internal$_current; (t3 == null ? t2._as(t3) : t3).pause$0(0); } @@ -41649,7 +44038,7 @@ self.util = _cliPkgRequires.util; _onResume$0() { var t1, t2, t3; this._stream_group$_state = B._StreamGroupState_listening; - for (t1 = this._subscriptions.get$values(0), t2 = A._instanceType(t1), t2 = t2._eval$1("@<1>")._bind$1(t2._rest[1]), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { + for (t1 = this._subscriptions.get$values(0), t2 = A._instanceType(t1), t1 = new A.MappedIterator(J.get$iterator$ax(t1.__internal$_iterable), t1._f, t2._eval$1("MappedIterator<1,2>")), t2 = t2._rest[1]; t1.moveNext$0();) { t3 = t1.__internal$_current; (t3 == null ? t2._as(t3) : t3).resume$0(0); } @@ -41658,8 +44047,8 @@ self.util = _cliPkgRequires.util; var t1, t2, futures; this._stream_group$_state = B._StreamGroupState_canceled; t1 = this._subscriptions; - t2 = A.IterableNullableExtension_whereNotNull(t1.get$entries(0).map$1$1(0, new A.StreamGroup__onCancel_closure(this), type$.nullable_Future_void), type$.Future_void); - futures = A.List_List$of(t2, true, t2.$ti._eval$1("Iterable.E")); + t2 = type$.NonNullsIterable_Future_void; + futures = A.List_List$of(new A.NonNullsIterable(t1.get$entries(0).map$1$1(0, new A.StreamGroup__onCancel_closure(this), type$.nullable_Future_void), t2), true, t2._eval$1("Iterable.E")); t1.clear$0(0); return futures.length === 0 ? null : A.Future_wait(futures, false, type$.void); }, @@ -41690,7 +44079,7 @@ self.util = _cliPkgRequires.util; A.StreamGroup__onListen_closure.prototype = { call$1(_) { }, - $signature: 54 + $signature: 58 }; A.StreamGroup__onCancel_closure.prototype = { call$1(entry) { @@ -41779,7 +44168,7 @@ self.util = _cliPkgRequires.util; call$2(error, stackTrace) { this.$this._addResult$1(new A.ErrorResult(error, stackTrace)); }, - $signature: 53 + $signature: 54 }; A.StreamQueue__ensureListening_closure0.prototype = { call$0() { @@ -41814,14 +44203,14 @@ self.util = _cliPkgRequires.util; return true; } }, - $signature: 30 + $signature: 24 }; A.Repl.prototype = {}; A.alwaysValid_closure.prototype = { call$1(text) { return true; }, - $signature: 4 + $signature: 5 }; A.ReplAdapter.prototype = { runAsync$0() { @@ -41951,13 +44340,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A.ReplAdapter_runAsync__closure.prototype = { call$1(value) { return this.lineController.add$1(0, A._asString(value)); }, - $signature: 72 + $signature: 70 }; A.Stdin.prototype = {}; A.Stdout.prototype = {}; @@ -42495,19 +44884,19 @@ self.util = _cliPkgRequires.util; call$1(value) { this.completer.complete$1(value); }, - $signature: 54 + $signature: 58 }; A.promiseToFuture_closure0.prototype = { call$1(error) { this.completer.completeError$1(error); }, - $signature: 54 + $signature: 58 }; A.futureToPromise_closure.prototype = { call$2(resolve, reject) { this.future.then$1$2$onError(0, new A.futureToPromise__closure(resolve, this.T), reject, type$.dynamic); }, - $signature: 608 + $signature: 298 }; A.futureToPromise__closure.prototype = { call$1(result) { @@ -42937,14 +45326,12 @@ self.util = _cliPkgRequires.util; next = path.charCodeAt(t3); if (t2.isSeparator$1(next)) continue; + t3 = false; if (!beginning) if (next === 46) { t3 = i + 2; t3 = t3 === t1 || t2.isSeparator$1(path.charCodeAt(t3)); - } else - t3 = false; - else - t3 = false; + } if (t3) return null; } @@ -42990,19 +45377,19 @@ self.util = _cliPkgRequires.util; call$1(part) { return part !== ""; }, - $signature: 4 + $signature: 5 }; A.Context_split_closure.prototype = { call$1(part) { return part.length !== 0; }, - $signature: 4 + $signature: 5 }; A._validateArgList_closure.prototype = { call$1(arg) { return arg == null ? "null" : '"' + arg + '"'; }, - $signature: 626 + $signature: 305 }; A._PathDirection.prototype = { toString$0(_) { @@ -43159,7 +45546,7 @@ self.util = _cliPkgRequires.util; call$1(p) { return p !== ""; }, - $signature: 257 + $signature: 229 }; A.ParsedPath__splitExtension_closure0.prototype = { call$0() { @@ -43185,19 +45572,19 @@ self.util = _cliPkgRequires.util; return false; return this._box_0.context._isWithinOrEquals$2(path1, path2) === B._PathRelation_equal; }, - $signature: 569 + $signature: 316 }; A.PathMap__create_closure0.prototype = { call$1(path) { return path == null ? 0 : this._box_0.context.hash$1(path); }, - $signature: 562 + $signature: 317 }; A.PathMap__create_closure1.prototype = { call$1(path) { return typeof path == "string" || path == null; }, - $signature: 128 + $signature: 180 }; A.Style.prototype = { toString$0(_) { @@ -43446,7 +45833,7 @@ self.util = _cliPkgRequires.util; call$1(part) { return part !== ""; }, - $signature: 4 + $signature: 5 }; A.Version.prototype = { get$min() { @@ -43548,7 +45935,7 @@ self.util = _cliPkgRequires.util; var t1 = A.Primitives_parseInt(part, null); return t1 == null ? part : t1; }, - $signature: 530 + $signature: 321 }; A.VersionRange.prototype = { $eq(_, other) { @@ -43557,15 +45944,13 @@ self.util = _cliPkgRequires.util; return false; if (!type$.VersionRange._is(other)) return false; + t1 = false; if (this.min == other.get$min()) if (J.$eq$(this.max, other.get$max())) { t1 = !other.get$includeMin(); if (t1) other.get$includeMax(); - } else - t1 = false; - else - t1 = false; + } return t1; }, get$hashCode(_) { @@ -43844,6 +46229,9 @@ self.util = _cliPkgRequires.util; } }; A.ModifiableCssNode.prototype = { + get$parent(_) { + return this._parent; + }, get$hasFollowingSibling() { var t2, t1 = this._parent; @@ -43865,7 +46253,7 @@ self.util = _cliPkgRequires.util; call$1(sibling) { return !sibling.accept$1(B._IsInvisibleVisitor_true_false); }, - $signature: 111 + $signature: 327 }; A.ModifiableCssParentNode.prototype = { get$isChildless() { @@ -43909,6 +46297,7 @@ self.util = _cliPkgRequires.util; copyWithoutChildren$0() { return A.ModifiableCssStyleRule$(this._style_rule$_selector, this.span, false, this.originalSelector); }, + $isCssStyleRule: 1, get$span(receiver) { return this.span; } @@ -43957,7 +46346,8 @@ self.util = _cliPkgRequires.util; }; A.CssNode.prototype = { toString$0(_) { - return A.serialize(this, true, null, true, null, false, null, true)._0; + var _null = null; + return A.serialize(this, true, _null, true, _null, _null, false, _null, true)._0; }, $isAstNode: 1 }; @@ -43976,6 +46366,9 @@ self.util = _cliPkgRequires.util; }; A.__IsInvisibleVisitor_Object_EveryCssVisitor.prototype = {}; A.CssStylesheet.prototype = { + get$parent(_) { + return null; + }, get$isGroupEnd() { return false; }, @@ -44181,13 +46574,13 @@ self.util = _cliPkgRequires.util; call$1(argument) { return argument.name; }, - $signature: 525 + $signature: 337 }; A.ArgumentDeclaration_verify_closure0.prototype = { call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A.ArgumentInvocation.prototype = { get$isEmpty(_) { @@ -44276,95 +46669,7 @@ self.util = _cliPkgRequires.util; return this.span; } }; - A._IsCalculationSafeVisitor.prototype = { - visitBinaryOperationExpression$1(node) { - var t1; - if (B.Set_mqKz.contains$1(0, node.operator)) - t1 = node.left.accept$1(this) || node.right.accept$1(this); - else - t1 = false; - return t1; - }, - visitBooleanExpression$1(node) { - return false; - }, - visitColorExpression$1(node) { - return false; - }, - visitFunctionExpression$1(node) { - return true; - }, - visitInterpolatedFunctionExpression$1(node) { - return true; - }, - visitIfExpression$1(node) { - return true; - }, - visitListExpression$1(node) { - var t1; - if (node.separator === B.ListSeparator_nbm) - if (!node.hasBrackets) { - t1 = node.contents; - t1 = t1.length > 1 && B.JSArray_methods.every$1(t1, new A._IsCalculationSafeVisitor_visitListExpression_closure(this)); - } else - t1 = false; - else - t1 = false; - return t1; - }, - visitMapExpression$1(node) { - return false; - }, - visitNullExpression$1(node) { - return false; - }, - visitNumberExpression$1(node) { - return true; - }, - visitParenthesizedExpression$1(node) { - return node.expression.accept$1(this); - }, - visitSelectorExpression$1(node) { - return false; - }, - visitStringExpression$1(node) { - var text, t1, t2; - if (node.hasQuotes) - return false; - text = node.text.get$initialPlain(); - if (!B.JSString_methods.startsWith$1(text, "!")) - if (!B.JSString_methods.startsWith$1(text, "#")) { - t1 = text.length; - if ((1 >= t1 ? null : text.charCodeAt(1)) !== 43) { - t2 = (3 >= t1 ? null : text.charCodeAt(3)) !== 40; - t1 = t2; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; - return t1; - }, - visitSupportsExpression$1(node) { - return false; - }, - visitUnaryOperationExpression$1(node) { - return false; - }, - visitValueExpression$1(node) { - return false; - }, - visitVariableExpression$1(node) { - return true; - } - }; - A._IsCalculationSafeVisitor_visitListExpression_closure.prototype = { - call$1(expression) { - return expression.accept$1(this.$this); - }, - $signature: 110 - }; + A.Expression.prototype = {$isAstNode: 1}; A.BinaryOperationExpression.prototype = { get$span(_) { var right, @@ -44404,13 +46709,13 @@ self.util = _cliPkgRequires.util; return t1; }, accept$1$1(visitor) { - return visitor.visitBinaryOperationExpression$1(this); + return visitor.visitBinaryOperationExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { - var t1, t2, right, operator, t3, _this = this, + var t1, t2, right, t3, operator, _this = this, _0_0 = _this.left; $label0$0: { if (_0_0 instanceof A.BinaryOperationExpression) { @@ -44431,20 +46736,21 @@ self.util = _cliPkgRequires.util; t1 = t1 + A.Primitives_stringFromCharCode(32) + t2.operator + A.Primitives_stringFromCharCode(32); right = _this.right; $label1$1: { + t3 = false; if (right instanceof A.BinaryOperationExpression) { operator = right.operator; if (operator.precedence <= t2.precedence) { t3 = !(operator === t2 && operator.isAssociative); t2 = t3; } else - t2 = false; + t2 = t3; break $label1$1; } if (right instanceof A.ListExpression && !right.hasBrackets && right.contents.length >= 2) { t2 = true; break $label1$1; } - t2 = false; + t2 = t3; break $label1$1; } if (t2) @@ -44453,9 +46759,7 @@ self.util = _cliPkgRequires.util; if (t2) t1 += A.Primitives_stringFromCharCode(41); return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - $isAstNode: 1, - $isExpression: 1 + } }; A.BinaryOperator.prototype = { _enumToString$0() { @@ -44467,7 +46771,7 @@ self.util = _cliPkgRequires.util; }; A.BooleanExpression.prototype = { accept$1$1(visitor) { - return visitor.visitBooleanExpression$1(this); + return visitor.visitBooleanExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44475,15 +46779,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return String(this.value); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.ColorExpression.prototype = { accept$1$1(visitor) { - return visitor.visitColorExpression$1(this); + return visitor.visitColorExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44491,8 +46793,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return A.serializeValue(this.value, true, true); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } @@ -44504,7 +46804,7 @@ self.util = _cliPkgRequires.util; return A.SpanExtensions_initialIdentifier(A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier(this.span), 1, null)); }, accept$1$1(visitor) { - return visitor.visitFunctionExpression$1(this); + return visitor.visitFunctionExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44515,15 +46815,13 @@ self.util = _cliPkgRequires.util; t1 += this.originalName + this.$arguments.toString$0(0); return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.IfExpression.prototype = { accept$1$1(visitor) { - return visitor.visitIfExpression$1(this); + return visitor.visitIfExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44531,15 +46829,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "if" + this.$arguments.toString$0(0); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.InterpolatedFunctionExpression.prototype = { accept$1$1(visitor) { - return visitor.visitInterpolatedFunctionExpression$1(this); + return visitor.visitInterpolatedFunctionExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44547,15 +46843,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return this.name.toString$0(0) + this.$arguments.toString$0(0); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.ListExpression.prototype = { accept$1$1(visitor) { - return visitor.visitListExpression$1(this); + return visitor.visitListExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44613,8 +46907,6 @@ self.util = _cliPkgRequires.util; } return t1; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } @@ -44623,11 +46915,11 @@ self.util = _cliPkgRequires.util; call$1(element) { return this.$this._list0$_elementNeedsParens$1(element) ? "(" + element.toString$0(0) + ")" : element.toString$0(0); }, - $signature: 136 + $signature: 119 }; A.MapExpression.prototype = { accept$1$1(visitor) { - return visitor.visitMapExpression$1(this); + return visitor.visitMapExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44643,15 +46935,13 @@ self.util = _cliPkgRequires.util; } return "(" + B.JSArray_methods.join$1(t1, ", ") + ")"; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.NullExpression.prototype = { accept$1$1(visitor) { - return visitor.visitNullExpression$1(this); + return visitor.visitNullExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44659,15 +46949,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "null"; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.NumberExpression.prototype = { accept$1$1(visitor) { - return visitor.visitNumberExpression$1(this); + return visitor.visitNumberExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44675,15 +46963,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return A.serializeValue(A.SassNumber_SassNumber(this.value, this.unit), true, true); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.ParenthesizedExpression.prototype = { accept$1$1(visitor) { - return visitor.visitParenthesizedExpression$1(this); + return visitor.visitParenthesizedExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44691,15 +46977,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "(" + this.expression.toString$0(0) + ")"; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.SelectorExpression.prototype = { accept$1$1(visitor) { - return visitor.visitSelectorExpression$1(this); + return visitor.visitSelectorExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44707,8 +46991,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "&"; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } @@ -44718,13 +47000,13 @@ self.util = _cliPkgRequires.util; return this.text.span; }, accept$1$1(visitor) { - return visitor.visitStringExpression$1(this); + return visitor.visitStringExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, asInterpolation$1$static($static) { - var t1, t2, quote, t3, t4, buffer, t5, t6, _i, value; + var t1, t2, quote, t3, t4, t5, buffer, t6, i, value, t7; if (!this.hasQuotes) return this.text; t1 = this.text; @@ -44732,14 +47014,17 @@ self.util = _cliPkgRequires.util; quote = A.StringExpression__bestQuote(new A.WhereTypeIterable(t2, type$.WhereTypeIterable_String)); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t3, t4); - t5 = A.Primitives_stringFromCharCode(quote); - t3._contents += t5; - for (t5 = t2.length, t6 = type$.Expression, _i = 0; _i < t5; ++_i) { - value = t2[_i]; - if (t6._is(value)) { + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer(t3, t4, t5); + t6 = A.Primitives_stringFromCharCode(quote); + t3._contents += t6; + for (t6 = t2.length, i = 0; i < t6; ++i) { + value = t2[i]; + if (value instanceof A.Expression) { + t7 = t1.spanForElement$1(i); buffer._flushText$0(); t4.push(value); + t5.push(t7); continue; } if (typeof value == "string") @@ -44754,9 +47039,7 @@ self.util = _cliPkgRequires.util; }, toString$0(_) { return this.asInterpolation$0().toString$0(0); - }, - $isAstNode: 1, - $isExpression: 1 + } }; A.SupportsExpression.prototype = { get$span(_) { @@ -44764,20 +47047,18 @@ self.util = _cliPkgRequires.util; return t1.get$span(t1); }, accept$1$1(visitor) { - return visitor.visitSupportsExpression$1(this); + return visitor.visitSupportsExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { return this.condition.toString$0(0); - }, - $isAstNode: 1, - $isExpression: 1 + } }; A.UnaryOperationExpression.prototype = { accept$1$1(visitor) { - return visitor.visitUnaryOperationExpression$1(this); + return visitor.visitUnaryOperationExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44789,13 +47070,10 @@ self.util = _cliPkgRequires.util; t1 = t1 === B.UnaryOperator_not_not_not ? t2 + A.Primitives_stringFromCharCode(32) : t2; operand = this.operand; $label0$0: { + t2 = true; if (!(operand instanceof A.BinaryOperationExpression)) if (!(operand instanceof A.UnaryOperationExpression)) t2 = operand instanceof A.ListExpression && !operand.hasBrackets && operand.contents.length >= 2; - else - t2 = true; - else - t2 = true; if (t2) break $label0$0; break $label0$0; @@ -44807,8 +47085,6 @@ self.util = _cliPkgRequires.util; t1 += "41"; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } @@ -44823,23 +47099,21 @@ self.util = _cliPkgRequires.util; }; A.ValueExpression.prototype = { accept$1$1(visitor) { - return visitor.visitValueExpression$1(this); + return visitor.visitValueExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { - return A.serializeValue(this.value, true, true); + return this.value.toString$0(0); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } }; A.VariableExpression.prototype = { accept$1$1(visitor) { - return visitor.visitVariableExpression$1(this); + return visitor.visitVariableExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44848,8 +47122,6 @@ self.util = _cliPkgRequires.util; var t1 = this.span; return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null); }, - $isAstNode: 1, - $isExpression: 1, get$span(receiver) { return this.span; } @@ -44878,7 +47150,7 @@ self.util = _cliPkgRequires.util; }; A.Interpolation.prototype = { get$asPlain() { - var _0_1, t1, _0_6_isSet, _0_6, first, _null = null, + var _0_1, t1, _0_6_isSet, _0_6, _0_60, first, _0_0 = this.contents; $label0$0: { _0_1 = _0_0.length; @@ -44887,37 +47159,37 @@ self.util = _cliPkgRequires.util; break $label0$0; } _0_6_isSet = _0_1 === 1; + _0_6 = null; if (_0_6_isSet) { - _0_6 = _0_0[0]; - t1 = _0_6; + _0_60 = _0_0[0]; + t1 = _0_60; + _0_6 = t1; t1 = typeof t1 == "string"; - } else { - _0_6 = _null; + } else t1 = false; - } if (t1) { first = A._asString(_0_6_isSet ? _0_6 : _0_0[0]); t1 = first; break $label0$0; } - t1 = _null; + t1 = null; break $label0$0; } return t1; }, get$initialPlain() { - var _0_4_isSet, _0_4, t1, first, + var _0_4_isSet, _0_4, _0_40, t1, first, _0_0 = this.contents; $label0$0: { _0_4_isSet = _0_0.length >= 1; + _0_4 = null; if (_0_4_isSet) { - _0_4 = _0_0[0]; - t1 = _0_4; + _0_40 = _0_0[0]; + t1 = _0_40; + _0_4 = t1; t1 = typeof t1 == "string"; - } else { - _0_4 = null; + } else t1 = false; - } if (t1) { first = A._asString(_0_4_isSet ? _0_4 : _0_0[0]); t1 = first; @@ -44928,16 +47200,53 @@ self.util = _cliPkgRequires.util; } return t1; }, - Interpolation$2(contents, span) { - var t1, t2, t3, i, t4, t5, + spanForElement$1(index) { + var t1, t2, t3, t4, _this = this; + $label0$0: { + if (typeof _this.contents[index] == "string") { + t1 = _this.span; + t2 = t1.file; + if (index === 0) + t3 = A.FileLocation$_(t2, t1._file$_start); + else { + t3 = _this.spans[index - 1]; + t3.toString; + t3 = J.get$end$z(t3); + } + t4 = _this.spans; + if (index === t4.length) + t1 = A.FileLocation$_(t2, t1._end); + else { + t1 = t4[index + 1]; + t1.toString; + t1 = J.get$start$z(t1); + } + t1 = t2.span$2(0, t3.offset, t1.offset); + break $label0$0; + } + t1 = _this.spans[index]; + t1.toString; + break $label0$0; + } + return t1; + }, + Interpolation$3(contents, spans, span) { + var t1, t2, t3, t4, i, t5, isString, _s5_ = "spans", _s8_ = "contents"; - for (t1 = this.contents, t2 = t1.length, t3 = type$.Expression, i = 0; i < t2; ++i) { - t4 = t1[i]; - t5 = typeof t4 == "string"; - if (!t5 && !t3._is(t4)) - throw A.wrapException(A.ArgumentError$value(t1, _s8_, string$.May_on)); - if (i !== 0 && typeof t1[i - 1] == "string" && t5) - throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings.")); + if (spans.length !== J.get$length$asx(contents)) + throw A.wrapException(A.ArgumentError$value(this.spans, _s5_, "Must be the same length as contents.")); + for (t1 = this.contents, t2 = t1.length, t3 = spans.length, t4 = this.spans, i = 0; i < t2; ++i) { + t5 = t1[i]; + isString = typeof t5 == "string"; + if (!isString && !(t5 instanceof A.Expression)) + throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May only contain Strings or Expressions.")); + else if (isString) { + if (i !== 0 && typeof t1[i - 1] == "string") + throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings.")); + else if (i < t3 && t4[i] != null) + throw A.wrapException(A.ArgumentError$value(t4, _s5_, string$.May_no + i + ").")); + } else if (i >= t3 || t4[i] == null) + throw A.wrapException(A.ArgumentError$value(t4, _s5_, string$.Must_n + i + ").")); } }, toString$0(_) { @@ -44953,11 +47262,12 @@ self.util = _cliPkgRequires.util; call$1(value) { return typeof value == "string" ? value : "#{" + A.S(value) + "}"; }, - $signature: 117 + $signature: 120 }; + A.Statement.prototype = {$isAstNode: 1}; A.AtRootRule.prototype = { accept$1$1(visitor) { - return visitor.visitAtRootRule$1(this); + return visitor.visitAtRootRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -44976,7 +47286,7 @@ self.util = _cliPkgRequires.util; }; A.AtRule.prototype = { accept$1$1(visitor) { - return visitor.visitAtRule$1(this); + return visitor.visitAtRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45002,7 +47312,7 @@ self.util = _cliPkgRequires.util; }; A.ContentBlock.prototype = { accept$1$1(visitor) { - return visitor.visitContentBlock$1(this); + return visitor.visitContentBlock$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45017,7 +47327,7 @@ self.util = _cliPkgRequires.util; }; A.ContentRule.prototype = { accept$1$1(visitor) { - return visitor.visitContentRule$1(this); + return visitor.visitContentRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45026,15 +47336,13 @@ self.util = _cliPkgRequires.util; var t1 = this.$arguments; return t1.get$isEmpty(0) ? "@content;" : "@content(" + t1.toString$0(0) + ");"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.DebugRule.prototype = { accept$1$1(visitor) { - return visitor.visitDebugRule$1(this); + return visitor.visitDebugRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45042,15 +47350,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@debug " + this.expression.toString$0(0) + ";"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.Declaration.prototype = { accept$1$1(visitor) { - return visitor.visitDeclaration$1(this); + return visitor.visitDeclaration$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45079,7 +47385,7 @@ self.util = _cliPkgRequires.util; }; A.EachRule.prototype = { accept$1$1(visitor) { - return visitor.visitEachRule$1(this); + return visitor.visitEachRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45097,11 +47403,11 @@ self.util = _cliPkgRequires.util; call$1(variable) { return "$" + variable; }, - $signature: 5 + $signature: 6 }; A.ErrorRule.prototype = { accept$1$1(visitor) { - return visitor.visitErrorRule$1(this); + return visitor.visitErrorRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45109,15 +47415,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@error " + this.expression.toString$0(0) + ";"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.ExtendRule.prototype = { accept$1$1(visitor) { - return visitor.visitExtendRule$1(this); + return visitor.visitExtendRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45127,15 +47431,13 @@ self.util = _cliPkgRequires.util; t2 = this.isOptional ? " !optional" : ""; return "@extend " + t1 + t2 + ";"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.ForRule.prototype = { accept$1$1(visitor) { - return visitor.visitForRule$1(this); + return visitor.visitForRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45153,7 +47455,7 @@ self.util = _cliPkgRequires.util; }; A.ForwardRule.prototype = { accept$1$1(visitor) { - return visitor.visitForwardRule$1(this); + return visitor.visitForwardRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45188,15 +47490,13 @@ self.util = _cliPkgRequires.util; t1.push("$" + t2.get$current(0)); return B.JSArray_methods.join$1(t1, ", "); }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.FunctionRule.prototype = { accept$1$1(visitor) { - return visitor.visitFunctionRule$1(this); + return visitor.visitFunctionRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45208,7 +47508,7 @@ self.util = _cliPkgRequires.util; }; A.IfRule.prototype = { accept$1$1(visitor) { - return visitor.visitIfRule$1(this); + return visitor.visitIfRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45218,8 +47518,6 @@ self.util = _cliPkgRequires.util; lastClause = this.lastClause; return lastClause != null ? result + (" " + lastClause.toString$0(0)) : result; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } @@ -45229,7 +47527,7 @@ self.util = _cliPkgRequires.util; var t1 = index === 0 ? "if" : "else if"; return "@" + t1 + " " + clause.expression.toString$0(0) + " {" + B.JSArray_methods.join$1(clause.children, " ") + "}"; }, - $signature: 507 + $signature: 415 }; A.IfRuleClause.prototype = {}; A.IfRuleClause$__closure.prototype = { @@ -45255,7 +47553,7 @@ self.util = _cliPkgRequires.util; call$1($import) { return $import instanceof A.DynamicImport; }, - $signature: 154 + $signature: 159 }; A.IfClause.prototype = { toString$0(_) { @@ -45269,7 +47567,7 @@ self.util = _cliPkgRequires.util; }; A.ImportRule.prototype = { accept$1$1(visitor) { - return visitor.visitImportRule$1(this); + return visitor.visitImportRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45277,8 +47575,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@import " + B.JSArray_methods.join$1(this.imports, ", ") + ";"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } @@ -45312,7 +47608,7 @@ self.util = _cliPkgRequires.util; return A.SpanExtensions_initialIdentifier(this.namespace != null ? A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier(startSpan), 1, _null) : startSpan); }, accept$1$1(visitor) { - return visitor.visitIncludeRule$1(this); + return visitor.visitIncludeRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45329,8 +47625,6 @@ self.util = _cliPkgRequires.util; t1 += t2 == null ? ";" : " " + t2.toString$0(0); return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } @@ -45340,20 +47634,18 @@ self.util = _cliPkgRequires.util; return this.text.span; }, accept$1$1(visitor) { - return visitor.visitLoudComment$1(this); + return visitor.visitLoudComment$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { return this.text.toString$0(0); - }, - $isAstNode: 1, - $isStatement: 1 + } }; A.MediaRule.prototype = { accept$1$1(visitor) { - return visitor.visitMediaRule$1(this); + return visitor.visitMediaRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45379,7 +47671,7 @@ self.util = _cliPkgRequires.util; return value; }, accept$1$1(visitor) { - return visitor.visitMixinRule$1(this); + return visitor.visitMixinRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45395,12 +47687,12 @@ self.util = _cliPkgRequires.util; } }; A._HasContentVisitor.prototype = { - visitContentRule$1(_) { + visitContentRule$1(_, _0) { return true; } }; A.__HasContentVisitor_Object_StatementSearchVisitor.prototype = {}; - A.ParentStatement.prototype = {$isAstNode: 1, $isStatement: 1}; + A.ParentStatement.prototype = {}; A.ParentStatement_closure.prototype = { call$1(child) { var t1; @@ -45424,11 +47716,11 @@ self.util = _cliPkgRequires.util; call$1($import) { return $import instanceof A.DynamicImport; }, - $signature: 154 + $signature: 159 }; A.ReturnRule.prototype = { accept$1$1(visitor) { - return visitor.visitReturnRule$1(this); + return visitor.visitReturnRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45436,15 +47728,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@return " + this.expression.toString$0(0) + ";"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.SilentComment.prototype = { accept$1$1(visitor) { - return visitor.visitSilentComment$1(this); + return visitor.visitSilentComment$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45452,15 +47742,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return this.text; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.StyleRule.prototype = { accept$1$1(visitor) { - return visitor.visitStyleRule$1(this); + return visitor.visitStyleRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45474,7 +47762,7 @@ self.util = _cliPkgRequires.util; } }; A.Stylesheet.prototype = { - Stylesheet$internal$3$plainCss(children, span, plainCss) { + Stylesheet$internal$4$plainCss(children, span, parseTimeWarnings, plainCss) { var t1, t2, t3, t4, _i, child; for (t1 = this.children, t2 = t1.length, t3 = this._forwards, t4 = this._uses, _i = 0; _i < t2; ++_i) { child = t1[_i]; @@ -45492,7 +47780,7 @@ self.util = _cliPkgRequires.util; } }, accept$1$1(visitor) { - return visitor.visitStylesheet$1(this); + return visitor.visitStylesheet$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45507,7 +47795,7 @@ self.util = _cliPkgRequires.util; }; A.SupportsRule.prototype = { accept$1$1(visitor) { - return visitor.visitSupportsRule$1(this); + return visitor.visitSupportsRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45530,7 +47818,7 @@ self.util = _cliPkgRequires.util; } }, accept$1$1(visitor) { - return visitor.visitUseRule$1(this); + return visitor.visitUseRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45549,15 +47837,13 @@ self.util = _cliPkgRequires.util; t1 = (t2.length !== 0 ? t1 + (" with (" + B.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";"; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.VariableDeclaration.prototype = { accept$1$1(visitor) { - return visitor.visitVariableDeclaration$1(this); + return visitor.visitVariableDeclaration$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45568,15 +47854,13 @@ self.util = _cliPkgRequires.util; t1 += "$" + this.name + ": " + this.expression.toString$0(0) + ";"; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.WarnRule.prototype = { accept$1$1(visitor) { - return visitor.visitWarnRule$1(this); + return visitor.visitWarnRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45584,15 +47868,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@warn " + this.expression.toString$0(0) + ";"; }, - $isAstNode: 1, - $isStatement: 1, get$span(receiver) { return this.span; } }; A.WhileRule.prototype = { accept$1$1(visitor) { - return visitor.visitWhileRule$1(this); + return visitor.visitWhileRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -45606,6 +47888,9 @@ self.util = _cliPkgRequires.util; } }; A.SupportsAnything.prototype = { + withSpan$1(span) { + return new A.SupportsAnything(this.contents, span); + }, toString$0(_) { return "(" + this.contents.toString$0(0) + ")"; }, @@ -45628,6 +47913,9 @@ self.util = _cliPkgRequires.util; } return t1; }, + withSpan$1(span) { + return new A.SupportsDeclaration(this.name, this.value, span); + }, toString$0(_) { return "(" + this.name.toString$0(0) + ": " + this.value.toString$0(0) + ")"; }, @@ -45637,6 +47925,9 @@ self.util = _cliPkgRequires.util; } }; A.SupportsFunction.prototype = { + withSpan$1(span) { + return new A.SupportsFunction(this.name, this.$arguments, span); + }, toString$0(_) { return this.name.toString$0(0) + "(" + this.$arguments.toString$0(0) + ")"; }, @@ -45646,6 +47937,9 @@ self.util = _cliPkgRequires.util; } }; A.SupportsInterpolation.prototype = { + withSpan$1(span) { + return new A.SupportsInterpolation(this.expression, span); + }, toString$0(_) { return "#{" + this.expression.toString$0(0) + "}"; }, @@ -45655,6 +47949,9 @@ self.util = _cliPkgRequires.util; } }; A.SupportsNegation.prototype = { + withSpan$1(span) { + return new A.SupportsNegation(this.condition, span); + }, toString$0(_) { var t1 = this.condition; if (t1 instanceof A.SupportsNegation || t1 instanceof A.SupportsOperation) @@ -45668,6 +47965,9 @@ self.util = _cliPkgRequires.util; } }; A.SupportsOperation.prototype = { + withSpan$1(span) { + return A.SupportsOperation$(this.left, this.right, this.operator, span); + }, toString$0(_) { var _this = this; return _this._operation$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation$_parenthesize$1(_this.right); @@ -45689,10 +47989,11 @@ self.util = _cliPkgRequires.util; assertNotBogus$1$name($name) { if (!this.accept$1(B._IsBogusVisitor_true)) return; - A.warnForDeprecation("$" + $name + ": " + (this.toString$0(0) + string$.x20is_nov), B.Deprecation_ido); + A.warnForDeprecation("$" + $name + ": " + (this.toString$0(0) + string$.x20is_nov), B.Deprecation_C9i); }, toString$0(_) { - var visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); + var _null = null, + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); this.accept$1(visitor); return visitor._serialize$_buffer.toString$0(0); }, @@ -45751,7 +48052,7 @@ self.util = _cliPkgRequires.util; call$1(component) { return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector); }, - $signature: 50 + $signature: 53 }; A._IsUselessVisitor.prototype = { visitComplexSelector$1(complex) { @@ -45765,7 +48066,7 @@ self.util = _cliPkgRequires.util; call$1(component) { return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector); }, - $signature: 50 + $signature: 53 }; A.__IsBogusVisitor_Object_AnySelectorVisitor.prototype = {}; A.__IsInvisibleVisitor_Object_AnySelectorVisitor.prototype = {}; @@ -45837,20 +48138,19 @@ self.util = _cliPkgRequires.util; return value; }, get$singleCompound() { - var _0_0, _0_4, t1, selector, _null = null; + var _0_0, t1, _0_4, t2, selector, _null = null; if (this.leadingCombinators.length !== 0) return _null; _0_0 = this.components; $label0$0: { + t1 = false; if (_0_0.length === 1) { _0_4 = _0_0[0]; - t1 = _0_4; - selector = t1.selector; + t2 = _0_4; + selector = t2.selector; t1 = _0_4.combinators.length <= 0; - } else { + } else selector = _null; - t1 = false; - } if (t1) { t1 = selector; break $label0$0; @@ -45888,7 +48188,7 @@ self.util = _cliPkgRequires.util; if (_0_1 <= 0) { t1 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator); B.JSArray_methods.addAll$1(t1, combinators); - t1 = A.ComplexSelector$(t1, B.List_empty0, _this.span, _this.lineBreak); + t1 = A.ComplexSelector$(t1, B.List_empty2, _this.span, _this.lineBreak); break $label0$0; } throw A.wrapException(A.ReachabilityError$(string$.None_o)); @@ -45939,7 +48239,7 @@ self.util = _cliPkgRequires.util; call$2(sum, component) { return sum + component.selector.get$specificity(); }, - $signature: 372 + $signature: 483 }; A.ComplexSelectorComponent.prototype = { withAdditionalCombinators$1(combinators) { @@ -45977,7 +48277,7 @@ self.util = _cliPkgRequires.util; call$1(combinator) { return " " + combinator.toString$0(0); }, - $signature: 361 + $signature: 489 }; A.CompoundSelector.prototype = { get$specificity() { @@ -45991,6 +48291,17 @@ self.util = _cliPkgRequires.util; } return value; }, + get$hasComplicatedSuperselectorSemantics() { + var result, _this = this, + value = _this.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI; + if (value === $) { + result = B.JSArray_methods.any$1(_this.components, new A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure()); + _this.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI !== $ && A.throwUnnamedLateFieldADI(); + _this.__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = result; + value = result; + } + return value; + }, accept$1$1(visitor) { return visitor.visitCompoundSelector$1(this); }, @@ -46010,7 +48321,13 @@ self.util = _cliPkgRequires.util; call$2(sum, component) { return sum + component.get$specificity(); }, - $signature: 360 + $signature: 490 + }; + A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure.prototype = { + call$1(component) { + return component.get$hasComplicatedSuperselectorSemantics(); + }, + $signature: 13 }; A.IDSelector.prototype = { get$specificity() { @@ -46048,7 +48365,7 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 14 + $signature: 13 }; A.SelectorList.prototype = { get$asSassList() { @@ -46111,7 +48428,7 @@ self.util = _cliPkgRequires.util; try { if (!(parentSelector instanceof A.ParentSelector)) { t2 = component.span; - t2 = A._setArrayType([A.ComplexSelector$(B.List_empty1, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(resolvedSimples, t1.span), A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator), t2)], type$.JSArray_ComplexSelectorComponent), t2, false)], type$.JSArray_ComplexSelector); + t2 = A._setArrayType([A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(resolvedSimples, t1.span), A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator), t2)], type$.JSArray_ComplexSelectorComponent), t2, false)], type$.JSArray_ComplexSelector); return t2; } else if (J.get$length$asx(simples) === 1 && parentSelector.suffix == null) { t1 = $parent.withAdditionalCombinators$1(component.combinators); @@ -46153,7 +48470,7 @@ self.util = _cliPkgRequires.util; }; A.SelectorList_asSassList_closure.prototype = { call$1(complex) { - var t3, t4, _i, component, t5, visitor, t6, t7, _i0, + var t3, t4, _i, component, t5, visitor, t6, t7, _i0, _null = null, t1 = type$.JSArray_Value, t2 = A._setArrayType([], t1); for (t3 = complex.leadingCombinators, t4 = t3.length, _i = 0; _i < t4; ++_i) @@ -46161,7 +48478,7 @@ self.util = _cliPkgRequires.util; for (t3 = complex.components, t4 = t3.length, _i = 0; _i < t4; ++_i) { component = t3[_i]; t5 = component.selector; - visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); t5.accept$1(visitor); t5 = A._setArrayType([new A.SassString(visitor._serialize$_buffer.toString$0(0), false)], t1); for (t6 = component.combinators, t7 = t6.length, _i0 = 0; _i0 < t7; ++_i0) @@ -46170,7 +48487,7 @@ self.util = _cliPkgRequires.util; } return A.SassList$(t2, B.ListSeparator_nbm, false); }, - $signature: 340 + $signature: 525 }; A.SelectorList_nestWithin_closure.prototype = { call$1(complex) { @@ -46212,14 +48529,14 @@ self.util = _cliPkgRequires.util; } return newComplexes; }, - $signature: 338 + $signature: 527 }; A.SelectorList_nestWithin__closure.prototype = { call$1(parentComplex) { var t1 = this.complex; return parentComplex.concatenate$2(t1, t1.span); }, - $signature: 57 + $signature: 63 }; A.SelectorList_nestWithin__closure0.prototype = { call$1(resolvedComplex) { @@ -46235,7 +48552,7 @@ self.util = _cliPkgRequires.util; } return A.ComplexSelector$(t1, resolvedComplex.components, t2.span, resolvedComplex.lineBreak); }, - $signature: 57 + $signature: 63 }; A.SelectorList__nestWithinCompound_closure.prototype = { call$1(simple) { @@ -46245,24 +48562,20 @@ self.util = _cliPkgRequires.util; selector = simple.selector; return selector != null && selector.accept$1(B.C__ParentSelectorVisitor) != null; }, - $signature: 14 + $signature: 13 }; A.SelectorList__nestWithinCompound_closure0.prototype = { call$1(simple) { - var _0_2, selector, t1; + var selector, t1, _0_2; $label0$0: { + selector = null; + t1 = false; if (simple instanceof A.PseudoSelector) { _0_2 = simple.selector; if (_0_2 != null) { selector = _0_2 == null ? type$.SelectorList._as(_0_2) : _0_2; t1 = selector.accept$1(B.C__ParentSelectorVisitor) != null; - } else { - selector = null; - t1 = false; } - } else { - selector = null; - t1 = false; } if (t1) { t1 = simple.withSelector$1(selector.nestWithin$2$implicitParent(this.parent, false)); @@ -46273,7 +48586,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 327 + $signature: 543 }; A.SelectorList__nestWithinCompound_closure1.prototype = { call$1(complex) { @@ -46317,13 +48630,13 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 57 + $signature: 63 }; A.SelectorList_withAdditionalCombinators_closure.prototype = { call$1(complex) { return complex.withAdditionalCombinators$1(this.combinators); }, - $signature: 57 + $signature: 63 }; A._ParentSelectorVisitor.prototype = { visitParentSelector$1(selector) { @@ -46365,6 +48678,9 @@ self.util = _cliPkgRequires.util; get$isHostContext() { return this.isClass && this.name === "host-context" && this.selector != null; }, + get$hasComplicatedSuperselectorSemantics() { + return !this.isClass || this.selector != null; + }, get$specificity() { var result, _this = this, value = _this.__PseudoSelector_specificity_FI; @@ -46393,19 +48709,16 @@ self.util = _cliPkgRequires.util; if (!B.JSArray_methods.every$1(compound, new A.PseudoSelector_unify_closure())) return null; } else { + t1 = false; if (compound.length === 1) { other = compound[0]; - if (!(other instanceof A.UniversalSelector)) + if (!(other instanceof A.UniversalSelector)) { if (other instanceof A.PseudoSelector) t1 = other.isClass && other.name === "host" || other.get$isHostContext(); - else - t1 = false; - else + } else t1 = true; - } else { + } else other = null; - t1 = false; - } if (t1) return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector)); } @@ -46493,13 +48806,13 @@ self.util = _cliPkgRequires.util; call$1(component) { return component.get$specificity(); }, - $signature: 176 + $signature: 199 }; A.PseudoSelector_specificity__closure0.prototype = { call$1(component) { return component.get$specificity(); }, - $signature: 176 + $signature: 199 }; A.PseudoSelector_unify_closure.prototype = { call$1(simple) { @@ -46510,7 +48823,7 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 14 + $signature: 13 }; A.QualifiedName.prototype = { $eq(_, other) { @@ -46531,24 +48844,24 @@ self.util = _cliPkgRequires.util; get$specificity() { return 1000; }, + get$hasComplicatedSuperselectorSemantics() { + return false; + }, addSuffix$1(suffix) { return A.throwExpression(A.MultiSpanSassException$('Selector "' + this.toString$0(0) + "\" can't have a suffix", this.span, "outer selector", A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String), null)); }, unify$1(compound) { - var other, t1, result, addedThis, _i, simple, _this = this; + var other, result, addedThis, _i, simple, _this = this, + t1 = false; if (compound.length === 1) { other = compound[0]; - if (!(other instanceof A.UniversalSelector)) + if (!(other instanceof A.UniversalSelector)) { if (other instanceof A.PseudoSelector) t1 = other.isClass && other.name === "host" || other.get$isHostContext(); - else - t1 = false; - else + } else t1 = true; - } else { + } else other = null; - t1 = false; - } if (t1) return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector)); if (B.JSArray_methods.contains$1(compound, _this)) @@ -46583,13 +48896,13 @@ self.util = _cliPkgRequires.util; var t1 = complex.components; return t1.length !== 0 && B.JSArray_methods.any$1(B.JSArray_methods.get$last(t1).selector.components, new A.SimpleSelector_isSuperselector__closure(this.$this)); }, - $signature: 16 + $signature: 19 }; A.SimpleSelector_isSuperselector__closure.prototype = { call$1(simple) { return this.$this.isSuperselector$1(simple); }, - $signature: 14 + $signature: 13 }; A.TypeSelector.prototype = { get$specificity() { @@ -46607,7 +48920,7 @@ self.util = _cliPkgRequires.util; }, unify$1(compound) { var unified, t1, - _0_0 = B.JSArray_methods.get$first(compound); + _0_0 = A.IterableExtensions_get_firstOrNull(compound); if (_0_0 instanceof A.UniversalSelector || _0_0 instanceof A.TypeSelector) { unified = A.unifyUniversalAndElement(this, B.JSArray_methods.get$first(compound)); if (unified == null) @@ -46622,19 +48935,18 @@ self.util = _cliPkgRequires.util; } }, isSuperselector$1(other) { - var t1, t2; - if (!this.super$SimpleSelector$isSuperselector(other)) + var t1, t2, t3; + if (!this.super$SimpleSelector$isSuperselector(other)) { + t1 = false; if (other instanceof A.TypeSelector) { - t1 = this.name; - t2 = other.name; - if (t1.name === t2.name) { - t1 = t1.namespace; - t1 = t1 === "*" || t1 == t2.namespace; - } else - t1 = false; - } else - t1 = false; - else + t2 = this.name; + t3 = other.name; + if (t2.name === t3.name) { + t1 = t2.namespace; + t1 = t1 === "*" || t1 == t3.namespace; + } + } + } else t1 = true; return t1; }, @@ -46659,12 +48971,14 @@ self.util = _cliPkgRequires.util; return this.accept$1$1(visitor, type$.dynamic); }, unify$1(compound) { - var _0_4, t1, rest, unified, _this = this, _null = null, + var _0_40, t1, rest, unified, t2, _this = this, _null = null, _0_1 = compound.length, - _0_4_isSet = _0_1 >= 1; + _0_4_isSet = _0_1 >= 1, + _0_4 = _null; if (_0_4_isSet) { - _0_4 = compound[0]; - t1 = _0_4; + _0_40 = compound[0]; + t1 = _0_40; + _0_4 = t1; if (!(t1 instanceof A.UniversalSelector)) t1 = _0_4 instanceof A.TypeSelector; else @@ -46672,7 +48986,6 @@ self.util = _cliPkgRequires.util; rest = t1 ? B.JSArray_methods.sublist$1(compound, 1) : _null; } else { rest = _null; - _0_4 = rest; t1 = false; } if (t1) { @@ -46683,22 +48996,21 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t1, rest); return t1; } + t1 = false; if (_0_1 === 1) { if (_0_4_isSet) - t1 = _0_4; + t2 = _0_4; else { _0_4 = compound[0]; - t1 = _0_4; + t2 = _0_4; _0_4_isSet = true; } - if (t1 instanceof A.PseudoSelector) { - t1 = _0_4_isSet ? _0_4 : compound[0]; - type$.PseudoSelector._as(t1); - t1 = t1.isClass && t1.name === "host" || t1.get$isHostContext(); - } else - t1 = false; - } else - t1 = false; + if (t2 instanceof A.PseudoSelector) { + t2 = _0_4_isSet ? _0_4 : compound[0]; + type$.PseudoSelector._as(t2); + t1 = t2.isClass && t2.name === "host" || t2.get$isHostContext(); + } + } if (t1) return _null; if (_0_1 <= 0) @@ -46741,7 +49053,7 @@ self.util = _cliPkgRequires.util; t1 = this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0); return t1; }, - $signature: 5 + $signature: 6 }; A.AsyncEnvironment.prototype = { closure$0() { @@ -46807,7 +49119,7 @@ self.util = _cliPkgRequires.util; } }, importForwards$1(module) { - var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this, + var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, t12, _length, _list, _this = this, forwarded = module._async_environment$_environment._async_environment$_forwardedModules; if (forwarded == null) return; @@ -46852,6 +49164,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { t5.remove$1(0, module); t11 = shadowed.variables; + t12 = false; if (t11.get$isEmpty(t11)) { t11 = shadowed.functions; if (t11.get$isEmpty(t11)) { @@ -46861,11 +49174,11 @@ self.util = _cliPkgRequires.util; t11 = t11.get$css(t11); t11 = J.get$isEmpty$asx(t11.get$children(t11)); } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; if (!t11) t5.$indexSet(0, shadowed, node); } @@ -46878,6 +49191,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { forwardedModules.remove$1(0, module); t8 = shadowed.variables; + t9 = false; if (t8.get$isEmpty(t8)) { t8 = shadowed.functions; if (t8.get$isEmpty(t8)) { @@ -46887,11 +49201,11 @@ self.util = _cliPkgRequires.util; t8 = t8.get$css(t8); t8 = J.get$isEmpty$asx(t8.get$children(t8)); } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; if (!t8) forwardedModules.$indexSet(0, shadowed, node); } @@ -47409,7 +49723,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().$index(0, this.name); }, - $signature: 318 + $signature: 566 }; A.AsyncEnvironment_setVariable_closure.prototype = { call$0() { @@ -47423,7 +49737,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().containsKey$1(this.name) ? module : null; }, - $signature: 317 + $signature: 575 }; A.AsyncEnvironment_setVariable_closure1.prototype = { call$0() { @@ -47437,25 +49751,25 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$functions(module).$index(0, this.name); }, - $signature: 178 + $signature: 200 }; A.AsyncEnvironment__getMixinFromGlobalModule_closure.prototype = { call$1(module) { return module.get$mixins().$index(0, this.name); }, - $signature: 178 + $signature: 200 }; A.AsyncEnvironment_toModule_closure.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable); }, - $signature: 179 + $signature: 206 }; A.AsyncEnvironment_toDummyModule_closure.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable); }, - $signature: 179 + $signature: 206 }; A._EnvironmentModule0.prototype = { get$url(_) { @@ -47539,37 +49853,37 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables(); }, - $signature: 313 + $signature: 274 }; A._EnvironmentModule__EnvironmentModule_closure6.prototype = { call$1(module) { return module.get$variableNodes(); }, - $signature: 312 + $signature: 277 }; A._EnvironmentModule__EnvironmentModule_closure7.prototype = { call$1(module) { return module.get$functions(module); }, - $signature: 184 + $signature: 208 }; A._EnvironmentModule__EnvironmentModule_closure8.prototype = { call$1(module) { return module.get$mixins(); }, - $signature: 184 + $signature: 208 }; A._EnvironmentModule__EnvironmentModule_closure9.prototype = { call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 134 + $signature: 133 }; A._EnvironmentModule__EnvironmentModule_closure10.prototype = { call$1(module) { return module.get$transitivelyContainsExtensions(); }, - $signature: 134 + $signature: 133 }; A.AsyncImportCache.prototype = { canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) { @@ -47578,7 +49892,7 @@ self.util = _cliPkgRequires.util; canonicalize$body$AsyncImportCache(_, url, baseImporter, baseUrl, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl), - $async$returnValue, $async$self = this, t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j; + $async$returnValue, $async$self = this, t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, result, _1_2, _2_0, _2_1, _2_5_isSet, _2_5, _2_3, _2_3_isSet, j; var $async$canonicalize$4$baseImporter$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -47637,17 +49951,16 @@ self.util = _cliPkgRequires.util; } else _1_0 = null; _1_2_isSet = t3._is(_1_0); + result = null; if (_1_2_isSet) { _1_2 = _1_0._0; t7 = _1_2 != null; if (t7) { t6._as(_1_2); result = _1_2; - } else - result = null; + } } else { _1_2 = null; - result = null; t7 = false; } if (t7) { @@ -47672,18 +49985,17 @@ self.util = _cliPkgRequires.util; _2_0 = $async$result; _2_1 = _2_0._0; _2_5_isSet = _2_1 != null; + _2_5 = null; + _2_3 = null; + t7 = false; if (_2_5_isSet) { result = _2_1 == null ? t6._as(_2_1) : _2_1; _2_3 = _2_0._1; t7 = _2_3; _2_5 = t7; t7 = t7 && cacheable; - } else { - _2_5 = null; - _2_3 = null; + } else result = null; - t7 = false; - } if (t7) { t1.$indexSet(0, key, result); $async$returnValue = result; @@ -47755,7 +50067,7 @@ self.util = _cliPkgRequires.util; _canonicalize$body$AsyncImportCache(importer, url, baseUrl, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_and_bool), - $async$returnValue, $async$self = this, t1, passContainingUrl, canonicalizeContext, result, cacheable; + $async$returnValue, t1, passContainingUrl, canonicalizeContext, result, cacheable; var $async$_async_import_cache$_canonicalize$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -47809,25 +50121,26 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - $async$goto = result.get$scheme() === "" ? 11 : 13; + $async$goto = result.get$scheme() !== "" ? 11 : 13; break; case 11: // then - A.WarnForDeprecation_warnForDeprecation($async$self._async_import_cache$_logger, B.Deprecation_IMm, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, null, null); - // goto join - $async$goto = 12; - break; - case 13: - // else t1 = A._Future$value(importer.isNonCanonicalScheme$1(result.get$scheme()), type$.bool); $async$goto = 14; return A._asyncAwait(t1, $async$_async_import_cache$_canonicalize$4); case 14: // returning from await. - if ($async$result) - throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu); + t1 = $async$result; + // goto join + $async$goto = 12; + break; + case 13: + // else + t1 = false; case 12: // join + if (t1) + throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu); $async$returnValue = new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable); // goto return $async$goto = 1; @@ -47839,17 +50152,14 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$_async_import_cache$_canonicalize$4, $async$completer); }, - importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) { - return this.importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl, quiet); - }, importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) { - return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false); + return this.importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl); }, - importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl, quiet) { + importCanonical$body$AsyncImportCache(importer, canonicalUrl, originalUrl) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet), $async$returnValue, $async$self = this; - var $async$importCanonical$4$originalUrl$quiet = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + var $async$importCanonical$3$originalUrl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); while (true) @@ -47857,7 +50167,7 @@ self.util = _cliPkgRequires.util; case 0: // Function start $async$goto = 3; - return A._asyncAwait(A.putIfAbsentAsync($async$self._async_import_cache$_importCache, canonicalUrl, new A.AsyncImportCache_importCanonical_closure($async$self, importer, canonicalUrl, originalUrl, quiet), type$.Uri, type$.nullable_Stylesheet), $async$importCanonical$4$originalUrl$quiet); + return A._asyncAwait(A.putIfAbsentAsync($async$self._async_import_cache$_importCache, canonicalUrl, new A.AsyncImportCache_importCanonical_closure($async$self, importer, canonicalUrl, originalUrl), type$.Uri, type$.nullable_Stylesheet), $async$importCanonical$3$originalUrl); case 3: // returning from await. $async$returnValue = $async$result; @@ -47869,13 +50179,12 @@ self.util = _cliPkgRequires.util; return A._asyncReturn($async$returnValue, $async$completer); } }); - return A._asyncStartSync($async$importCanonical$4$originalUrl$quiet, $async$completer); + return A._asyncStartSync($async$importCanonical$3$originalUrl, $async$completer); }, humanize$1(canonicalUrl) { - var t1 = A.IterableNullableExtension_whereNotNull(this._async_import_cache$_canonicalizeCache.get$values(0), type$.Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl), - t2 = t1.$ti; - t2 = A.NullableExtension_andThen(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.AsyncImportCache_humanize_closure(canonicalUrl), t2._eval$1("WhereIterable")), new A.AsyncImportCache_humanize_closure0(), t2._eval$1("MappedIterable")), new A.AsyncImportCache_humanize_closure1()), new A.AsyncImportCache_humanize_closure2(canonicalUrl)); - return t2 == null ? canonicalUrl : t2; + var t1 = type$.NonNullsIterable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl; + t1 = A.NullableExtension_andThen(A.minBy(new A.MappedIterable(new A.WhereIterable(new A.NonNullsIterable(this._async_import_cache$_canonicalizeCache.get$values(0), t1), new A.AsyncImportCache_humanize_closure(canonicalUrl), t1._eval$1("WhereIterable")), new A.AsyncImportCache_humanize_closure0(), t1._eval$1("MappedIterable")), new A.AsyncImportCache_humanize_closure1()), new A.AsyncImportCache_humanize_closure2(canonicalUrl)); + return t1 == null ? canonicalUrl : t1; }, sourceMapUrl$1(_, canonicalUrl) { var t1 = this._async_import_cache$_resultsCache.$index(0, canonicalUrl); @@ -47917,19 +50226,19 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 292 + $signature: 299 }; A.AsyncImportCache__canonicalize_closure.prototype = { call$0() { return this.importer.canonicalize$1(0, this.url); }, - $signature: 187 + $signature: 225 }; A.AsyncImportCache_importCanonical_closure.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet), - $async$returnValue, $async$self = this, t3, t4, t1, t2, result; + $async$returnValue, $async$self = this, t3, t1, t2, result; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -47950,12 +50259,11 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - t2 = $async$self.$this; - t2._async_import_cache$_resultsCache.$indexSet(0, t1, result); - t3 = result.contents; - t4 = result.syntax; + $async$self.$this._async_import_cache$_resultsCache.$indexSet(0, t1, result); + t2 = result.contents; + t3 = result.syntax; t1 = $async$self.originalUrl.resolveUri$1(t1); - $async$returnValue = A.Stylesheet_Stylesheet$parse(t3, t4, $async$self.quiet ? $.$get$Logger_quiet() : t2._async_import_cache$_logger, t1); + $async$returnValue = A.Stylesheet_Stylesheet$parse(t2, t3, t1); // goto return $async$goto = 1; break; @@ -47966,25 +50274,25 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 270 + $signature: 306 }; A.AsyncImportCache_humanize_closure.prototype = { call$1(result) { - return J.$eq$(result._1, this.canonicalUrl); + return result._1.$eq(0, this.canonicalUrl); }, - $signature: 278 + $signature: 308 }; A.AsyncImportCache_humanize_closure0.prototype = { call$1(result) { return result._2; }, - $signature: 289 + $signature: 311 }; A.AsyncImportCache_humanize_closure1.prototype = { call$1(url) { return url.get$path(url).length; }, - $signature: 85 + $signature: 87 }; A.AsyncImportCache_humanize_closure2.prototype = { call$1(url) { @@ -47992,12 +50300,15 @@ self.util = _cliPkgRequires.util; t2 = this.canonicalUrl; return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename()); }, - $signature: 46 + $signature: 50 }; A.AsyncBuiltInCallable.prototype = { callbackFor$2(positional, names) { return new A._Record_2(this._async_built_in$_arguments, this._async_built_in$_callback); }, + withDeprecationWarning$1(module) { + return new A.AsyncBuiltInCallable(this.name, this._async_built_in$_arguments, new A.AsyncBuiltInCallable_withDeprecationWarning_closure(this, module, null), false); + }, $isAsyncCallable: 1, get$name(receiver) { return this.name; @@ -48037,7 +50348,15 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 258 + $signature: 261 + }; + A.AsyncBuiltInCallable_withDeprecationWarning_closure.prototype = { + call$1(args) { + var t1 = this.$this; + A.warnForDeprecation(string$.Global + this.module + "." + t1.name + string$.x20inste, B.Deprecation_0Gh); + return t1._async_built_in$_callback.call$1(args); + }, + $signature: 320 }; A.BuiltInCallable.prototype = { callbackFor$2(positional, names) { @@ -48066,6 +50385,21 @@ self.util = _cliPkgRequires.util; withName$1($name) { return new A.BuiltInCallable($name, this._overloads, this.acceptsContent); }, + withDeprecationWarning$2(module, newName) { + var t2, t3, _i, t4, t5, _this = this, + t1 = A._setArrayType([], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value); + for (t2 = _this._overloads, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + t4 = {}; + t5 = t2[_i]; + t4.$function = null; + t4.$function = t5._1; + t1.push(new A._Record_2(t5._0, new A.BuiltInCallable_withDeprecationWarning_closure(t4, _this, module, newName))); + } + return new A.BuiltInCallable(_this.name, t1, _this.acceptsContent); + }, + withDeprecationWarning$1(module) { + return this.withDeprecationWarning$2(module, null); + }, $isCallable0: 1, $isAsyncCallable: 1, $isAsyncBuiltInCallable: 1, @@ -48081,7 +50415,18 @@ self.util = _cliPkgRequires.util; this.callback.call$1($arguments); return B.C__SassNull; }, - $signature: 6 + $signature: 4 + }; + A.BuiltInCallable_withDeprecationWarning_closure.prototype = { + call$1(args) { + var _this = this, + t1 = _this.newName; + if (t1 == null) + t1 = _this.$this.name; + A.warnForDeprecation(string$.Global + _this.module + "." + t1 + string$.x20inste, B.Deprecation_0Gh); + return _this._box_0.$function.call$1(args); + }, + $signature: 4 }; A.PlainCssCallable.prototype = { $eq(_, other) { @@ -48115,7 +50460,7 @@ self.util = _cliPkgRequires.util; t1 = this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0); return t1; }, - $signature: 5 + $signature: 6 }; A.CompileResult.prototype = {}; A.Configuration.prototype = { @@ -48168,7 +50513,7 @@ self.util = _cliPkgRequires.util; }; A.ConfiguredValue.prototype = { toString$0(_) { - return A.serializeValue(this.value, true, true); + return this.value.toString$0(0); } }; A.Deprecation.prototype = { @@ -48183,7 +50528,7 @@ self.util = _cliPkgRequires.util; call$1(deprecation) { return deprecation.id === this.id; }, - $signature: 301 + $signature: 323 }; A.Environment.prototype = { closure$0() { @@ -48249,7 +50594,7 @@ self.util = _cliPkgRequires.util; } }, importForwards$1(module) { - var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this, + var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, t12, _length, _list, _this = this, forwarded = module._environment$_environment._forwardedModules; if (forwarded == null) return; @@ -48294,6 +50639,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { t5.remove$1(0, module); t11 = shadowed.variables; + t12 = false; if (t11.get$isEmpty(t11)) { t11 = shadowed.functions; if (t11.get$isEmpty(t11)) { @@ -48303,11 +50649,11 @@ self.util = _cliPkgRequires.util; t11 = t11.get$css(t11); t11 = J.get$isEmpty$asx(t11.get$children(t11)); } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; if (!t11) t5.$indexSet(0, shadowed, node); } @@ -48320,6 +50666,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { forwardedModules.remove$1(0, module); t8 = shadowed.variables; + t9 = false; if (t8.get$isEmpty(t8)) { t8 = shadowed.functions; if (t8.get$isEmpty(t8)) { @@ -48329,11 +50676,11 @@ self.util = _cliPkgRequires.util; t8 = t8.get$css(t8); t8 = J.get$isEmpty$asx(t8.get$children(t8)); } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; if (!t8) forwardedModules.$indexSet(0, shadowed, node); } @@ -48742,7 +51089,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().$index(0, this.name); }, - $signature: 384 + $signature: 324 }; A.Environment_setVariable_closure.prototype = { call$0() { @@ -48756,7 +51103,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().containsKey$1(this.name) ? module : null; }, - $signature: 310 + $signature: 325 }; A.Environment_setVariable_closure1.prototype = { call$0() { @@ -48770,25 +51117,25 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$functions(module).$index(0, this.name); }, - $signature: 247 + $signature: 146 }; A.Environment__getMixinFromGlobalModule_closure.prototype = { call$1(module) { return module.get$mixins().$index(0, this.name); }, - $signature: 247 + $signature: 146 }; A.Environment_toModule_closure.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable); }, - $signature: 246 + $signature: 148 }; A.Environment_toDummyModule_closure.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable); }, - $signature: 246 + $signature: 148 }; A._EnvironmentModule.prototype = { get$url(_) { @@ -48872,37 +51219,37 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables(); }, - $signature: 316 + $signature: 328 }; A._EnvironmentModule__EnvironmentModule_closure0.prototype = { call$1(module) { return module.get$variableNodes(); }, - $signature: 319 + $signature: 334 }; A._EnvironmentModule__EnvironmentModule_closure1.prototype = { call$1(module) { return module.get$functions(module); }, - $signature: 237 + $signature: 150 }; A._EnvironmentModule__EnvironmentModule_closure2.prototype = { call$1(module) { return module.get$mixins(); }, - $signature: 237 + $signature: 150 }; A._EnvironmentModule__EnvironmentModule_closure3.prototype = { call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 130 + $signature: 117 }; A._EnvironmentModule__EnvironmentModule_closure4.prototype = { call$1(module) { return module.get$transitivelyContainsExtensions(); }, - $signature: 130 + $signature: 117 }; A.SassException.prototype = { get$trace(_) { @@ -49099,7 +51446,7 @@ self.util = _cliPkgRequires.util; call$1(url) { return this.options.sourceMapUrl$2(0, A.Uri_parse(url), this.destination).toString$0(0); }, - $signature: 5 + $signature: 6 }; A.ExecutableOptions.prototype = { get$interactive() { @@ -49267,24 +51614,24 @@ self.util = _cliPkgRequires.util; _splitSourceAndDestination$1(argument) { var t1, i, t2, t3, nextColon; for (t1 = argument.length, i = 0; i < t1; ++i) { + t2 = false; if (i === 1) { - t2 = i - 1; - if (t1 > t2 + 2) { - t3 = argument.charCodeAt(t2); - if (!(t3 >= 97 && t3 <= 122)) - t3 = t3 >= 65 && t3 <= 90; + t3 = i - 1; + if (t1 > t3 + 2) { + t2 = argument.charCodeAt(t3); + if (!(t2 >= 97 && t2 <= 122)) + t2 = t2 >= 65 && t2 <= 90; else - t3 = true; - t2 = t3 && argument.charCodeAt(t2 + 1) === 58; - } else - t2 = false; - } else - t2 = false; + t2 = true; + t2 = t2 && argument.charCodeAt(t3 + 1) === 58; + } + } if (t2) continue; if (argument.charCodeAt(i) === 58) { t2 = i + 1; nextColon = B.JSString_methods.indexOf$2(argument, ":", t2); + t3 = false; if (nextColon === i + 2) if (t1 > t2 + 2) { t1 = argument.charCodeAt(t2); @@ -49294,9 +51641,9 @@ self.util = _cliPkgRequires.util; t1 = true; t1 = t1 && argument.charCodeAt(t2 + 1) === 58; } else - t1 = false; + t1 = t3; else - t1 = false; + t1 = t3; if ((t1 ? B.JSString_methods.indexOf$2(argument, ":", nextColon + 1) : nextColon) !== -1) A.ExecutableOptions__fail('"' + argument + '" may only contain one ":".'); return new A._Record_2(B.JSString_methods.substring$2(argument, 0, i), B.JSString_methods.substring$1(argument, t2)); @@ -49417,7 +51764,7 @@ self.util = _cliPkgRequires.util; call$0() { var t1 = type$.String, t2 = A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.Option), - t3 = [], + t3 = A._setArrayType([], type$.JSArray_Object), parser = new A.ArgParser(t2, A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), new A.UnmodifiableMapView(t2, type$.UnmodifiableMapView_String_Option), new A.UnmodifiableMapView(A.LinkedHashMap_LinkedHashMap$_empty(t1, type$.ArgParser), type$.UnmodifiableMapView_String_ArgParser), t3, true, null); parser.addOption$2$hide("precision", true); parser.addFlag$2$hide("async", true); @@ -49455,7 +51802,7 @@ self.util = _cliPkgRequires.util; parser.addFlag$3$help$negatable("version", "Print the version of Dart Sass.", false); return parser; }, - $signature: 328 + $signature: 344 }; A.ExecutableOptions_interactive_closure.prototype = { call$0() { @@ -49468,13 +51815,13 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.UsageException$("--" + _0_0 + " isn't allowed with --interactive.")); return true; }, - $signature: 30 + $signature: 24 }; A.ExecutableOptions_emitErrorCss_closure.prototype = { call$1(destination) { return destination != null; }, - $signature: 257 + $signature: 229 }; A.ExecutableOptions_fatalDeprecations_closure.prototype = { call$0() { @@ -49489,7 +51836,7 @@ self.util = _cliPkgRequires.util; } try { argVersion = A.Version_Version$parse(id); - sassVersion = A.Version_Version$parse("1.77.4"); + sassVersion = A.Version_Version$parse("1.80.4"); if (J.compareTo$1$ns(argVersion, sassVersion) > 0) A.ExecutableOptions__fail("Invalid version " + A.S(argVersion) + ". --fatal-deprecation requires a version less than or equal to the current Dart Sass version."); J.addAll$1$ax(deprecations, A.Deprecation_forVersion(argVersion)); @@ -49502,20 +51849,47 @@ self.util = _cliPkgRequires.util; } return deprecations; }, - $signature: 330 + $signature: 345 }; A.UsageException.prototype = {$isException: 1, get$message(receiver) { return this.message; } }; + A.repl_warn.prototype = { + call$1(warning) { + var _0_1, _0_3, deprecation, t1, _0_2, span, _null = null; + $label0$0: { + _0_1 = warning._1; + _0_3 = _null; + deprecation = _null; + t1 = false; + _0_2 = warning._2; + _0_3 = warning._0; + t1 = _0_3 != null; + if (t1) + deprecation = _0_3 == null ? type$.Deprecation._as(_0_3) : _0_3; + span = _0_2; + if (t1) { + A.WarnForDeprecation_warnForDeprecation(this.logger, deprecation, _0_1, span, _null); + break $label0$0; + } + t1 = false; + t1 = _0_3 == null; + span = _0_2; + if (t1) + this.logger.internalWarn$4$deprecation$span$trace(_0_1, _null, span, _null); + } + }, + $signature: 351 + }; A.watch_closure.prototype = { call$1(dir) { for (; !A.dirExists(dir);) dir = $.$get$context().dirname$1(dir); return this.dirWatcher.watch$1(0, dir); }, - $signature: 332 + $signature: 360 }; A._Watcher.prototype = { _delete$1(path) { @@ -49883,7 +52257,7 @@ self.util = _cliPkgRequires.util; }, _debounceEvents$1(events) { var t1 = type$.WatchEvent; - t1 = A.RateLimit__debounceAggregate(events, A.Duration$(25), A.instantiate1(A.rate_limit___collect$closure(), t1), false, true, t1, type$.List_WatchEvent); + t1 = A.RateLimit__debounceAggregate(events, A.Duration$(0, 25), A.instantiate1(A.rate_limit___collect$closure(), t1), false, true, t1, type$.List_WatchEvent); return new A._ExpandStream(new A._Watcher__debounceEvents_closure(), t1, A._instanceType(t1)._eval$1("_ExpandStream")); }, _recompileDownstream$1(nodes) { @@ -50032,14 +52406,12 @@ self.util = _cliPkgRequires.util; for (t1 = A.MapExtensions_get_pairs(new A.PathMap(t2, type$.PathMap_ChangeType), type$.nullable_String, t1), t1 = t1.get$iterator(t1); t1.moveNext$0();) { t2 = t1.get$current(t1); _1_1 = t2._0; - t4 = _1_1; - t4.toString; _1_1.toString; t3.push(new A.WatchEvent(t2._1, _1_1)); } return t3; }, - $signature: 334 + $signature: 364 }; A.EmptyExtensionStore.prototype = { get$_extensions() { @@ -50582,7 +52954,7 @@ self.util = _cliPkgRequires.util; extended = this._extendCompound$4$inOriginal(component, extensions, mediaQueryContext, isOriginal); if (extended == null) { if (extendedNotExpanded != null) - extendedNotExpanded.push(A._setArrayType([A.ComplexSelector$(B.List_empty1, A._setArrayType([component], t10), t8, t6)], t9)); + extendedNotExpanded.push(A._setArrayType([A.ComplexSelector$(B.List_empty0, A._setArrayType([component], t10), t8, t6)], t9)); } else if (extendedNotExpanded != null) extendedNotExpanded.push(extended); else if (i !== 0) { @@ -50637,10 +53009,10 @@ self.util = _cliPkgRequires.util; compound = new A.CompoundSelector(t12, t10); if (t12.length === 0) A.throwExpression(A.ArgumentError$("components may not be empty.", _null)); - result = A.List_List$from(B.List_empty1, false, t6); + result = A.List_List$from(B.List_empty0, false, t6); result.fixed$length = Array; result.immutable$list = Array; - t12 = A.ComplexSelector$(B.List_empty1, A._setArrayType([new A.ComplexSelectorComponent(compound, result, t10)], t7), t10, false); + t12 = A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(compound, result, t10)], t7), t10, false); _this._sourceSpecificityFor$1(compound); options.push(A._setArrayType([new A.Extender(t12, true)], t5)); } @@ -50670,7 +53042,7 @@ self.util = _cliPkgRequires.util; t1 = t1 === B.ExtendMode_replace_replace; t4 = !t1; if (t4) - t3.push(A.ComplexSelector$(B.List_empty1, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(J.expand$1$1$ax(J.get$first$ax(extenderPaths), new A.ExtensionStore__extendCompound_closure(), t11), t2.span), A.List_List$unmodifiable(component.combinators, t6), t10)], t7), t10, false)); + t3.push(A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(J.expand$1$1$ax(J.get$first$ax(extenderPaths), new A.ExtensionStore__extendCompound_closure(), t11), t2.span), A.List_List$unmodifiable(component.combinators, t6), t10)], t7), t10, false)); t2 = J.skip$1$ax(extenderPaths, t1 ? 0 : 1); t5 = t2.$ti; t2 = new A.ListIterator(t2, t2.get$length(0), t5._eval$1("ListIterator")); @@ -50710,7 +53082,7 @@ self.util = _cliPkgRequires.util; } } if (originals != null) - toUnify.addFirst$1(A.ComplexSelector$(B.List_empty1, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(originals, span), A.List_List$unmodifiable(B.List_empty1, type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent), span, originalsLineBreak)); + toUnify.addFirst$1(A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(originals, span), A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), span)], type$.JSArray_ComplexSelectorComponent), span, originalsLineBreak)); complexes = A.unifyComplex(toUnify, span); if (complexes == null) return _null; @@ -50734,7 +53106,7 @@ self.util = _cliPkgRequires.util; }, _extenderForSimple$1(simple) { var t1 = simple.span; - t1 = A.ComplexSelector$(B.List_empty1, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(A._setArrayType([simple], type$.JSArray_SimpleSelector), t1), A.List_List$unmodifiable(B.List_empty1, type$.CssValue_Combinator), t1)], type$.JSArray_ComplexSelectorComponent), t1, false); + t1 = A.ComplexSelector$(B.List_empty0, A._setArrayType([new A.ComplexSelectorComponent(A.CompoundSelector$(A._setArrayType([simple], type$.JSArray_SimpleSelector), t1), A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), t1)], type$.JSArray_ComplexSelectorComponent), t1, false); this._sourceSpecificity.$index(0, simple); return new A.Extender(t1, true); }, @@ -50759,10 +53131,8 @@ self.util = _cliPkgRequires.util; return A._setArrayType([pseudo.withSelector$1(A.SelectorList$(complexes, selector.span))], type$.JSArray_PseudoSelector); }, _trim$2(selectors, isOriginal) { - var result, i, t1, t2, numOriginals, _box_0, complex1, j, t3, t4, _i, t5, maxSpecificity; - if (selectors.length > 100) - return selectors; - result = A.QueueList$(null, type$.ComplexSelector); + var i, t1, t2, numOriginals, _box_0, complex1, j, t3, t4, _i, t5, maxSpecificity, + result = A.QueueList$(null, type$.ComplexSelector); $label0$0: for (i = selectors.length - 1, t1 = A._arrayInstanceType(selectors), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), numOriginals = 0; i >= 0; --i) { _box_0 = {}; @@ -50827,25 +53197,25 @@ self.util = _cliPkgRequires.util; call$1(extension) { return !extension.isOptional; }, - $signature: 341 + $signature: 400 }; A.ExtensionStore__registerSelector_closure.prototype = { call$0() { return A.LinkedHashSet_LinkedHashSet$_empty(type$.ModifiableBox_SelectorList); }, - $signature: 342 + $signature: 401 }; A.ExtensionStore_addExtension_closure.prototype = { call$0() { return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector, type$.Extension); }, - $signature: 129 + $signature: 113 }; A.ExtensionStore_addExtension_closure0.prototype = { call$0() { return A._setArrayType([], type$.JSArray_Extension); }, - $signature: 221 + $signature: 165 }; A.ExtensionStore_addExtension_closure1.prototype = { call$0() { @@ -50857,26 +53227,26 @@ self.util = _cliPkgRequires.util; call$0() { return A._setArrayType([], type$.JSArray_Extension); }, - $signature: 221 + $signature: 165 }; A.ExtensionStore__extendExistingExtensions_closure0.prototype = { call$0() { return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector, type$.Extension); }, - $signature: 129 + $signature: 113 }; A.ExtensionStore_addExtensions_closure.prototype = { call$0() { return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector, type$.Extension); }, - $signature: 129 + $signature: 113 }; A.ExtensionStore__extendComplex_closure.prototype = { call$1(path) { var t1 = this.complex; return J.map$1$1$ax(A.weave(path, t1.span, t1.lineBreak), new A.ExtensionStore__extendComplex__closure(this._box_0, this.$this, t1), type$.ComplexSelector); }, - $signature: 345 + $signature: 421 }; A.ExtensionStore__extendComplex__closure.prototype = { call$1(outputComplex) { @@ -50887,25 +53257,25 @@ self.util = _cliPkgRequires.util; t1.first = false; return outputComplex; }, - $signature: 57 + $signature: 63 }; A.ExtensionStore__extendCompound_closure.prototype = { call$1(extender) { return B.JSArray_methods.get$last(extender.selector.components).selector.components; }, - $signature: 347 + $signature: 427 }; A.ExtensionStore__extendCompound_closure0.prototype = { call$1(_) { return false; }, - $signature: 16 + $signature: 19 }; A.ExtensionStore__extendCompound_closure1.prototype = { call$1(complex) { return complex.$eq(0, this.original); }, - $signature: 16 + $signature: 19 }; A.ExtensionStore__extendSimple_withoutPseudo.prototype = { call$1(simple) { @@ -50924,38 +53294,38 @@ self.util = _cliPkgRequires.util; t1.push(t2.get$current(t2).extender); return t1; }, - $signature: 349 + $signature: 442 }; A.ExtensionStore__extendSimple_closure.prototype = { call$1(pseudo) { var t1 = this.withoutPseudo.call$1(pseudo); return t1 == null ? A._setArrayType([this.$this._extenderForSimple$1(pseudo)], type$.JSArray_Extender) : t1; }, - $signature: 350 + $signature: 443 }; A.ExtensionStore__extendSimple_closure0.prototype = { call$1(result) { return A._setArrayType([result], type$.JSArray_List_Extender); }, - $signature: 351 + $signature: 446 }; A.ExtensionStore__extendPseudo_closure.prototype = { call$1(complex) { return complex.components.length > 1; }, - $signature: 16 + $signature: 19 }; A.ExtensionStore__extendPseudo_closure0.prototype = { call$1(complex) { return complex.components.length === 1; }, - $signature: 16 + $signature: 19 }; A.ExtensionStore__extendPseudo_closure1.prototype = { call$1(complex) { return complex.components.length <= 1; }, - $signature: 16 + $signature: 19 }; A.ExtensionStore__extendPseudo_closure2.prototype = { call$1(complex) { @@ -50999,25 +53369,25 @@ self.util = _cliPkgRequires.util; return A._setArrayType([], type$.JSArray_ComplexSelector); } }, - $signature: 362 + $signature: 336 }; A.ExtensionStore__extendPseudo_closure3.prototype = { call$1(complex) { return this.pseudo.withSelector$1(A.SelectorList$(A._setArrayType([complex], type$.JSArray_ComplexSelector), this.selector.span)); }, - $signature: 363 + $signature: 450 }; A.ExtensionStore__trim_closure.prototype = { call$1(complex2) { return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1); }, - $signature: 16 + $signature: 19 }; A.ExtensionStore__trim_closure0.prototype = { call$1(complex2) { return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1); }, - $signature: 16 + $signature: 19 }; A.ExtensionStore_clone_closure.prototype = { call$2(simple, selectors) { @@ -51035,13 +53405,13 @@ self.util = _cliPkgRequires.util; t6.$indexSet(0, newSelector, _0_0); } }, - $signature: 379 + $signature: 451 }; A.unifyComplex_closure.prototype = { call$1(complex) { return complex.lineBreak; }, - $signature: 16 + $signature: 19 }; A._weaveParents_closure.prototype = { call$2(group1, group2) { @@ -51055,7 +53425,7 @@ self.util = _cliPkgRequires.util; if (!A._mustUnify(group1, group2)) return null; t1 = this.span; - unified = A.unifyComplex(A._setArrayType([A.ComplexSelector$(B.List_empty1, group1, t1, false), A.ComplexSelector$(B.List_empty1, group2, t1, false)], type$.JSArray_ComplexSelector), t1); + unified = A.unifyComplex(A._setArrayType([A.ComplexSelector$(B.List_empty0, group1, t1, false), A.ComplexSelector$(B.List_empty0, group2, t1, false)], type$.JSArray_ComplexSelector), t1); if (unified == null) t1 = null; else { @@ -51064,31 +53434,31 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 380 + $signature: 455 }; A._weaveParents_closure0.prototype = { call$1(sequence) { return A._complexIsParentSuperselector(sequence.get$first(sequence), this.group); }, - $signature: 209 + $signature: 173 }; A._weaveParents_closure1.prototype = { call$1(sequence) { return sequence.get$length(0) === 0; }, - $signature: 209 + $signature: 173 }; A._weaveParents_closure2.prototype = { call$1(choice) { return J.get$isNotEmpty$asx(choice); }, - $signature: 382 + $signature: 462 }; A._mustUnify_closure.prototype = { call$1(component) { return B.JSArray_methods.any$1(component.selector.components, new A._mustUnify__closure(this.uniqueSelectors)); }, - $signature: 50 + $signature: 53 }; A._mustUnify__closure.prototype = { call$1(simple) { @@ -51099,7 +53469,7 @@ self.util = _cliPkgRequires.util; t1 = true; return t1 && this.uniqueSelectors.contains$1(0, simple); }, - $signature: 14 + $signature: 13 }; A.paths_closure.prototype = { call$2(paths, choice) { @@ -51134,25 +53504,25 @@ self.util = _cliPkgRequires.util; call$1(complex1) { return B.JSArray_methods.any$1(this.list1, new A.listIsSuperselector__closure(complex1)); }, - $signature: 16 + $signature: 19 }; A.listIsSuperselector__closure.prototype = { call$1(complex2) { return complex2.isSuperselector$1(this.complex1); }, - $signature: 16 + $signature: 19 }; A.complexIsSuperselector_closure.prototype = { call$1($parent) { return $parent.combinators.length > 1; }, - $signature: 50 + $signature: 53 }; A.complexIsSuperselector_closure0.prototype = { call$1(component) { return A._isSupercombinator(this.combinator1, A.IterableExtension_get_firstOrNull(component.combinators)); }, - $signature: 50 + $signature: 53 }; A._compatibleWithPreviousCombinator_closure.prototype = { call$1(component) { @@ -51165,13 +53535,19 @@ self.util = _cliPkgRequires.util; t1 = true; return t1; }, - $signature: 50 + $signature: 53 + }; + A.compoundIsSuperselector_closure.prototype = { + call$1(simple1) { + return B.JSArray_methods.any$1(this.compound2.components, simple1.get$isSuperselector()); + }, + $signature: 13 }; A._selectorPseudoIsSuperselector_closure.prototype = { call$1(selector2) { return A.listIsSuperselector(this.selector1.components, selector2.components); }, - $signature: 74 + $signature: 69 }; A._selectorPseudoIsSuperselector_closure0.prototype = { call$1(complex1) { @@ -51182,25 +53558,25 @@ self.util = _cliPkgRequires.util; if (t2 != null) B.JSArray_methods.addAll$1(t1, t2); t2 = this.compound2; - t1.push(new A.ComplexSelectorComponent(t2, A.List_List$unmodifiable(B.List_empty1, type$.CssValue_Combinator), t2.span)); + t1.push(new A.ComplexSelectorComponent(t2, A.List_List$unmodifiable(B.List_empty0, type$.CssValue_Combinator), t2.span)); t1 = A.complexIsSuperselector(complex1.components, t1); } else t1 = false; return t1; }, - $signature: 16 + $signature: 19 }; A._selectorPseudoIsSuperselector_closure1.prototype = { call$1(selector2) { return A.listIsSuperselector(this.selector1.components, selector2.components); }, - $signature: 74 + $signature: 69 }; A._selectorPseudoIsSuperselector_closure2.prototype = { call$1(selector2) { return A.listIsSuperselector(this.selector1.components, selector2.components); }, - $signature: 74 + $signature: 69 }; A._selectorPseudoIsSuperselector_closure3.prototype = { call$1(complex) { @@ -51208,11 +53584,11 @@ self.util = _cliPkgRequires.util; return false; return B.JSArray_methods.any$1(this.compound2.components, new A._selectorPseudoIsSuperselector__closure(complex, this.pseudo1)); }, - $signature: 16 + $signature: 19 }; A._selectorPseudoIsSuperselector__closure.prototype = { call$1(simple2) { - var t1, _0_4, selector2, _this = this; + var t1, selector2, _0_4, _this = this; $label0$1: { if (simple2 instanceof A.TypeSelector) { t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure(simple2)); @@ -51222,18 +53598,14 @@ self.util = _cliPkgRequires.util; t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure0(simple2)); break $label0$1; } + selector2 = null; + t1 = false; if (simple2 instanceof A.PseudoSelector) { _0_4 = simple2.selector; if (_0_4 != null) { selector2 = _0_4 == null ? type$.SelectorList._as(_0_4) : _0_4; t1 = simple2.name === _this.pseudo1.name; - } else { - selector2 = null; - t1 = false; } - } else { - selector2 = null; - t1 = false; } if (t1) { t1 = A.listIsSuperselector(selector2.components, A._setArrayType([_this.complex], type$.JSArray_ComplexSelector)); @@ -51244,7 +53616,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 14 + $signature: 13 }; A._selectorPseudoIsSuperselector___closure.prototype = { call$1(simple1) { @@ -51256,7 +53628,7 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 14 + $signature: 13 }; A._selectorPseudoIsSuperselector___closure0.prototype = { call$1(simple1) { @@ -51268,14 +53640,14 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 14 + $signature: 13 }; A._selectorPseudoIsSuperselector_closure4.prototype = { call$1(selector2) { var t1 = B.C_ListEquality.equals$2(0, this.selector1.components, selector2.components); return t1; }, - $signature: 74 + $signature: 69 }; A._selectorPseudoIsSuperselector_closure5.prototype = { call$1(pseudo2) { @@ -51292,19 +53664,19 @@ self.util = _cliPkgRequires.util; return false; return A.listIsSuperselector(this.selector1.components, selector2.components); }, - $signature: 14 + $signature: 13 }; A._selectorPseudoArgs_closure.prototype = { call$1(pseudo) { return pseudo.isClass === this.isClass && pseudo.name === this.name; }, - $signature: 383 + $signature: 466 }; A._selectorPseudoArgs_closure0.prototype = { call$1(pseudo) { return pseudo.selector; }, - $signature: 388 + $signature: 470 }; A.MergedExtension.prototype = { unmerge$0() { @@ -51386,88 +53758,114 @@ self.util = _cliPkgRequires.util; var t1 = J.getInterceptor$asx($arguments); return t1.$index($arguments, 0).get$isTruthy() ? t1.$index($arguments, 1) : t1.$index($arguments, 2); }, - $signature: 6 + $signature: 4 }; A.global_closure0.prototype = { - call$1($arguments) { - return A._rgb("rgb", $arguments); + call$1(color) { + return B.JSNumber_methods.round$0(color._legacyChannel$2(B.RgbColorSpace_mlz, "red")); }, - $signature: 6 + $signature: 64 }; A.global_closure1.prototype = { - call$1($arguments) { - return A._rgb("rgb", $arguments); + call$1(color) { + return B.JSNumber_methods.round$0(color._legacyChannel$2(B.RgbColorSpace_mlz, "green")); }, - $signature: 6 + $signature: 64 }; A.global_closure2.prototype = { - call$1($arguments) { - return A._rgbTwoArg("rgb", $arguments); + call$1(color) { + return B.JSNumber_methods.round$0(color._legacyChannel$2(B.RgbColorSpace_mlz, "blue")); }, - $signature: 6 + $signature: 64 }; A.global_closure3.prototype = { call$1($arguments) { - var parsed = A._parseChannels("rgb", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString ? parsed : A._rgb("rgb", type$.List_Value._as(parsed)); + return A._rgb("rgb", $arguments); }, - $signature: 6 + $signature: 4 }; A.global_closure4.prototype = { call$1($arguments) { - return A._rgb("rgba", $arguments); + return A._rgb("rgb", $arguments); }, - $signature: 6 + $signature: 4 }; A.global_closure5.prototype = { call$1($arguments) { - return A._rgb("rgba", $arguments); + return A._rgbTwoArg("rgb", $arguments); }, - $signature: 6 + $signature: 4 }; A.global_closure6.prototype = { call$1($arguments) { - return A._rgbTwoArg("rgba", $arguments); + return A._parseChannels("rgb", J.$index$asx($arguments, 0), "channels", B.RgbColorSpace_mlz); }, - $signature: 6 + $signature: 4 }; A.global_closure7.prototype = { call$1($arguments) { - var parsed = A._parseChannels("rgba", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString ? parsed : A._rgb("rgba", type$.List_Value._as(parsed)); + return A._rgb("rgba", $arguments); }, - $signature: 6 + $signature: 4 }; A.global_closure8.prototype = { call$1($arguments) { - var color, t2, - t1 = J.getInterceptor$asx($arguments), - weight = t1.$index($arguments, 1).assertNumber$1("weight"); - if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber()) { - if (weight._number$_value !== 100 || !weight.hasUnit$1("%")) - throw A.wrapException(string$.Only_oa); - return A._functionString("invert", t1.take$1($arguments, 1)); - } - color = t1.$index($arguments, 0).assertColor$1("color"); - t1 = color.get$red(0); - t2 = color.get$green(0); - return A._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight); + return A._rgb("rgba", $arguments); }, - $signature: 6 + $signature: 4 }; A.global_closure9.prototype = { call$1($arguments) { - return A._hsl("hsl", $arguments); + return A._rgbTwoArg("rgba", $arguments); }, - $signature: 6 + $signature: 4 }; A.global_closure10.prototype = { call$1($arguments) { - return A._hsl("hsl", $arguments); + return A._parseChannels("rgba", J.$index$asx($arguments, 0), "channels", B.RgbColorSpace_mlz); }, - $signature: 6 + $signature: 4 }; A.global_closure11.prototype = { + call$1($arguments) { + var t1 = J.getInterceptor$asx($arguments); + if (!(t1.$index($arguments, 0) instanceof A.SassNumber) && !t1.$index($arguments, 0).get$isSpecialNumber()) + A.warnForDeprecation(string$.Globalci, B.Deprecation_0Gh); + return A._invert($arguments, true); + }, + $signature: 4 + }; + A.global_closure12.prototype = { + call$1(color) { + return color._legacyChannel$2(B.HslColorSpace_gsm, "hue"); + }, + $signature: 49 + }; + A.global_closure13.prototype = { + call$1(color) { + return color._legacyChannel$2(B.HslColorSpace_gsm, "saturation"); + }, + $signature: 49 + }; + A.global_closure14.prototype = { + call$1(color) { + return color._legacyChannel$2(B.HslColorSpace_gsm, "lightness"); + }, + $signature: 49 + }; + A.global_closure15.prototype = { + call$1($arguments) { + return A._hsl("hsl", $arguments); + }, + $signature: 4 + }; + A.global_closure16.prototype = { + call$1($arguments) { + return A._hsl("hsl", $arguments); + }, + $signature: 4 + }; + A.global_closure17.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar()) @@ -51475,28 +53873,27 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$("Missing argument $lightness.", null)); }, - $signature: 17 + $signature: 18 }; - A.global_closure12.prototype = { + A.global_closure18.prototype = { call$1($arguments) { - var parsed = A._parseChannels("hsl", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString ? parsed : A._hsl("hsl", type$.List_Value._as(parsed)); + return A._parseChannels("hsl", J.$index$asx($arguments, 0), "channels", B.HslColorSpace_gsm); }, - $signature: 6 + $signature: 4 }; - A.global_closure13.prototype = { + A.global_closure19.prototype = { call$1($arguments) { return A._hsl("hsla", $arguments); }, - $signature: 6 + $signature: 4 }; - A.global_closure14.prototype = { + A.global_closure20.prototype = { call$1($arguments) { return A._hsl("hsla", $arguments); }, - $signature: 6 + $signature: 4 }; - A.global_closure15.prototype = { + A.global_closure21.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar()) @@ -51504,88 +53901,154 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$("Missing argument $lightness.", null)); }, - $signature: 17 + $signature: 18 }; - A.global_closure16.prototype = { + A.global_closure22.prototype = { call$1($arguments) { - var parsed = A._parseChannels("hsla", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString ? parsed : A._hsl("hsla", type$.List_Value._as(parsed)); + return A._parseChannels("hsla", J.$index$asx($arguments, 0), "channels", B.HslColorSpace_gsm); }, - $signature: 6 + $signature: 4 }; - A.global_closure17.prototype = { + A.global_closure23.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber()) return A._functionString("grayscale", $arguments); - return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0); + else { + A.warnForDeprecation(string$.Globalcg, B.Deprecation_0Gh); + return A._grayscale(t1.$index($arguments, 0)); + } }, - $signature: 6 + $signature: 4 }; - A.global_closure18.prototype = { + A.global_closure24.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), degrees = A._angleValue(t1.$index($arguments, 1), "degrees"); - return color.changeHsl$1$hue(color.get$hue(0) + degrees); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.adjusto, null)); + A.warnForDeprecation(string$.adjustd + A.SassNumber_SassNumber(degrees, "deg").toString$0(0) + string$.x29x0a_Mor_, B.Deprecation_izR); + return color.changeHsl$1$hue(color._legacyChannel$2(B.HslColorSpace_gsm, "hue") + degrees); }, - $signature: 29 + $signature: 21 }; - A.global_closure19.prototype = { + A.global_closure25.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), + var result, + _s9_ = "lightness", + t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100)); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.lighte, null)); + t1 = color._legacyChannel$2(B.HslColorSpace_gsm, _s9_) + amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$lightness(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation("lighten() is deprecated. " + A._suggestScaleAndAdjust(color, amount._number$_value, _s9_) + string$.x0a_Morex3ac, B.Deprecation_izR); + return result; }, - $signature: 29 + $signature: 21 }; - A.global_closure20.prototype = { + A.global_closure26.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), + var result, + _s9_ = "lightness", + t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100)); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.darken, null)); + t1 = color._legacyChannel$2(B.HslColorSpace_gsm, _s9_) - amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$lightness(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation("darken() is deprecated. " + A._suggestScaleAndAdjust(color, -amount._number$_value, _s9_) + string$.x0a_Morex3ac, B.Deprecation_izR); + return result; }, - $signature: 29 + $signature: 21 }; - A.global_closure21.prototype = { + A.global_closure27.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber()) return A._functionString("saturate", $arguments); return new A.SassString("saturate(" + A.serializeValue(t1.$index($arguments, 0).assertNumber$1("amount"), false, true) + ")", false); }, - $signature: 17 + $signature: 18 }; - A.global_closure22.prototype = { + A.global_closure28.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), + var t1, color, amount, result, + _s10_ = "saturation"; + A.warnForDeprecation(string$.Globalcad, B.Deprecation_0Gh); + t1 = J.getInterceptor$asx($arguments); + color = t1.$index($arguments, 0).assertColor$1("color"); + amount = t1.$index($arguments, 1).assertNumber$1("amount"); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.satura, null)); + t1 = color._legacyChannel$2(B.HslColorSpace_gsm, _s10_) + amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$saturation(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation("saturate() is deprecated. " + A._suggestScaleAndAdjust(color, amount._number$_value, _s10_) + string$.x0a_Morex3ac, B.Deprecation_izR); + return result; + }, + $signature: 21 + }; + A.global_closure29.prototype = { + call$1($arguments) { + var result, + _s10_ = "saturation", + t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100)); + if (!color._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.desatu, null)); + t1 = color._legacyChannel$2(B.HslColorSpace_gsm, _s10_) - amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$saturation(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation("desaturate() is deprecated. " + A._suggestScaleAndAdjust(color, -amount._number$_value, _s10_) + string$.x0a_Morex3ac, B.Deprecation_izR); + return result; }, - $signature: 29 + $signature: 21 }; - A.global_closure23.prototype = { + A.global_closure30.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"), - amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100)); + return A._opacify("opacify", $arguments); }, - $signature: 29 + $signature: 21 }; - A.global_closure24.prototype = { + A.global_closure31.prototype = { call$1($arguments) { - var argument = J.$index$asx($arguments, 0); - if (argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart())) + return A._opacify("fade-in", $arguments); + }, + $signature: 21 + }; + A.global_closure32.prototype = { + call$1($arguments) { + return A._transparentize("transparentize", $arguments); + }, + $signature: 21 + }; + A.global_closure33.prototype = { + call$1($arguments) { + return A._transparentize("fade-out", $arguments); + }, + $signature: 21 + }; + A.global_closure34.prototype = { + call$1($arguments) { + var _0_0 = J.$index$asx($arguments, 0), + t1 = false; + if (_0_0 instanceof A.SassString) + if (!_0_0._hasQuotes) + t1 = B.JSString_methods.contains$1(_0_0._string$_text, $.$get$_microsoftFilterStart()); + if (t1) return A._functionString("alpha", $arguments); - return A.SassNumber_SassNumber(argument.assertColor$1("color")._alpha, null); + if (_0_0 instanceof A.SassColor && !_0_0._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.alpha_, null)); + A.warnForDeprecation(string$.Globalcal, B.Deprecation_0Gh); + t1 = _0_0.assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber(t1 == null ? 0 : t1, null); }, - $signature: 6 + $signature: 4 }; - A.global_closure25.prototype = { + A.global_closure35.prototype = { call$1($arguments) { var t1, argList = J.$index$asx($arguments, 0).get$asList(); @@ -51597,287 +54060,507 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$("Only 1 argument allowed, but " + t1 + " were passed.", null)); }, - $signature: 17 + $signature: 18 }; A.global__closure.prototype = { call$1(argument) { return argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart()); }, - $signature: 73 + $signature: 77 }; - A.global_closure26.prototype = { + A.global_closure36.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber || t1.$index($arguments, 0).get$isSpecialNumber()) return A._functionString("opacity", $arguments); - return A.SassNumber_SassNumber(t1.$index($arguments, 0).assertColor$1("color")._alpha, null); + A.warnForDeprecation(string$.Globalco, B.Deprecation_0Gh); + t1 = t1.$index($arguments, 0).assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber(t1 == null ? 0 : t1, null); }, - $signature: 6 + $signature: 4 + }; + A.global_closure37.prototype = { + call$1($arguments) { + return A._parseChannels("color", J.$index$asx($arguments, 0), "description", null); + }, + $signature: 4 + }; + A.global_closure38.prototype = { + call$1($arguments) { + return A._parseChannels("hwb", J.$index$asx($arguments, 0), "channels", B.HwbColorSpace_06z); + }, + $signature: 4 + }; + A.global_closure39.prototype = { + call$1($arguments) { + return A._parseChannels("lab", J.$index$asx($arguments, 0), "channels", B.LabColorSpace_IF2); + }, + $signature: 4 + }; + A.global_closure40.prototype = { + call$1($arguments) { + return A._parseChannels("lch", J.$index$asx($arguments, 0), "channels", B.LchColorSpace_wv8); + }, + $signature: 4 + }; + A.global_closure41.prototype = { + call$1($arguments) { + return A._parseChannels("oklab", J.$index$asx($arguments, 0), "channels", B.OklabColorSpace_yrt); + }, + $signature: 4 + }; + A.global_closure42.prototype = { + call$1($arguments) { + return A._parseChannels("oklch", J.$index$asx($arguments, 0), "channels", B.OklchColorSpace_li8); + }, + $signature: 4 }; A.module_closure1.prototype = { - call$1($arguments) { - var result, color, t2, - t1 = J.getInterceptor$asx($arguments), - weight = t1.$index($arguments, 1).assertNumber$1("weight"); - if (t1.$index($arguments, 0) instanceof A.SassNumber) { - if (weight._number$_value !== 100 || !weight.hasUnit$1("%")) - throw A.wrapException(string$.Only_oa); - result = A._functionString("invert", t1.take$1($arguments, 1)); - A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_ci + result.toString$0(0), B.Deprecation_iDZ); - return result; - } - color = t1.$index($arguments, 0).assertColor$1("color"); - t1 = color.get$red(0); - t2 = color.get$green(0); - return A._mixColors(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight); + call$1(color) { + return B.JSNumber_methods.round$0(color._legacyChannel$2(B.RgbColorSpace_mlz, "red")); }, - $signature: 6 + $signature: 64 }; A.module_closure2.prototype = { - call$1($arguments) { - var result, - t1 = J.getInterceptor$asx($arguments); - if (t1.$index($arguments, 0) instanceof A.SassNumber) { - result = A._functionString("grayscale", t1.take$1($arguments, 1)); - A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_cg + result.toString$0(0), B.Deprecation_iDZ); - return result; - } - return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0); + call$1(color) { + return B.JSNumber_methods.round$0(color._legacyChannel$2(B.RgbColorSpace_mlz, "green")); }, - $signature: 6 + $signature: 64 }; A.module_closure3.prototype = { - call$1($arguments) { - return A._hwb($arguments); + call$1(color) { + return B.JSNumber_methods.round$0(color._legacyChannel$2(B.RgbColorSpace_mlz, "blue")); }, - $signature: 6 + $signature: 64 }; A.module_closure4.prototype = { call$1($arguments) { - var parsed = A._parseChannels("hwb", A._setArrayType(["$hue", "$whiteness", "$blackness"], type$.JSArray_String), J.get$first$ax($arguments)); - if (parsed instanceof A.SassString) - throw A.wrapException(A.SassScriptException$('Expected numeric channels, got "' + parsed.toString$0(0) + '".', null)); - else - return A._hwb(type$.List_Value._as(parsed)); + var result = A._invert($arguments, false); + if (result instanceof A.SassString) + A.warnForDeprecation("Passing a number (" + A.S(J.$index$asx($arguments, 0)) + string$.x29x20to_ci + result.toString$0(0), B.Deprecation_ePO); + return result; }, - $signature: 6 + $signature: 4 }; A.module_closure5.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$whiteness(0), "%"); + call$1(color) { + return color._legacyChannel$2(B.HslColorSpace_gsm, "hue"); }, - $signature: 11 + $signature: 49 }; A.module_closure6.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$blackness(0), "%"); + call$1(color) { + return color._legacyChannel$2(B.HslColorSpace_gsm, "saturation"); }, - $signature: 11 + $signature: 49 }; A.module_closure7.prototype = { - call$1($arguments) { - var result, - argument = J.$index$asx($arguments, 0); - if (argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart())) { - result = A._functionString("alpha", $arguments); - A.warnForDeprecation(string$.Using_c + result.toString$0(0), B.Deprecation_iDZ); - return result; - } - return A.SassNumber_SassNumber(argument.assertColor$1("color")._alpha, null); + call$1(color) { + return color._legacyChannel$2(B.HslColorSpace_gsm, "lightness"); }, - $signature: 6 + $signature: 49 }; A.module_closure8.prototype = { call$1($arguments) { var result, t1 = J.getInterceptor$asx($arguments); - if (B.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new A.module__closure1())) { + if (t1.$index($arguments, 0) instanceof A.SassNumber) { + result = A._functionString("grayscale", t1.take$1($arguments, 1)); + A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_cg + result.toString$0(0), B.Deprecation_ePO); + return result; + } + return A._grayscale(t1.$index($arguments, 0)); + }, + $signature: 4 + }; + A.module_closure9.prototype = { + call$1($arguments) { + var t1 = J.getInterceptor$asx($arguments), + t2 = type$.JSArray_Value; + return A._parseChannels("hwb", A.SassList$(A._setArrayType([A.SassList$(A._setArrayType([t1.$index($arguments, 0), t1.$index($arguments, 1), t1.$index($arguments, 2)], t2), B.ListSeparator_nbm, false), t1.$index($arguments, 3)], t2), B.ListSeparator_cQA, false), null, B.HwbColorSpace_06z); + }, + $signature: 4 + }; + A.module_closure10.prototype = { + call$1($arguments) { + return A._parseChannels("hwb", J.$index$asx($arguments, 0), "channels", B.HwbColorSpace_06z); + }, + $signature: 4 + }; + A.module_closure11.prototype = { + call$1(color) { + return color._legacyChannel$2(B.HwbColorSpace_06z, "whiteness"); + }, + $signature: 49 + }; + A.module_closure12.prototype = { + call$1(color) { + return color._legacyChannel$2(B.HwbColorSpace_06z, "blackness"); + }, + $signature: 49 + }; + A.module_closure13.prototype = { + call$1($arguments) { + var result, + _0_0 = J.$index$asx($arguments, 0), + t1 = false; + if (_0_0 instanceof A.SassString) + if (!_0_0._hasQuotes) + t1 = B.JSString_methods.contains$1(_0_0._string$_text, $.$get$_microsoftFilterStart()); + if (t1) { result = A._functionString("alpha", $arguments); - A.warnForDeprecation(string$.Using_c + result.toString$0(0), B.Deprecation_iDZ); + A.warnForDeprecation(string$.Using_c + result.toString$0(0), B.Deprecation_ePO); + return result; + } + if (_0_0 instanceof A.SassColor && !_0_0._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.color_a, null)); + t1 = _0_0.assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber(t1 == null ? 0 : t1, null); + }, + $signature: 4 + }; + A.module_closure14.prototype = { + call$1($arguments) { + var result, + t1 = J.getInterceptor$asx($arguments); + if (B.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new A.module__closure2())) { + result = A._functionString("alpha", $arguments); + A.warnForDeprecation(string$.Using_c + result.toString$0(0), B.Deprecation_ePO); return result; } throw A.wrapException(A.SassScriptException$("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed.", null)); }, - $signature: 17 + $signature: 18 }; - A.module__closure1.prototype = { + A.module__closure2.prototype = { call$1(argument) { return argument instanceof A.SassString && !argument._hasQuotes && B.JSString_methods.contains$1(argument._string$_text, $.$get$_microsoftFilterStart()); }, - $signature: 73 + $signature: 77 }; - A.module_closure9.prototype = { + A.module_closure15.prototype = { call$1($arguments) { var result, t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber) { result = A._functionString("opacity", $arguments); - A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x20to_co + result.toString$0(0), B.Deprecation_iDZ); + A.warnForDeprecation("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x20to_co + result.toString$0(0), B.Deprecation_ePO); return result; } - return A.SassNumber_SassNumber(t1.$index($arguments, 0).assertColor$1("color")._alpha, null); + t1 = t1.$index($arguments, 0).assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber(t1 == null ? 0 : t1, null); }, - $signature: 6 + $signature: 4 }; - A._red_closure.prototype = { + A.module_closure16.prototype = { call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$red(0), null); + return new A.SassString(J.get$first$ax($arguments).assertColor$1("color")._space.name, false); + }, + $signature: 18 + }; + A.module_closure17.prototype = { + call$1($arguments) { + var t1 = J.getInterceptor$asx($arguments); + return A._colorInSpace(t1.$index($arguments, 0), t1.$index($arguments, 1), false); + }, + $signature: 21 + }; + A.module_closure18.prototype = { + call$1($arguments) { + return J.$index$asx($arguments, 0).assertColor$1("color")._space.get$isLegacyInternal() ? B.SassBoolean_true : B.SassBoolean_false; }, $signature: 11 }; - A._green_closure.prototype = { + A.module_closure19.prototype = { call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$green(0), null); + var t1 = J.getInterceptor$asx($arguments); + return t1.$index($arguments, 0).assertColor$1("color").isChannelMissing$3$channelName$colorName(A._channelName(t1.$index($arguments, 1)), "channel", "color") ? B.SassBoolean_true : B.SassBoolean_false; }, $signature: 11 }; - A._blue_closure.prototype = { + A.module_closure20.prototype = { call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$blue(0), null); + var t1 = J.getInterceptor$asx($arguments); + return A._colorInSpace(t1.$index($arguments, 0), t1.$index($arguments, 1), true).get$isInGamut() ? B.SassBoolean_true : B.SassBoolean_false; + }, + $signature: 11 + }; + A.module_closure21.prototype = { + call$1($arguments) { + var space, method, _s5_ = "space", _s6_ = "method", + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + t2 = t1.$index($arguments, 1); + if (t2.$eq(0, B.C__SassNull)) + space = color._space; + else { + t2 = t2.assertString$1(_s5_); + t2.assertUnquoted$1(_s5_); + space = A.ColorSpace_fromName(t2._string$_text, _s5_); + } + if (J.$eq$(t1.$index($arguments, 2), B.C__SassNull)) + throw A.wrapException(A.SassScriptException$(string$.color_t, _s6_)); + t1 = t1.$index($arguments, 2).assertString$1(_s6_); + t1.assertUnquoted$1(_s6_); + method = A.GamutMapMethod_GamutMapMethod$fromName(t1._string$_text); + if (!space.get$isBoundedInternal()) + return color; + t1 = color.toSpace$1(space); + t1 = t1.get$isInGamut() ? t1 : method.map$1(0, t1); + return t1.toSpace$2$legacyMissing(color._space, false); + }, + $signature: 21 + }; + A.module_closure22.prototype = { + call$1($arguments) { + var channelIndex, channelInfo, channelValue, unit, + t1 = J.getInterceptor$asx($arguments), + color = A._colorInSpace(t1.$index($arguments, 0), t1.$index($arguments, 2), true), + channelName = A._channelName(t1.$index($arguments, 1)); + if (channelName === "alpha") { + t1 = color.alphaOrNull; + return A.SassNumber_SassNumber(t1 == null ? 0 : t1, null); + } + t1 = color._space._channels; + channelIndex = B.JSArray_methods.indexWhere$1(t1, new A.module__closure1(channelName)); + if (channelIndex === -1) + throw A.wrapException(A.SassScriptException$("Color " + color.toString$0(0) + " has no channel named " + channelName + ".", "channel")); + channelInfo = t1[channelIndex]; + channelValue = color.get$channels()[channelIndex]; + unit = channelInfo.associatedUnit; + return A.SassNumber_SassNumber(unit === "%" ? channelValue * 100 / type$.LinearChannel._as(channelInfo).max : channelValue, unit); + }, + $signature: 23 + }; + A.module__closure1.prototype = { + call$1(channel) { + return channel.name === this.channelName; + }, + $signature: 90 + }; + A.module_closure23.prototype = { + call$1($arguments) { + var t2, t3, + t1 = J.getInterceptor$asx($arguments), + color1 = t1.$index($arguments, 0).assertColor$1("color1"), + color2 = t1.$index($arguments, 1).assertColor$1("color2"); + t1 = new A.module_closure_toXyzNoMissing(); + if (color1._space === color2._space) { + t1 = color1.channel0OrNull; + t2 = false; + if (t1 == null) + t1 = 0; + t3 = color2.channel0OrNull; + if (A.fuzzyEquals(t1, t3 == null ? 0 : t3)) { + t1 = color1.channel1OrNull; + if (t1 == null) + t1 = 0; + t3 = color2.channel1OrNull; + if (A.fuzzyEquals(t1, t3 == null ? 0 : t3)) { + t1 = color1.channel2OrNull; + if (t1 == null) + t1 = 0; + t3 = color2.channel2OrNull; + if (A.fuzzyEquals(t1, t3 == null ? 0 : t3)) { + t1 = color1.alphaOrNull; + if (t1 == null) + t1 = 0; + t2 = color2.alphaOrNull; + t1 = A.fuzzyEquals(t1, t2 == null ? 0 : t2); + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = J.$eq$(t1.call$1(color1), t1.call$1(color2)); + return t1 ? B.SassBoolean_true : B.SassBoolean_false; + }, + $signature: 11 + }; + A.module_closure_toXyzNoMissing.prototype = { + call$1(color) { + var _1_1, _1_3, t1, _1_7, channel0, _1_8, channel1, _1_9, channel2, _1_10, alpha, _null = null; + $label0$0: { + _1_1 = color._space; + _1_3 = B.XyzD65ColorSpace_4CA === _1_1; + t1 = _1_3; + if (t1) + t1 = !(color.channel0OrNull == null || color.channel1OrNull == null || color.channel2OrNull == null || color.alphaOrNull == null); + else + t1 = false; + if (t1) { + t1 = color; + break $label0$0; + } + if (_1_3) { + _1_7 = color.channel0OrNull; + if (_1_7 == null) + _1_7 = 0; + channel0 = _1_7; + _1_8 = color.channel1OrNull; + if (_1_8 == null) + _1_8 = 0; + channel1 = _1_8; + _1_9 = color.channel2OrNull; + if (_1_9 == null) + _1_9 = 0; + channel2 = _1_9; + _1_10 = color.alphaOrNull; + if (_1_10 == null) + _1_10 = 0; + alpha = _1_10; + t1 = A.SassColor$_forSpace(B.XyzD65ColorSpace_4CA, channel0, channel1, channel2, alpha, _null); + break $label0$0; + } + _1_7 = color.channel0OrNull; + if (_1_7 == null) + _1_7 = 0; + channel0 = _1_7; + _1_8 = color.channel1OrNull; + if (_1_8 == null) + _1_8 = 0; + channel1 = _1_8; + _1_9 = color.channel2OrNull; + if (_1_9 == null) + _1_9 = 0; + channel2 = _1_9; + _1_10 = color.alphaOrNull; + if (_1_10 == null) + _1_10 = 0; + alpha = _1_10; + t1 = _1_1.convert$5(B.XyzD65ColorSpace_4CA, channel0, channel1, channel2, alpha); + break $label0$0; + } + return t1; + }, + $signature: 536 + }; + A.module_closure24.prototype = { + call$1($arguments) { + var t1 = J.getInterceptor$asx($arguments); + return A._colorInSpace(t1.$index($arguments, 0), t1.$index($arguments, 2), true).isChannelPowerless$3$channelName$colorName(A._channelName(t1.$index($arguments, 1)), "channel", "color") ? B.SassBoolean_true : B.SassBoolean_false; }, $signature: 11 }; A._mix_closure.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments); - return A._mixColors(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight")); + var _s6_ = "weight", + _s41_ = string$.To_usem, + _s29_ = ", you must provide a $method.", + t1 = J.getInterceptor$asx($arguments), + color1 = t1.$index($arguments, 0).assertColor$1("color1"), + color2 = t1.$index($arguments, 1).assertColor$1("color2"), + weight = t1.$index($arguments, 2).assertNumber$1(_s6_); + if (!J.$eq$(t1.$index($arguments, 3), B.C__SassNull)) + return color1.interpolate$4$legacyMissing$weight(color2, A.InterpolationMethod_InterpolationMethod$fromValue(t1.$index($arguments, 3), "method"), false, weight.valueInRangeWithUnit$4(0, 100, _s6_, "%") / 100); + A._checkPercent(weight, _s6_); + if (!color1._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(_s41_ + color1.toString$0(0) + _s29_, "color1")); + else if (!color2._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(_s41_ + color2.toString$0(0) + _s29_, "color2")); + return A._mixLegacy(color1, color2, weight); }, - $signature: 29 - }; - A._hue_closure.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$hue(0), "deg"); - }, - $signature: 11 - }; - A._saturation_closure.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$saturation(0), "%"); - }, - $signature: 11 - }; - A._lightness_closure.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber(J.get$first$ax($arguments).assertColor$1("color").get$lightness(0), "%"); - }, - $signature: 11 + $signature: 21 }; A._complement_closure.prototype = { call$1($arguments) { - var color = J.$index$asx($arguments, 0).assertColor$1("color"); - return color.changeHsl$1$hue(color.get$hue(0) + 180); + var space, t3, colorInSpace, t4, t5, t6, _s5_ = "space", + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + t2 = color._space; + if (t2.get$isLegacyInternal() && J.$eq$(t1.$index($arguments, 1), B.C__SassNull)) + space = B.HslColorSpace_gsm; + else { + t3 = t1.$index($arguments, 1).assertString$1(_s5_); + t3.assertUnquoted$1(_s5_); + space = A.ColorSpace_fromName(t3._string$_text, _s5_); + } + if (!space.get$isPolarInternal()) + throw A.wrapException(A.SassScriptException$("Color space " + space.toString$0(0) + " doesn't have a hue channel.", _s5_)); + colorInSpace = color.toSpace$2$legacyMissing(space, !J.$eq$(t1.$index($arguments, 1), B.C__SassNull)); + t1 = space._channels; + t3 = colorInSpace.channel0OrNull; + t4 = colorInSpace.channel1OrNull; + t5 = colorInSpace.channel2OrNull; + t6 = colorInSpace.alphaOrNull; + return (space.get$isLegacyInternal() ? A.SassColor_SassColor$forSpaceInternal(space, A._adjustChannel(colorInSpace, t1[0], t3, A.SassNumber_SassNumber(180, null)), t4, t5, t6) : A.SassColor_SassColor$forSpaceInternal(space, t3, t4, A._adjustChannel(colorInSpace, t1[2], t5, A.SassNumber_SassNumber(180, null)), t6)).toSpace$2$legacyMissing(t2, false); }, - $signature: 29 + $signature: 21 }; A._adjust_closure.prototype = { call$1($arguments) { return A._updateComponents($arguments, true, false, false); }, - $signature: 29 + $signature: 21 }; A._scale_closure.prototype = { call$1($arguments) { return A._updateComponents($arguments, false, false, true); }, - $signature: 29 + $signature: 21 }; A._change_closure.prototype = { call$1($arguments) { return A._updateComponents($arguments, false, true, false); }, - $signature: 29 + $signature: 21 }; A._ieHexStr_closure.prototype = { call$1($arguments) { - var color = J.$index$asx($arguments, 0).assertColor$1("color"), - t1 = new A._ieHexStr_closure_hexString(); - return new A.SassString("#" + A.S(t1.call$1(A.fuzzyRound(color._alpha * 255))) + A.S(t1.call$1(color.get$red(0))) + A.S(t1.call$1(color.get$green(0))) + A.S(t1.call$1(color.get$blue(0))), false); + var t1, t2, t3, t4, t5, + color = J.$index$asx($arguments, 0).assertColor$1("color").toSpace$1(B.RgbColorSpace_mlz); + color = color.get$isInGamut() ? color : B.LocalMindeGamutMap_Q7f.map$1(0, color); + t1 = new A._ieHexStr_closure_hexString(); + t2 = color.alphaOrNull; + t2 = A.S(t1.call$1((t2 == null ? 0 : t2) * 255)); + t3 = color.channel0OrNull; + t3 = A.S(t1.call$1(t3 == null ? 0 : t3)); + t4 = color.channel1OrNull; + t4 = A.S(t1.call$1(t4 == null ? 0 : t4)); + t5 = color.channel2OrNull; + return new A.SassString("#" + t2 + t3 + t4 + A.S(t1.call$1(t5 == null ? 0 : t5)), false); }, - $signature: 17 + $signature: 18 }; A._ieHexStr_closure_hexString.prototype = { call$1(component) { - return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(component, 16), 2, "0").toUpperCase(); + return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(A.fuzzyRound(component), 16), 2, "0").toUpperCase(); }, - $signature: 194 - }; - A._updateComponents_getParam.prototype = { - call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, checkPercent, checkUnitless) { - var t2, _this = this, - t1 = _this.keywords.remove$1(0, $name), - number = t1 == null ? null : t1.assertNumber$1($name); - if (number == null) - return null; - t1 = _this.scale; - t2 = !t1; - if (t2 && checkUnitless) - if (number.get$hasUnits()) - A.warnForDeprecation("$" + $name + ": Passing a number with unit " + number.get$unitString() + string$.x20is_de + number.unitSuggestion$1($name) + string$.x0a_Morex3a, B.Deprecation_2jN); - if (t2 && checkPercent) - A._checkPercent(number, $name); - if (!t2 || assertPercent) - number.assertUnit$2("%", $name); - if (t1) - max = 100; - if (!t2 || assertPercent) - t1 = number.valueInRange$3(_this.change ? 0 : -max, max, $name); - else { - t1 = _this.change ? 0 : -max; - t1 = number.valueInRangeWithUnit$4(t1, max, $name, checkPercent ? "%" : ""); - } - return t1; - }, - call$2($name, max) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, false); - }, - call$3$checkUnitless($name, max, checkUnitless) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, checkUnitless); - }, - call$3$checkPercent($name, max, checkPercent) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, checkPercent, false); - }, - call$3$assertPercent($name, max, assertPercent) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, false, false); - }, - $signature: 193 + $signature: 203 }; A._updateComponents_closure.prototype = { - call$1(hue) { - return A._angleValue(hue, "hue"); + call$1(space) { + return this.originalColor.toSpace$2$legacyMissing(space, false); }, - $signature: 103 + $signature: 542 }; A._updateComponents_closure0.prototype = { - call$1($name) { - return "$" + $name; + call$1(info) { + return this._box_0.name === info.name; }, - $signature: 5 + $signature: 90 }; - A._updateComponents_updateValue.prototype = { - call$3(current, param, max) { - var t1; - if (param == null) - return current; - if (this.change) - return param; - if (this.adjust) - return B.JSNumber_methods.clamp$2(current + param, 0, max); - t1 = param > 0 ? max - current : current; - return current + t1 * (param / 100); + A._changeColor_closure.prototype = { + call$0() { + var t1 = this.alphaArg; + A.warnForDeprecation("$alpha: Passing a unit other than % (" + A.S(t1) + string$.x29x20is_d + t1.unitSuggestion$1("alpha") + string$.x0a_See_, B.Deprecation_int); + return t1.valueInRange$3(0, 1, "alpha"); }, - $signature: 189 + $signature: 205 }; - A._updateComponents_updateRgb.prototype = { - call$2(current, param) { - return A.fuzzyRound(this.updateValue.call$3(current, param, 255)); + A._adjustColor_closure.prototype = { + call$1(alpha) { + return isNaN(alpha) ? 0 : B.JSNumber_methods.clamp$2(alpha, 0, 1); }, - $signature: 254 + $signature: 15 }; A._functionString_closure.prototype = { call$1(argument) { return A.serializeValue(argument, false, true); }, - $signature: 446 + $signature: 561 }; A._removedColorFunction_closure.prototype = { call$1($arguments) { @@ -51885,39 +54568,115 @@ self.util = _cliPkgRequires.util; t2 = J.getInterceptor$asx($arguments), t3 = A.S(t2.$index($arguments, 0)), t4 = this.negative ? "-" : ""; - throw A.wrapException(A.SassScriptException$("The function " + t1 + string$.x28__isn + t3 + ", $" + this.argument + ": " + t4 + A.S(t2.$index($arguments, 1)) + string$.x29x0a_Mor + t1, null)); + throw A.wrapException(A.SassScriptException$("The function " + t1 + string$.x28__isn + t3 + ", $" + this.argument + ": " + t4 + A.S(t2.$index($arguments, 1)) + string$.x29x0a_Moro + t1, null)); }, - $signature: 458 + $signature: 563 }; A._rgb_closure.prototype = { call$1(alpha) { - return A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"); + var t1 = A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"); + return isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1); }, - $signature: 103 + $signature: 207 }; A._hsl_closure.prototype = { call$1(alpha) { - return A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"); + var t1 = A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"); + return isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1); }, - $signature: 103 - }; - A._hwb_closure.prototype = { - call$1(alpha) { - return A._percentageOrUnitless(alpha.assertNumber$1("alpha"), 1, "alpha"); - }, - $signature: 103 + $signature: 207 }; A._parseChannels_closure.prototype = { - call$1(value) { - return value.get$isVar(); + call$1($name) { + return $name + " channel"; }, - $signature: 73 + $signature: 6 + }; + A._parseChannels_closure0.prototype = { + call$1(channel) { + return channel.get$isSpecialNumber(); + }, + $signature: 77 + }; + A._colorFromChannels_closure.prototype = { + call$1(channel0) { + return A._angleValue(channel0, "hue"); + }, + $signature: 122 + }; + A._colorFromChannels_closure0.prototype = { + call$1(channel0) { + return A._angleValue(channel0, "hue"); + }, + $signature: 122 + }; + A._channelFromValue_closure.prototype = { + call$1(value) { + var t1, _0_8, t2, _0_5, _0_8_isSet, upperClamped, t3, + _0_0 = this.channel; + $label0$0: { + t1 = _0_0 instanceof A.LinearChannel; + if (t1 && _0_0.requiresPercent && !value.hasUnit$1("%")) + A.throwExpression(A.SassScriptException$("Expected " + value.toString$0(0) + ' to have unit "%".', _0_0.name)); + _0_8 = null; + t2 = false; + if (t1) { + _0_5 = _0_0.lowerClamped; + _0_8_isSet = !_0_5; + if (_0_8_isSet) { + _0_8 = _0_0.upperClamped; + t2 = !_0_8; + } + } else { + _0_5 = null; + _0_8_isSet = false; + } + if (t2) { + t1 = A._percentageOrUnitless(value, _0_0.max, _0_0.name); + break $label0$0; + } + if (t1 && !this.clamp) { + t1 = A._percentageOrUnitless(value, _0_0.max, _0_0.name); + break $label0$0; + } + if (t1) { + upperClamped = _0_8_isSet ? _0_8 : _0_0.upperClamped; + t1 = _0_0.max; + t2 = A._percentageOrUnitless(value, t1, _0_0.name); + t3 = _0_5 ? _0_0.min : -1 / 0; + t1 = upperClamped ? t1 : 1 / 0; + t1 = isNaN(t2) ? t3 : B.JSNumber_methods.clamp$2(t2, t3, t1); + break $label0$0; + } + t1 = B.JSNumber_methods.$mod(value.coerceValueToUnit$2("deg", _0_0.name), 360); + break $label0$0; + } + return t1; + }, + $signature: 122 + }; + A._channelFunction_closure.prototype = { + call$1($arguments) { + var _this = this, + result = A.SassNumber_SassNumber(_this.getter.call$1(J.get$first$ax($arguments).assertColor$1("color")), _this.unit), + t1 = _this.global ? "" : "color.", + t2 = _this.name; + A.warnForDeprecation(t1 + t2 + string$.x28__is_d + t2 + '", $space: ' + _this.space.toString$0(0) + string$.x29x0a_Mor_, B.Deprecation_izR); + return result; + }, + $signature: 23 + }; + A._suggestScaleAndAdjust_closure.prototype = { + call$1(channel) { + return channel.name === this.channelName; + }, + $signature: 90 }; A._length_closure0.prototype = { call$1($arguments) { return A.SassNumber_SassNumber(J.$index$asx($arguments, 0).get$asList().length, null); }, - $signature: 11 + $signature: 23 }; A._nth_closure.prototype = { call$1($arguments) { @@ -51926,7 +54685,7 @@ self.util = _cliPkgRequires.util; index = t1.$index($arguments, 1); return list.get$asList()[list.sassIndexToListIndex$2(index, "n")]; }, - $signature: 6 + $signature: 4 }; A._setNth_closure.prototype = { call$1($arguments) { @@ -51940,11 +54699,11 @@ self.util = _cliPkgRequires.util; newList[list.sassIndexToListIndex$2(index, "n")] = value; return list.withListContents$1(newList); }, - $signature: 23 + $signature: 27 }; A._join_closure.prototype = { call$1($arguments) { - var _0_1, _0_4, _0_3, t2, _0_40, separator, bracketed, _null = null, + var _0_1, _0_4, _0_3, t2, t3, _0_40, separator, bracketed, _null = null, t1 = J.getInterceptor$asx($arguments), list1 = t1.$index($arguments, 0), list2 = t1.$index($arguments, 1), @@ -51956,23 +54715,24 @@ self.util = _cliPkgRequires.util; _0_1 = list1.get$separator(list1); _0_4 = list2.get$separator(list2); $label0$0: { + t1 = _null; _0_3 = B.ListSeparator_undecided_null_undecided === _0_1; - t1 = _0_3; - if (t1) { - t2 = B.ListSeparator_undecided_null_undecided === _0_4; + t2 = _0_3; + if (t2) { + t3 = B.ListSeparator_undecided_null_undecided === _0_4; _0_40 = _0_4; } else { _0_40 = _null; - t2 = false; + t3 = false; } - if (t2) { + if (t3) { t1 = B.ListSeparator_nbm; break $label0$0; } if (_0_3) - separator = t1 ? _0_40 : _0_4; + separator = t2 ? _0_40 : _0_4; else - separator = _null; + separator = t1; if (!_0_3) separator = _0_1; t1 = separator; @@ -51999,7 +54759,7 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t2, list2.get$asList()); return A.SassList$(t2, t1, bracketed); }, - $signature: 23 + $signature: 27 }; A._append_closure0.prototype = { call$1($arguments) { @@ -52031,7 +54791,7 @@ self.util = _cliPkgRequires.util; t2.push(value); return list.withListContents$2$separator(t2, t1); }, - $signature: 23 + $signature: 27 }; A._zip_closure.prototype = { call$1($arguments) { @@ -52052,25 +54812,25 @@ self.util = _cliPkgRequires.util; } return A.SassList$(results, B.ListSeparator_ECn, false); }, - $signature: 23 + $signature: 27 }; A._zip__closure.prototype = { call$1(list) { return list.get$asList(); }, - $signature: 527 + $signature: 577 }; A._zip__closure0.prototype = { call$1(list) { return this._box_0.i !== J.get$length$asx(list); }, - $signature: 553 + $signature: 578 }; A._zip__closure1.prototype = { call$1(list) { return J.$index$asx(list, this._box_0.i); }, - $signature: 6 + $signature: 4 }; A._index_closure0.prototype = { call$1($arguments) { @@ -52078,7 +54838,7 @@ self.util = _cliPkgRequires.util; index = B.JSArray_methods.indexOf$1(t1.$index($arguments, 0).get$asList(), t1.$index($arguments, 1)); return index === -1 ? B.C__SassNull : A.SassNumber_SassNumber(index + 1, null); }, - $signature: 6 + $signature: 4 }; A._separator_closure.prototype = { call$1($arguments) { @@ -52098,13 +54858,13 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 17 + $signature: 18 }; A._isBracketed_closure.prototype = { call$1($arguments) { return J.$index$asx($arguments, 0).get$hasBrackets() ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._slash_closure.prototype = { call$1($arguments) { @@ -52113,7 +54873,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$("At least two elements are required.", null)); return A.SassList$(list, B.ListSeparator_cQA, false); }, - $signature: 23 + $signature: 27 }; A._get_closure.prototype = { call$1($arguments) { @@ -52130,20 +54890,20 @@ self.util = _cliPkgRequires.util; t1 = map._map$_contents.$index(0, B.JSArray_methods.get$last(t2)); return t1 == null ? B.C__SassNull : t1; }, - $signature: 6 + $signature: 4 }; A._set_closure.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return A._modify(t1.$index($arguments, 0).assertMap$1("map"), A._setArrayType([t1.$index($arguments, 1)], type$.JSArray_Value), new A._set__closure0($arguments), true); }, - $signature: 6 + $signature: 4 }; A._set__closure0.prototype = { call$1(_) { return J.$index$asx(this.$arguments, 2); }, - $signature: 42 + $signature: 41 }; A._set_closure0.prototype = { call$1($arguments) { @@ -52167,13 +54927,13 @@ self.util = _cliPkgRequires.util; return A._modify(map, keys, new A._set__closure(t1), true); throw A.wrapException("[BUG] Unreachable code"); }, - $signature: 6 + $signature: 4 }; A._set__closure.prototype = { call$1(_) { return this._box_0.value; }, - $signature: 42 + $signature: 41 }; A._merge_closure.prototype = { call$1($arguments) { @@ -52186,11 +54946,11 @@ self.util = _cliPkgRequires.util; t2.addAll$1(0, map2._map$_contents); return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._merge_closure0.prototype = { call$1($arguments) { - var t2, keys, last, _null = null, + var last, t2, keys, _null = null, t1 = J.getInterceptor$asx($arguments), map1 = t1.$index($arguments, 0).assertMap$1("map1"), _0_0 = t1.$index($arguments, 1).get$asList(), @@ -52200,19 +54960,18 @@ self.util = _cliPkgRequires.util; if (_0_1 === 1) throw A.wrapException(A.SassScriptException$("Expected $args to contain a map.", _null)); t1 = _0_1 >= 1; + last = _null; if (t1) { t2 = _0_1 - 1; keys = B.JSArray_methods.sublist$2(_0_0, 0, t2); last = _0_0[t2]; - } else { - last = _null; - keys = last; - } + } else + keys = _null; if (t1) return A._modify(map1, keys, new A._merge__closure(last.assertMap$1("map2")), true); throw A.wrapException("[BUG] Unreachable code"); }, - $signature: 6 + $signature: 4 }; A._merge__closure.prototype = { call$1(oldValue) { @@ -52225,14 +54984,14 @@ self.util = _cliPkgRequires.util; t2.addAll$1(0, this.map2._map$_contents); return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 627 + $signature: 602 }; A._deepMerge_closure.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return A._deepMergeImpl(t1.$index($arguments, 0).assertMap$1("map1"), t1.$index($arguments, 1).assertMap$1("map2")); }, - $signature: 36 + $signature: 34 }; A._deepRemove_closure.prototype = { call$1($arguments) { @@ -52242,7 +55001,7 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t2, t1.$index($arguments, 2).get$asList()); return A._modify(map, A.IterableExtension_get_exceptLast(t2), new A._deepRemove__closure(t2), false); }, - $signature: 6 + $signature: 4 }; A._deepRemove__closure.prototype = { call$1(value) { @@ -52263,13 +55022,13 @@ self.util = _cliPkgRequires.util; } return value; }, - $signature: 42 + $signature: 41 }; A._remove_closure.prototype = { call$1($arguments) { return J.$index$asx($arguments, 0).assertMap$1("map"); }, - $signature: 36 + $signature: 34 }; A._remove_closure0.prototype = { call$1($arguments) { @@ -52284,21 +55043,21 @@ self.util = _cliPkgRequires.util; mutableMap.remove$1(0, t2[_i]); return new A.SassMap(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._keys_closure.prototype = { call$1($arguments) { var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map$_contents; return A.SassList$(t1.get$keys(t1), B.ListSeparator_ECn, false); }, - $signature: 23 + $signature: 27 }; A._values_closure.prototype = { call$1($arguments) { var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map$_contents; return A.SassList$(t1.get$values(t1), B.ListSeparator_ECn, false); }, - $signature: 23 + $signature: 27 }; A._hasKey_closure.prototype = { call$1($arguments) { @@ -52314,7 +55073,7 @@ self.util = _cliPkgRequires.util; } return map._map$_contents.containsKey$1(B.JSArray_methods.get$last(t2)) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._modify_modifyNestedMap.prototype = { call$1(map) { @@ -52338,30 +55097,32 @@ self.util = _cliPkgRequires.util; mutableMap.$indexSet(0, key, _this.call$1(t2 ? B.SassMap_Map_empty : nestedMap)); return new A.SassMap(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1)); }, - $signature: 629 + $signature: 609 }; A.global_closure.prototype = { call$1($arguments) { var t1, number = J.$index$asx($arguments, 0).assertNumber$1("number"); if (number.hasUnit$1("%")) - A.warnForDeprecation(string$.Passinp + number.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + number.toString$0(0) + string$.x7d__Mor, B.Deprecation_GFc); + A.warnForDeprecation(string$.Passinp + number.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + number.toString$0(0) + string$.x7d__Mor, B.Deprecation_Zk6); + else + A.warnForDeprecation(string$.Globalm, B.Deprecation_0Gh); t1 = number.get$numeratorUnits(number); return A.SassNumber_SassNumber$withUnits(Math.abs(number._number$_value), number.get$denominatorUnits(number), t1); }, - $signature: 11 + $signature: 23 }; A.module_closure0.prototype = { call$1(value) { return Math.abs(value); }, - $signature: 38 + $signature: 15 }; A._ceil_closure.prototype = { call$1(value) { return B.JSNumber_methods.ceil$0(value); }, - $signature: 38 + $signature: 15 }; A._clamp_closure.prototype = { call$1($arguments) { @@ -52379,13 +55140,13 @@ self.util = _cliPkgRequires.util; return max; return number; }, - $signature: 11 + $signature: 23 }; A._floor_closure.prototype = { call$1(value) { return B.JSNumber_methods.floor$0(value); }, - $signature: 38 + $signature: 15 }; A._max_closure.prototype = { call$1($arguments) { @@ -52399,7 +55160,7 @@ self.util = _cliPkgRequires.util; return max; throw A.wrapException(A.SassScriptException$("At least one argument must be passed.", null)); }, - $signature: 11 + $signature: 23 }; A._min_closure.prototype = { call$1($arguments) { @@ -52413,13 +55174,13 @@ self.util = _cliPkgRequires.util; return min; throw A.wrapException(A.SassScriptException$("At least one argument must be passed.", null)); }, - $signature: 11 + $signature: 23 }; A._round_closure.prototype = { call$1(number) { return B.JSNumber_methods.round$0(number); }, - $signature: 38 + $signature: 15 }; A._hypot_closure.prototype = { call$1($arguments) { @@ -52440,13 +55201,13 @@ self.util = _cliPkgRequires.util; t4 = t3.get$numeratorUnits(t2); return A.SassNumber_SassNumber$withUnits(t1, t3.get$denominatorUnits(t2), t4); }, - $signature: 11 + $signature: 23 }; A._hypot__closure.prototype = { call$1(argument) { return argument.assertNumber$0(); }, - $signature: 609 + $signature: 648 }; A._log_closure.prototype = { call$1($arguments) { @@ -52465,14 +55226,14 @@ self.util = _cliPkgRequires.util; else return A.SassNumber_SassNumber(Math.log(number._number$_value) / Math.log(base._number$_value), _null); }, - $signature: 11 + $signature: 23 }; A._pow_closure.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return A.pow0(t1.$index($arguments, 0).assertNumber$1("base"), t1.$index($arguments, 1).assertNumber$1("exponent")); }, - $signature: 11 + $signature: 23 }; A._atan2_closure.prototype = { call$1($arguments) { @@ -52480,26 +55241,26 @@ self.util = _cliPkgRequires.util; y = t1.$index($arguments, 0).assertNumber$1("y"); return A.SassNumber_SassNumber$withUnits(Math.atan2(y._number$_value, t1.$index($arguments, 1).assertNumber$1("x").convertValueToMatch$3(y, "x", "y")) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String)); }, - $signature: 11 + $signature: 23 }; A._compatible_closure.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._isUnitless_closure.prototype = { call$1($arguments) { return !J.$index$asx($arguments, 0).assertNumber$1("number").get$hasUnits() ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._unit_closure.prototype = { call$1($arguments) { return new A.SassString(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true); }, - $signature: 17 + $signature: 18 }; A._percentage_closure.prototype = { call$1($arguments) { @@ -52507,7 +55268,7 @@ self.util = _cliPkgRequires.util; number.assertNoUnits$1("number"); return A.SassNumber_SassNumber(number._number$_value * 100, "%"); }, - $signature: 11 + $signature: 23 }; A._randomFunction_closure.prototype = { call$1($arguments) { @@ -52517,13 +55278,13 @@ self.util = _cliPkgRequires.util; return A.SassNumber_SassNumber($.$get$_random0().nextDouble$0(), null); limit = t1.$index($arguments, 0).assertNumber$1("limit"); if (limit.get$hasUnits()) - A.warnForDeprecation(string$.math_r + limit.toString$0(0) + string$.x29x20in_a + limit.get$unitString() + ")) * 1" + limit.get$unitString() + string$.x0a_To_p + limit.get$unitString() + string$.x29x29__Mo, B.Deprecation_2jN); + A.warnForDeprecation(string$.math_r + limit.toString$0(0) + string$.x29x20in_a + limit.get$unitString() + ")) * 1" + limit.get$unitString() + string$.x0a_To_p + limit.get$unitString() + string$.x29x29__Mo, B.Deprecation_int); limitScalar = limit.assertInt$1("limit"); if (limitScalar < 1) throw A.wrapException(A.SassScriptException$("$limit: Must be greater than 0, was " + limit.toString$0(0) + ".", null)); return A.SassNumber_SassNumber($.$get$_random0().nextInt$1(limitScalar) + 1, null); }, - $signature: 11 + $signature: 23 }; A._div_closure.prototype = { call$1($arguments) { @@ -52534,13 +55295,13 @@ self.util = _cliPkgRequires.util; A.warn(string$.math_d); return number1.dividedBy$1(number2); }, - $signature: 6 + $signature: 4 }; A._singleArgumentMathFunc_closure.prototype = { call$1($arguments) { return this.mathFunc.call$1(J.$index$asx($arguments, 0).assertNumber$1("number")); }, - $signature: 11 + $signature: 23 }; A._numberFunction_closure.prototype = { call$1($arguments) { @@ -52549,21 +55310,22 @@ self.util = _cliPkgRequires.util; t2 = number.get$numeratorUnits(number); return A.SassNumber_SassNumber$withUnits(t1, number.get$denominatorUnits(number), t2); }, - $signature: 11 + $signature: 23 }; - A.global_closure27.prototype = { + A._shared_closure.prototype = { call$1($arguments) { + A.warnForDeprecation(string$.The_fe, B.Deprecation_Vr4); return $._features.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature")._string$_text) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; - A.global_closure28.prototype = { + A._shared_closure0.prototype = { call$1($arguments) { return new A.SassString(A.serializeValue(J.get$first$ax($arguments), true, true), false); }, - $signature: 17 + $signature: 18 }; - A.global_closure29.prototype = { + A._shared_closure1.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments), _0_0 = t1.$index($arguments, 0); @@ -52616,9 +55378,9 @@ self.util = _cliPkgRequires.util; } return new A.SassString(t1, false); }, - $signature: 17 + $signature: 18 }; - A.global_closure30.prototype = { + A._shared_closure2.prototype = { call$1($arguments) { var t2, t3, t4, t1 = J.getInterceptor$asx($arguments), @@ -52635,28 +55397,28 @@ self.util = _cliPkgRequires.util; } else throw A.wrapException("$args: " + A.S(t1.$index($arguments, 0)) + " is not an argument list."); }, - $signature: 36 + $signature: 34 }; - A.local_closure.prototype = { + A.moduleFunctions_closure.prototype = { call$1($arguments) { return new A.SassString(J.$index$asx($arguments, 0).assertCalculation$1("calc").name, true); }, - $signature: 17 + $signature: 18 }; - A.local_closure0.prototype = { + A.moduleFunctions_closure0.prototype = { call$1($arguments) { var t1 = J.$index$asx($arguments, 0).assertCalculation$1("calc").$arguments; - return A.SassList$(new A.MappedListIterable(t1, new A.local__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), B.ListSeparator_ECn, false); + return A.SassList$(new A.MappedListIterable(t1, new A.moduleFunctions__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), B.ListSeparator_ECn, false); }, - $signature: 23 + $signature: 27 }; - A.local__closure.prototype = { + A.moduleFunctions__closure.prototype = { call$1(argument) { return argument instanceof A.Value ? argument : new A.SassString(J.toString$0$(argument), false); }, - $signature: 606 + $signature: 668 }; - A.local_closure1.prototype = { + A.moduleFunctions_closure1.prototype = { call$1($arguments) { var _0_2_isSet, _0_2, acceptsContent, t1, _0_5_isSet, _0_5, hasContent, mixin = J.$index$asx($arguments, 0).assertMixin$1("mixin"), @@ -52699,7 +55461,7 @@ self.util = _cliPkgRequires.util; } return t1 ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._nest_closure.prototype = { call$1($arguments) { @@ -52710,7 +55472,7 @@ self.util = _cliPkgRequires.util; t1.first = true; return new A.MappedListIterable(selectors, new A._nest__closure(t1), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList>")).reduce$1(0, new A._nest__closure0()).get$asSassList(); }, - $signature: 23 + $signature: 27 }; A._nest__closure.prototype = { call$1(selector) { @@ -52719,13 +55481,13 @@ self.util = _cliPkgRequires.util; t1.first = false; return result; }, - $signature: 139 + $signature: 232 }; A._nest__closure0.prototype = { call$2($parent, child) { return child.nestWithin$1($parent); }, - $signature: 140 + $signature: 234 }; A._append_closure.prototype = { call$1($arguments) { @@ -52736,13 +55498,13 @@ self.util = _cliPkgRequires.util; t1 = A.EvaluationContext_currentOrNull(); return new A.MappedListIterable(selectors, new A._append__closure(), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList>")).reduce$1(0, new A._append__closure0((t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan())).get$asSassList(); }, - $signature: 23 + $signature: 27 }; A._append__closure.prototype = { call$1(selector) { return A.SassApiValue_assertSelector(selector, false, null); }, - $signature: 139 + $signature: 232 }; A._append__closure0.prototype = { call$2($parent, child) { @@ -52750,7 +55512,7 @@ self.util = _cliPkgRequires.util; t2 = this.span; return A.SelectorList$(new A.MappedListIterable(t1, new A._append___closure($parent, t2), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector>")), t2).nestWithin$1($parent); }, - $signature: 140 + $signature: 234 }; A._append___closure.prototype = { call$1(complex) { @@ -52774,9 +55536,9 @@ self.util = _cliPkgRequires.util; t1 = this.span; t2 = A._setArrayType([new A.ComplexSelectorComponent(newCompound, A.List_List$unmodifiable(component.combinators, type$.CssValue_Combinator), t1)], type$.JSArray_ComplexSelectorComponent); B.JSArray_methods.addAll$1(t2, rest); - return A.ComplexSelector$(B.List_empty1, t2, t1, false); + return A.ComplexSelector$(B.List_empty0, t2, t1, false); }, - $signature: 57 + $signature: 63 }; A._extend_closure.prototype = { call$1($arguments) { @@ -52794,7 +55556,7 @@ self.util = _cliPkgRequires.util; t1 = A.EvaluationContext_currentOrNull(); return A.ExtensionStore__extendOrReplace(selector, source, target, B.ExtendMode_allTargets_allTargets, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList(); }, - $signature: 23 + $signature: 27 }; A._replace_closure.prototype = { call$1($arguments) { @@ -52812,7 +55574,7 @@ self.util = _cliPkgRequires.util; t1 = A.EvaluationContext_currentOrNull(); return A.ExtensionStore__extendOrReplace(selector, source, target, B.ExtendMode_replace_replace, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList(); }, - $signature: 23 + $signature: 27 }; A._unify_closure.prototype = { call$1($arguments) { @@ -52828,7 +55590,7 @@ self.util = _cliPkgRequires.util; t1 = t1 == null ? null : t1.get$asSassList(); return t1 == null ? B.C__SassNull : t1; }, - $signature: 6 + $signature: 4 }; A._isSuperselector_closure.prototype = { call$1($arguments) { @@ -52840,26 +55602,26 @@ self.util = _cliPkgRequires.util; selector2.assertNotBogus$1$name("sub"); return A.listIsSuperselector(selector1.components, selector2.components) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._simpleSelectors_closure.prototype = { call$1($arguments) { var t1 = A.SassApiValue_assertCompoundSelector(J.$index$asx($arguments, 0), "selector").components; return A.SassList$(new A.MappedListIterable(t1, new A._simpleSelectors__closure(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), B.ListSeparator_ECn, false); }, - $signature: 23 + $signature: 27 }; A._simpleSelectors__closure.prototype = { call$1(simple) { return new A.SassString(A.serializeSelector(simple, true), false); }, - $signature: 605 + $signature: 278 }; A._parse_closure.prototype = { call$1($arguments) { return A.SassApiValue_assertSelector(J.$index$asx($arguments, 0), false, "selector").get$asSassList(); }, - $signature: 23 + $signature: 27 }; A.module_closure.prototype = { call$1($arguments) { @@ -52892,19 +55654,19 @@ self.util = _cliPkgRequires.util; chunks.push(B.JSString_methods.substring$1(t1, lastEnd)); return A.SassList$(new A.MappedListIterable(chunks, new A.module__closure0(string), type$.MappedListIterable_String_Value), B.ListSeparator_ECn, true); }, - $signature: 23 + $signature: 27 }; A.module__closure.prototype = { call$1(rune) { return new A.SassString(A.Primitives_stringFromCharCode(rune), this.string._hasQuotes); }, - $signature: 591 + $signature: 281 }; A.module__closure0.prototype = { call$1(chunk) { return new A.SassString(chunk, this.string._hasQuotes); }, - $signature: 590 + $signature: 288 }; A._unquote_closure.prototype = { call$1($arguments) { @@ -52913,7 +55675,7 @@ self.util = _cliPkgRequires.util; return string; return new A.SassString(string._string$_text, false); }, - $signature: 17 + $signature: 18 }; A._quote_closure.prototype = { call$1($arguments) { @@ -52922,13 +55684,13 @@ self.util = _cliPkgRequires.util; return string; return new A.SassString(string._string$_text, true); }, - $signature: 17 + $signature: 18 }; A._length_closure.prototype = { call$1($arguments) { return A.SassNumber_SassNumber(J.$index$asx($arguments, 0).assertString$1("string").get$_sassLength(), null); }, - $signature: 11 + $signature: 23 }; A._insert_closure.prototype = { call$1($arguments) { @@ -52945,7 +55707,7 @@ self.util = _cliPkgRequires.util; codeUnitIndex = A.codepointIndexToCodeUnitIndex(t1, A._codepointForIndex(indexInt, string.get$_sassLength(), false)); return new A.SassString(B.JSString_methods.replaceRange$3(t1, codeUnitIndex, codeUnitIndex, insert._string$_text), string._hasQuotes); }, - $signature: 17 + $signature: 18 }; A._index_closure.prototype = { call$1($arguments) { @@ -52956,7 +55718,7 @@ self.util = _cliPkgRequires.util; return B.C__SassNull; return A.SassNumber_SassNumber(A.codeUnitIndexToCodepointIndex(t2, codeUnitIndex) + 1, null); }, - $signature: 6 + $signature: 4 }; A._slice_closure.prototype = { call$1($arguments) { @@ -52981,7 +55743,7 @@ self.util = _cliPkgRequires.util; t1 = string._string$_text; return new A.SassString(B.JSString_methods.substring$2(t1, A.codepointIndexToCodeUnitIndex(t1, startCodepoint), A.codepointIndexToCodeUnitIndex(t1, endCodepoint + 1)), string._hasQuotes); }, - $signature: 17 + $signature: 18 }; A._toUpperCase_closure.prototype = { call$1($arguments) { @@ -52993,7 +55755,7 @@ self.util = _cliPkgRequires.util; } return new A.SassString(t3.charCodeAt(0) == 0 ? t3 : t3, string._hasQuotes); }, - $signature: 17 + $signature: 18 }; A._toLowerCase_closure.prototype = { call$1($arguments) { @@ -53005,7 +55767,7 @@ self.util = _cliPkgRequires.util; } return new A.SassString(t3.charCodeAt(0) == 0 ? t3 : t3, string._hasQuotes); }, - $signature: 17 + $signature: 18 }; A._uniqueId_closure.prototype = { call$1($arguments) { @@ -53015,11 +55777,11 @@ self.util = _cliPkgRequires.util; $._previousUniqueId = B.JSInt_methods.$mod($.$get$_previousUniqueId(), A._asInt(Math.pow(36, 6))); return new A.SassString("u" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1($.$get$_previousUniqueId(), 36), 6, "0"), false); }, - $signature: 17 + $signature: 18 }; A.ImportCache.prototype = { canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) { - var t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j, _this = this, _null = null; + var t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, result, _1_2, _2_0, _2_1, _2_5_isSet, _2_5, _2_3, _2_3_isSet, j, _this = this, _null = null; if (A.isBrowser()) t1 = (baseImporter == null || baseImporter instanceof A.NoOpImporter) && _this._importers.length === 0; else @@ -53048,17 +55810,16 @@ self.util = _cliPkgRequires.util; } else _1_0 = _null; _1_2_isSet = t3._is(_1_0); + result = _null; if (_1_2_isSet) { _1_2 = _1_0._0; t7 = _1_2 != null; if (t7) { t6._as(_1_2); result = _1_2; - } else - result = _null; + } } else { - result = _null; - _1_2 = result; + _1_2 = _null; t7 = false; } if (t7) @@ -53073,18 +55834,17 @@ self.util = _cliPkgRequires.util; _2_0 = _this._canonicalize$4(importer, url, baseUrl, forImport); _2_1 = _2_0._0; _2_5_isSet = _2_1 != null; + _2_5 = _null; + _2_3 = _null; + t7 = false; if (_2_5_isSet) { result = _2_1 == null ? t6._as(_2_1) : _2_1; _2_3 = _2_0._1; t7 = _2_3; _2_5 = t7; t7 = t7 && cacheable; - } else { + } else result = _null; - _2_3 = result; - _2_5 = _2_3; - t7 = false; - } if (t7) { t1.$indexSet(0, key, result); return result; @@ -53124,37 +55884,31 @@ self.util = _cliPkgRequires.util; return this.canonicalize$4$baseImporter$baseUrl$forImport(0, url, baseImporter, baseUrl, false); }, _canonicalize$4(importer, url, baseUrl, forImport) { - var passContainingUrl, canonicalizeContext, t1, result, cacheable, _null = null; + var passContainingUrl, canonicalizeContext, t1, result, cacheable; if (baseUrl != null) passContainingUrl = url.get$scheme() === "" || importer.isNonCanonicalScheme$1(url.get$scheme()); else passContainingUrl = false; - canonicalizeContext = new A.CanonicalizeContext(forImport, passContainingUrl ? baseUrl : _null); + canonicalizeContext = new A.CanonicalizeContext(forImport, passContainingUrl ? baseUrl : null); t1 = type$.nullable_Object; result = A.runZoned(new A.ImportCache__canonicalize_closure(importer, url), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, canonicalizeContext], t1, t1), type$.nullable_Uri); cacheable = !passContainingUrl || !canonicalizeContext._wasContainingUrlAccessed; if (result == null) - return new A._Record_2(_null, cacheable); - if (result.get$scheme() === "") - A.WarnForDeprecation_warnForDeprecation(this._logger, B.Deprecation_IMm, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, _null, _null); - else if (importer.isNonCanonicalScheme$1(result.get$scheme())) + return new A._Record_2(null, cacheable); + if (result.get$scheme() !== "" && importer.isNonCanonicalScheme$1(result.get$scheme())) throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu); return new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable); }, - importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) { - return this._importCache.putIfAbsent$2(canonicalUrl, new A.ImportCache_importCanonical_closure(this, importer, canonicalUrl, originalUrl, quiet)); - }, importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) { - return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false); + return this._importCache.putIfAbsent$2(canonicalUrl, new A.ImportCache_importCanonical_closure(this, importer, canonicalUrl, originalUrl)); }, importCanonical$2(importer, canonicalUrl) { - return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, null, false); + return this.importCanonical$3$originalUrl(importer, canonicalUrl, null); }, humanize$1(canonicalUrl) { - var t1 = A.IterableNullableExtension_whereNotNull(this._canonicalizeCache.get$values(0), type$.Record_3_Importer_and_Uri_and_Uri_originalUrl), - t2 = t1.$ti; - t2 = A.NullableExtension_andThen(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.ImportCache_humanize_closure(canonicalUrl), t2._eval$1("WhereIterable")), new A.ImportCache_humanize_closure0(), t2._eval$1("MappedIterable")), new A.ImportCache_humanize_closure1()), new A.ImportCache_humanize_closure2(canonicalUrl)); - return t2 == null ? canonicalUrl : t2; + var t1 = type$.NonNullsIterable_Record_3_Importer_and_Uri_and_Uri_originalUrl; + t1 = A.NullableExtension_andThen(A.minBy(new A.MappedIterable(new A.WhereIterable(new A.NonNullsIterable(this._canonicalizeCache.get$values(0), t1), new A.ImportCache_humanize_closure(canonicalUrl), t1._eval$1("WhereIterable")), new A.ImportCache_humanize_closure0(), t1._eval$1("MappedIterable")), new A.ImportCache_humanize_closure1()), new A.ImportCache_humanize_closure2(canonicalUrl)); + return t1 == null ? canonicalUrl : t1; }, sourceMapUrl$1(_, canonicalUrl) { var t1 = this._resultsCache.$index(0, canonicalUrl); @@ -53182,48 +55936,46 @@ self.util = _cliPkgRequires.util; t1._nonCanonicalRelativeUrls.$indexSet(0, _this.key, _this.url); return _0_0._0; }, - $signature: 119 + $signature: 138 }; A.ImportCache__canonicalize_closure.prototype = { call$0() { return this.importer.canonicalize$1(0, this.url); }, - $signature: 141 + $signature: 239 }; A.ImportCache_importCanonical_closure.prototype = { call$0() { - var t2, t3, t4, t5, _this = this, + var t2, t3, t4, _this = this, t1 = _this.canonicalUrl, result = _this.importer.load$1(0, t1); if (result == null) return null; - t2 = _this.$this; - t2._resultsCache.$indexSet(0, t1, result); - t3 = result.contents; - t4 = result.syntax; - t5 = _this.originalUrl; - t1 = t5 == null ? t1 : t5.resolveUri$1(t1); - return A.Stylesheet_Stylesheet$parse(t3, t4, _this.quiet ? $.$get$Logger_quiet() : t2._logger, t1); + _this.$this._resultsCache.$indexSet(0, t1, result); + t2 = result.contents; + t3 = result.syntax; + t4 = _this.originalUrl; + return A.Stylesheet_Stylesheet$parse(t2, t3, t4 == null ? t1 : t4.resolveUri$1(t1)); }, - $signature: 91 + $signature: 104 }; A.ImportCache_humanize_closure.prototype = { call$1(result) { - return J.$eq$(result._1, this.canonicalUrl); + return result._1.$eq(0, this.canonicalUrl); }, - $signature: 541 + $signature: 301 }; A.ImportCache_humanize_closure0.prototype = { call$1(result) { return result._2; }, - $signature: 540 + $signature: 302 }; A.ImportCache_humanize_closure1.prototype = { call$1(url) { return url.get$path(url).length; }, - $signature: 85 + $signature: 87 }; A.ImportCache_humanize_closure2.prototype = { call$1(url) { @@ -53231,18 +55983,18 @@ self.util = _cliPkgRequires.util; t2 = this.canonicalUrl; return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename()); }, - $signature: 46 + $signature: 50 }; A.ImportCache_clearCanonicalize_closure.prototype = { call$2(key, _) { var t1 = this.url; - return J.$eq$(key._1, t1) || J.$eq$(this.$this._nonCanonicalRelativeUrls.$index(0, key), t1); + return key._1.$eq(0, t1) || J.$eq$(this.$this._nonCanonicalRelativeUrls.$index(0, key), t1); }, - $signature: 538 + $signature: 304 }; A.Importer.prototype = { modificationTime$1(url) { - return new A.DateTime(Date.now(), false); + return new A.DateTime(Date.now(), 0, false); }, couldCanonicalize$2(url, canonicalUrl) { return true; @@ -53265,7 +56017,7 @@ self.util = _cliPkgRequires.util; if (_0_0 != null) { resolved = A.resolveImportPath(A.join(_0_0, $.$get$context().style.pathFromUri$1(A._parseUri(url)), null)); if (resolved != null && this._loadPathDeprecated) - A.warnForDeprecation(string$.Using_t, B.Deprecation_B4v); + A.warnForDeprecation(string$.Using_t, B.Deprecation_vct); } else return null; } @@ -53326,7 +56078,7 @@ self.util = _cliPkgRequires.util; } return t2.toUri$1(t1); }, - $signature: 142 + $signature: 128 }; A.NoOpImporter.prototype = {}; A.NodePackageImporter.prototype = { @@ -53377,16 +56129,11 @@ self.util = _cliPkgRequires.util; $name = parts.length !== 0 ? t1.join$2(0, $name, B.JSArray_methods.removeAt$1(parts, 0)) : $name; subpath = parts.length !== 0 ? t5.pathFromUri$1(A._parseUri(t1.joinAll$1(parts))) : _null; packageName = $name; + t1 = true; if (!J.startsWith$1$s(packageName, ".")) if (!J.contains$1$asx(packageName, "\\")) if (!J.contains$1$asx(packageName, "%")) t1 = J.startsWith$1$s(packageName, "@") && !J.contains$1$asx(packageName, t2.get$separator(t2)); - else - t1 = true; - else - t1 = true; - else - t1 = true; if (t1) return _null; packageRoot = _this._resolvePackageRoot$2(packageName, baseDirectory); @@ -53406,7 +56153,7 @@ self.util = _cliPkgRequires.util; } _1_0 = _this._resolvePackageExports$4(packageRoot, subpath, packageManifest, packageName); if (_1_0 != null) - if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, t5)._splitExtension$1(1)[1])) + if (B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, t5)._splitExtension$1(1)[1])) return t4.toUri$1(t4.canonicalize$1(0, _1_0)); else { t1 = subpath == null ? "root" : subpath; @@ -53438,7 +56185,7 @@ self.util = _cliPkgRequires.util; var t1, sassValue, _1_0, styleValue, _null = null, _0_0 = packageManifest.$index(0, "sass"); if (typeof _0_0 == "string") { - t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_0_0, $.$get$url().style)._splitExtension$1(1)[1]); + t1 = B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(_0_0, $.$get$url().style)._splitExtension$1(1)[1]); sassValue = _0_0; } else { sassValue = _null; @@ -53449,7 +56196,7 @@ self.util = _cliPkgRequires.util; else { _1_0 = packageManifest.$index(0, "style"); if (typeof _1_0 == "string") { - t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, $.$get$url().style)._splitExtension$1(1)[1]); + t1 = B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, $.$get$url().style)._splitExtension$1(1)[1]); styleValue = _1_0; } else { styleValue = _null; @@ -53479,8 +56226,8 @@ self.util = _cliPkgRequires.util; var t1, matches, _1_1, path; if (type$.Map_String_dynamic._is(exports) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure()) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure0())) throw A.wrapException("`exports` in " + packageName + string$.x20can_n + J.map$1$1$ax(J.get$keys$z(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure1(), type$.String).join$1(0, ",") + " in " + A.join(packageRoot, "package.json", null) + "."); - t1 = A.IterableNullableExtension_whereNotNull(new A.MappedListIterable(subpathVariants, new A.NodePackageImporter__nodePackageExportsResolve_closure2(this, exports, packageRoot), A._arrayInstanceType(subpathVariants)._eval$1("MappedListIterable<1,String?>")), type$.String); - matches = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")); + t1 = type$.NonNullsIterable_String; + matches = A.List_List$of(new A.NonNullsIterable(new A.MappedListIterable(subpathVariants, new A.NodePackageImporter__nodePackageExportsResolve_closure2(this, exports, packageRoot), A._arrayInstanceType(subpathVariants)._eval$1("MappedListIterable<1,String?>")), t1), true, t1._eval$1("Iterable.E")); $label0$1: { _1_1 = matches.length; if (_1_1 === 1) { @@ -53587,8 +56334,9 @@ self.util = _cliPkgRequires.util; return this._packageTargetResolve$4(subpath, exports, packageRoot, null); }, _getMainExport$1(exports) { - var t1, t2, map, _0_4, $export; + var t1, t2, t3, map, _0_4, t4, $export; $label0$0: { + t1 = null; if (typeof exports == "string") { t1 = exports; break $label0$0; @@ -53597,38 +56345,34 @@ self.util = _cliPkgRequires.util; t1 = exports; break $label0$0; } - t1 = type$.Map_String_dynamic._is(exports); - if (t1) { - t2 = !J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__getMainExport_closure()); + t2 = type$.Map_String_dynamic._is(exports); + if (t2) { + t3 = !J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__getMainExport_closure()); map = exports; } else { - map = null; - t2 = false; + map = t1; + t3 = false; } - if (t2) { + if (t3) { t1 = map; break $label0$0; } - if (t1) { + t3 = false; + if (t2) { _0_4 = exports.$index(0, "."); if (_0_4 == null) - t2 = exports.containsKey$1("."); + t4 = exports.containsKey$1("."); else - t2 = true; - if (t2) - t2 = _0_4 != null; - else - t2 = false; - } else { + t4 = true; + if (t4) + t3 = _0_4 != null; + } else _0_4 = null; - t2 = false; - } - if (t2) { - $export = t1 ? _0_4 : J.$index$asx(exports, "."); + if (t3) { + $export = t2 ? _0_4 : J.$index$asx(exports, "."); t1 = $export; break $label0$0; } - t1 = null; break $label0$0; } return t1; @@ -53644,7 +56388,7 @@ self.util = _cliPkgRequires.util; subpath = A.join(subpath, "index", null); if (subpath == null) return A._setArrayType([null], type$.JSArray_nullable_String); - if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1])) + if (B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1])) paths.push(subpath); else B.JSArray_methods.addAll$1(paths, A._setArrayType([subpath, subpath + ".scss", subpath + ".sass", subpath + ".css"], t1)); @@ -53672,19 +56416,19 @@ self.util = _cliPkgRequires.util; call$1(key) { return B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NodePackageImporter__nodePackageExportsResolve_closure0.prototype = { call$1(key) { return !B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NodePackageImporter__nodePackageExportsResolve_closure1.prototype = { call$1(key) { return '"' + key + '"'; }, - $signature: 5 + $signature: 6 }; A.NodePackageImporter__nodePackageExportsResolve_closure2.prototype = { call$1(variant) { @@ -53744,25 +56488,25 @@ self.util = _cliPkgRequires.util; } return _null; }, - $signature: 144 + $signature: 143 }; A.NodePackageImporter__nodePackageExportsResolve__closure.prototype = { call$1(mainExport) { return this.$this._packageTargetResolve$3(this.variant, mainExport, this.packageRoot); }, - $signature: 145 + $signature: 144 }; A.NodePackageImporter__nodePackageExportsResolve__closure0.prototype = { call$1(key) { return !B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NodePackageImporter__getMainExport_closure.prototype = { call$1(key) { return B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.ImporterResult.prototype = { get$sourceMapUrl(_) { @@ -53773,26 +56517,26 @@ self.util = _cliPkgRequires.util; call$0() { return A._exactlyOne(A._tryPath($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension)); }, - $signature: 44 + $signature: 46 }; A.resolveImportPath_closure0.prototype = { call$0() { return A._exactlyOne(A._tryPathWithExtensions(this.path + ".import")); }, - $signature: 44 + $signature: 46 }; A._tryPathAsDirectory_closure.prototype = { call$0() { return A._exactlyOne(A._tryPathWithExtensions(A.join(this.path, "index.import", null))); }, - $signature: 44 + $signature: 46 }; A._exactlyOne_closure.prototype = { call$1(path) { var t1 = $.$get$context(); return " " + t1.prettyUri$1(t1.toUri$1(path)); }, - $signature: 5 + $signature: 6 }; A.InterpolationBuffer.prototype = { writeCharCode$1(character) { @@ -53801,35 +56545,45 @@ self.util = _cliPkgRequires.util; t1._contents += t2; return null; }, + add$2(_, expression, span) { + this._flushText$0(); + this._interpolation_buffer$_contents.push(expression); + this._spans.push(span); + }, addInterpolation$1(interpolation) { - var _0_4_isSet, _0_4, first, rest, t2, _this = this, + var spansToAdd, _0_4_isSet, _0_4, _0_40, first, rest, t2, t3, _this = this, toAdd = interpolation.contents, t1 = toAdd.length; if (t1 === 0) return; + spansToAdd = interpolation.spans; _0_4_isSet = t1 >= 1; + _0_4 = null; if (_0_4_isSet) { - _0_4 = toAdd[0]; - t1 = _0_4; + _0_40 = toAdd[0]; + t1 = _0_40; + _0_4 = t1; t1 = typeof t1 == "string"; - } else { - _0_4 = null; + } else t1 = false; - } if (t1) { first = A._asString(_0_4_isSet ? _0_4 : toAdd[0]); rest = B.JSArray_methods.sublist$1(toAdd, 1); t1 = _this._interpolation_buffer$_text; t1._contents += first; + spansToAdd = A.SubListIterable$(spansToAdd, 1, null, A._arrayInstanceType(spansToAdd)._precomputed1); toAdd = rest; } _this._flushText$0(); t1 = _this._interpolation_buffer$_contents; B.JSArray_methods.addAll$1(t1, toAdd); + t2 = _this._spans; + B.JSArray_methods.addAll$1(t2, spansToAdd); if (typeof B.JSArray_methods.get$last(t1) == "string") { - t2 = _this._interpolation_buffer$_text; + t3 = _this._interpolation_buffer$_text; t1 = A.S(t1.pop()); - t2._contents += t1; + t3._contents += t1; + t2.pop(); } }, _flushText$0() { @@ -53838,14 +56592,19 @@ self.util = _cliPkgRequires.util; if (t2.length === 0) return; this._interpolation_buffer$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2); + this._spans.push(null); t1._contents = ""; }, interpolation$1(span) { var t1 = A.List_List$of(this._interpolation_buffer$_contents, true, type$.Object), - t2 = this._interpolation_buffer$_text._contents; - if (t2.length !== 0) - t1.push(t2.charCodeAt(0) == 0 ? t2 : t2); - return A.Interpolation$(t1, span); + t2 = this._interpolation_buffer$_text, + t3 = t2._contents; + if (t3.length !== 0) + t1.push(t3.charCodeAt(0) == 0 ? t3 : t3); + t3 = A.List_List$of(this._spans, true, type$.nullable_FileSpan); + if (t2._contents.length !== 0) + t3.push(null); + return A.Interpolation$(t1, t3, span); }, toString$0(_) { var t1, t2, _i, t3, element; @@ -53883,6 +56642,8 @@ self.util = _cliPkgRequires.util; _0_10 = _0_1; t1 = type$.FileSpan; _0_2_isSet = t1._is(_0_1); + _0_20 = _null; + t2 = false; if (_0_2_isSet) { t1._as(_0_10); _0_20 = _0_2; @@ -53891,14 +56652,13 @@ self.util = _cliPkgRequires.util; _0_1 = start; } else { start = _null; - _0_20 = start; _0_1 = _0_10; - t2 = false; } if (t2) { t1 = start.expand$1(0, t1._as(_0_2_isSet ? _0_20 : _0_2)); break $label0$0; } + t2 = false; if (t1._is(_0_1)) { if (_0_2_isSet) t2 = _0_20; @@ -53909,17 +56669,15 @@ self.util = _cliPkgRequires.util; } t2 = t2 instanceof A.FileLocation; start = _0_1; - } else { + } else start = _null; - t2 = false; - } if (t2) { t1 = _0_2_isSet ? _0_20 : _0_2; type$.FileLocation._as(t1); - t2 = _this._interpolation.span; - t1 = t2.get$file(t2).span$2(0, _this._expandInterpolationSpanLeft$1(start.get$start(start)), t1.offset); + t1 = _this._interpolation.span.file.span$2(0, _this._expandInterpolationSpanLeft$1(start.get$start(start)), t1.offset); break $label0$0; } + t2 = false; if (_0_1 instanceof A.FileLocation) { if (_0_2_isSet) t2 = _0_20; @@ -53930,16 +56688,14 @@ self.util = _cliPkgRequires.util; } t2 = t1._is(t2); start = _0_1; - } else { + } else start = _null; - t2 = false; - } if (t2) { end = t1._as(_0_2_isSet ? _0_20 : _0_2); - t1 = _this._interpolation.span; - t1 = t1.get$file(t1).span$2(0, start.offset, _this._expandInterpolationSpanRight$1(end.get$end(end))); + t1 = _this._interpolation.span.file.span$2(0, start.offset, _this._expandInterpolationSpanRight$1(end.get$end(end))); break $label0$0; } + t1 = false; if (_0_1 instanceof A.FileLocation) { if (_0_2_isSet) t1 = _0_20; @@ -53950,15 +56706,12 @@ self.util = _cliPkgRequires.util; } t1 = t1 instanceof A.FileLocation; start = _0_1; - } else { + } else start = _null; - t1 = false; - } if (t1) { t1 = _0_2_isSet ? _0_20 : _0_2; type$.FileLocation._as(t1); - t2 = _this._interpolation.span; - t1 = t2.get$file(t2).span$2(0, start.offset, t1.offset); + t1 = _this._interpolation.span.file.span$2(0, start.offset, t1.offset); break $label0$0; } t1 = A.throwExpression("[BUG] Unreachable"); @@ -53966,25 +56719,24 @@ self.util = _cliPkgRequires.util; return t1; }, _mapLocation$1(target) { - var t4, previousLocation, _this = this, + var t3, t4, previousLocation, _this = this, index = _this._indexInContents$1(target), t1 = _this._interpolation, t2 = t1.contents, - _0_0 = t2[index], - t3 = type$.Expression; - if (t3._is(_0_0)) + _0_0 = t2[index]; + if (_0_0 instanceof A.Expression) return _0_0.get$span(_0_0); - t4 = index === 0; + t3 = index === 0; t1 = t1.span; - if (t4) - previousLocation = t1.get$start(t1); + t4 = t1.file; + if (t3) + previousLocation = A.FileLocation$_(t4, t1._file$_start); else { - t1 = t1.get$file(t1); - t2 = t3._as(t2[index - 1]); - t2 = t2.get$span(t2); - previousLocation = A.FileLocation$_(t1, _this._expandInterpolationSpanRight$1(t2.get$end(t2))); + t1 = type$.Expression._as(t2[index - 1]); + t1 = t1.get$span(t1); + previousLocation = A.FileLocation$_(t4, _this._expandInterpolationSpanRight$1(t1.get$end(t1))); } - t1 = t4 ? 0 : _this._targetLocations[index - 1].get$offset(); + t1 = t3 ? 0 : _this._targetLocations[index - 1].get$offset(); return A.FileLocation$_(previousLocation.file, previousLocation.offset + (target.offset - t1)); }, _indexInContents$1(target) { @@ -54091,9 +56843,9 @@ self.util = _cliPkgRequires.util; }; A.InterpolationMap_mapException_closure.prototype = { call$1($content) { - return type$.Expression._is($content); + return $content instanceof A.Expression; }, - $signature: 67 + $signature: 76 }; A._realCasePath_helper.prototype = { call$1(path) { @@ -54102,7 +56854,7 @@ self.util = _cliPkgRequires.util; return path; return $._realCaseCache.putIfAbsent$2(path, new A._realCasePath_helper_closure(this, dirname, path)); }, - $signature: 5 + $signature: 6 }; A._realCasePath_helper_closure.prototype = { call$0() { @@ -54133,13 +56885,13 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 25 + $signature: 31 }; A._realCasePath_helper__closure.prototype = { call$1(realPath) { return A.equalsIgnoreCase(A.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename); }, - $signature: 4 + $signature: 5 }; A.FileSystemException.prototype = { toString$0(_) { @@ -54154,7 +56906,7 @@ self.util = _cliPkgRequires.util; call$0() { return J.readFileSync$2$x(A.fs(), this.path, this.encoding); }, - $signature: 62 + $signature: 65 }; A.writeFile_closure.prototype = { call$0() { @@ -54173,7 +56925,7 @@ self.util = _cliPkgRequires.util; this._box_0.contents = result; this.completer.complete$1(result); }, - $signature: 92 + $signature: 84 }; A.readStdin_closure0.prototype = { call$1(chunk) { @@ -54187,10 +56939,10 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 104 + $signature: 86 }; A.readStdin_closure1.prototype = { - call$1(_) { + call$1(arg) { this.sink.close$0(0); }, call$0() { @@ -54201,7 +56953,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 104 + $signature: 86 }; A.readStdin_closure2.prototype = { call$1(e) { @@ -54218,7 +56970,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 104 + $signature: 86 }; A.fileExists_closure.prototype = { call$0() { @@ -54237,7 +56989,7 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 30 + $signature: 24 }; A.dirExists_closure.prototype = { call$0() { @@ -54256,7 +57008,7 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 30 + $signature: 24 }; A.ensureDir_closure.prototype = { call$0() { @@ -54285,42 +57037,42 @@ self.util = _cliPkgRequires.util; else return new A.listDir_closure_list().call$1(t1); }, - $signature: 146 + $signature: 157 }; A.listDir__closure.prototype = { call$1(child) { return A.join(this.path, A._asString(child), null); }, - $signature: 125 + $signature: 130 }; A.listDir__closure0.prototype = { call$1(child) { return !A.dirExists(child); }, - $signature: 4 + $signature: 5 }; A.listDir_closure_list.prototype = { call$1($parent) { return J.expand$1$1$ax(J.readdirSync$1$x(A.fs(), $parent), new A.listDir__list_closure($parent, this), type$.String); }, - $signature: 147 + $signature: 158 }; A.listDir__list_closure.prototype = { call$1(child) { var path = A.join(this.parent, A._asString(child), null); return A.dirExists(path) ? this.list.call$1(path) : A._setArrayType([path], type$.JSArray_String); }, - $signature: 148 + $signature: 139 }; A.modificationTime_closure.prototype = { call$0() { var t1 = J.getTime$0$x(J.get$mtime$x(J.statSync$1$x(A.fs(), this.path))); - if (Math.abs(t1) > 864e13) - A.throwExpression(A.ArgumentError$("DateTime is outside valid range: " + A.S(t1), null)); + if (t1 < -864e13 || t1 > 864e13) + A.throwExpression(A.RangeError$range(t1, -864e13, 864e13, "millisecondsSinceEpoch", null)); A.checkNotNullable(false, "isUtc", type$.bool); - return new A.DateTime(t1, false); + return new A.DateTime(t1, 0, false); }, - $signature: 149 + $signature: 160 }; A.watchDir_closure.prototype = { call$2(path, _) { @@ -54335,7 +57087,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 150 + $signature: 161 }; A.watchDir_closure0.prototype = { call$2(path, _) { @@ -54350,21 +57102,21 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 150 + $signature: 161 }; A.watchDir_closure1.prototype = { call$1(path) { var t1 = this._box_0.controller; return t1 == null ? null : t1.add$1(0, new A.WatchEvent(B.ChangeType_remove, path)); }, - $signature: 92 + $signature: 84 }; A.watchDir_closure2.prototype = { call$1(error) { var t1 = this._box_0.controller; return t1 == null ? null : t1.addError$1(error); }, - $signature: 82 + $signature: 88 }; A.watchDir_closure3.prototype = { call$0() { @@ -54380,6 +57132,97 @@ self.util = _cliPkgRequires.util; }, $signature: 1 }; + A.watchDir_closure5.prototype = { + call$2(error, events) { + var t1, t2, t3, t4, t5, t6, lastEvent; + if (error != null) { + t1 = this._box_0.controller; + if (t1 != null) + t1.addError$1(error); + } else + for (t1 = A._instanceType(events), t2 = new A.ListIterator(events, events.get$length(events), t1._eval$1("ListIterator")), t1 = t1._eval$1("ListBase.E"), t3 = this._box_0; t2.moveNext$0();) { + t4 = t2.__internal$_current; + if (t4 == null) + t4 = t1._as(t4); + t5 = J.getInterceptor$x(t4); + switch (t5.get$type(t4)) { + case "create": + t6 = t3.controller; + if (t6 != null) { + t4 = new A.WatchEvent(B.ChangeType_add, t5.get$path(t4)); + t5 = t6._state; + if (t5 >= 4) + A.throwExpression(t6._badEventState$0()); + if ((t5 & 1) !== 0) + t6._sendData$1(t4); + else if ((t5 & 3) === 0) { + t5 = t6._ensurePendingEvents$0(); + t4 = new A._DelayedData(t4); + lastEvent = t5.lastPendingEvent; + if (lastEvent == null) + t5.firstPendingEvent = t5.lastPendingEvent = t4; + else { + lastEvent.set$next(t4); + t5.lastPendingEvent = t4; + } + } + } + break; + case "update": + t6 = t3.controller; + if (t6 != null) { + t4 = new A.WatchEvent(B.ChangeType_modify, t5.get$path(t4)); + t5 = t6._state; + if (t5 >= 4) + A.throwExpression(t6._badEventState$0()); + if ((t5 & 1) !== 0) + t6._sendData$1(t4); + else if ((t5 & 3) === 0) { + t5 = t6._ensurePendingEvents$0(); + t4 = new A._DelayedData(t4); + lastEvent = t5.lastPendingEvent; + if (lastEvent == null) + t5.firstPendingEvent = t5.lastPendingEvent = t4; + else { + lastEvent.set$next(t4); + t5.lastPendingEvent = t4; + } + } + } + break; + case "delete": + t6 = t3.controller; + if (t6 != null) { + t4 = new A.WatchEvent(B.ChangeType_remove, t5.get$path(t4)); + t5 = t6._state; + if (t5 >= 4) + A.throwExpression(t6._badEventState$0()); + if ((t5 & 1) !== 0) + t6._sendData$1(t4); + else if ((t5 & 3) === 0) { + t5 = t6._ensurePendingEvents$0(); + t4 = new A._DelayedData(t4); + lastEvent = t5.lastPendingEvent; + if (lastEvent == null) + t5.firstPendingEvent = t5.lastPendingEvent = t4; + else { + lastEvent.set$next(t4); + t5.lastPendingEvent = t4; + } + } + } + break; + } + } + }, + $signature: 329 + }; + A.watchDir_closure4.prototype = { + call$0() { + J.unsubscribe$0$x(this.subscription); + }, + $signature: 1 + }; A.JSArray0.prototype = {}; A.Chokidar.prototype = {}; A.ChokidarOptions.prototype = {}; @@ -54394,20 +57237,26 @@ self.util = _cliPkgRequires.util; A.RenderContextResultStats.prototype = {}; A.JSModule.prototype = {}; A.JSModuleRequire.prototype = {}; + A.ParcelWatcherSubscription.prototype = {}; + A.ParcelWatcherEvent.prototype = {}; + A.ParcelWatcher.prototype = {}; + A.ParcelWatcher_subscribeFuture_closure.prototype = { + call$2(error, events) { + this.callback.call$2(error, J.cast$1$0$ax(events, type$.ParcelWatcherEvent)); + }, + $signature: 330 + }; A.JSClass.prototype = {}; A.JSUrl.prototype = {}; A._PropertyDescriptor.prototype = {}; A._RequireMain.prototype = {}; A.LoggerWithDeprecationType0.prototype = { warn$4$deprecation$span$trace(_, message, deprecation, span, trace) { - this.internalWarn$4$deprecation$span$trace(message, deprecation ? B.Deprecation_JeE : null, span, trace); + this.internalWarn$4$deprecation$span$trace(message, deprecation ? B.Deprecation_W1R : null, span, trace); }, warn$3$span$trace(_, message, span, trace) { return this.warn$4$deprecation$span$trace(0, message, false, span, trace); }, - warn$2$span(_, message, span) { - return this.warn$4$deprecation$span$trace(0, message, false, span, null); - }, warn$2$trace(_, message, trace) { return this.warn$4$deprecation$span$trace(0, message, false, null, trace); } @@ -54421,57 +57270,32 @@ self.util = _cliPkgRequires.util; warn$3$span$trace(_, message, span, trace) { return this.warn$4$deprecation$span$trace(0, message, false, span, trace); }, - warn$2$span(_, message, span) { - return this.warn$4$deprecation$span$trace(0, message, false, span, null); - }, debug$2(_, message, span) { } }; A.DeprecationProcessingLogger.prototype = { - DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) { - var t1, t2, t3, t4, t5, t6, _1_7, _this = this, _null = null; - for (t1 = _this.fatalDeprecations, t1 = t1.get$iterator(t1), t2 = _this.silenceDeprecations, t3 = _this.futureDeprecations, t4 = _this._inner; t1.moveNext$0();) { - t5 = t1.get$current(t1); - if (t5.isFuture && !t3.contains$1(0, t5)) { - t5 = t5.toString$0(0); - t4.warn$3$span$trace(0, "Future " + t5 + string$.x20deprex20m, _null, _null); - continue; - } - t6 = t2.contains$1(0, t5); - if (t6) { - t5 = t5.toString$0(0); - t4.warn$3$span$trace(0, "Ignoring setting to silence " + t5 + string$.x20deprex2c, _null, _null); + validate$0() { + var t1, t2, t3, t4, t5, _this = this, _null = null; + for (t1 = _this.fatalDeprecations, t1 = t1.get$iterator(t1), t2 = _this.silenceDeprecations, t3 = _this._inner; t1.moveNext$0();) { + t4 = t1.get$current(t1); + t5 = t2.contains$1(0, t4); + if (t5) { + t4 = t4.toString$0(0); + t3.warn$3$span$trace(0, "Ignoring setting to silence " + t4 + string$.x20deprex2c, _null, _null); continue; } } - for (t1 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + for (t1 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1, t4 = _this.futureDeprecations; t1.moveNext$0();) { t5 = t1._collection$_current; - if (t5 == null) - t5 = t2._as(t5); - if (B.Deprecation_JeE === t5) { - t4.warn$3$span$trace(0, string$.User_a, _null, _null); - continue; - } - _1_7 = t5.isFuture; - if (_1_7 && t3.contains$1(0, t5)) { - t5 = t5.toString$0(0); - t4.warn$3$span$trace(0, "Conflicting options for future " + t5 + " deprecation cancel each other out.", _null, _null); - continue; - } - if (_1_7) { - t5 = t5.toString$0(0); - t4.warn$3$span$trace(0, "Future " + t5 + string$.x20deprex20i, _null, _null); + if (B.Deprecation_W1R === (t5 == null ? t2._as(t5) : t5)) { + t3.warn$3$span$trace(0, string$.User_a, _null, _null); continue; } } - for (t1 = A._LinkedHashSetIterator$(t3, t3._modifications, A._instanceType(t3)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { - t3 = t1._collection$_current; - if (t3 == null) - t3 = t2._as(t3); - if (!t3.isFuture) { - t3 = t3.toString$0(0); - t4.warn$3$span$trace(0, t3 + string$.x20is_noaf, _null, _null); - } + for (t1 = A._LinkedHashSetIterator$(t4, t4._modifications, A._instanceType(t4)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t4 = t1._collection$_current; + t4 = (t4 == null ? t2._as(t4) : t4).toString$0(0); + t3.warn$3$span$trace(0, t4 + string$.x20is_noaf, _null, _null); } }, internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) { @@ -54481,34 +57305,30 @@ self.util = _cliPkgRequires.util; this._inner.warn$3$span$trace(0, message, span, trace); }, _handleDeprecation$4$span$trace(deprecation, message, span, trace) { - var _0_3_isSet, span0, t1, _0_3, t2, count, _this = this, _null = null; - if (deprecation.isFuture && !_this.futureDeprecations.contains$1(0, deprecation)) - return; + var _0_3_isSet, _0_3, t1, span0, t2, count, _this = this, _null = null; if (_this.fatalDeprecations.contains$1(0, deprecation)) { - message += string$.x0a_This + deprecation.toString$0(0) + string$.x20deprex20t; + message += string$.x0a_This + deprecation.toString$0(0) + string$.x20deprex20; $label0$0: { _0_3_isSet = span != null; + _0_3 = _null; + t1 = false; if (_0_3_isSet) { span0 = span == null ? type$.FileSpan._as(span) : span; t1 = trace != null; _0_3 = trace; - } else { + } else span0 = _null; - _0_3 = span0; - t1 = false; - } if (t1) { if (_0_3_isSet) trace = _0_3; t1 = A.SassRuntimeException$(message, span0, trace == null ? type$.Trace._as(trace) : trace, _null); break $label0$0; } + t1 = false; if (span != null) t1 = (_0_3_isSet ? _0_3 : trace) == null; - else { + else span = _null; - t1 = false; - } if (t1) { t1 = A.SassException$(message, span, _null); break $label0$0; @@ -54547,13 +57367,13 @@ self.util = _cliPkgRequires.util; call$1(count) { return count > 5; }, - $signature: 45 + $signature: 47 }; A.DeprecationProcessingLogger_summarize_closure0.prototype = { call$1(count) { return count - 5; }, - $signature: 151 + $signature: 168 }; A.StderrLogger.prototype = { warn$4$deprecation$span$trace(_, message, deprecation, span, trace) { @@ -54584,9 +57404,6 @@ self.util = _cliPkgRequires.util; warn$3$span$trace(_, message, span, trace) { return this.warn$4$deprecation$span$trace(0, message, false, span, trace); }, - warn$2$span(_, message, span) { - return this.warn$4$deprecation$span$trace(0, message, false, span, null); - }, warn$2$trace(_, message, trace) { return this.warn$4$deprecation$span$trace(0, message, false, null, trace); }, @@ -54793,32 +57610,28 @@ self.util = _cliPkgRequires.util; return this._shadowed_view$_inner.variableIdentity$1($name); }, $eq(_, other) { - var t1, t2, _this = this; + var t1, t2, t3, _this = this; if (other == null) return false; + t1 = false; if (other instanceof A.ShadowedModuleView) if (_this._shadowed_view$_inner.$eq(0, other._shadowed_view$_inner)) { - t1 = _this.variables; - t1 = t1.get$keys(t1); - t2 = other.variables; - if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) { - t1 = _this.functions; - t1 = t1.get$keys(t1); - t2 = other.functions; - if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) { + t2 = _this.variables; + t2 = t2.get$keys(t2); + t3 = other.variables; + if (B.C_IterableEquality.equals$2(0, t2, t3.get$keys(t3))) { + t2 = _this.functions; + t2 = t2.get$keys(t2); + t3 = other.functions; + if (B.C_IterableEquality.equals$2(0, t2, t3.get$keys(t3))) { t1 = _this.mixins; t1 = t1.get$keys(t1); t2 = other.mixins; t2 = B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2)); t1 = t2; - } else - t1 = false; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; + } + } + } return t1; }, get$hashCode(_) { @@ -54847,7 +57660,7 @@ self.util = _cliPkgRequires.util; } }; A.AtRootQueryParser.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.AtRootQueryParser_parse_closure(this)); } }; @@ -54873,13 +57686,13 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); return new A.AtRootQuery(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule")); }, - $signature: 515 + $signature: 338 }; A._disallowedFunctionNames_closure.prototype = { call$1($function) { return $function.name; }, - $signature: 514 + $signature: 339 }; A.CssParser.prototype = { get$plainCss() { @@ -54904,7 +57717,7 @@ self.util = _cliPkgRequires.util; _0_0 = $name.get$asPlain(); $label0$0: { if ("at-root" === _0_0 || "content" === _0_0 || "debug" === _0_0 || "each" === _0_0 || "error" === _0_0 || "extend" === _0_0 || "for" === _0_0 || "function" === _0_0 || "if" === _0_0 || "include" === _0_0 || "mixin" === _0_0 || "return" === _0_0 || "warn" === _0_0 || "while" === _0_0) - _this._forbiddenAtRoot$1(start); + _this._forbiddenAtRule$1(start); if ("import" === _0_0) { t1 = _this._cssImportRule$1(start); break $label0$0; @@ -54926,28 +57739,68 @@ self.util = _cliPkgRequires.util; } return t1; }, - _forbiddenAtRoot$1(start) { + _forbiddenAtRule$1(start) { this.almostAnyValue$0(); this.error$2(0, "This at-rule isn't allowed in plain CSS.", this.scanner.spanFrom$1(start)); }, _cssImportRule$1(start) { - var t2, urlSpan, modifiers, _this = this, + var _0_0, t3, string, $name, _0_3, _0_4, t4, _0_8, t5, modifiers, _this = this, _null = null, t1 = _this.scanner, - urlStart = new A._SpanScannerState(t1, t1._string_scanner$_position), - _0_0 = t1.peekChar$0(); - $label0$0: { - if (117 === _0_0 || 85 === _0_0) { - t2 = _this.dynamicUrl$0(); - break $label0$0; + t2 = t1._string_scanner$_position, + _1_0 = t1.peekChar$0(); + $label1$1: { + if (117 === _1_0 || 85 === _1_0) { + _0_0 = _this.dynamicUrl$0(); + $label0$0: { + if (_0_0 instanceof A.StringExpression) { + t3 = _0_0.text; + break $label0$0; + } + string = _null; + t3 = false; + if (_0_0 instanceof A.InterpolatedFunctionExpression) { + $name = _0_0.name; + _0_3 = _0_0.$arguments; + _0_4 = _0_3.positional; + t4 = _0_4; + if (t4.length === 1) { + _0_8 = _0_4[0]; + t4 = _0_8; + if (t4 instanceof A.StringExpression) { + type$.StringExpression._as(_0_8); + t4 = _0_3.named; + if (t4.get$isEmpty(t4)) + if (_0_3.rest == null) + t3 = _0_3.keywordRest == null; + string = _0_8; + } + } + } else + $name = _null; + if (t3) { + t3 = new A.StringBuffer(""); + t4 = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); + t4.addInterpolation$1($name); + t5 = A.Primitives_stringFromCharCode(40); + t3._contents += t5; + t4.addInterpolation$1(string.asInterpolation$0()); + t5 = A.Primitives_stringFromCharCode(41); + t3._contents += t5; + t4 = t4.interpolation$1(_0_0.span); + t3 = t4; + break $label0$0; + } + t3 = _this.error$2(0, "Unsupported plain CSS import.", _0_0.get$span(_0_0)); + } + break $label1$1; } - t2 = new A.StringExpression(_this.interpolatedString$0().asInterpolation$1$static(true), false); - break $label0$0; + t3 = _this.interpolatedString$0().asInterpolation$1$static(true); + break $label1$1; } - urlSpan = t1.spanFrom$1(urlStart); _this.whitespace$0(); modifiers = _this.tryImportModifiers$0(); _this.expectStatementSeparator$1("@import rule"); - t2 = A._setArrayType([new A.StaticImport(A.Interpolation$(A._setArrayType([t2], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(urlStart))], type$.JSArray_Import); + t2 = A._setArrayType([new A.StaticImport(t3, modifiers, t1.spanFrom$1(new A._SpanScannerState(t1, t2)))], type$.JSArray_Import); t1 = t1.spanFrom$1(start); return new A.ImportRule(A.List_List$unmodifiable(t2, type$.Import), t1); }, @@ -54985,7 +57838,7 @@ self.util = _cliPkgRequires.util; t3 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); t4 = t3.offset; t4 = A._FileSpan$(t3.file, t4, t4); - $arguments.push(new A.StringExpression(A.Interpolation$(A._setArrayType([""], type$.JSArray_Object), t4), false)); + $arguments.push(new A.StringExpression(new A.Interpolation(A.List_List$unmodifiable([""], type$.Object), B.List_null, t4), false)); break; } $arguments.push(_this.expressionUntilComma$1$singleEquals(true)); @@ -55008,7 +57861,7 @@ self.util = _cliPkgRequires.util; } }; A.KeyframeSelectorParser.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.KeyframeSelectorParser_parse_closure(this)); }, _percentage$0() { @@ -55072,10 +57925,10 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); return selectors; }, - $signature: 126 + $signature: 132 }; A.MediaQueryParser.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.MediaQueryParser_parse_closure(this)); }, _mediaQuery$0() { @@ -55162,7 +58015,7 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); return queries; }, - $signature: 509 + $signature: 341 }; A.Parser.prototype = { _parseIdentifier$0() { @@ -55404,17 +58257,18 @@ self.util = _cliPkgRequires.util; return t1.charCodeAt(0) == 0 ? t1 : t1; }, declarationValue$1$allowEmpty(allowEmpty) { - var t1, t2, wroteNewline, next, t3, start, end, _0_0, _this = this, + var t1, t2, wroteNewline, next, wroteNewline0, t3, start, end, _0_0, _this = this, buffer = new A.StringBuffer(""), brackets = A._setArrayType([], type$.JSArray_int); for (t1 = _this.scanner, t2 = _this.get$string(), wroteNewline = false; true;) { next = t1.peekChar$0(); if (next == null) break; + wroteNewline0 = false; if (92 === next) { t3 = _this.escape$1$identifierStart(true); buffer._contents += t3; - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (34 === next || 39 === next) { @@ -55422,7 +58276,7 @@ self.util = _cliPkgRequires.util; t2.call$0(); end = t1._string_scanner$_position; buffer._contents += B.JSString_methods.substring$2(t1.string, start, end); - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (47 === next) { @@ -55436,7 +58290,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t3; } - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (32 === next || 9 === next) { @@ -55464,7 +58318,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(next); buffer._contents += t3; brackets.push(A.opposite(t1.readChar$0())); - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (41 === next || 125 === next || 93 === next) { @@ -55473,7 +58327,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(next); buffer._contents += t3; t1.expectChar$1(brackets.pop()); - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (59 === next) { @@ -55491,7 +58345,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t3; } - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (_this.lookingAtIdentifier$0()) { @@ -55501,7 +58355,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t3; } - wroteNewline = false; + wroteNewline = wroteNewline0; } if (brackets.length !== 0) t1.expectChar$1(B.JSArray_methods.get$last(brackets)); @@ -55535,16 +58389,11 @@ self.util = _cliPkgRequires.util; buffer._contents += t2; continue; } + t2 = true; if (37 !== _0_0) if (38 !== _0_0) if (35 !== _0_0) t2 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128; - else - t2 = true; - else - t2 = true; - else - t2 = true; if (t2) { t2 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t2; @@ -55587,13 +58436,10 @@ self.util = _cliPkgRequires.util; for (i = 0; i < 6; ++i) { next = t1.peekChar$0(); if (next != null) { + t2 = true; if (!(next >= 48 && next <= 57)) if (!(next >= 97 && next <= 102)) t2 = next >= 65 && next <= 70; - else - t2 = true; - else - t2 = true; t2 = !t2; } else t2 = true; @@ -55628,6 +58474,7 @@ self.util = _cliPkgRequires.util; throw exception; } else { + t1 = true; if (!(value <= 31)) if (!J.$eq$(value, 127)) if (identifierStart) { @@ -55635,10 +58482,6 @@ self.util = _cliPkgRequires.util; t1 = t1 >= 48 && t1 <= 57; } else t1 = false; - else - t1 = true; - else - t1 = true; if (t1) { t1 = "" + A.Primitives_stringFromCharCode(92); if (value > 15) @@ -55825,7 +58668,7 @@ self.util = _cliPkgRequires.util; return this.withErrorMessage$1$2(message, callback, type$.dynamic); }, wrapSpanFormatException$1$1(callback) { - var error, stackTrace, map, error0, stackTrace0, span, error1, stackTrace1, span0, secondarySpans, t1, t2, span1, description, _0_0, t3, exception, t4, _this = this, + var error, stackTrace, map, error0, stackTrace0, span, secondarySpans, t1, t2, span0, description, _0_0, error1, stackTrace1, span1, t3, exception, t4, _this = this, _s8_ = "expected"; try { try { @@ -55845,37 +58688,37 @@ self.util = _cliPkgRequires.util; } } catch (exception) { t3 = A.unwrapException(exception); - if (type$.SourceSpanFormatException._is(t3)) { + if (type$.MultiSourceSpanFormatException._is(t3)) { error0 = t3; stackTrace0 = A.getTraceFromException(exception); span = J.get$span$z(error0); - if (A.startsWithIgnoreCase(error0._span_exception$_message, _s8_)) - span = _this._adjustExceptionSpan$1(span); - t1 = error0._span_exception$_message; - t2 = span; - A.throwWithTrace(new A.SassFormatException(B.Set_empty, t1, t2), error0, stackTrace0); - } else if (type$.MultiSourceSpanFormatException._is(t3)) { - error1 = t3; - stackTrace1 = A.getTraceFromException(exception); - span0 = J.get$span$z(error1); t3 = type$.FileSpan; t4 = type$.String; - secondarySpans = error1.get$secondarySpans().cast$2$0(0, t3, t4); - if (A.startsWithIgnoreCase(error1._span_exception$_message, _s8_)) { - span0 = _this._adjustExceptionSpan$1(span0); + secondarySpans = error0.get$secondarySpans().cast$2$0(0, t3, t4); + if (A.startsWithIgnoreCase(error0._span_exception$_message, _s8_)) { + span = _this._adjustExceptionSpan$1(span); t1 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4); for (t3 = A.MapExtensions_get_pairs(secondarySpans, t3, t4), t3 = t3.get$iterator(t3); t3.moveNext$0();) { t2 = t3.get$current(t3); - span1 = null; + span0 = null; description = null; _0_0 = t2; - span1 = _0_0._0; + span0 = _0_0._0; description = _0_0._1; - J.$indexSet$ax(t1, _this._adjustExceptionSpan$1(span1), description); + J.$indexSet$ax(t1, _this._adjustExceptionSpan$1(span0), description); } secondarySpans = t1; } - A.throwWithTrace(A.MultiSpanSassFormatException$(error1._span_exception$_message, span0, error1.get$primaryLabel(), secondarySpans, null), error1, stackTrace1); + A.throwWithTrace(A.MultiSpanSassFormatException$(error0._span_exception$_message, span, error0.get$primaryLabel(), secondarySpans, null), error0, stackTrace0); + } else if (type$.SourceSpanFormatException._is(t3)) { + error1 = t3; + stackTrace1 = A.getTraceFromException(exception); + span1 = J.get$span$z(error1); + if (A.startsWithIgnoreCase(error1._span_exception$_message, _s8_)) + span1 = _this._adjustExceptionSpan$1(span1); + t1 = error1._span_exception$_message; + t2 = span1; + A.throwWithTrace(new A.SassFormatException(B.Set_empty, t1, t2), error1, stackTrace1); } else throw exception; } @@ -55928,26 +58771,26 @@ self.util = _cliPkgRequires.util; t1.scanner.expectDone$0(); return result; }, - $signature: 25 + $signature: 31 }; A.Parser_escape_closure.prototype = { call$1(char) { return char === 32 || char === 9 || char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.Parser_scanIdentChar_matches.prototype = { call$1(actual) { var t1 = this.char; return this.caseSensitive ? actual === t1 : A.characterEqualsIgnoreCase(t1, actual); }, - $signature: 45 + $signature: 47 }; A.Parser_spanFrom_closure.prototype = { call$0() { return this.$this._interpolationMap.mapSpan$1(this.span); }, - $signature: 26 + $signature: 29 }; A.SassParser.prototype = { get$currentIndentation() { @@ -55961,7 +58804,7 @@ self.util = _cliPkgRequires.util; t1 = this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); do { buffer.addInterpolation$1(this.almostAnyValue$1$omitComments(true)); t4 = A.Primitives_stringFromCharCode(10); @@ -56013,16 +58856,11 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position); next = t1.peekChar$0(); while (true) { + t2 = false; if (next != null) if (next !== 44) if (next !== 59) t2 = !(next === 10 || next === 13 || next === 12); - else - t2 = false; - else - t2 = false; - else - t2 = false; if (!t2) break; t1.readChar$0(); @@ -56031,7 +58869,7 @@ self.util = _cliPkgRequires.util; url = t1.substring$1(0, start.position); span = t1.spanFrom$1(start); if (_this.isPlainImportUrl$1(url)) - return new A.StaticImport(A.Interpolation$(A._setArrayType([A.serializeValue(new A.SassString(url, true), true, true)], type$.JSArray_Object), span), null, span); + return new A.StaticImport(new A.Interpolation(A.List_List$unmodifiable([A.serializeValue(new A.SassString(url, true), true, true)], type$.Object), B.List_null, span), null, span); else try { t1 = _this.parseImportUrl$1(url); @@ -56163,14 +59001,15 @@ self.util = _cliPkgRequires.util; return _this.lastSilentComment = new A.SilentComment(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); }, _loudComment$0() { - var t3, t4, buffer, parentIndentation, t5, t6, first, beginningOfComment, t7, end, i, _0_0, _this = this, + var t2, t3, t4, buffer, parentIndentation, t5, t6, first, beginningOfComment, t7, end, i, _1_0, _0_0, endPosition, span, _this = this, t1 = _this.scanner, - t2 = t1._string_scanner$_position; + start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expect$1("/*"); - t3 = new A.StringBuffer(""); - t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t3, t4); - t3._contents = "" + "/*"; + t2 = new A.StringBuffer(""); + t3 = A._setArrayType([], type$.JSArray_Object); + t4 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer(t2, t3, t4); + t2._contents = "" + "/*"; parentIndentation = _this._currentIndentation; for (t5 = t1.string, t6 = t5.length, first = true; true; first = false) { if (first) { @@ -56180,50 +59019,95 @@ self.util = _cliPkgRequires.util; if (t7 === 10 || t7 === 13 || t7 === 12) { _this._readIndentation$0(); t7 = A.Primitives_stringFromCharCode(32); - t3._contents += t7; + t2._contents += t7; } else { end = t1._string_scanner$_position; - t3._contents += B.JSString_methods.substring$2(t5, beginningOfComment, end); + t2._contents += B.JSString_methods.substring$2(t5, beginningOfComment, end); } } else { - t7 = t3._contents += "\n"; - t3._contents = t7 + " * "; + t7 = t2._contents += "\n"; + t2._contents = t7 + " * "; } for (i = 3; i < _this._currentIndentation - parentIndentation; ++i) { t7 = A.Primitives_stringFromCharCode(32); - t3._contents += t7; + t2._contents += t7; } for (; t1._string_scanner$_position !== t6;) { - _0_0 = t1.peekChar$0(); - if (10 === _0_0 || 13 === _0_0 || 12 === _0_0) + _1_0 = t1.peekChar$0(); + if (10 === _1_0 || 13 === _1_0 || 12 === _1_0) break; - if (35 === _0_0) { + if (35 === _1_0) { if (t1.peekChar$1(1) === 123) { - t7 = _this.singleInterpolation$0(); + _0_0 = _this.singleInterpolation$0(); buffer._flushText$0(); - t4.push(t7); + t3.push(_0_0._0); + t4.push(_0_0._1); } else { t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t7; + t2._contents += t7; + } + continue; + } + if (42 === _1_0) { + if (t1.peekChar$1(1) === 47) { + t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t3; + t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t3; + endPosition = t1._string_scanner$_position; + t2 = t1._sourceFile; + t3 = start.position; + span = new A._FileSpan(t2, t3, endPosition); + span._FileSpan$3(t2, t3, endPosition); + _this.whitespace$0(); + while (true) { + t2 = t1.peekChar$0(); + if (!((t2 === 10 || t2 === 13 || t2 === 12) && _this._peekIndentation$0() > parentIndentation)) + break; + for (; _this._lookingAtDoubleNewline$0();) + _this._expectNewline$0(); + _this._readIndentation$0(); + _this.whitespace$0(); + } + if (t1._string_scanner$_position !== t6) { + t2 = t1.peekChar$0(); + t2 = !(t2 === 10 || t2 === 13 || t2 === 12); + } else + t2 = false; + if (t2) { + t2 = t1._string_scanner$_position; + while (true) { + if (t1._string_scanner$_position !== t6) { + t3 = t1.peekChar$0(); + t3 = !(t3 === 10 || t3 === 13 || t3 === 12); + } else + t3 = false; + if (!t3) + break; + t1.readChar$0(); + } + throw A.wrapException(A.MultiSpanSassFormatException$("Unexpected text after end of comment", t1.spanFrom$1(new A._SpanScannerState(t1, t2)), "extra text", A.LinkedHashMap_LinkedHashMap$_literal([span, "comment"], type$.FileSpan, type$.String), null)); + } else + return new A.LoudComment(buffer.interpolation$1(span)); + } else { + t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t7; } continue; } t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t7; + t2._contents += t7; } if (_this._peekIndentation$0() <= parentIndentation) break; for (; _this._lookingAtDoubleNewline$0();) { _this._expectNewline$0(); - t7 = t3._contents += "\n"; - t3._contents = t7 + " *"; + t7 = t2._contents += "\n"; + t2._contents = t7 + " *"; } _this._readIndentation$0(); } - t4 = t3._contents; - if (!B.JSString_methods.endsWith$1(B.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/")) - t3._contents += " */"; - return new A.LoudComment(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)))); + return new A.LoudComment(buffer.interpolation$1(t1.spanFrom$1(start))); }, whitespaceWithoutComments$0() { var t1, t2, next; @@ -56269,10 +59153,11 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "expected newline."); }, _lookingAtDoubleNewline$0() { - var _0_0, + var t2, _0_0, t1 = this.scanner, _1_0 = t1.peekChar$0(); $label1$1: { + t2 = false; if (13 === _1_0) { _0_0 = t1.peekChar$1(1); $label0$0: { @@ -56285,7 +59170,7 @@ self.util = _cliPkgRequires.util; t1 = true; break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } break $label1$1; @@ -56295,7 +59180,7 @@ self.util = _cliPkgRequires.util; t1 = t1 === 10 || t1 === 13 || t1 === 12; break $label1$1; } - t1 = false; + t1 = t2; break $label1$1; } return t1; @@ -56409,7 +59294,7 @@ self.util = _cliPkgRequires.util; call$1(char) { return char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.SassParser_children_closure.prototype = { call$0() { @@ -56423,13 +59308,13 @@ self.util = _cliPkgRequires.util; call$1(char) { return char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.SassParser__peekIndentation_closure0.prototype = { call$1(char) { return char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.ScssParser.prototype = { get$indented() { @@ -56472,7 +59357,7 @@ self.util = _cliPkgRequires.util; if (_this.scanIdentifier$2$caseSensitive("else", true)) return true; if (_this.scanIdentifier$2$caseSensitive("elseif", true)) { - A.WarnForDeprecation_warnForDeprecation(_this.logger, B.Deprecation_EJz, string$.x40elsei, t1.spanFrom$1(new A._SpanScannerState(t1, t3)), null); + _this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_Aec, string$.x40elsei, t1.spanFrom$1(new A._SpanScannerState(t1, t3)))); t1.set$position(t1._string_scanner$_position - 2); return true; } @@ -56577,70 +59462,62 @@ self.util = _cliPkgRequires.util; return _this.lastSilentComment = new A.SilentComment(t1.substring$1(0, start.position), t1.spanFrom$1(start)); }, _scss$_loudComment$0() { - var t3, t4, buffer, t5, endPosition, t6, result, + var t3, t4, t5, buffer, _0_0, t6, endPosition, t1 = this.scanner, t2 = t1._string_scanner$_position; t1.expect$1("/*"); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer(t3, t4, t5); t3._contents = "" + "/*"; $label0$1: for (; true;) switch (t1.peekChar$0()) { case 35: if (t1.peekChar$1(1) === 123) { - t5 = this.singleInterpolation$0(); + _0_0 = this.singleInterpolation$0(); buffer._flushText$0(); - t4.push(t5); + t4.push(_0_0._0); + t5.push(_0_0._1); } else { - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; } break; case 42: - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; if (t1.peekChar$0() !== 47) continue $label0$1; - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t4 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t4; endPosition = t1._string_scanner$_position; - t5 = t1._sourceFile; - t6 = new A._SpanScannerState(t1, t2).position; - t1 = new A._FileSpan(t5, t6, endPosition); - t1._FileSpan$3(t5, t6, endPosition); - t6 = type$.Object; - t5 = A.List_List$of(t4, true, t6); - t2 = t3._contents; - if (t2.length !== 0) - t5.push(t2.charCodeAt(0) == 0 ? t2 : t2); - result = A.List_List$from(t5, false, t6); - result.fixed$length = Array; - result.immutable$list = Array; - t2 = new A.Interpolation(result, t1); - t2.Interpolation$2(t5, t1); - return new A.LoudComment(t2); + t3 = t1._sourceFile; + t4 = new A._SpanScannerState(t1, t2).position; + t1 = new A._FileSpan(t3, t4, endPosition); + t1._FileSpan$3(t3, t4, endPosition); + return new A.LoudComment(buffer.interpolation$1(t1)); case 13: t1.readChar$0(); if (t1.peekChar$0() !== 10) { - t5 = A.Primitives_stringFromCharCode(10); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(10); + t3._contents += t6; } break; case 12: t1.readChar$0(); - t5 = A.Primitives_stringFromCharCode(10); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(10); + t3._contents += t6; break; default: - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; } } }; A.SelectorParser.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.SelectorParser_parse_closure(this)); }, parseCompoundSelector$0() { @@ -56700,6 +59577,7 @@ self.util = _cliPkgRequires.util; } if (_0_0 == null) break; + t5 = true; if (91 !== _0_0) if (46 !== _0_0) if (35 !== _0_0) @@ -56709,22 +59587,6 @@ self.util = _cliPkgRequires.util; if (42 !== _0_0) if (124 !== _0_0) t5 = _this.lookingAtIdentifier$0(); - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; if (t5) { if (lastCompound != null) { t5 = _this.spanFrom$1(componentStart); @@ -56754,7 +59616,7 @@ self.util = _cliPkgRequires.util; initialCombinators = combinators; else t1.error$1(0, _s18_); - t3 = initialCombinators == null ? B.List_empty1 : initialCombinators; + t3 = initialCombinators == null ? B.List_empty0 : initialCombinators; return A.ComplexSelector$(t3, components, _this.spanFrom$1(new A._SpanScannerState(t1, t2)), lineBreak); }, _complexSelector$0() { @@ -56882,7 +59744,7 @@ self.util = _cliPkgRequires.util; } }, _pseudoSelector$0() { - var element, $name, unvendored, selector, argument, t2, _this = this, _null = null, + var element, $name, unvendored, argument, selector, t2, _this = this, _null = null, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expectChar$1(58); @@ -56892,18 +59754,16 @@ self.util = _cliPkgRequires.util; return A.PseudoSelector$($name, _this.spanFrom$1(start), _null, element, _null); _this.whitespace$0(); unvendored = A.unvendor($name); + argument = _null; + selector = _null; if (element) - if ($._selectorPseudoElements.contains$1(0, unvendored)) { + if ($._selectorPseudoElements.contains$1(0, unvendored)) selector = _this._selectorList$0(); - argument = _null; - } else { + else argument = _this.declarationValue$1$allowEmpty(true); - selector = _null; - } - else if ($._selectorPseudoClasses.contains$1(0, unvendored)) { + else if ($._selectorPseudoClasses.contains$1(0, unvendored)) selector = _this._selectorList$0(); - argument = _null; - } else if (unvendored === "nth-child" || unvendored === "nth-last-child") { + else if (unvendored === "nth-child" || unvendored === "nth-last-child") { argument = _this._aNPlusB$0(); _this.whitespace$0(); t2 = t1.peekChar$1(-1); @@ -56912,12 +59772,9 @@ self.util = _cliPkgRequires.util; argument += " of"; _this.whitespace$0(); selector = _this._selectorList$0(); - } else - selector = _null; - } else { + } + } else argument = B.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true)); - selector = _null; - } t1.expectChar$1(41); return A.PseudoSelector$($name, _this.spanFrom$1(start), argument, element, selector); }, @@ -57011,7 +59868,7 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "expected selector."); return selector; }, - $signature: 500 + $signature: 346 }; A.SelectorParser_parseCompoundSelector_closure.prototype = { call$0() { @@ -57022,20 +59879,20 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "expected selector."); return compound; }, - $signature: 498 + $signature: 348 }; A.StylesheetParser.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.StylesheetParser_parse_closure(this)); }, parseArgumentDeclaration$0() { return this._parseSingleProduction$1$1(new A.StylesheetParser_parseArgumentDeclaration_closure(this), type$.ArgumentDeclaration); }, parseVariableDeclaration$0() { - return this._parseSingleProduction$1$1(new A.StylesheetParser_parseVariableDeclaration_closure(this), type$.VariableDeclaration); + return new A._Record_2(this._parseSingleProduction$1$1(new A.StylesheetParser_parseVariableDeclaration_closure(this), type$.VariableDeclaration), this.warnings); }, parseUseRule$0() { - return this._parseSingleProduction$1$1(new A.StylesheetParser_parseUseRule_closure(this), type$.UseRule); + return new A._Record_2(this._parseSingleProduction$1$1(new A.StylesheetParser_parseUseRule_closure(this), type$.UseRule), this.warnings); }, _parseSingleProduction$1$1(production, $T) { return this.wrapSpanFormatException$1(new A.StylesheetParser__parseSingleProduction_closure(this, production, $T)); @@ -57091,14 +59948,14 @@ self.util = _cliPkgRequires.util; if (t1) _this._assertPublic$2($name, new A.StylesheetParser_variableDeclarationWithoutNamespace_closure(_this, start)); if (_this.get$plainCss()) - _this.error$2(0, string$.Sass_v, _this.scanner.spanFrom$1(start)); + _this.error$2(0, string$.Sassx20v, _this.scanner.spanFrom$1(start)); _this.whitespace$0(); t2 = _this.scanner; t2.expectChar$1(58); _this.whitespace$0(); value = _this._expression$0(); flagStart = new A._SpanScannerState(t2, t2._string_scanner$_position); - for (t3 = _this.logger, guarded = false, global = false; t2.scanChar$1(33);) { + for (t3 = _this.warnings, guarded = false, global = false; t2.scanChar$1(33);) { $label0$0: { _0_0 = _this.identifier$0(); if ("default" === _0_0) { @@ -57108,7 +59965,7 @@ self.util = _cliPkgRequires.util; t5 = flagStart.position; t6 = new A._FileSpan(t4, t5, endPosition); t6._FileSpan$3(t4, t5, endPosition); - A.WarnForDeprecation_warnForDeprecation(t3, B.Deprecation_zrt, string$.x21defau, t6, null); + t3.push(new A._Record_3_deprecation_message_span(B.Deprecation_YUI, string$.x21defau, t6)); } guarded = true; break $label0$0; @@ -57127,7 +59984,7 @@ self.util = _cliPkgRequires.util; t5 = flagStart.position; t6 = new A._FileSpan(t4, t5, endPosition); t6._FileSpan$3(t4, t5, endPosition); - A.WarnForDeprecation_warnForDeprecation(t3, B.Deprecation_zrt, string$.x21globas, t6, null); + t3.push(new A._Record_3_deprecation_message_span(B.Deprecation_YUI, string$.x21globas, t6)); } global = true; break $label0$0; @@ -57165,7 +60022,7 @@ self.util = _cliPkgRequires.util; if (variableOrInterpolation instanceof A.VariableDeclaration) t1 = variableOrInterpolation; else { - t3 = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)); + t3 = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t3.addInterpolation$1(type$.Interpolation._as(variableOrInterpolation)); t2 = _this._styleRule$2(t3, new A._SpanScannerState(t1, t2)); t1 = t2; @@ -57179,13 +60036,13 @@ self.util = _cliPkgRequires.util; t1 = _this.scanner; t2 = t1._string_scanner$_position; declarationOrBuffer = _this._declarationOrBuffer$0(); - return type$.Statement._is(declarationOrBuffer) ? declarationOrBuffer : _this._styleRule$2(type$.InterpolationBuffer._as(declarationOrBuffer), new A._SpanScannerState(t1, t2)); + return declarationOrBuffer instanceof A.Statement ? declarationOrBuffer : _this._styleRule$2(type$.InterpolationBuffer._as(declarationOrBuffer), new A._SpanScannerState(t1, t2)); }, _declarationOrBuffer$0() { var midBuffer, couldBeSelector, beforeDeclaration, value, additional, t2, t3, variableOrInterpolation, t4, t5, $name, postColonWhitespace, _0_0, exception, _1_0, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position), - nameBuffer = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)), + nameBuffer = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), startsWithPunctuation = _this._lookingAtPotentialPropertyHack$0(); if (startsWithPunctuation) { t2 = t1.readChar$0(); @@ -57228,7 +60085,7 @@ self.util = _cliPkgRequires.util; t2._contents += t5; $name = nameBuffer.interpolation$1(t1.spanFrom$2(start, new A._SpanScannerState(t1, t4))); if (B.JSString_methods.startsWith$1($name.get$initialPlain(), "--")) { - t2 = _this._interpolatedDeclarationValue$0(); + t2 = _this._interpolatedDeclarationValue$1$silentComments(false); _this.expectStatementSeparator$1("custom property"); return A.Declaration$($name, new A.StringExpression(t2, false), t1.spanFrom$1(start)); } @@ -57298,7 +60155,7 @@ self.util = _cliPkgRequires.util; return _this.variableDeclarationWithoutNamespace$2(identifier, start); } else { t2 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t2._contents = "" + identifier; if (_this._lookingAtInterpolatedIdentifierBody$0()) buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); @@ -57334,7 +60191,7 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position); if (_this._lookingAtPotentialPropertyHack$0()) { t2 = new A.StringBuffer(""); - nameBuffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object)); + nameBuffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); t2._contents += t3; t3 = _this.rawText$1(_this.get$whitespace()); @@ -57406,8 +60263,10 @@ self.util = _cliPkgRequires.util; _this.error$2(0, string$.x40exten, t1.spanFrom$1(start)); value = _this.almostAnyValue$0(); optional = t1.scanChar$1(33); - if (optional) + if (optional) { _this.expectIdentifier$1("optional"); + _this.whitespace$0(); + } _this.expectStatementSeparator$1("@extend rule"); return new A.ExtendRule(value, optional, t1.spanFrom$1(start)); case "for": @@ -57576,29 +60435,24 @@ self.util = _cliPkgRequires.util; return $name; }, _atRootRule$1(start) { - var t2, t3, t4, buffer, t5, query, _this = this, + var t2, t3, buffer, t4, query, _this = this, t1 = _this.scanner; if (t1.peekChar$0() === 40) { t2 = t1._string_scanner$_position; t3 = new A.StringBuffer(""); - t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t3, t4); + buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t1.expectChar$1(40); - t5 = A.Primitives_stringFromCharCode(40); - t3._contents += t5; + t4 = A.Primitives_stringFromCharCode(40); + t3._contents += t4; _this.whitespace$0(); - t5 = _this._expression$0(); - buffer._flushText$0(); - t4.push(t5); + _this._addOrInject$2(buffer, _this._expression$0()); if (t1.scanChar$1(58)) { _this.whitespace$0(); - t5 = A.Primitives_stringFromCharCode(58); - t3._contents += t5; - t5 = A.Primitives_stringFromCharCode(32); - t3._contents += t5; - t5 = _this._expression$0(); - buffer._flushText$0(); - t4.push(t5); + t4 = A.Primitives_stringFromCharCode(58); + t3._contents += t4; + t4 = A.Primitives_stringFromCharCode(32); + t3._contents += t4; + _this._addOrInject$2(buffer, _this._expression$0()); } t1.expectChar$1(41); _this.whitespace$0(); @@ -57607,23 +60461,30 @@ self.util = _cliPkgRequires.util; query = buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))); _this.whitespace$0(); return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__atRootRule_closure(query)); - } else if (_this.lookingAtChildren$0()) - return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__atRootRule_closure0()); - else - return A.AtRootRule$(A._setArrayType([_this._styleRule$0()], type$.JSArray_Statement), t1.spanFrom$1(start), null); + } else { + if (!_this.lookingAtChildren$0()) + t2 = _this.get$indented() && _this.atEndOfStatement$0(); + else + t2 = true; + if (t2) + return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__atRootRule_closure0()); + else + return A.AtRootRule$(A._setArrayType([_this._styleRule$0()], type$.JSArray_Statement), t1.spanFrom$1(start), null); + } }, _contentRule$1(start) { - var t1, $arguments, t2, t3, _this = this; + var t1, beforeWhitespace, $arguments, t2, _this = this; if (!_this._stylesheet$_inMixin) _this.error$2(0, string$.x40conte, _this.scanner.spanFrom$1(start)); - _this.whitespace$0(); t1 = _this.scanner; - if (t1.peekChar$0() === 40) + beforeWhitespace = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); + _this.whitespace$0(); + if (t1.peekChar$0() === 40) { $arguments = _this._argumentInvocation$1$mixin(true); - else { - t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); - t3 = t2.offset; - $arguments = A.ArgumentInvocation$empty(A._FileSpan$(t2.file, t3, t3)); + _this.whitespace$0(); + } else { + t2 = beforeWhitespace.offset; + $arguments = A.ArgumentInvocation$empty(A._FileSpan$(beforeWhitespace.file, t2, t2)); } _this.expectStatementSeparator$1("@content rule"); return new A.ContentRule($arguments, t1.spanFrom$1(start)); @@ -57662,7 +60523,7 @@ self.util = _cliPkgRequires.util; t2 = t1._string_scanner$_position; $name = _this.identifier$0(); if (B.JSString_methods.startsWith$1($name, "--")) - A.WarnForDeprecation_warnForDeprecation(_this.logger, B.Deprecation_HJ0, string$.Sass__fm, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null); + _this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_0, string$.Sassx20_fm, t1.spanFrom$1(new A._SpanScannerState(t1, t2)))); _this.whitespace$0(); $arguments = _this._argumentDeclaration$0(); if (_this._stylesheet$_inMixin || _this._inContentBlock) @@ -57691,7 +60552,7 @@ self.util = _cliPkgRequires.util; return _this._withChildren$3(child, start, new A.StylesheetParser__forRule_closure0(t1, _this, wasInControlDirective, variable, from, _this._expression$0())); }, _forwardRule$1(start) { - var prefix, _0_0, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, _1_0, configuration, span, t1, t2, t3, t4, _this = this, _null = null, + var prefix, hiddenMixinsAndFunctions, hiddenVariables, _0_0, shownMixinsAndFunctions, shownVariables, _1_0, configuration, span, t1, t2, t3, t4, _this = this, _null = null, url = _this._urlString$0(); _this.whitespace$0(); if (_this.scanIdentifier$1("as")) { @@ -57701,25 +60562,23 @@ self.util = _cliPkgRequires.util; _this.whitespace$0(); } else prefix = _null; + hiddenMixinsAndFunctions = _null; + hiddenVariables = _null; if (_this.scanIdentifier$1("show")) { _0_0 = _this._memberList$0(); shownMixinsAndFunctions = _0_0._0; shownVariables = _0_0._1; - hiddenVariables = _null; - hiddenMixinsAndFunctions = hiddenVariables; } else { if (_this.scanIdentifier$1("hide")) { _1_0 = _this._memberList$0(); hiddenMixinsAndFunctions = _1_0._0; hiddenVariables = _1_0._1; - } else { - hiddenVariables = _null; - hiddenMixinsAndFunctions = hiddenVariables; } shownVariables = _null; shownMixinsAndFunctions = shownVariables; } configuration = _this._stylesheet$_configuration$1$allowGuarded(true); + _this.whitespace$0(); _this.expectStatementSeparator$1("@forward rule"); span = _this.scanner.spanFrom$1(start); if (!_this._isUseAllowed) @@ -57751,7 +60610,7 @@ self.util = _cliPkgRequires.util; t1 = _this.scanner; do { _this.whitespace$0(); - _this.withErrorMessage$2(string$.Expect, new A.StylesheetParser__memberList_closure(_this, variables, identifiers)); + _this.withErrorMessage$2(string$.Expectv, new A.StylesheetParser__memberList_closure(_this, variables, identifiers)); _this.whitespace$0(); } while (t1.scanChar$1(44)); return new A._Record_2(identifiers, variables); @@ -57788,13 +60647,13 @@ self.util = _cliPkgRequires.util; var argument, t3, _this = this, imports = A._setArrayType([], type$.JSArray_Import), t1 = _this.scanner, - t2 = _this.logger; + t2 = _this.warnings; do { _this.whitespace$0(); argument = _this.importArgument$0(); t3 = argument instanceof A.DynamicImport; if (t3) - A.WarnForDeprecation_warnForDeprecation(t2, B.Deprecation_import_null_true_import, string$.Sass__i, argument.span, null); + t2.push(new A._Record_3_deprecation_message_span(B.Deprecation_MYu, string$.Sassx20_i, argument.span)); if ((_this._inControlDirective || _this._stylesheet$_inMixin) && t3) _this._disallowedAtRule$1(start); imports.push(argument); @@ -57813,7 +60672,8 @@ self.util = _cliPkgRequires.util; url = _this.dynamicUrl$0(); _this.whitespace$0(); modifiers = _this.tryImportModifiers$0(); - return new A.StaticImport(A.Interpolation$(A._setArrayType([url], type$.JSArray_Object), t1.spanFrom$1(start)), modifiers, t1.spanFrom$1(start)); + t2 = url instanceof A.StringExpression ? url.text : A.Interpolation$(A._setArrayType([url], type$.JSArray_Object), A._setArrayType([url.get$span(url)], type$.JSArray_nullable_FileSpan), url.get$span(url)); + return new A.StaticImport(t2, modifiers, t1.spanFrom$1(start)); } url = _this.string$0(); urlSpan = t1.spanFrom$1(start); @@ -57821,7 +60681,7 @@ self.util = _cliPkgRequires.util; modifiers = _this.tryImportModifiers$0(); if (_this.isPlainImportUrl$1(url) || modifiers != null) { t2 = urlSpan; - return new A.StaticImport(A.Interpolation$(A._setArrayType([A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, null)], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(start)); + return new A.StaticImport(new A.Interpolation(A.List_List$unmodifiable([A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, null)], type$.Object), B.List_null, urlSpan), modifiers, t1.spanFrom$1(start)); } else try { t1 = _this.parseImportUrl$1(url); @@ -57865,44 +60725,47 @@ self.util = _cliPkgRequires.util; return t1; }, tryImportModifiers$0() { - var t1, start, t2, t3, buffer, t4, identifier, $name, query, t5, endPosition, result, _this = this; + var t1, start, t2, t3, t4, buffer, t5, identifier, $name, query, t6, endPosition, _this = this; if (!_this._lookingAtInterpolatedIdentifier$0() && _this.scanner.peekChar$0() !== 40) return null; t1 = _this.scanner; start = new A._SpanScannerState(t1, t1._string_scanner$_position); t2 = new A.StringBuffer(""); t3 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t2, t3); + t4 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer(t2, t3, t4); for (; true;) if (_this._lookingAtInterpolatedIdentifier$0()) { if (!(t3.length === 0 && t2._contents.length === 0)) { - t4 = A.Primitives_stringFromCharCode(32); - t2._contents += t4; + t5 = A.Primitives_stringFromCharCode(32); + t2._contents += t5; } identifier = _this.interpolatedIdentifier$0(); buffer.addInterpolation$1(identifier); - t4 = identifier.get$asPlain(); - $name = t4 == null ? null : t4.toLowerCase(); + t5 = identifier.get$asPlain(); + $name = t5 == null ? null : t5.toLowerCase(); if ($name !== "and" && t1.scanChar$1(40)) { if ($name === "supports") { query = _this._importSupportsQuery$0(); - t4 = !(query instanceof A.SupportsDeclaration); - if (t4) { - t5 = A.Primitives_stringFromCharCode(40); - t2._contents += t5; + t5 = !(query instanceof A.SupportsDeclaration); + if (t5) { + t6 = A.Primitives_stringFromCharCode(40); + t2._contents += t6; } + t6 = query.get$span(query); buffer._flushText$0(); t3.push(new A.SupportsExpression(query)); - if (t4) { - t4 = A.Primitives_stringFromCharCode(41); - t2._contents += t4; + t4.push(t6); + if (t5) { + t5 = A.Primitives_stringFromCharCode(41); + t2._contents += t5; } } else { - t4 = A.Primitives_stringFromCharCode(40); - t2._contents += t4; + t5 = A.Primitives_stringFromCharCode(40); + t2._contents += t5; buffer.addInterpolation$1(_this._interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true)); - t4 = A.Primitives_stringFromCharCode(41); - t2._contents += t4; + t5 = A.Primitives_stringFromCharCode(41); + t2._contents += t5; } t1.expectChar$1(41); _this.whitespace$0(); @@ -57912,62 +60775,32 @@ self.util = _cliPkgRequires.util; t2._contents += ", "; buffer.addInterpolation$1(_this._mediaQueryList$0()); endPosition = t1._string_scanner$_position; - t4 = t1._sourceFile; - t5 = start.position; - t1 = new A._FileSpan(t4, t5, endPosition); - t1._FileSpan$3(t4, t5, endPosition); - t5 = type$.Object; - t4 = A.List_List$of(t3, true, t5); - t3 = t2._contents; - if (t3.length !== 0) - t4.push(t3.charCodeAt(0) == 0 ? t3 : t3); - result = A.List_List$from(t4, false, t5); - result.fixed$length = Array; - result.immutable$list = Array; - t2 = new A.Interpolation(result, t1); - t2.Interpolation$2(t4, t1); - return t2; + t2 = t1._sourceFile; + t3 = start.position; + t1 = new A._FileSpan(t2, t3, endPosition); + t1._FileSpan$3(t2, t3, endPosition); + return buffer.interpolation$1(t1); } } } else if (t1.peekChar$0() === 40) { if (!(t3.length === 0 && t2._contents.length === 0)) { - t4 = A.Primitives_stringFromCharCode(32); - t2._contents += t4; + t3 = A.Primitives_stringFromCharCode(32); + t2._contents += t3; } buffer.addInterpolation$1(_this._mediaQueryList$0()); endPosition = t1._string_scanner$_position; t1 = t1._sourceFile; - t4 = start.position; - t5 = new A._FileSpan(t1, t4, endPosition); - t5._FileSpan$3(t1, t4, endPosition); - t4 = type$.Object; - t3 = A.List_List$of(t3, true, t4); - t1 = t2._contents; - if (t1.length !== 0) - t3.push(t1.charCodeAt(0) == 0 ? t1 : t1); - result = A.List_List$from(t3, false, t4); - result.fixed$length = Array; - result.immutable$list = Array; - t1 = new A.Interpolation(result, t5); - t1.Interpolation$2(t3, t5); - return t1; + t2 = start.position; + t3 = new A._FileSpan(t1, t2, endPosition); + t3._FileSpan$3(t1, t2, endPosition); + return buffer.interpolation$1(t3); } else { endPosition = t1._string_scanner$_position; t1 = t1._sourceFile; - t4 = start.position; - t5 = new A._FileSpan(t1, t4, endPosition); - t5._FileSpan$3(t1, t4, endPosition); - t4 = type$.Object; - t3 = A.List_List$of(t3, true, t4); - t1 = t2._contents; - if (t1.length !== 0) - t3.push(t1.charCodeAt(0) == 0 ? t1 : t1); - result = A.List_List$from(t3, false, t4); - result.fixed$length = Array; - result.immutable$list = Array; - t1 = new A.Interpolation(result, t5); - t1.Interpolation$2(t3, t5); - return t1; + t2 = start.position; + t3 = new A._FileSpan(t1, t2, endPosition); + t3._FileSpan$3(t1, t2, endPosition); + return buffer.interpolation$1(t3); } }, _importSupportsQuery$0() { @@ -57988,7 +60821,7 @@ self.util = _cliPkgRequires.util; t2 = t1._string_scanner$_position; $name = _this._expression$0(); t1.expectChar$1(58); - return _this._supportsDeclarationValue$2($name, new A._SpanScannerState(t1, t2)); + return new A.SupportsDeclaration($name, _this._supportsDeclarationValue$1($name), t1.spanFrom$1(new A._SpanScannerState(t1, t2))); } } }, @@ -58037,7 +60870,7 @@ self.util = _cliPkgRequires.util; if (t2) { t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); t3 = t2.offset; - contentArguments_ = new A.ArgumentDeclaration(B.List_empty11, _null, A._FileSpan$(t2.file, t3, t3)); + contentArguments_ = new A.ArgumentDeclaration(B.List_empty12, _null, A._FileSpan$(t2.file, t3, t3)); } else contentArguments_ = contentArguments; wasInContentBlock = _this._inContentBlock; @@ -58064,14 +60897,14 @@ self.util = _cliPkgRequires.util; t2 = t1._string_scanner$_position; $name = _this.identifier$0(); if (B.JSString_methods.startsWith$1($name, "--")) - A.WarnForDeprecation_warnForDeprecation(_this.logger, B.Deprecation_HJ0, string$.Sass__m, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null); + _this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_0, string$.Sassx20_m, t1.spanFrom$1(new A._SpanScannerState(t1, t2)))); _this.whitespace$0(); if (t1.peekChar$0() === 40) $arguments = _this._argumentDeclaration$0(); else { t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); t3 = t2.offset; - $arguments = new A.ArgumentDeclaration(B.List_empty11, null, A._FileSpan$(t2.file, t3, t3)); + $arguments = new A.ArgumentDeclaration(B.List_empty12, null, A._FileSpan$(t2.file, t3, t3)); } if (_this._stylesheet$_inMixin || _this._inContentBlock) _this.error$2(0, string$.Mixinscm, t1.spanFrom$1(start)); @@ -58082,41 +60915,43 @@ self.util = _cliPkgRequires.util; return _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser__mixinRule_closure(_this, $name, $arguments, precedingComment)); }, mozDocumentRule$2(start, $name) { - var t5, t6, identifier, _0_0, argument, trailing, endPosition, t7, t8, start0, end, _this = this, _box_0 = {}, + var t6, _0_0, t7, identifier, _1_0, argument, trailing, endPosition, t8, t9, start0, end, _this = this, _box_0 = {}, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), t4 = A._setArrayType([], type$.JSArray_Object), - buffer = new A.InterpolationBuffer(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan), + buffer = new A.InterpolationBuffer(t3, t4, t5); _box_0.needsDeprecationWarning = false; - for (t5 = _this.get$whitespace(); true;) { + for (t6 = _this.get$whitespace(); true;) { if (t1.peekChar$0() === 35) { - t6 = _this.singleInterpolation$0(); + _0_0 = _this.singleInterpolation$0(); buffer._flushText$0(); - t4.push(t6); + t4.push(_0_0._0); + t5.push(_0_0._1); _box_0.needsDeprecationWarning = true; } else { - t6 = t1._string_scanner$_position; + t7 = t1._string_scanner$_position; identifier = _this.identifier$0(); $label0$0: { if ("url" === identifier || "url-prefix" === identifier || "domain" === identifier) { - _0_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t6), identifier); - if (_0_0 != null) - buffer.addInterpolation$1(_0_0); + _1_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t7), identifier); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); else { t1.expectChar$1(40); _this.whitespace$0(); argument = _this.interpolatedString$0(); t1.expectChar$1(41); t3._contents += identifier; - t6 = A.Primitives_stringFromCharCode(40); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(40); + t3._contents += t7; buffer.addInterpolation$1(argument.asInterpolation$0()); - t6 = A.Primitives_stringFromCharCode(41); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(41); + t3._contents += t7; } - t6 = t3._contents; - trailing = t6.charCodeAt(0) == 0 ? t6 : t6; + t7 = t3._contents; + trailing = t7.charCodeAt(0) == 0 ? t7 : t7; if (!B.JSString_methods.endsWith$1(trailing, "url-prefix()") && !B.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !B.JSString_methods.endsWith$1(trailing, 'url-prefix("")')) _box_0.needsDeprecationWarning = true; break $label0$0; @@ -58126,25 +60961,25 @@ self.util = _cliPkgRequires.util; t1.expectChar$1(40); buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); t1.expectChar$1(41); - t6 = A.Primitives_stringFromCharCode(41); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(41); + t3._contents += t7; _box_0.needsDeprecationWarning = true; break $label0$0; } endPosition = t1._string_scanner$_position; - t7 = t1._sourceFile; - t8 = new A._FileSpan(t7, t6, endPosition); - t8._FileSpan$3(t7, t6, endPosition); - _this.error$2(0, "Invalid function name.", t8); + t8 = t1._sourceFile; + t9 = new A._FileSpan(t8, t7, endPosition); + t9._FileSpan$3(t8, t7, endPosition); + _this.error$2(0, "Invalid function name.", t9); } } _this.whitespace$0(); if (!t1.scanChar$1(44)) break; - t6 = A.Primitives_stringFromCharCode(44); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(44); + t3._contents += t7; start0 = t1._string_scanner$_position; - t5.call$0(); + t6.call$0(); end = t1._string_scanner$_position; t3._contents += B.JSString_methods.substring$2(t1.string, start0, end); } @@ -58158,17 +60993,16 @@ self.util = _cliPkgRequires.util; }, _useRule$1(start) { var namespace, configuration, span, t1, _this = this, - _s9_ = "@use rule", url = _this._urlString$0(); _this.whitespace$0(); namespace = _this._useNamespace$2(url, start); _this.whitespace$0(); configuration = _this._stylesheet$_configuration$0(); - _this.expectStatementSeparator$1(_s9_); + _this.whitespace$0(); span = _this.scanner.spanFrom$1(start); if (!_this._isUseAllowed) _this.error$2(0, string$.x40use_r, span); - _this.expectStatementSeparator$1(_s9_); + _this.expectStatementSeparator$1("@use rule"); t1 = new A.UseRule(url, namespace, configuration == null ? B.List_empty10 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable), span); t1.UseRule$4$configuration(url, namespace, span, configuration); return t1; @@ -58184,8 +61018,7 @@ self.util = _cliPkgRequires.util; t1 = B.JSString_methods.startsWith$1(basename, "_") ? 1 : 0; namespace = B.JSString_methods.substring$2(basename, t1, dot === -1 ? basename.length : dot); try { - t1 = A.SpanScanner$(namespace, null); - t1 = new A.Parser(t1, _this.logger, null)._parseIdentifier$0(); + t1 = new A.Parser(A.SpanScanner$(namespace, null), null)._parseIdentifier$0(); return t1; } catch (exception) { if (type$.SassFormatException._is(A.unwrapException(exception))) @@ -58263,7 +61096,7 @@ self.util = _cliPkgRequires.util; _this._stylesheet$_inUnknownAtRule = true; t1.value = null; t2 = _this.scanner; - t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this.almostAnyValue$0() : null; + t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this._interpolatedDeclarationValue$1$allowOpenBrace(false) : null; if (_this.lookingAtChildren$0()) rule = _this._withChildren$3(_this.get$_statement(), start, new A.StylesheetParser_unknownAtRule_closure(t1, $name)); else { @@ -58274,7 +61107,7 @@ self.util = _cliPkgRequires.util; return rule; }, _disallowedAtRule$1(start) { - this.almostAnyValue$0(); + this._interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(true, false); this.error$2(0, "This at-rule is not allowed here.", this.scanner.spanFrom$1(start)); }, _argumentDeclaration$0() { @@ -58285,11 +61118,7 @@ self.util = _cliPkgRequires.util; _this.whitespace$0(); $arguments = A._setArrayType([], type$.JSArray_Argument); named = A.LinkedHashSet_LinkedHashSet$_empty(type$.String); - while (true) { - if (!(t1.peekChar$0() === 36)) { - restArgument = null; - break; - } + for (; restArgument = null, t1.peekChar$0() === 36;) { t3 = t1._string_scanner$_position; t1.expectChar$1(36); $name = _this.identifier$1$normalize(true); @@ -58314,10 +61143,8 @@ self.util = _cliPkgRequires.util; $arguments.push(new A.Argument($name, defaultValue, t5)); if (!named.add$1(0, $name)) _this.error$2(0, "Duplicate argument.", B.JSArray_methods.get$last($arguments).span); - if (!t1.scanChar$1(44)) { - restArgument = null; + if (!t1.scanChar$1(44)) break; - } _this.whitespace$0(); } t1.expectChar$1(41); @@ -58325,7 +61152,7 @@ self.util = _cliPkgRequires.util; return new A.ArgumentDeclaration(A.List_List$unmodifiable($arguments, type$.Argument), restArgument, t1); }, _argumentInvocation$2$allowEmptySecondArg$mixin(allowEmptySecondArg, mixin) { - var positional, t3, t4, named, keywordRest, t5, rest, expression, t6, t7, result, _this = this, _null = null, + var positional, t3, t4, named, t5, rest, keywordRest, expression, t6, t7, result, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position; t1.expectChar$1(40); @@ -58334,13 +61161,7 @@ self.util = _cliPkgRequires.util; t3 = type$.String; t4 = type$.Expression; named = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4); - t5 = !mixin; - rest = _null; - while (true) { - if (!_this._lookingAtExpression$0()) { - keywordRest = _null; - break; - } + for (t5 = !mixin, rest = null; keywordRest = null, _this._lookingAtExpression$0();) { expression = _this.expressionUntilComma$1$singleEquals(t5); _this.whitespace$0(); if (expression instanceof A.VariableExpression && t1.scanChar$1(58)) { @@ -58363,10 +61184,8 @@ self.util = _cliPkgRequires.util; else positional.push(expression); _this.whitespace$0(); - if (!t1.scanChar$1(44)) { - keywordRest = _null; + if (!t1.scanChar$1(44)) break; - } _this.whitespace$0(); if (allowEmptySecondArg && positional.length === 1 && named.__js_helper$_length === 0 && rest == null && t1.peekChar$0() === 41) { t5 = t1._sourceFile; @@ -58374,14 +61193,10 @@ self.util = _cliPkgRequires.util; new A.FileLocation(t5, t6).FileLocation$_$2(t5, t6); t7 = new A._FileSpan(t5, t6, t6); t7._FileSpan$3(t5, t6, t6); - t6 = A._setArrayType([""], type$.JSArray_Object); - result = A.List_List$from(t6, false, type$.Object); + result = A.List_List$from([""], false, type$.Object); result.fixed$length = Array; result.immutable$list = Array; - t5 = new A.Interpolation(result, t7); - t5.Interpolation$2(t6, t7); - positional.push(new A.StringExpression(t5, false)); - keywordRest = _null; + positional.push(new A.StringExpression(new A.Interpolation(result, B.List_null, t7), false)); break; } } @@ -58481,16 +61296,11 @@ self.util = _cliPkgRequires.util; addOperator.call$1(B.BinaryOperator_icU); break $label0$1; } + t4 = true; if (_1_0 != null) if (105 !== _1_0) if (73 !== _1_0) t4 = _1_0 === 32 || _1_0 === 9 || _1_0 === 10 || _1_0 === 13 || _1_0 === 12; - else - t4 = true; - else - t4 = true; - else - t4 = true; if (t4) { addSingleExpression.call$1(_this._importantExpression$0()); break $label0$1; @@ -58673,14 +61483,10 @@ self.util = _cliPkgRequires.util; return this.expressionUntilComma$1$singleEquals(false); }, _isSlashOperand$1(expression) { - var t1; + var t1 = true; if (!(expression instanceof A.NumberExpression)) if (!(expression instanceof A.FunctionExpression)) t1 = expression instanceof A.BinaryOperationExpression && expression.allowsSlash; - else - t1 = true; - else - t1 = true; return t1; }, _singleExpression$0() { @@ -58838,7 +61644,7 @@ self.util = _cliPkgRequires.util; return new A.ColorExpression(_this._hexColorContents$1(start), t1.spanFrom$1(start)); } t2 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t3 = A.Primitives_stringFromCharCode(35); t2._contents += t3; buffer.addInterpolation$1(identifier); @@ -58877,23 +61683,18 @@ self.util = _cliPkgRequires.util; } t2 = alpha == null; t3 = t2 ? 1 : alpha; - return A.SassColor$rgbInternal(red, green, blue, t3, t2 ? new A.SpanColorFormat(t1.spanFrom$1(start)) : null); + return A.SassColor_SassColor$rgbInternal(red, green, blue, t3, t2 ? new A.SpanColorFormat(t1.spanFrom$1(start)) : null); }, _isHexColor$1(interpolation) { var _0_2, t1, plain = interpolation.get$asPlain(); if (typeof plain == "string") { _0_2 = plain.length; + t1 = true; if (3 !== _0_2) if (4 !== _0_2) if (6 !== _0_2) t1 = 8 === _0_2; - else - t1 = true; - else - t1 = true; - else - t1 = true; } else t1 = false; if (t1) { @@ -58924,7 +61725,7 @@ self.util = _cliPkgRequires.util; this.whitespace$0(); this.expectIdentifier$1("important"); t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2)); - return new A.StringExpression(A.Interpolation$(A._setArrayType(["!important"], type$.JSArray_Object), t2), false); + return new A.StringExpression(new A.Interpolation(A.List_List$unmodifiable(["!important"], type$.Object), B.List_null, t2), false); }, _unaryOperation$0() { var _this = this, @@ -59054,7 +61855,7 @@ self.util = _cliPkgRequires.util; else if (hasQuestionMark) { t2 = t1.substring$1(0, start.position); t1 = t1.spanFrom$1(start); - return new A.StringExpression(A.Interpolation$(A._setArrayType([t2], type$.JSArray_Object), t1), false); + return new A.StringExpression(new A.Interpolation(A.List_List$unmodifiable([t2], type$.Object), B.List_null, t1), false); } if (t1.scanChar$1(45)) { t2 = t1._string_scanner$_position; @@ -59069,7 +61870,7 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "Expected end of identifier."); t2 = t1.substring$1(0, start.position); t1 = t1.spanFrom$1(start); - return new A.StringExpression(A.Interpolation$(A._setArrayType([t2], type$.JSArray_Object), t1), false); + return new A.StringExpression(new A.Interpolation(A.List_List$unmodifiable([t2], type$.Object), B.List_null, t1), false); }, _variable$0() { var _this = this, @@ -59077,7 +61878,7 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position), $name = _this.variableName$0(); if (_this.get$plainCss()) - _this.error$2(0, string$.Sass_v, t1.spanFrom$1(start)); + _this.error$2(0, string$.Sassx20v, t1.spanFrom$1(start)); return new A.VariableExpression(null, $name, t1.spanFrom$1(start)); }, _selector$0() { @@ -59088,13 +61889,13 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expectChar$1(38); if (t1.scanChar$1(38)) { - _this.logger.warn$2$span(0, string$.In_Sas, t1.spanFrom$1(start)); + _this.warnings.push(new A._Record_3_deprecation_message_span(null, string$.In_Sas, t1.spanFrom$1(start))); t1.set$position(t1._string_scanner$_position - 1); } return new A.SelectorExpression(t1.spanFrom$1(start)); }, interpolatedString$0() { - var t3, t4, buffer, _0_0, second, t5, + var t3, t4, t5, buffer, _1_0, second, t6, _0_0, t1 = this.scanner, t2 = t1._string_scanner$_position, quote = t1.readChar$0(); @@ -59102,16 +61903,17 @@ self.util = _cliPkgRequires.util; t1.error$2$position(0, "Expected string.", t2); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer(t3, t4, t5); for (; true;) { - _0_0 = t1.peekChar$0(); - if (_0_0 === quote) { + _1_0 = t1.peekChar$0(); + if (_1_0 === quote) { t1.readChar$0(); break; } - if (_0_0 == null || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) + if (_1_0 == null || _1_0 === 10 || _1_0 === 13 || _1_0 === 12) t1.error$1(0, "Expected " + A.Primitives_stringFromCharCode(quote) + "."); - if (92 === _0_0) { + if (92 === _1_0) { second = t1.peekChar$1(1); if (second === 10 || second === 13 || second === 12) { t1.readChar$0(); @@ -59119,24 +61921,25 @@ self.util = _cliPkgRequires.util; if (second === 13) t1.scanChar$1(10); } else { - t5 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter(t1)); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter(t1)); + t3._contents += t6; } continue; } - if (35 === _0_0 && t1.peekChar$1(1) === 123) { - t5 = this.singleInterpolation$0(); + if (35 === _1_0 && t1.peekChar$1(1) === 123) { + _0_0 = this.singleInterpolation$0(); buffer._flushText$0(); - t4.push(t5); + t4.push(_0_0._0); + t5.push(_0_0._1); continue; } - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; } return new A.StringExpression(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))), true); }, identifierLike$0() { - var invocation, expression, _0_0, _1_0, _2_0, _2_2, _2_4, _this = this, + var invocation, expression, _0_0, t3, t4, t5, _1_0, _2_0, _2_2, _2_4, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position), identifier = _this.interpolatedIdentifier$0(), @@ -59164,8 +61967,14 @@ self.util = _cliPkgRequires.util; } _0_0 = $.$get$colorsByName().$index(0, lower._readLocal$0()); if (_0_0 != null) { - t1 = identifier.span; - return new A.ColorExpression(A.SassColor$rgbInternal(_0_0.get$red(0), _0_0.get$green(0), _0_0.get$blue(0), _0_0._alpha, new A.SpanColorFormat(t1)), t1); + t1 = B.JSNumber_methods.round$0(_0_0._legacyChannel$2(B.RgbColorSpace_mlz, "red")); + t2 = B.JSNumber_methods.round$0(_0_0._legacyChannel$2(B.RgbColorSpace_mlz, "green")); + t3 = B.JSNumber_methods.round$0(_0_0._legacyChannel$2(B.RgbColorSpace_mlz, "blue")); + t4 = _0_0.alphaOrNull; + if (t4 == null) + t4 = 0; + t5 = identifier.span; + return new A.ColorExpression(A.SassColor_SassColor$rgbInternal(t1, t2, t3, t4, new A.SpanColorFormat(t5)), t5); } } _1_0 = _this.trySpecialFunction$2(lower._readLocal$0(), start); @@ -59215,7 +62024,7 @@ self.util = _cliPkgRequires.util; t1 = true; if (t1) { t1 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer(t1, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t1._contents = "" + $name; t2 = A.Primitives_stringFromCharCode(40); t1._contents += t2; @@ -59223,7 +62032,7 @@ self.util = _cliPkgRequires.util; } if ("progid" === normalized && _this.scanner.scanChar$1(58)) { t1 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer(t1, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t1._contents = "" + $name; t2 = A.Primitives_stringFromCharCode(58); t1._contents += t2; @@ -59262,7 +62071,7 @@ self.util = _cliPkgRequires.util; return new A.StringExpression(buffer.interpolation$1(t1.spanFrom$1(start)), false); }, _tryUrlContents$2$name(start, $name) { - var t3, t4, buffer, t5, _0_0, _0_6, endPosition, result, _this = this, + var t3, t4, t5, buffer, t6, _1_0, _1_6, _0_0, endPosition, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position; if (!t1.scanChar$1(40)) @@ -59270,69 +62079,54 @@ self.util = _cliPkgRequires.util; _this.whitespaceWithoutComments$0(); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer(t3, t4, t5); t3._contents = "" + ($name == null ? "url" : $name); - t5 = A.Primitives_stringFromCharCode(40); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(40); + t3._contents += t6; for (; true;) { - _0_0 = t1.peekChar$0(); - if (_0_0 == null) + _1_0 = t1.peekChar$0(); + if (_1_0 == null) break; - if (92 === _0_0) { - t5 = _this.escape$0(); - t3._contents += t5; + if (92 === _1_0) { + t6 = _this.escape$0(); + t3._contents += t6; continue; } - _0_6 = 35 === _0_0; - if (_0_6 && t1.peekChar$1(1) === 123) { - t5 = _this.singleInterpolation$0(); + _1_6 = 35 === _1_0; + if (_1_6 && t1.peekChar$1(1) === 123) { + _0_0 = _this.singleInterpolation$0(); buffer._flushText$0(); - t4.push(t5); + t4.push(_0_0._0); + t5.push(_0_0._1); continue; } - if (33 !== _0_0) - if (37 !== _0_0) - if (38 !== _0_0) - if (!_0_6) - t5 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - if (t5) { - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = true; + if (33 !== _1_0) + if (37 !== _1_0) + if (38 !== _1_0) + if (!_1_6) + t6 = _1_0 >= 42 && _1_0 <= 126 || _1_0 >= 128; + if (t6) { + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; continue; } - if (_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) { + if (_1_0 === 32 || _1_0 === 9 || _1_0 === 10 || _1_0 === 13 || _1_0 === 12) { _this.whitespaceWithoutComments$0(); if (t1.peekChar$0() !== 41) break; continue; } - if (41 === _0_0) { + if (41 === _1_0) { t2 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t2; endPosition = t1._string_scanner$_position; t2 = t1._sourceFile; - t5 = start.position; - t1 = new A._FileSpan(t2, t5, endPosition); - t1._FileSpan$3(t2, t5, endPosition); - t5 = type$.Object; - t2 = A.List_List$of(t4, true, t5); - t4 = t3._contents; - if (t4.length !== 0) - t2.push(t4.charCodeAt(0) == 0 ? t4 : t4); - result = A.List_List$from(t2, false, t5); - result.fixed$length = Array; - result.immutable$list = Array; - t3 = new A.Interpolation(result, t1); - t3.Interpolation$2(t2, t1); - return t3; + t3 = start.position; + t1 = new A._FileSpan(t2, t3, endPosition); + t1._FileSpan$3(t2, t3, endPosition); + return buffer.interpolation$1(t1); } break; } @@ -59343,71 +62137,93 @@ self.util = _cliPkgRequires.util; return this._tryUrlContents$2$name(start, null); }, dynamicUrl$0() { - var _0_0, _this = this, + var _0_0, t2, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); _this.expectIdentifier$1("url"); _0_0 = _this._tryUrlContents$1(start); if (_0_0 != null) return new A.StringExpression(_0_0, false); - return new A.InterpolatedFunctionExpression(A.Interpolation$(A._setArrayType(["url"], type$.JSArray_Object), t1.spanFrom$1(start)), _this._argumentInvocation$0(), t1.spanFrom$1(start)); + t2 = t1.spanFrom$1(start); + return new A.InterpolatedFunctionExpression(new A.Interpolation(A.List_List$unmodifiable(["url"], type$.Object), B.List_null, t2), _this._argumentInvocation$0(), t1.spanFrom$1(start)); }, almostAnyValue$1$omitComments(omitComments) { - var t4, t5, t6, _1_0, t7, commentStart, end, _0_0, _this = this, + var t4, t5, t6, _2_0, t7, _0_0, _0_2, start, end, _0_4, identifier, _1_0, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); for (t4 = t1.string, t5 = t4.length, t6 = !omitComments; true;) $label0$0: { - _1_0 = t1.peekChar$0(); - if (92 === _1_0) { + _2_0 = t1.peekChar$0(); + if (92 === _2_0) { t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; break $label0$0; } - if (34 === _1_0 || 39 === _1_0) { + if (34 === _2_0 || 39 === _2_0) { buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); break $label0$0; } - if (47 === _1_0) { - commentStart = t1._string_scanner$_position; - if (_this.scanComment$0()) { - if (t6) { + if (47 === _2_0) { + $label1$1: { + _0_0 = t1.peekChar$1(1); + _0_2 = 42 === _0_0; + if (_0_2 && t6) { + t7 = _this.get$loudComment(); + start = t1._string_scanner$_position; + t7.call$0(); end = t1._string_scanner$_position; - t3._contents += B.JSString_methods.substring$2(t4, commentStart, end); + t3._contents += B.JSString_methods.substring$2(t4, start, end); + break $label1$1; + } + if (_0_2) { + _this.loudComment$0(); + break $label1$1; + } + _0_4 = 47 === _0_0; + if (_0_4 && t6) { + t7 = _this.get$silentComment(); + start = t1._string_scanner$_position; + t7.call$0(); + end = t1._string_scanner$_position; + t3._contents += B.JSString_methods.substring$2(t4, start, end); + break $label1$1; + } + if (_0_4) { + _this.silentComment$0(); + break $label1$1; } - } else { t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; } break $label0$0; } - if (35 === _1_0 && t1.peekChar$1(1) === 123) { + if (35 === _2_0 && t1.peekChar$1(1) === 123) { buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); break $label0$0; } - if (13 === _1_0 || 10 === _1_0 || 12 === _1_0) { + if (13 === _2_0 || 10 === _2_0 || 12 === _2_0) { if (_this.get$indented()) break; t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; break $label0$0; } - if (33 === _1_0 || 59 === _1_0 || 123 === _1_0 || 125 === _1_0) + if (33 === _2_0 || 59 === _2_0 || 123 === _2_0 || 125 === _2_0) break; - if (117 === _1_0 || 85 === _1_0) { + if (117 === _2_0 || 85 === _2_0) { t7 = t1._string_scanner$_position; - if (!_this.scanIdentifier$1("url")) { - t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t7; + identifier = _this.identifier$0(); + if (identifier !== "url" && identifier !== "url-prefix") { + t3._contents += identifier; continue; } - _0_0 = _this._tryUrlContents$1(new A._SpanScannerState(t1, t7)); - if (_0_0 != null) - buffer.addInterpolation$1(_0_0); + _1_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t7), identifier); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); else { if ((t7 === 0 ? 1 / t7 < 0 : t7 < 0) || t7 > t5) A.throwExpression(A.ArgumentError$("Invalid position " + t7, null)); @@ -59418,7 +62234,7 @@ self.util = _cliPkgRequires.util; } break $label0$0; } - if (_1_0 == null) + if (_2_0 == null) break; t7 = _this.lookingAtIdentifier$0(); if (t7) { @@ -59434,172 +62250,187 @@ self.util = _cliPkgRequires.util; almostAnyValue$0() { return this.almostAnyValue$1$omitComments(false); }, - _interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(allowColon, allowEmpty, allowSemicolon) { - var t4, t5, t6, t7, wroteNewline, _1_0, t8, start, end, _1_14_isSet, _1_14, _1_18_isSet, _1_18, _1_20_isSet, _1_20, bracket, _0_0, _this = this, _null = null, + _interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, allowOpenBrace, allowSemicolon, silentComments) { + var t4, t5, t6, t7, t8, wroteNewline, _2_0, wroteNewline0, t9, _0_0, start, end, _2_14_isSet, _2_14, t10, _2_18_isSet, _2_20, _2_18, _2_20_isSet, _2_22, bracket, identifier, _1_0, _this = this, _null = null, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object)), + buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), brackets = A._setArrayType([], type$.JSArray_int); - for (t4 = t1.string, t5 = t4.length, t6 = !allowColon, t7 = !allowSemicolon, wroteNewline = false; true;) + for (t4 = !allowOpenBrace, t5 = t1.string, t6 = t5.length, t7 = !allowColon, t8 = !allowSemicolon, wroteNewline = false; true;) $label0$0: { - _1_0 = t1.peekChar$0(); - if (92 === _1_0) { - t8 = _this.escape$1$identifierStart(true); - t3._contents += t8; - wroteNewline = false; + _2_0 = t1.peekChar$0(); + wroteNewline0 = false; + if (92 === _2_0) { + t9 = _this.escape$1$identifierStart(true); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - if (34 === _1_0 || 39 === _1_0) { + if (34 === _2_0 || 39 === _2_0) { buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - if (47 === _1_0 && t1.peekChar$1(1) === 42) { - t8 = _this.get$loudComment(); - start = t1._string_scanner$_position; - t8.call$0(); - end = t1._string_scanner$_position; - t3._contents += B.JSString_methods.substring$2(t4, start, end); - wroteNewline = false; + if (47 === _2_0) { + $label1$1: { + _0_0 = t1.peekChar$1(1); + if (42 === _0_0) { + t9 = _this.get$loudComment(); + start = t1._string_scanner$_position; + t9.call$0(); + end = t1._string_scanner$_position; + t3._contents += B.JSString_methods.substring$2(t5, start, end); + break $label1$1; + } + if (47 === _0_0 && silentComments) { + _this.silentComment$0(); + break $label1$1; + } + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + } + wroteNewline = wroteNewline0; break $label0$0; } - if (35 === _1_0 && t1.peekChar$1(1) === 123) { + if (35 === _2_0 && t1.peekChar$1(1) === 123) { buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - _1_14_isSet = 32 !== _1_0; - if (_1_14_isSet) { - _1_14 = 9 === _1_0; - t8 = _1_14; + _2_14_isSet = 32 !== _2_0; + if (_2_14_isSet) { + _2_14 = 9 === _2_0; + t9 = _2_14; } else { - _1_14 = _null; - t8 = true; + _2_14 = _null; + t9 = true; } - if (t8) + t10 = false; + if (t9) if (!wroteNewline) { - t8 = t1.peekChar$1(1); - t8 = t8 === 32 || t8 === 9 || t8 === 10 || t8 === 13 || t8 === 12; + t9 = t1.peekChar$1(1); + t9 = t9 === 32 || t9 === 9 || t9 === 10 || t9 === 13 || t9 === 12; } else - t8 = false; + t9 = t10; else - t8 = false; - if (t8) { + t9 = t10; + if (t9) { t1.readChar$0(); break $label0$0; } - if (_1_14_isSet) - t8 = _1_14; + if (_2_14_isSet) + t9 = _2_14; else - t8 = true; - if (t8) { - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; + t9 = true; + if (t9) { + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; break $label0$0; } - _1_18_isSet = 10 !== _1_0; - if (_1_18_isSet) { - _1_18 = 13 === _1_0; - _1_20_isSet = !_1_18; - if (_1_20_isSet) { - _1_20 = 12 === _1_0; - t8 = _1_20; - } else { - _1_20 = _null; - t8 = true; + _2_18_isSet = 10 !== _2_0; + _2_20 = _null; + t9 = true; + if (_2_18_isSet) { + _2_18 = 13 === _2_0; + _2_20_isSet = !_2_18; + if (_2_20_isSet) { + _2_20 = 12 === _2_0; + t9 = _2_20; } } else { - _1_20 = _null; - _1_18 = _1_20; - _1_20_isSet = false; - t8 = true; + _2_18 = _null; + _2_20_isSet = false; } - if (t8 && _this.get$indented()) + if (t9 && _this.get$indented()) break; - if (_1_18_isSet) - if (!_1_18) - t8 = _1_20_isSet ? _1_20 : 12 === _1_0; - else - t8 = true; - else - t8 = true; - if (t8) { - t8 = t1.peekChar$1(-1); - if (!(t8 === 10 || t8 === 13 || t8 === 12)) + t9 = true; + if (_2_18_isSet) + if (!_2_18) + t9 = _2_20_isSet ? _2_20 : 12 === _2_0; + if (t9) { + t9 = t1.peekChar$1(-1); + if (!(t9 === 10 || t9 === 13 || t9 === 12)) t3._contents += "\n"; t1.readChar$0(); wroteNewline = true; break $label0$0; } - if (40 === _1_0 || 123 === _1_0 || 91 === _1_0) { + _2_22 = 123 === _2_0; + if (_2_22 && t4) + break; + if (40 !== _2_0) + t9 = _2_22 || 91 === _2_0; + else + t9 = true; + if (t9) { bracket = t1.readChar$0(); - t8 = A.Primitives_stringFromCharCode(bracket); - t3._contents += t8; + t9 = A.Primitives_stringFromCharCode(bracket); + t3._contents += t9; brackets.push(A.opposite(bracket)); - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - if (41 === _1_0 || 125 === _1_0 || 93 === _1_0) { + if (41 === _2_0 || 125 === _2_0 || 93 === _2_0) { if (brackets.length === 0) break; bracket = brackets.pop(); t1.expectChar$1(bracket); - t8 = A.Primitives_stringFromCharCode(bracket); - t3._contents += t8; - wroteNewline = false; + t9 = A.Primitives_stringFromCharCode(bracket); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - if (59 === _1_0) { + if (59 === _2_0) { + if (t8 && brackets.length === 0) + break; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + wroteNewline = wroteNewline0; + break $label0$0; + } + if (58 === _2_0) { if (t7 && brackets.length === 0) break; - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - if (58 === _1_0) { - if (t6 && brackets.length === 0) - break; - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; - break $label0$0; - } - if (117 === _1_0 || 85 === _1_0) { - t8 = t1._string_scanner$_position; - if (!_this.scanIdentifier$1("url")) { - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; + if (117 === _2_0 || 85 === _2_0) { + t9 = t1._string_scanner$_position; + identifier = _this.identifier$0(); + if (identifier !== "url" && identifier !== "url-prefix") { + t3._contents += identifier; + wroteNewline = wroteNewline0; continue; } - _0_0 = _this._tryUrlContents$1(new A._SpanScannerState(t1, t8)); - if (_0_0 != null) - buffer.addInterpolation$1(_0_0); + _1_0 = _this._tryUrlContents$2$name(new A._SpanScannerState(t1, t9), identifier); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); else { - if ((t8 === 0 ? 1 / t8 < 0 : t8 < 0) || t8 > t5) - A.throwExpression(A.ArgumentError$("Invalid position " + t8, _null)); - t1._string_scanner$_position = t8; + if ((t9 === 0 ? 1 / t9 < 0 : t9 < 0) || t9 > t6) + A.throwExpression(A.ArgumentError$("Invalid position " + t9, _null)); + t1._string_scanner$_position = t9; t1._lastMatch = null; - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; } - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - if (_1_0 == null) + if (_2_0 == null) break; - t8 = _this.lookingAtIdentifier$0(); - if (t8) { - t8 = _this.identifier$0(); - t3._contents += t8; - wroteNewline = false; + t9 = _this.lookingAtIdentifier$0(); + if (t9) { + t9 = _this.identifier$0(); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + wroteNewline = wroteNewline0; } if (brackets.length !== 0) t1.expectChar$1(B.JSArray_methods.get$last(brackets)); @@ -59608,25 +62439,36 @@ self.util = _cliPkgRequires.util; return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))); }, _interpolatedDeclarationValue$1$allowEmpty(allowEmpty) { - return this._interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(true, allowEmpty, false); + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, false, true); + }, + _interpolatedDeclarationValue$1$allowOpenBrace(allowOpenBrace) { + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, allowOpenBrace, false, true); }, _interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(allowEmpty, allowSemicolon) { - return this._interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(true, allowEmpty, allowSemicolon); + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, allowSemicolon, true); + }, + _interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(allowColon, allowEmpty, allowSemicolon) { + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, true, allowSemicolon, true); }, _interpolatedDeclarationValue$0() { - return this._interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(true, false, false); + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, true); + }, + _interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(allowEmpty, allowOpenBrace) { + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, allowOpenBrace, false, true); + }, + _interpolatedDeclarationValue$1$silentComments(silentComments) { + return this._interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, silentComments); }, interpolatedIdentifier$0() { - var t4, _0_0, _this = this, + var t3, _1_0, _0_0, _this = this, _s20_ = "Expected identifier.", t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position), t2 = new A.StringBuffer(""), - t3 = A._setArrayType([], type$.JSArray_Object), - buffer = new A.InterpolationBuffer(t2, t3); + buffer = new A.InterpolationBuffer(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); if (t1.scanChar$1(45)) { - t4 = A.Primitives_stringFromCharCode(45); - t2._contents += t4; + t3 = A.Primitives_stringFromCharCode(45); + t2._contents += t3; if (t1.scanChar$1(45)) { t3 = A.Primitives_stringFromCharCode(45); t2._contents += t3; @@ -59635,23 +62477,22 @@ self.util = _cliPkgRequires.util; } } $label0$0: { - _0_0 = t1.peekChar$0(); - if (_0_0 == null) + _1_0 = t1.peekChar$0(); + if (_1_0 == null) t1.error$1(0, _s20_); - if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128) { + if (_1_0 === 95 || A.CharacterExtension_get_isAlphabetic(_1_0) || _1_0 >= 128) { t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); t2._contents += t3; break $label0$0; } - if (92 === _0_0) { + if (92 === _1_0) { t3 = _this.escape$1$identifierStart(true); t2._contents += t3; break $label0$0; } - if (35 === _0_0 && t1.peekChar$1(1) === 123) { - t2 = _this.singleInterpolation$0(); - buffer._flushText$0(); - t3.push(t2); + if (35 === _1_0 && t1.peekChar$1(1) === 123) { + _0_0 = _this.singleInterpolation$0(); + buffer.add$2(0, _0_0._0, _0_0._1); break $label0$0; } t1.error$1(0, _s20_); @@ -59660,63 +62501,63 @@ self.util = _cliPkgRequires.util; return buffer.interpolation$1(t1.spanFrom$1(start)); }, _interpolatedIdentifierBody$1(buffer) { - var t1, t2, t3, _0_0, t4; - for (t1 = buffer._interpolation_buffer$_contents, t2 = this.scanner, t3 = buffer._interpolation_buffer$_text; true;) { - _0_0 = t2.peekChar$0(); - if (_0_0 == null) + var t1, t2, t3, t4, _1_0, t5, _0_0; + for (t1 = buffer._interpolation_buffer$_contents, t2 = buffer._spans, t3 = this.scanner, t4 = buffer._interpolation_buffer$_text; true;) { + _1_0 = t3.peekChar$0(); + if (_1_0 == null) break; - if (95 !== _0_0) - if (45 !== _0_0) { - if (!(_0_0 >= 97 && _0_0 <= 122)) - t4 = _0_0 >= 65 && _0_0 <= 90; + t5 = true; + if (95 !== _1_0) + if (45 !== _1_0) { + if (!(_1_0 >= 97 && _1_0 <= 122)) + t5 = _1_0 >= 65 && _1_0 <= 90; else - t4 = true; - if (!t4) - t4 = _0_0 >= 48 && _0_0 <= 57; + t5 = true; + if (!t5) + t5 = _1_0 >= 48 && _1_0 <= 57; else - t4 = true; - t4 = t4 || _0_0 >= 128; - } else - t4 = true; - else - t4 = true; - if (t4) { - t4 = A.Primitives_stringFromCharCode(t2.readChar$0()); - t3._contents += t4; + t5 = true; + t5 = t5 || _1_0 >= 128; + } + if (t5) { + t5 = A.Primitives_stringFromCharCode(t3.readChar$0()); + t4._contents += t5; continue; } - if (92 === _0_0) { - t4 = this.escape$0(); - t3._contents += t4; + if (92 === _1_0) { + t5 = this.escape$0(); + t4._contents += t5; continue; } - if (35 === _0_0 && t2.peekChar$1(1) === 123) { - t4 = this.singleInterpolation$0(); + if (35 === _1_0 && t3.peekChar$1(1) === 123) { + _0_0 = this.singleInterpolation$0(); buffer._flushText$0(); - t1.push(t4); + t1.push(_0_0._0); + t2.push(_0_0._1); continue; } break; } }, singleInterpolation$0() { - var contents, _this = this, + var contents, span, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position; t1.expect$1("#{"); _this.whitespace$0(); contents = _this._expression$0(); t1.expectChar$1(125); + span = t1.spanFrom$1(new A._SpanScannerState(t1, t2)); if (_this.get$plainCss()) - _this.error$2(0, string$.Interpp, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); - return contents; + _this.error$2(0, string$.Interpp, span); + return new A._Record_2(contents, span); }, _mediaQueryList$0() { var t4, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); for (; true;) { _this.whitespace$0(); _this._stylesheet$_mediaQuery$1(buffer); @@ -59800,15 +62641,15 @@ self.util = _cliPkgRequires.util; } }, _mediaOrInterp$1(buffer) { - var interpolation; + var _0_0; if (this.scanner.peekChar$0() === 35) { - interpolation = this.singleInterpolation$0(); - buffer.addInterpolation$1(A.Interpolation$(A._setArrayType([interpolation], type$.JSArray_Object), interpolation.get$span(interpolation))); + _0_0 = this.singleInterpolation$0(); + buffer.add$2(0, _0_0._0, _0_0._1); } else this._stylesheet$_mediaInParens$1(buffer); }, _stylesheet$_mediaInParens$1(buffer) { - var t2, t3, t4, next, t5, _this = this, + var t2, t3, expressionBefore, expressionAfter, next, t4, expressionMiddle, _this = this, t1 = _this.scanner; t1.expectChar$2$name(40, "media condition in parentheses"); t2 = buffer._interpolation_buffer$_text; @@ -59832,37 +62673,33 @@ self.util = _cliPkgRequires.util; _this.expectWhitespace$0(); _this._mediaOrInterp$1(buffer); } else { - t3 = _this._expressionUntilComparison$0(); - buffer._flushText$0(); - t4 = buffer._interpolation_buffer$_contents; - t4.push(t3); + expressionBefore = _this._expressionUntilComparison$0(); + buffer.add$2(0, expressionBefore, expressionBefore.get$span(expressionBefore)); if (t1.scanChar$1(58)) { _this.whitespace$0(); t3 = A.Primitives_stringFromCharCode(58); t2._contents += t3; t3 = A.Primitives_stringFromCharCode(32); t2._contents += t3; - t3 = _this._expression$0(); - buffer._flushText$0(); - t4.push(t3); + expressionAfter = _this._expression$0(); + buffer.add$2(0, expressionAfter, expressionAfter.get$span(expressionAfter)); } else { next = t1.peekChar$0(); t3 = 60 !== next; if (!t3 || 62 === next || 61 === next) { - t5 = A.Primitives_stringFromCharCode(32); - t2._contents += t5; - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t2._contents += t5; + t4 = A.Primitives_stringFromCharCode(32); + t2._contents += t4; + t4 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t4; if ((!t3 || 62 === next) && t1.scanChar$1(61)) { - t5 = A.Primitives_stringFromCharCode(61); - t2._contents += t5; + t4 = A.Primitives_stringFromCharCode(61); + t2._contents += t4; } - t5 = A.Primitives_stringFromCharCode(32); - t2._contents += t5; + t4 = A.Primitives_stringFromCharCode(32); + t2._contents += t4; _this.whitespace$0(); - t5 = _this._expressionUntilComparison$0(); - buffer._flushText$0(); - t4.push(t5); + expressionMiddle = _this._expressionUntilComparison$0(); + buffer.add$2(0, expressionMiddle, expressionMiddle.get$span(expressionMiddle)); if (!t3 || 62 === next) { next.toString; t3 = t1.scanChar$1(next); @@ -59880,9 +62717,8 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(32); t2._contents += t3; _this.whitespace$0(); - t3 = _this._expressionUntilComparison$0(); - buffer._flushText$0(); - t4.push(t3); + expressionAfter = _this._expressionUntilComparison$0(); + buffer.add$2(0, expressionAfter, expressionAfter.get$span(expressionAfter)); } } } @@ -59929,13 +62765,13 @@ self.util = _cliPkgRequires.util; return condition; }, _supportsConditionInParens$0() { - var $name, nameStart, wasInParentheses, identifier, _1_0, operation, contents, identifier0, t2, $arguments, _0_0, _0_4_isSet, _0_4, condition, exception, declaration, _this = this, _null = null, + var $name, nameStart, wasInParentheses, identifier, _1_0, operation, contents, identifier0, t2, $arguments, _0_0, _0_4_isSet, _0_4, _0_40, condition, exception, value, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); if (_this._lookingAtInterpolatedIdentifier$0()) { identifier0 = _this.interpolatedIdentifier$0(); t2 = identifier0.get$asPlain(); - if ((t2 == null ? _null : t2.toLowerCase()) === "not") + if ((t2 == null ? null : t2.toLowerCase()) === "not") _this.error$2(0, '"not" is not a valid identifier here.', identifier0.span); if (t1.scanChar$1(40)) { $arguments = _this._interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true); @@ -59944,14 +62780,14 @@ self.util = _cliPkgRequires.util; } else { _0_0 = identifier0.contents; _0_4_isSet = _0_0.length === 1; + _0_4 = null; if (_0_4_isSet) { - _0_4 = _0_0[0]; - t2 = _0_4; - t2 = type$.Expression._is(t2); - } else { - _0_4 = _null; + _0_40 = _0_0[0]; + t2 = _0_40; + _0_4 = t2; + t2 = t2 instanceof A.Expression; + } else t2 = false; - } if (t2) { t2 = _0_4_isSet ? _0_4 : _0_0[0]; return new A.SupportsInterpolation(type$.Expression._as(t2), t1.spanFrom$1(start)); @@ -59969,7 +62805,7 @@ self.util = _cliPkgRequires.util; } else if (t1.peekChar$0() === 40) { condition = _this._supportsCondition$0(); t1.expectChar$1(41); - return condition; + return condition.withSpan$1(t1.spanFrom$1(start)); } $name = null; nameStart = new A._SpanScannerState(t1, t1._string_scanner$_position); @@ -59987,9 +62823,11 @@ self.util = _cliPkgRequires.util; if (_1_0 != null) { operation = _1_0; t1.expectChar$1(41); - return operation; + t2 = operation; + t1 = t1.spanFrom$1(start); + return A.SupportsOperation$(t2.left, t2.right, t2.operator, t1); } - t2 = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)); + t2 = new A.InterpolationBuffer(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t2.addInterpolation$1(identifier); t2.addInterpolation$1(_this._interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(false, true, true)); contents = t2.interpolation$1(t1.spanFrom$1(nameStart)); @@ -60000,26 +62838,21 @@ self.util = _cliPkgRequires.util; } else throw exception; } - declaration = _this._supportsDeclarationValue$2($name, start); + value = _this._supportsDeclarationValue$1($name); t1.expectChar$1(41); - return declaration; + return new A.SupportsDeclaration($name, value, t1.spanFrom$1(start)); }, - _supportsDeclarationValue$2($name, start) { - var t1, value, _this = this; + _supportsDeclarationValue$1($name) { + var t1 = false; if ($name instanceof A.StringExpression) if (!$name.hasQuotes) t1 = B.JSString_methods.startsWith$1($name.text.get$initialPlain(), "--"); - else - t1 = false; - else - t1 = false; if (t1) - value = new A.StringExpression(_this._interpolatedDeclarationValue$0(), false); + return new A.StringExpression(this._interpolatedDeclarationValue$0(), false); else { - _this.whitespace$0(); - value = _this._expression$0(); + this.whitespace$0(); + return this._expression$0(); } - return new A.SupportsDeclaration($name, value, _this.scanner.spanFrom$1(start)); }, _trySupportsOperation$2(interpolation, start) { var expression, beforeWhitespace, t2, t3, operator, operation, right, t4, endPosition, t5, t6, lowerOperator, _this = this, _null = null, @@ -60027,7 +62860,7 @@ self.util = _cliPkgRequires.util; if (t1.length !== 1) return _null; expression = B.JSArray_methods.get$first(t1); - if (!type$.Expression._is(expression)) + if (!(expression instanceof A.Expression)) return _null; t1 = _this.scanner; beforeWhitespace = new A._SpanScannerState(t1, t1._string_scanner$_position); @@ -60065,12 +62898,13 @@ self.util = _cliPkgRequires.util; return operation; }, _lookingAtInterpolatedIdentifier$0() { - var _0_0, + var t2, _0_0, t1 = this.scanner, _1_0 = t1.peekChar$0(); $label0$0: { + t2 = false; if (_1_0 == null) { - t1 = false; + t1 = t2; break $label0$0; } if (_1_0 === 95 || A.CharacterExtension_get_isAlphabetic(_1_0) || _1_0 >= 128 || 92 === _1_0) { @@ -60085,7 +62919,7 @@ self.util = _cliPkgRequires.util; _0_0 = t1.peekChar$1(1); $label1$1: { if (_0_0 == null) { - t1 = false; + t1 = t2; break $label1$1; } if (35 === _0_0) { @@ -60096,12 +62930,12 @@ self.util = _cliPkgRequires.util; t1 = true; break $label1$1; } - t1 = false; + t1 = t2; break $label1$1; } break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } return t1; @@ -60124,19 +62958,20 @@ self.util = _cliPkgRequires.util; return t1; }, _lookingAtInterpolatedIdentifierBody$0() { - var t2, + var t2, t3, t1 = this.scanner, _0_0 = t1.peekChar$0(); $label0$0: { + t2 = false; if (_0_0 == null) { - t1 = false; + t1 = t2; break $label0$0; } if (!(_0_0 === 95 || A.CharacterExtension_get_isAlphabetic(_0_0) || _0_0 >= 128)) - t2 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45; + t3 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45; else - t2 = true; - if (t2 || 92 === _0_0) { + t3 = true; + if (t3 || 92 === _0_0) { t1 = true; break $label0$0; } @@ -60144,16 +62979,17 @@ self.util = _cliPkgRequires.util; t1 = t1.peekChar$1(1) === 123; break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } return t1; }, _lookingAtExpression$0() { - var _0_0, + var t2, _0_0, t1 = this.scanner, _1_0 = t1.peekChar$0(); $label0$0: { + t2 = true; if (_1_0 == null) { t1 = false; break $label0$0; @@ -60170,17 +63006,18 @@ self.util = _cliPkgRequires.util; if (73 !== _0_0) t1 = _0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12; else - t1 = true; + t1 = t2; else - t1 = true; + t1 = t2; else - t1 = true; + t1 = t2; if (t1) break $label1$1; break $label1$1; } break $label0$0; } + t1 = true; if (40 !== _1_0) if (47 !== _1_0) if (91 !== _1_0) @@ -60194,32 +63031,8 @@ self.util = _cliPkgRequires.util; if (38 !== _1_0) if (!(_1_0 === 95 || A.CharacterExtension_get_isAlphabetic(_1_0) || _1_0 >= 128)) t1 = _1_0 >= 48 && _1_0 <= 57; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; if (t1) { - t1 = true; + t1 = t2; break $label0$0; } t1 = false; @@ -60267,6 +63080,12 @@ self.util = _cliPkgRequires.util; return; this.error$2(0, string$.Privat, span.call$0()); }, + _addOrInject$2(buffer, expression) { + if (expression instanceof A.StringExpression && !expression.hasQuotes) + buffer.addInterpolation$1(expression.text); + else + buffer.add$2(0, expression, expression.get$span(expression)); + }, get$plainCss() { return false; } @@ -60282,9 +63101,9 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); t4 = t1._globalVariables.get$values(0); B.JSArray_methods.addAll$1(statements, A.MappedIterable_MappedIterable(t4, new A.StylesheetParser_parse__closure0(), A._instanceType(t4)._eval$1("Iterable.E"), type$.Statement)); - return A.Stylesheet$internal(statements, t2.spanFrom$1(new A._SpanScannerState(t2, t3)), t1.get$plainCss()); + return A.Stylesheet$internal(statements, t2.spanFrom$1(new A._SpanScannerState(t2, t3)), t1.warnings, t1.get$plainCss()); }, - $signature: 463 + $signature: 354 }; A.StylesheetParser_parse__closure.prototype = { call$0() { @@ -60296,14 +63115,14 @@ self.util = _cliPkgRequires.util; } return t1._statement$1$root(true); }, - $signature: 462 + $signature: 355 }; A.StylesheetParser_parse__closure0.prototype = { call$1(declaration) { var t1 = declaration.expression; return A.VariableDeclaration$(declaration.name, new A.NullExpression(t1.get$span(t1)), declaration.span, null, false, true, null); }, - $signature: 456 + $signature: 357 }; A.StylesheetParser_parseArgumentDeclaration_closure.prototype = { call$0() { @@ -60319,14 +63138,14 @@ self.util = _cliPkgRequires.util; t2.expectChar$1(123); return $arguments; }, - $signature: 444 + $signature: 359 }; A.StylesheetParser_parseVariableDeclaration_closure.prototype = { call$0() { var t1 = this.$this; return t1.lookingAtIdentifier$0() ? t1._variableDeclarationWithNamespace$0() : t1.variableDeclarationWithoutNamespace$0(); }, - $signature: 155 + $signature: 177 }; A.StylesheetParser_parseUseRule_closure.prototype = { call$0() { @@ -60338,7 +63157,7 @@ self.util = _cliPkgRequires.util; t1.whitespace$0(); return t1._useRule$1(new A._SpanScannerState(t2, t3)); }, - $signature: 443 + $signature: 361 }; A.StylesheetParser__parseSingleProduction_closure.prototype = { call$0() { @@ -60354,48 +63173,48 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this._statement$0(); }, - $signature: 124 + $signature: 125 }; A.StylesheetParser_variableDeclarationWithoutNamespace_closure.prototype = { call$0() { return this.$this.scanner.spanFrom$1(this.start); }, - $signature: 26 + $signature: 29 }; A.StylesheetParser_variableDeclarationWithoutNamespace_closure0.prototype = { call$0() { return this.declaration; }, - $signature: 155 + $signature: 177 }; A.StylesheetParser__styleRule_closure.prototype = { call$2(children, span) { var _this = this, t1 = _this.$this; if (t1.get$indented() && children.length === 0) - t1.logger.warn$2$span(0, string$.This_s, _this._box_0.interpolation.span); + t1.warnings.push(new A._Record_3_deprecation_message_span(null, string$.This_s, _this._box_0.interpolation.span)); t1._inStyleRule = _this.wasInStyleRule; return A.StyleRule$(_this._box_0.interpolation, children, t1.scanner.spanFrom$1(_this.start)); }, - $signature: 439 + $signature: 362 }; A.StylesheetParser__tryDeclarationChildren_closure.prototype = { call$2(children, span) { return A.Declaration$nested(this.name, children, span, this.value); }, - $signature: 435 + $signature: 363 }; A.StylesheetParser__atRootRule_closure.prototype = { call$2(children, span) { return A.AtRootRule$(children, span, this.query); }, - $signature: 156 + $signature: 178 }; A.StylesheetParser__atRootRule_closure0.prototype = { call$2(children, span) { return A.AtRootRule$(children, span, null); }, - $signature: 156 + $signature: 178 }; A.StylesheetParser__eachRule_closure.prototype = { call$2(children, span) { @@ -60403,13 +63222,13 @@ self.util = _cliPkgRequires.util; _this.$this._inControlDirective = _this.wasInControlDirective; return A.EachRule$(_this.variables, _this.list, children, span); }, - $signature: 433 + $signature: 370 }; A.StylesheetParser__functionRule_closure.prototype = { call$2(children, span) { return A.FunctionRule$(this.name, this.$arguments, children, span, this.precedingComment); }, - $signature: 432 + $signature: 371 }; A.StylesheetParser__forRule_closure.prototype = { call$0() { @@ -60424,7 +63243,7 @@ self.util = _cliPkgRequires.util; } else return false; }, - $signature: 30 + $signature: 24 }; A.StylesheetParser__forRule_closure0.prototype = { call$2(children, span) { @@ -60434,7 +63253,7 @@ self.util = _cliPkgRequires.util; t1.toString; return A.ForRule$(_this.variable, _this.from, _this.to, children, span, t1); }, - $signature: 428 + $signature: 372 }; A.StylesheetParser__memberList_closure.prototype = { call$0() { @@ -60450,13 +63269,13 @@ self.util = _cliPkgRequires.util; call$2(children, span) { return A.ContentBlock$(this.contentArguments_, children, span); }, - $signature: 427 + $signature: 373 }; A.StylesheetParser_mediaRule_closure.prototype = { call$2(children, span) { return A.MediaRule$(this.query, children, span); }, - $signature: 426 + $signature: 382 }; A.StylesheetParser__mixinRule_closure.prototype = { call$2(children, span) { @@ -60464,35 +63283,35 @@ self.util = _cliPkgRequires.util; _this.$this._stylesheet$_inMixin = false; return A.MixinRule$(_this.name, _this.$arguments, children, span, _this.precedingComment); }, - $signature: 424 + $signature: 389 }; A.StylesheetParser_mozDocumentRule_closure.prototype = { call$2(children, span) { var _this = this; if (_this._box_0.needsDeprecationWarning) - A.WarnForDeprecation_warnForDeprecation(_this.$this.logger, B.Deprecation_uNF, string$.x40_moz_, span, null); + _this.$this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_T5f, string$.x40_moz_, span)); return A.AtRule$(_this.name, span, children, _this.value); }, - $signature: 157 + $signature: 179 }; A.StylesheetParser_supportsRule_closure.prototype = { call$2(children, span) { return A.SupportsRule$(this.condition, children, span); }, - $signature: 423 + $signature: 391 }; A.StylesheetParser__whileRule_closure.prototype = { call$2(children, span) { this.$this._inControlDirective = this.wasInControlDirective; return A.WhileRule$(this.condition, children, span); }, - $signature: 419 + $signature: 392 }; A.StylesheetParser_unknownAtRule_closure.prototype = { call$2(children, span) { return A.AtRule$(this.name, span, children, this._box_0.value); }, - $signature: 157 + $signature: 179 }; A.StylesheetParser__expression_resetState.prototype = { call$0() { @@ -60546,7 +63365,7 @@ self.util = _cliPkgRequires.util; t5 = left.toString$0(0); t6 = right.toString$0(0); t1 = t1.singleExpression_; - A.WarnForDeprecation_warnForDeprecation(t3.logger, B.Deprecation_2Vk, "This operation is parsed as:\n\n " + t2 + " " + t7 + " " + t4 + string$.x0a_but_ + t5 + " (" + t7 + t6 + ")\n\nAdd a space after " + t7 + string$.x20to_cl, t1.get$span(t1), null); + t3.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_2My, "This operation is parsed as:\n\n " + t2 + " " + t7 + " " + t4 + string$.x0a_but_ + t5 + " (" + t7 + t6 + ")\n\nAdd a space after " + t7 + string$.x20to_cl, t1.get$span(t1))); } } } @@ -60588,7 +63407,7 @@ self.util = _cliPkgRequires.util; } t1.singleExpression_ = expression; }, - $signature: 416 + $signature: 393 }; A.StylesheetParser__expression_addOperator.prototype = { call$1(operator) { @@ -60625,7 +63444,7 @@ self.util = _cliPkgRequires.util; t1.whitespace$0(); t2.singleExpression_ = t1._singleExpression$0(); }, - $signature: 415 + $signature: 394 }; A.StylesheetParser__expression_resolveSpaceExpressions.prototype = { call$0() { @@ -60650,37 +63469,37 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this.scanner.peekChar$0() === 44; }, - $signature: 30 + $signature: 24 }; A.StylesheetParser__isHexColor_closure.prototype = { call$1(char) { return A.CharacterExtension_get_isHex(char); }, - $signature: 45 + $signature: 47 }; A.StylesheetParser__unicodeRange_closure.prototype = { call$1(char) { return char != null && A.CharacterExtension_get_isHex(char); }, - $signature: 28 + $signature: 32 }; A.StylesheetParser__unicodeRange_closure0.prototype = { call$1(char) { return char != null && A.CharacterExtension_get_isHex(char); }, - $signature: 28 + $signature: 32 }; A.StylesheetParser_namespacedExpression_closure.prototype = { call$0() { return this.$this.scanner.spanFrom$1(this.start); }, - $signature: 26 + $signature: 29 }; A.StylesheetParser_trySpecialFunction_closure.prototype = { call$1(contents) { return new A.StringExpression(contents, false); }, - $signature: 401 + $signature: 395 }; A.StylesheetParser__expressionUntilComparison_closure.prototype = { call$0() { @@ -60700,20 +63519,20 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 30 + $signature: 24 }; A.StylesheetParser__publicIdentifier_closure.prototype = { call$0() { return this.$this.scanner.spanFrom$1(this.start); }, - $signature: 26 + $signature: 29 }; A.StylesheetGraph.prototype = { modifiedSince$3(url, since, baseImporter) { var node = this._stylesheet_graph$_add$3(url, baseImporter, null); if (node == null) return true; - return new A.StylesheetGraph_modifiedSince_transitiveModificationTime(this).call$1(node)._value > since._value; + return new A.StylesheetGraph_modifiedSince_transitiveModificationTime(this).call$1(node).isAfter$1(since); }, _stylesheet_graph$_add$3(url, baseImporter, baseUrl) { var importer, canonicalUrl, _this = this, @@ -60872,57 +63691,63 @@ self.util = _cliPkgRequires.util; call$1(node) { return this.$this._transitiveModificationTimes.putIfAbsent$2(node.canonicalUrl, new A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure(node, this)); }, - $signature: 395 + $signature: 398 }; A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure.prototype = { call$0() { - var t2, t3, upstreamTime, + var t2, t3, upstreamTime, t4, t1 = this.node, latest = t1.importer.modificationTime$1(t1.canonicalUrl); for (t1 = t1._upstream.get$values(0).followedBy$1(0, t1._upstreamImports.get$values(0)), t1 = new A.FollowedByIterator(J.get$iterator$ax(t1.__internal$_first), t1._second), t2 = this.transitiveModificationTime; t1.moveNext$0();) { t3 = t1._currentIterator; t3 = t3.get$current(t3); - upstreamTime = t3 == null ? new A.DateTime(Date.now(), false) : t2.call$1(t3); - if (upstreamTime._value > latest._value) + upstreamTime = t3 == null ? new A.DateTime(Date.now(), 0, false) : t2.call$1(t3); + t3 = upstreamTime._value; + t4 = latest._value; + if (t3 <= t4) + t3 = t3 === t4 && upstreamTime._microsecond > latest._microsecond; + else + t3 = true; + if (t3) latest = upstreamTime; } return latest; }, - $signature: 149 + $signature: 160 }; A.StylesheetGraph__add_closure.prototype = { call$0() { var _this = this; return _this.$this.importCache.canonicalize$3$baseImporter$baseUrl(0, _this.url, _this.baseImporter, _this.baseUrl); }, - $signature: 119 + $signature: 138 }; A.StylesheetGraph_addCanonical_closure.prototype = { call$0() { var _this = this; return _this.$this.importCache.importCanonical$3$originalUrl(_this.importer, _this.canonicalUrl, _this.originalUrl); }, - $signature: 91 + $signature: 104 }; A.StylesheetGraph_reload_closure.prototype = { call$0() { return this.$this.importCache.importCanonical$2(this.node.importer, this.canonicalUrl); }, - $signature: 91 + $signature: 104 }; A.StylesheetGraph__nodeFor_closure.prototype = { call$0() { var _this = this; return _this.$this.importCache.canonicalize$4$baseImporter$baseUrl$forImport(0, _this.url, _this.baseImporter, _this.baseUrl, _this.forImport); }, - $signature: 119 + $signature: 138 }; A.StylesheetGraph__nodeFor_closure0.prototype = { call$0() { var t1 = this._box_0; return this.$this.importCache.importCanonical$3$originalUrl(t1.importer, t1.canonicalUrl, t1.originalUrl); }, - $signature: 91 + $signature: 104 }; A.StylesheetNode.prototype = { StylesheetNode$_$4(_stylesheet, importer, canonicalUrl, allUpstream) { @@ -61106,7 +63931,7 @@ self.util = _cliPkgRequires.util; for (t1 = maps.length, t2 = this._mapsByKey, t3 = $K._eval$1("@<0>")._bind$1($V)._eval$1("MergedMapView<1,2>"), _i = 0; _i < maps.length; maps.length === t1 || (0, A.throwConcurrentModificationError)(maps), ++_i) { map = maps[_i]; if (t3._is(map)) - for (t4 = map._mapsByKey.get$values(0), t5 = A._instanceType(t4), t5 = t5._eval$1("@<1>")._bind$1(t5._rest[1]), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) { + for (t4 = map._mapsByKey.get$values(0), t5 = A._instanceType(t4), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) { t6 = t4.__internal$_current; if (t6 == null) t6 = t5._as(t6); @@ -61291,7 +64116,7 @@ self.util = _cliPkgRequires.util; call$1(key) { return this.$this._view._prefix + key; }, - $signature: 5 + $signature: 6 }; A.PublicMemberMapView.prototype = { get$keys(_) { @@ -61406,7 +64231,7 @@ self.util = _cliPkgRequires.util; t3 = t2 === 0 ? t3.prefixColumn : 0; return new A.Entry(entry.source, A.SourceLocation$(t1.offset + this.prefixLength, t1.column + t3, t2 + t4, null), entry.identifierName); }, - $signature: 160 + $signature: 185 }; A.UnprefixedMapView.prototype = { get$keys(_) { @@ -61436,19 +64261,19 @@ self.util = _cliPkgRequires.util; call$1(key) { return B.JSString_methods.startsWith$1(key, this.$this._unprefixed_map_view$_view._unprefixed_map_view$_prefix); }, - $signature: 4 + $signature: 5 }; A._UnprefixedKeys_iterator_closure0.prototype = { call$1(key) { return B.JSString_methods.substring$1(key, this.$this._unprefixed_map_view$_view._unprefixed_map_view$_prefix.length); }, - $signature: 5 + $signature: 6 }; A.indent_closure.prototype = { call$1(line) { return B.JSString_methods.$mul(" ", this.indentation) + line; }, - $signature: 5 + $signature: 6 }; A.flattenVertically_closure.prototype = { call$1(inner) { @@ -61531,7 +64356,7 @@ self.util = _cliPkgRequires.util; indexValue = sassIndex.assertNumber$1($name); if (indexValue.get$hasUnits()) { t1 = indexValue.get$unitString(); - A.warnForDeprecation("$" + $name + ": Passing a number with unit " + t1 + string$.x20is_de + indexValue.unitSuggestion$1($name) + string$.x0a_Morex3a, B.Deprecation_2jN); + A.warnForDeprecation("$" + $name + ": Passing a number with unit " + t1 + string$.x20is_de + indexValue.unitSuggestion$1($name) + string$.x0a_Morex3af, B.Deprecation_int); } index = indexValue.assertInt$1($name); if (index === 0) @@ -61567,6 +64392,30 @@ self.util = _cliPkgRequires.util; assertString$1($name) { return A.throwExpression(A.SassScriptException$(this.toString$0(0) + " is not a string.", $name)); }, + assertCommonListStyle$2$allowSlash($name, allowSlash) { + var invalidSeparator, buffer, t1, _this = this, + _s8_ = "Expected"; + if (_this.get$separator(_this) !== B.ListSeparator_ECn) + invalidSeparator = !allowSlash && _this.get$separator(_this) === B.ListSeparator_cQA; + else + invalidSeparator = true; + if (!invalidSeparator && !_this.get$hasBrackets()) + return _this.get$asList(); + buffer = new A.StringBuffer(_s8_); + if (_this.get$hasBrackets()) { + t1 = "Expected" + " an unbracketed"; + buffer._contents = t1; + } else + t1 = _s8_; + if (invalidSeparator) { + t1 += _this.get$hasBrackets() ? "," : " a"; + buffer._contents = t1; + t1 = buffer._contents = t1 + " space-"; + t1 = buffer._contents = (allowSlash ? buffer._contents = t1 + " or slash-" : t1) + "separated"; + } + buffer._contents = t1 + (" list, was " + _this.toString$0(0)); + throw A.wrapException(A.SassScriptException$(buffer.toString$0(0), $name)); + }, _selectorString$1($name) { var _0_0 = this._selectorStringOrNull$0(); if (_0_0 != null) @@ -61733,7 +64582,7 @@ self.util = _cliPkgRequires.util; call$1(arg) { return arg instanceof A.SassString; }, - $signature: 67 + $signature: 76 }; A.CalculationOperation.prototype = { $eq(_, other) { @@ -61758,60 +64607,99 @@ self.util = _cliPkgRequires.util; } }; A.SassColor.prototype = { - get$red(_) { - var t1; - if (this._red == null) - this._hslToRgb$0(); - t1 = this._red; - t1.toString; + get$channels() { + var t2, t3, + t1 = this.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = this.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = this.channel2OrNull; + return A.List_List$unmodifiable([t1, t2, t3 == null ? 0 : t3], type$.double); + }, + get$channelsOrNull() { + return A.List_List$unmodifiable([this.channel0OrNull, this.channel1OrNull, this.channel2OrNull], type$.nullable_double); + }, + get$isChannel0Powerless() { + var t1, t2, _this = this, + _0_0 = _this._space; + $label0$0: { + if (B.HslColorSpace_gsm === _0_0) { + t1 = _this.channel1OrNull; + t1 = A.fuzzyEquals(t1 == null ? 0 : t1, 0); + break $label0$0; + } + if (B.HwbColorSpace_06z === _0_0) { + t1 = _this.channel1OrNull; + if (t1 == null) + t1 = 0; + t2 = _this.channel2OrNull; + t1 += t2 == null ? 0 : t2; + t1 = t1 > 100 || A.fuzzyEquals(t1, 100); + break $label0$0; + } + t1 = false; + break $label0$0; + } return t1; }, - get$green(_) { - var t1; - if (this._green == null) - this._hslToRgb$0(); - t1 = this._green; - t1.toString; + get$isChannel2Powerless() { + var t1, + _0_0 = this._space; + $label0$0: { + if (B.LchColorSpace_wv8 === _0_0 || B.OklchColorSpace_li8 === _0_0) { + t1 = this.channel1OrNull; + t1 = A.fuzzyEquals(t1 == null ? 0 : t1, 0); + break $label0$0; + } + t1 = false; + break $label0$0; + } return t1; }, - get$blue(_) { - var t1; - if (this._blue == null) - this._hslToRgb$0(); - t1 = this._blue; - t1.toString; + get$isInGamut() { + var t2, t3, _this = this, + t1 = _this._space; + if (!t1.get$isBoundedInternal()) + return true; + t2 = _this.channel0OrNull; + if (t2 == null) + t2 = 0; + t1 = t1._channels; + t3 = false; + if (_this._isChannelInGamut$2(t2, t1[0])) { + t2 = _this.channel1OrNull; + if (t2 == null) + t2 = 0; + if (_this._isChannelInGamut$2(t2, t1[1])) { + t2 = _this.channel2OrNull; + if (t2 == null) + t2 = 0; + t1 = _this._isChannelInGamut$2(t2, t1[2]); + } else + t1 = t3; + } else + t1 = t3; return t1; }, - get$hue(_) { - var t1; - if (this._hue == null) - this._rgbToHsl$0(); - t1 = this._hue; - t1.toString; + _isChannelInGamut$2(value, channel) { + var min, max, t1; + $label0$0: { + if (channel instanceof A.LinearChannel) { + min = channel.min; + max = channel.max; + if (value < max || A.fuzzyEquals(value, max)) + t1 = value > min || A.fuzzyEquals(value, min); + else + t1 = false; + break $label0$0; + } + t1 = true; + break $label0$0; + } return t1; }, - get$saturation(_) { - var t1; - if (this._saturation == null) - this._rgbToHsl$0(); - t1 = this._saturation; - t1.toString; - return t1; - }, - get$lightness(_) { - var t1; - if (this._lightness == null) - this._rgbToHsl$0(); - t1 = this._lightness; - t1.toString; - return t1; - }, - get$whiteness(_) { - return Math.min(Math.min(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100; - }, - get$blackness(_) { - return 100 - Math.max(Math.max(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100; - }, accept$1$1(visitor) { return visitor.visitColor$1(this); }, @@ -61821,32 +64709,292 @@ self.util = _cliPkgRequires.util; assertColor$1($name) { return this; }, - changeRgb$4$alpha$blue$green$red(alpha, blue, green, red) { - return A.SassColor$rgb(red, green, blue, alpha == null ? this._alpha : alpha); + assertLegacy$1($name) { + if (this._space.get$isLegacyInternal()) + return; + throw A.wrapException(A.SassScriptException$("Expected " + this.toString$0(0) + string$.x20to_be, $name)); }, - changeRgb$3$blue$green$red(blue, green, red) { - return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red); + channel$1(_, channel) { + var t1, _this = this, + channels = _this._space._channels; + if (channel === channels[0].name) { + t1 = _this.channel0OrNull; + return t1 == null ? 0 : t1; + } + if (channel === channels[1].name) { + t1 = _this.channel1OrNull; + return t1 == null ? 0 : t1; + } + if (channel === channels[2].name) { + t1 = _this.channel2OrNull; + return t1 == null ? 0 : t1; + } + if (channel === "alpha") { + t1 = _this.alphaOrNull; + return t1 == null ? 0 : t1; + } + throw A.wrapException(A.SassScriptException$("Color " + _this.toString$0(0) + " doesn't have a channel named \"" + channel + '".', null)); }, - changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation) { - var _this = this, _null = null, - t1 = hue == null ? _this.get$hue(0) : hue, - t2 = saturation == null ? _this.get$saturation(0) : saturation, - t3 = lightness == null ? _this.get$lightness(0) : lightness, - t4 = A.SassColor__handleNullAlpha(alpha == null ? _this._alpha : alpha); - return new A.SassColor(_null, _null, _null, B.JSNumber_methods.$mod(t1, 360), A.fuzzyAssertRange(t2, 0, 100, "saturation"), A.fuzzyAssertRange(t3, 0, 100, "lightness"), A.fuzzyAssertRange(t4, 0, 1, "alpha"), _null); + isChannelMissing$3$channelName$colorName(channel, channelName, colorName) { + var _this = this, + channels = _this._space._channels; + if (channel === channels[0].name) + return _this.channel0OrNull == null; + if (channel === channels[1].name) + return _this.channel1OrNull == null; + if (channel === channels[2].name) + return _this.channel2OrNull == null; + if (channel === "alpha") + return _this.alphaOrNull == null; + throw A.wrapException(A.SassScriptException$("Color " + _this.toString$0(0) + " doesn't have a channel named \"" + channel + '".', channelName)); + }, + isChannelMissing$1(channel) { + return this.isChannelMissing$3$channelName$colorName(channel, null, null); + }, + isChannelPowerless$3$channelName$colorName(channel, channelName, colorName) { + var _this = this, + channels = _this._space._channels; + if (channel === channels[0].name) + return _this.get$isChannel0Powerless(); + if (channel === channels[1].name) + return false; + if (channel === channels[2].name) + return _this.get$isChannel2Powerless(); + if (channel === "alpha") + return false; + throw A.wrapException(A.SassScriptException$("Color " + _this.toString$0(0) + " doesn't have a channel named \"" + channel + '".', channelName)); + }, + _legacyChannel$2(space, channel) { + if (!this._space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$("color." + channel + string$.x28__is_oc, null)); + return this.toSpace$1(space).channel$1(0, channel); + }, + toSpace$2$legacyMissing(space, legacyMissing) { + var t2, converted, t3, t4, _this = this, + t1 = _this._space; + if (t1 === space) + return _this; + t2 = _this.alphaOrNull; + if (t2 == null) + t2 = 0; + converted = t1.convert$5(space, _this.channel0OrNull, _this.channel1OrNull, _this.channel2OrNull, t2); + t1 = false; + if (!legacyMissing) + if (converted._space.get$isLegacyInternal()) + t1 = converted.channel0OrNull == null || converted.channel1OrNull == null || converted.channel2OrNull == null || converted.alphaOrNull == null; + if (t1) { + t1 = converted.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = converted.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = converted.channel2OrNull; + if (t3 == null) + t3 = 0; + t4 = converted.alphaOrNull; + if (t4 == null) + t4 = 0; + t4 = A.SassColor_SassColor$forSpaceInternal(converted._space, t1, t2, t3, t4); + t1 = t4; + } else + t1 = converted; + return t1; + }, + toSpace$1(space) { + return this.toSpace$2$legacyMissing(space, true); + }, + changeHsl$3$hue$lightness$saturation(hue, lightness, saturation) { + var t2, t3, t4, t5, _this = this, _null = null, + t1 = _this._space; + if (!t1.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$(string$.color_c, _null)); + t2 = hue == null ? _null : hue; + if (t2 == null) + t2 = _this._legacyChannel$2(B.HslColorSpace_gsm, "hue"); + t3 = saturation == null ? _null : saturation; + if (t3 == null) + t3 = _this._legacyChannel$2(B.HslColorSpace_gsm, "saturation"); + t4 = lightness == null ? _null : lightness; + if (t4 == null) + t4 = _this._legacyChannel$2(B.HslColorSpace_gsm, "lightness"); + t5 = _this.alphaOrNull; + if (t5 == null) + t5 = 0; + return A.SassColor_SassColor$hsl(t2, t3, t4, t5).toSpace$1(t1); }, changeHsl$1$saturation(saturation) { - return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation); + return this.changeHsl$3$hue$lightness$saturation(null, null, saturation); }, changeHsl$1$lightness(lightness) { - return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null); + return this.changeHsl$3$hue$lightness$saturation(null, lightness, null); }, changeHsl$1$hue(hue) { - return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null); + return this.changeHsl$3$hue$lightness$saturation(hue, null, null); }, changeAlpha$1(alpha) { - var _this = this; - return new A.SassColor(_this._red, _this._green, _this._blue, _this._hue, _this._saturation, _this._lightness, A.fuzzyAssertRange(alpha, 0, 1, "alpha"), null); + var t2, t3, _this = this, + t1 = _this.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = _this.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = _this.channel2OrNull; + if (t3 == null) + t3 = 0; + return A.SassColor_SassColor$forSpaceInternal(_this._space, t1, t2, t3, alpha); + }, + interpolate$4$legacyMissing$weight(other, method, legacyMissing, weight) { + var t1, color1, color2, missing1_0, missing1_1, missing1_2, missing2_0, missing2_1, missing2_2, channel1_0, channel1_1, channel1_2, channel2_0, channel2_1, channel2_2, alpha1, t2, t3, alpha10, alpha2, alpha20, thisMultiplier, t4, t5, otherMultiplier, mixedAlpha, mixed0, mixed1, mixed2, _this = this, _null = null; + if (A.fuzzyEquals(weight, 0)) + return other; + if (A.fuzzyEquals(weight, 1)) + return _this; + t1 = method.space; + color1 = _this.toSpace$1(t1); + color2 = other.toSpace$1(t1); + if (weight < 0 || weight > 1) + throw A.wrapException(A.RangeError$range(weight, 0, 1, "weight", _null)); + missing1_0 = _this._isAnalogousChannelMissing$3(_this, color1, 0); + missing1_1 = _this._isAnalogousChannelMissing$3(_this, color1, 1); + missing1_2 = _this._isAnalogousChannelMissing$3(_this, color1, 2); + missing2_0 = _this._isAnalogousChannelMissing$3(other, color2, 0); + missing2_1 = _this._isAnalogousChannelMissing$3(other, color2, 1); + missing2_2 = _this._isAnalogousChannelMissing$3(other, color2, 2); + channel1_0 = (missing1_0 ? color2 : color1).channel0OrNull; + if (channel1_0 == null) + channel1_0 = 0; + channel1_1 = (missing1_1 ? color2 : color1).channel1OrNull; + if (channel1_1 == null) + channel1_1 = 0; + channel1_2 = (missing1_2 ? color2 : color1).channel2OrNull; + if (channel1_2 == null) + channel1_2 = 0; + channel2_0 = (missing2_0 ? color1 : color2).channel0OrNull; + if (channel2_0 == null) + channel2_0 = 0; + channel2_1 = (missing2_1 ? color1 : color2).channel1OrNull; + if (channel2_1 == null) + channel2_1 = 0; + channel2_2 = (missing2_2 ? color1 : color2).channel2OrNull; + if (channel2_2 == null) + channel2_2 = 0; + alpha1 = _this.alphaOrNull; + t2 = alpha1 == null; + if (t2) { + t3 = other.alphaOrNull; + alpha10 = t3 == null ? 0 : t3; + } else + alpha10 = alpha1; + alpha2 = other.alphaOrNull; + t3 = alpha2 == null; + if (t3) + alpha20 = t2 ? 0 : alpha1; + else + alpha20 = alpha2; + thisMultiplier = (t2 ? 1 : alpha1) * weight; + t4 = t3 ? 1 : alpha2; + t5 = 1 - weight; + otherMultiplier = t4 * t5; + mixedAlpha = t2 && t3 ? _null : alpha10 * weight + alpha20 * t5; + if (missing1_0 && missing2_0) + mixed0 = _null; + else { + t2 = mixedAlpha == null ? 1 : mixedAlpha; + mixed0 = (channel1_0 * thisMultiplier + channel2_0 * otherMultiplier) / t2; + } + if (missing1_1 && missing2_1) + mixed1 = _null; + else { + t2 = mixedAlpha == null ? 1 : mixedAlpha; + mixed1 = (channel1_1 * thisMultiplier + channel2_1 * otherMultiplier) / t2; + } + if (missing1_2 && missing2_2) + mixed2 = _null; + else { + t2 = mixedAlpha == null ? 1 : mixedAlpha; + mixed2 = (channel1_2 * thisMultiplier + channel2_2 * otherMultiplier) / t2; + } + $label0$0: { + if (B.HslColorSpace_gsm === t1 || B.HwbColorSpace_06z === t1) { + if (missing1_0 && missing2_0) + t2 = _null; + else { + t2 = method.hue; + t2.toString; + t2 = _this._interpolateHues$4(channel1_0, channel2_0, t2, weight); + } + t2 = A.SassColor_SassColor$forSpaceInternal(t1, t2, mixed1, mixed2, mixedAlpha); + t1 = t2; + break $label0$0; + } + if (B.LchColorSpace_wv8 === t1 || B.OklchColorSpace_li8 === t1) { + if (missing1_2 && missing2_2) + t2 = _null; + else { + t2 = method.hue; + t2.toString; + t2 = _this._interpolateHues$4(channel1_2, channel2_2, t2, weight); + } + t2 = A.SassColor_SassColor$forSpaceInternal(t1, mixed0, mixed1, t2, mixedAlpha); + t1 = t2; + break $label0$0; + } + t1 = A.SassColor_SassColor$forSpaceInternal(t1, mixed0, mixed1, mixed2, mixedAlpha); + break $label0$0; + } + return t1.toSpace$2$legacyMissing(_this._space, false); + }, + _isAnalogousChannelMissing$3(original, output, outputChannelIndex) { + var originalChannel; + if (output.get$channelsOrNull()[outputChannelIndex] == null) + return true; + if (original === output) + return false; + originalChannel = A.IterableExtension_firstWhereOrNull(original._space._channels, output._space._channels[outputChannelIndex].get$isAnalogous()); + if (originalChannel == null) + return false; + return original.isChannelMissing$1(originalChannel.name); + }, + _interpolateHues$4(hue1, hue2, method, weight) { + var _0_0, _1_0; + $label1$1: { + if (B.HueInterpolationMethod_0 === method) { + $label0$0: { + _0_0 = hue2 - hue1; + if (_0_0 > 180) { + hue1 += 360; + break $label0$0; + } + if (_0_0 < -180) + hue2 += 360; + } + break $label1$1; + } + if (B.HueInterpolationMethod_1 === method) { + $label2$2: { + _1_0 = hue2 - hue1; + if (_1_0 > 0 && _1_0 < 180) { + hue2 += 360; + break $label2$2; + } + if (_1_0 > -180 && _1_0 <= 0) + hue1 += 360; + } + break $label1$1; + } + if (B.HueInterpolationMethod_2 === method && hue2 < hue1) { + hue2 += 360; + break $label1$1; + } + if (B.HueInterpolationMethod_3 === method && hue1 < hue2) { + hue1 += 360; + break $label1$1; + } + break $label1$1; + } + return hue1 * weight + hue2 * (1 - weight); }, plus$1(other) { if (!(other instanceof A.SassNumber) && !(other instanceof A.SassColor)) @@ -61864,69 +65012,1102 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$('Undefined operation "' + this.toString$0(0) + " / " + other.toString$0(0) + '".', null)); }, $eq(_, other) { - var _this = this; + var t1, t2, _this = this; if (other == null) return false; - return other instanceof A.SassColor && other.get$red(0) === _this.get$red(0) && other.get$green(0) === _this.get$green(0) && other.get$blue(0) === _this.get$blue(0) && other._alpha === _this._alpha; + if (!(other instanceof A.SassColor)) + return false; + t1 = _this._space; + if (t1.get$isLegacyInternal()) { + t2 = other._space; + if (!t2.get$isLegacyInternal()) + return false; + if (!A.fuzzyEqualsNullable(_this.alphaOrNull, other.alphaOrNull)) + return false; + if (t1 === t2) + return A.fuzzyEqualsNullable(_this.channel0OrNull, other.channel0OrNull) && A.fuzzyEqualsNullable(_this.channel1OrNull, other.channel1OrNull) && A.fuzzyEqualsNullable(_this.channel2OrNull, other.channel2OrNull); + else + return _this.toSpace$1(B.RgbColorSpace_mlz).$eq(0, other.toSpace$1(B.RgbColorSpace_mlz)); + } + return t1 === other._space && A.fuzzyEqualsNullable(_this.channel0OrNull, other.channel0OrNull) && A.fuzzyEqualsNullable(_this.channel1OrNull, other.channel1OrNull) && A.fuzzyEqualsNullable(_this.channel2OrNull, other.channel2OrNull) && A.fuzzyEqualsNullable(_this.alphaOrNull, other.alphaOrNull); }, get$hashCode(_) { - var _this = this; - return B.JSInt_methods.get$hashCode(_this.get$red(0)) ^ B.JSInt_methods.get$hashCode(_this.get$green(0)) ^ B.JSInt_methods.get$hashCode(_this.get$blue(0)) ^ B.JSNumber_methods.get$hashCode(_this._alpha); - }, - _rgbToHsl$0() { - var t2, lightness, _this = this, - scaledRed = _this.get$red(0) / 255, - scaledGreen = _this.get$green(0) / 255, - scaledBlue = _this.get$blue(0) / 255, - max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue), - min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue), - delta = max - min, - t1 = max === min; - if (t1) - _this._hue = 0; - else if (max === scaledRed) - _this._hue = B.JSNumber_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360); - else if (max === scaledGreen) - _this._hue = B.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360); - else if (max === scaledBlue) - _this._hue = B.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360); - t2 = max + min; - lightness = 50 * t2; - _this._lightness = lightness; - if (t1) - _this._saturation = 0; - else { - t1 = 100 * delta; - if (lightness < 50) - _this._saturation = t1 / t2; - else - _this._saturation = t1 / (2 - max - min); + var rgb, t2, t3, t4, t5, _this = this, + t1 = _this._space; + if (t1.get$isLegacyInternal()) { + rgb = _this.toSpace$1(B.RgbColorSpace_mlz); + t1 = rgb.channel0OrNull; + t1 = A.fuzzyHashCode(t1 == null ? 0 : t1); + t2 = rgb.channel1OrNull; + t2 = A.fuzzyHashCode(t2 == null ? 0 : t2); + t3 = rgb.channel2OrNull; + t3 = A.fuzzyHashCode(t3 == null ? 0 : t3); + t4 = _this.alphaOrNull; + return t1 ^ t2 ^ t3 ^ A.fuzzyHashCode(t4 == null ? 0 : t4); + } else { + t1 = A.Primitives_objectHashCode(t1); + t2 = _this.channel0OrNull; + t2 = A.fuzzyHashCode(t2 == null ? 0 : t2); + t3 = _this.channel1OrNull; + t3 = A.fuzzyHashCode(t3 == null ? 0 : t3); + t4 = _this.channel2OrNull; + t4 = A.fuzzyHashCode(t4 == null ? 0 : t4); + t5 = _this.alphaOrNull; + return (t1 ^ t2 ^ t3 ^ t4 ^ A.fuzzyHashCode(t5 == null ? 0 : t5)) >>> 0; } - }, - _hslToRgb$0() { - var _this = this, - scaledHue = _this.get$hue(0) / 360, - scaledSaturation = _this.get$saturation(0) / 100, - scaledLightness = _this.get$lightness(0) / 100, - m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation, - m1 = scaledLightness * 2 - m2; - _this._red = A.fuzzyRound(A.SassColor__hueToRgb(m1, m2, scaledHue + 0.3333333333333333) * 255); - _this._green = A.fuzzyRound(A.SassColor__hueToRgb(m1, m2, scaledHue) * 255); - _this._blue = A.fuzzyRound(A.SassColor__hueToRgb(m1, m2, scaledHue - 0.3333333333333333) * 255); } }; - A.SassColor_SassColor$hwb_toRgb.prototype = { - call$1(hue) { - return A.fuzzyRound((A.SassColor__hueToRgb(0, 1, hue) * this.factor + this._box_0.scaledWhiteness) * 255); + A.SassColor$_forSpace_closure.prototype = { + call$1(alpha) { + return A.fuzzyAssertRange(alpha, 0, 1, "alpha"); }, - $signature: 161 + $signature: 15 }; A._ColorFormatEnum.prototype = { toString$0(_) { - return this._color$_name; + return "rgbFunction"; } }; A.SpanColorFormat.prototype = {}; + A.ColorChannel.prototype = { + isAnalogous$1(other) { + var _0_6_isSet, t1, _0_60, t2, _0_6_isSet0, + _0_1 = this.name, + _0_6 = other.name; + $label0$0: { + if ("red" !== _0_1) + _0_6_isSet = "x" === _0_1; + else + _0_6_isSet = true; + if (_0_6_isSet) { + if ("red" !== _0_6) + t1 = "x" === _0_6; + else + t1 = true; + _0_60 = _0_6; + } else { + _0_60 = null; + t1 = false; + } + t2 = true; + if (!t1) { + if ("green" !== _0_1) + t1 = "y" === _0_1; + else + t1 = true; + if (t1) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + if ("green" !== t1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + t1 = "y" === t1; + } else + t1 = true; + } else + t1 = false; + if (!t1) { + if ("blue" !== _0_1) + t1 = "z" === _0_1; + else + t1 = true; + if (t1) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + if ("blue" !== t1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + t1 = "z" === t1; + } else + t1 = true; + } else + t1 = false; + if (!t1) { + if ("chroma" !== _0_1) + t1 = "saturation" === _0_1; + else + t1 = true; + if (t1) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + if ("chroma" !== t1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + t1 = "saturation" === t1; + } else + t1 = true; + } else + t1 = false; + if (!t1) { + if ("lightness" === _0_1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_60 = t1; + _0_6_isSet = true; + } + t1 = "lightness" === t1; + } else + t1 = false; + if (!t1) + if ("hue" === _0_1) + t1 = "hue" === (_0_6_isSet ? _0_60 : _0_6); + else + t1 = false; + else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + if (t1) + break $label0$0; + break $label0$0; + } + return t1; + } + }; + A.LinearChannel.prototype = {}; + A.GamutMapMethod.prototype = { + toString$0(_) { + return this.name; + } + }; + A.ClipGamutMap.prototype = { + map$1(_, color) { + var t1 = color._space, + t2 = t1._channels; + return A.SassColor_SassColor$forSpaceInternal(t1, this._clampChannel$2(color.channel0OrNull, t2[0]), this._clampChannel$2(color.channel1OrNull, t2[1]), this._clampChannel$2(color.channel2OrNull, t2[2]), color.alphaOrNull); + }, + _clampChannel$2(value, channel) { + var t1, min; + if (value == null) + t1 = null; + else + $label0$0: { + if (channel instanceof A.LinearChannel) { + min = channel.min; + t1 = isNaN(value) ? min : B.JSNumber_methods.clamp$2(value, min, channel.max); + break $label0$0; + } + t1 = value; + break $label0$0; + } + return t1; + } + }; + A.LocalMindeGamutMap.prototype = { + map$1(_, color) { + var clipped, max, min, minInGamut, chroma, current, e, + originOklch = color.toSpace$1(B.OklchColorSpace_li8), + lightness = originOklch.channel0OrNull, + hue = originOklch.channel2OrNull, + alpha = originOklch.alphaOrNull, + t1 = lightness == null, + t2 = t1 ? 0 : lightness; + if (t2 > 1 || A.fuzzyEquals(t2, 1)) { + t1 = color._space; + t2 = color.alphaOrNull; + return t1.get$isLegacyInternal() ? A.SassColor_SassColor$rgbInternal(255, 255, 255, t2, null).toSpace$1(t1) : A.SassColor_SassColor$forSpaceInternal(t1, 1, 1, 1, t2); + } else { + t1 = t1 ? 0 : lightness; + if (t1 < 0 || A.fuzzyEquals(t1, 0)) + return A.SassColor_SassColor$rgbInternal(0, 0, 0, color.alphaOrNull, null).toSpace$1(color._space); + } + clipped = color.get$isInGamut() ? color : B.ClipGamutMap_clip.map$1(0, color); + if (this._deltaEOK$2(clipped, color) < 0.02) + return clipped; + max = originOklch.channel1OrNull; + if (max == null) + max = 0; + for (t1 = color._space, min = 0, minInGamut = true; max - min > 0.0001;) { + chroma = (min + max) / 2; + current = B.OklchColorSpace_li8.convert$5(t1, lightness, chroma, hue, alpha); + if (minInGamut && current.get$isInGamut()) { + min = chroma; + continue; + } + clipped = current.get$isInGamut() ? current : B.ClipGamutMap_clip.map$1(0, current); + e = this._deltaEOK$2(clipped, current); + if (e < 0.02) { + if (0.02 - e < 0.0001) + return clipped; + min = chroma; + minInGamut = false; + } else + max = chroma; + } + return clipped; + }, + _deltaEOK$2(color1, color2) { + var t2, t3, t4, + lab1 = color1.toSpace$1(B.OklabColorSpace_yrt), + lab2 = color2.toSpace$1(B.OklabColorSpace_yrt), + t1 = lab1.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = lab2.channel0OrNull; + t1 = Math.pow(t1 - (t2 == null ? 0 : t2), 2); + t2 = lab1.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = lab2.channel1OrNull; + t2 = Math.pow(t2 - (t3 == null ? 0 : t3), 2); + t3 = lab1.channel2OrNull; + if (t3 == null) + t3 = 0; + t4 = lab2.channel2OrNull; + return Math.sqrt(t1 + t2 + Math.pow(t3 - (t4 == null ? 0 : t4), 2)); + } + }; + A.InterpolationMethod.prototype = { + toString$0(_) { + var t1 = this.hue; + t1 = t1 == null ? "" : " " + t1.toString$0(0) + " hue"; + return this.space.name + t1; + } + }; + A.HueInterpolationMethod.prototype = { + _enumToString$0() { + return "HueInterpolationMethod." + this._name; + } + }; + A.ColorSpace.prototype = { + get$isLegacyInternal() { + return false; + }, + get$isPolarInternal() { + return false; + }, + convert$5(dest, channel0, channel1, channel2, alpha) { + return this.convertLinear$5(dest, channel0, channel1, channel2, alpha); + }, + convertLinear$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, missingA, missingB, missingChroma, missingHue, missingLightness) { + var t1, t2, transformedBlue, transformedGreen, transformedRed, linearRed, linearGreen, linearBlue, matrix, _this = this; + $label0$0: { + t1 = B.HslColorSpace_gsm !== dest; + if (!t1 || B.HwbColorSpace_06z === dest) { + t2 = B.SrgbColorSpace_AD4; + break $label0$0; + } + if (B.LabColorSpace_IF2 === dest || B.LchColorSpace_wv8 === dest) { + t2 = B.XyzD50ColorSpace_2No; + break $label0$0; + } + if (B.OklabColorSpace_yrt === dest || B.OklchColorSpace_li8 === dest) { + t2 = B.LmsColorSpace_8I8; + break $label0$0; + } + t2 = dest; + break $label0$0; + } + if (t2 === _this) { + transformedBlue = blue; + transformedGreen = green; + transformedRed = red; + } else { + linearRed = _this.toLinear$1(red == null ? 0 : red); + linearGreen = _this.toLinear$1(green == null ? 0 : green); + linearBlue = _this.toLinear$1(blue == null ? 0 : blue); + matrix = _this.transformationMatrix$1(t2); + transformedRed = t2.fromLinear$1(matrix[0] * linearRed + matrix[1] * linearGreen + matrix[2] * linearBlue); + transformedGreen = t2.fromLinear$1(matrix[3] * linearRed + matrix[4] * linearGreen + matrix[5] * linearBlue); + transformedBlue = t2.fromLinear$1(matrix[6] * linearRed + matrix[7] * linearGreen + matrix[8] * linearBlue); + } + $label1$1: { + if (!t1 || B.HwbColorSpace_06z === dest) { + t1 = B.SrgbColorSpace_AD4.convert$8$missingChroma$missingHue$missingLightness(dest, transformedRed, transformedGreen, transformedBlue, alpha, missingChroma, missingHue, missingLightness); + break $label1$1; + } + if (B.LabColorSpace_IF2 === dest || B.LchColorSpace_wv8 === dest) { + t1 = B.XyzD50ColorSpace_2No.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, transformedRed, transformedGreen, transformedBlue, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + break $label1$1; + } + if (B.OklabColorSpace_yrt === dest || B.OklchColorSpace_li8 === dest) { + t1 = B.LmsColorSpace_8I8.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, transformedRed, transformedGreen, transformedBlue, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + break $label1$1; + } + t1 = red == null ? null : transformedRed; + t2 = green == null ? null : transformedGreen; + t1 = A.SassColor_SassColor$forSpaceInternal(dest, t1, t2, blue == null ? null : transformedBlue, alpha); + break $label1$1; + } + return t1; + }, + convertLinear$5(dest, red, green, blue, alpha) { + return this.convertLinear$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, false, false, false, false, false); + }, + toLinear$1(channel) { + return A.throwExpression(A.UnimplementedError$("[BUG] Color space " + this.toString$0(0) + " doesn't support linear conversions.")); + }, + fromLinear$1(channel) { + return A.throwExpression(A.UnimplementedError$("[BUG] Color space " + this.toString$0(0) + " doesn't support linear conversions.")); + }, + transformationMatrix$1(dest) { + return A.throwExpression(A.UnimplementedError$("[BUG] Color space conversion from " + this.toString$0(0) + " to " + dest.toString$0(0) + " not implemented.")); + }, + toString$0(_) { + return this.name; + } + }; + A.A98RgbColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + return J.get$sign$in(channel) * Math.pow(Math.abs(channel), 2.19921875); + }, + fromLinear$1(channel) { + return J.get$sign$in(channel) * Math.pow(Math.abs(channel), 0.4547069271758437); + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$linearA98RgbToLinearSrgb(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$linearA98RgbToLinearDisplayP3(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$linearA98RgbToLinearProphotoRgb(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$linearA98RgbToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$linearA98RgbToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$linearA98RgbToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$linearA98RgbToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.DisplayP3ColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + return A.srgbAndDisplayP3ToLinear(channel); + }, + fromLinear$1(channel) { + return A.srgbAndDisplayP3FromLinear(channel); + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$linearDisplayP3ToLinearSrgb(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$linearDisplayP3ToLinearA98Rgb(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$linearDisplayP3ToLinearProphotoRgb(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$linearDisplayP3ToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$linearDisplayP3ToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$linearDisplayP3ToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$linearDisplayP3ToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.HslColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + get$isLegacyInternal() { + return true; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, hue, saturation, lightness, alpha) { + var t1 = hue == null, + scaledHue = B.JSNumber_methods.$mod((t1 ? 0 : hue) / 360, 1), + t2 = saturation == null, + scaledSaturation = (t2 ? 0 : saturation) / 100, + t3 = lightness == null, + scaledLightness = (t3 ? 0 : lightness) / 100, + m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation, + m1 = scaledLightness * 2 - m2; + return B.SrgbColorSpace_AD4.convert$8$missingChroma$missingHue$missingLightness(dest, A.hueToRgb(m1, m2, scaledHue + 0.3333333333333333), A.hueToRgb(m1, m2, scaledHue), A.hueToRgb(m1, m2, scaledHue - 0.3333333333333333), alpha, t2, t1, t3); + } + }; + A.HwbColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + get$isLegacyInternal() { + return true; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, hue, whiteness, blackness, alpha) { + var t3, t1 = {}, + t2 = hue == null, + scaledHue = B.JSNumber_methods.$mod(t2 ? 0 : hue, 360) / 360, + scaledWhiteness = t1.scaledWhiteness = (whiteness == null ? 0 : whiteness) / 100, + scaledBlackness = (blackness == null ? 0 : blackness) / 100, + sum = scaledWhiteness + scaledBlackness; + if (sum > 1) { + t3 = t1.scaledWhiteness = scaledWhiteness / sum; + scaledBlackness /= sum; + } else + t3 = scaledWhiteness; + t3 = new A.HwbColorSpace_convert_toRgb(t1, 1 - t3 - scaledBlackness); + return B.SrgbColorSpace_AD4.convert$6$missingHue(dest, t3.call$1(scaledHue + 0.3333333333333333), t3.call$1(scaledHue), t3.call$1(scaledHue - 0.3333333333333333), alpha, t2); + } + }; + A.HwbColorSpace_convert_toRgb.prototype = { + call$1(hue) { + return A.hueToRgb(0, 1, hue) * this.factor + this._box_0.scaledWhiteness; + }, + $signature: 15 + }; + A.LabColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, missingChroma, missingHue) { + var powerlessAB, t1, missingLightness, f1, t2, t3, t4; + switch (dest) { + case B.LabColorSpace_IF2: + powerlessAB = lightness == null || A.fuzzyEquals(lightness, 0); + t1 = a == null || powerlessAB ? null : a; + return A.SassColor$_forSpace(B.LabColorSpace_IF2, lightness, t1, b == null || powerlessAB ? null : b, alpha, null); + case B.LchColorSpace_wv8: + return A.labToLch(dest, lightness, a, b, alpha, false, false); + default: + missingLightness = lightness == null; + if (missingLightness) + lightness = 0; + f1 = (lightness + 16) / 116; + t1 = a == null; + t2 = this._convertFToXorZ$1((t1 ? 0 : a) / 500 + f1); + t3 = lightness > 8 ? Math.pow(f1, 3) : lightness / 903.2962962962963; + t4 = b == null; + return B.XyzD50ColorSpace_2No.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, t2 * 0.9642956764295677, t3, this._convertFToXorZ$1(f1 - (t4 ? 0 : b) / 200) * 0.8251046025104602, alpha, t1, t4, missingChroma, missingHue, missingLightness); + } + }, + convert$5(dest, lightness, a, b, alpha) { + return this.convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, false, false); + }, + _convertFToXorZ$1(component) { + var cubed = Math.pow(component, 3) + 0; + return cubed > 0.008856451679035631 ? cubed : (116 * component - 16) / 903.2962962962963; + } + }; + A.LchColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, lightness, chroma, hue, alpha) { + var t1 = hue == null, + hueRadians = (t1 ? 0 : hue) * 3.141592653589793 / 180, + t2 = chroma == null, + t3 = t2 ? 0 : chroma, + t4 = Math.cos(hueRadians), + t5 = t2 ? 0 : chroma; + return B.LabColorSpace_IF2.convert$7$missingChroma$missingHue(dest, lightness, t3 * t4, t5 * Math.sin(hueRadians), alpha, t2, t1); + } + }; + A.LmsColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, long, medium, short, alpha, missingA, missingB, missingChroma, missingHue, missingLightness) { + var t1, longScaled, mediumScaled, shortScaled, lightness, t2, t3, _null = null; + switch (dest) { + case B.OklabColorSpace_yrt: + t1 = long == null ? 0 : long; + longScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = medium == null ? 0 : medium; + mediumScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = short == null ? 0 : short; + shortScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = $.$get$lmsToOklab(); + lightness = t1[0] * longScaled + t1[1] * mediumScaled + t1[2] * shortScaled; + t2 = missingLightness ? _null : lightness; + t3 = missingA ? _null : t1[3] * longScaled + t1[4] * mediumScaled + t1[5] * shortScaled; + return A.SassColor$_forSpace(B.OklabColorSpace_yrt, t2, t3, missingB ? _null : t1[6] * longScaled + t1[7] * mediumScaled + t1[8] * shortScaled, alpha, _null); + case B.OklchColorSpace_li8: + t1 = long == null ? 0 : long; + longScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = medium == null ? 0 : medium; + mediumScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = short == null ? 0 : short; + shortScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + if (missingLightness) + t1 = _null; + else { + t1 = $.$get$lmsToOklab(); + t1 = t1[0] * longScaled + t1[1] * mediumScaled + t1[2] * shortScaled; + } + t2 = $.$get$lmsToOklab(); + return A.labToLch(dest, t1, t2[3] * longScaled + t2[4] * mediumScaled + t2[5] * shortScaled, t2[6] * longScaled + t2[7] * mediumScaled + t2[8] * shortScaled, alpha, missingChroma, missingHue); + default: + return this.super$ColorSpace$convertLinear(dest, long, medium, short, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + } + }, + convert$5(dest, long, medium, short, alpha) { + return this.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, long, medium, short, alpha, false, false, false, false, false); + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$lmsToLinearSrgb(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$lmsToLinearA98Rgb(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$lmsToLinearProphotoRgb(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$lmsToLinearDisplayP3(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$lmsToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$lmsToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$lmsToXyzD50(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.OklabColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, missingChroma, missingHue) { + var missingLightness, missingA, missingB, t1; + if (dest === B.OklchColorSpace_li8) + return A.labToLch(dest, lightness, a, b, alpha, missingChroma, missingHue); + missingLightness = lightness == null; + missingA = a == null; + missingB = b == null; + if (missingLightness) + lightness = 0; + if (missingA) + a = 0; + if (missingB) + b = 0; + t1 = $.$get$oklabToLms(); + return B.LmsColorSpace_8I8.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, Math.pow(t1[0] * lightness + t1[1] * a + t1[2] * b, 3) + 0, Math.pow(t1[3] * lightness + t1[4] * a + t1[5] * b, 3) + 0, Math.pow(t1[6] * lightness + t1[7] * a + t1[8] * b, 3) + 0, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + }, + convert$5(dest, lightness, a, b, alpha) { + return this.convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, false, false); + } + }; + A.OklchColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, lightness, chroma, hue, alpha) { + var t1 = hue == null, + hueRadians = (t1 ? 0 : hue) * 3.141592653589793 / 180, + t2 = chroma == null, + t3 = t2 ? 0 : chroma, + t4 = Math.cos(hueRadians), + t5 = t2 ? 0 : chroma; + return B.OklabColorSpace_yrt.convert$7$missingChroma$missingHue(dest, lightness, t3 * t4, t5 * Math.sin(hueRadians), alpha, t2, t1); + } + }; + A.ProphotoRgbColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + var abs = Math.abs(channel); + return abs <= 0.03125 ? channel / 16 : J.get$sign$in(channel) * Math.pow(abs, 1.8); + }, + fromLinear$1(channel) { + var abs = Math.abs(channel); + return abs >= 0.001953125 ? J.get$sign$in(channel) * Math.pow(abs, 0.5555555555555556) : 16 * channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$linearProphotoRgbToLinearSrgb(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$linearProphotoRgbToLinearA98Rgb(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$linearProphotoRgbToLinearDisplayP3(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$linearProphotoRgbToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$linearProphotoRgbToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$linearProphotoRgbToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$linearProphotoRgbToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.Rec2020ColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + var abs = Math.abs(channel); + return abs < 0.08124285829863151 ? channel / 4.5 : J.get$sign$in(channel) * Math.pow((abs + 1.09929682680944 - 1) / 1.09929682680944, 2.2222222222222223); + }, + fromLinear$1(channel) { + var abs = Math.abs(channel); + return abs > 0.018053968510807 ? J.get$sign$in(channel) * (1.09929682680944 * Math.pow(abs, 0.45) - 0.09929682680944008) : 4.5 * channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$linearRec2020ToLinearSrgb(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$linearRec2020ToLinearA98Rgb(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$linearRec2020ToLinearDisplayP3(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$linearRec2020ToLinearProphotoRgb(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$linearRec2020ToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$linearRec2020ToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$linearRec2020ToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.RgbColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + get$isLegacyInternal() { + return true; + }, + convert$5(dest, red, green, blue, alpha) { + var t1 = red == null ? null : red / 255, + t2 = green == null ? null : green / 255; + return B.SrgbColorSpace_AD4.convert$5(dest, t1, t2, blue == null ? null : blue / 255, alpha); + }, + toLinear$1(channel) { + return A.srgbAndDisplayP3ToLinear(channel / 255); + }, + fromLinear$1(channel) { + return A.srgbAndDisplayP3FromLinear(channel) * 255; + } + }; + A.SrgbColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + convert$8$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, missingChroma, missingHue, missingLightness) { + var max, min, delta, hue, lightness, saturation, t1, t2, whiteness, blackness, _null = null; + if (B.HslColorSpace_gsm === dest || B.HwbColorSpace_06z === dest) { + if (red == null) + red = 0; + if (green == null) + green = 0; + if (blue == null) + blue = 0; + max = Math.max(Math.max(red, green), blue); + min = Math.min(Math.min(red, green), blue); + delta = max - min; + if (max === min) + hue = 0; + else if (max === red) + hue = 60 * (green - blue) / delta + 360; + else + hue = max === green ? 60 * (blue - red) / delta + 120 : 60 * (red - green) / delta + 240; + if (dest === B.HslColorSpace_gsm) { + lightness = (min + max) / 2; + saturation = lightness === 0 || lightness === 1 ? 0 : 100 * (max - lightness) / Math.min(lightness, 1 - lightness); + if (saturation < 0) { + hue += 180; + saturation = Math.abs(saturation); + } + t1 = missingHue || A.fuzzyEquals(saturation, 0) ? _null : B.JSNumber_methods.$mod(hue, 360); + t2 = missingChroma ? _null : saturation; + return A.SassColor_SassColor$forSpaceInternal(dest, t1, t2, missingLightness ? _null : lightness * 100, alpha); + } else { + whiteness = min * 100; + blackness = 100 - max * 100; + if (!missingHue) { + t1 = whiteness + blackness; + t1 = t1 > 100 || A.fuzzyEquals(t1, 100); + } else + t1 = true; + return A.SassColor_SassColor$forSpaceInternal(dest, t1 ? _null : B.JSNumber_methods.$mod(hue, 360), whiteness, blackness, alpha); + } + } + if (B.RgbColorSpace_mlz === dest) { + t1 = red == null ? _null : red * 255; + t2 = green == null ? _null : green * 255; + return A.SassColor_SassColor$rgbInternal(t1, t2, blue == null ? _null : blue * 255, alpha, _null); + } + if (B.SrgbLinearColorSpace_sEs === dest) { + t1 = this.get$toLinear(); + return A.SassColor_SassColor$forSpaceInternal(dest, A.NullableExtension_andThen(red, t1), A.NullableExtension_andThen(green, t1), A.NullableExtension_andThen(blue, t1), alpha); + } + return this.super$ColorSpace$convertLinear(dest, red, green, blue, alpha, false, false, missingChroma, missingHue, missingLightness); + }, + convert$5(dest, red, green, blue, alpha) { + return this.convert$8$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, false, false, false); + }, + convert$6$missingHue(dest, red, green, blue, alpha, missingHue) { + return this.convert$8$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, false, missingHue, false); + }, + toLinear$1(channel) { + return A.srgbAndDisplayP3ToLinear(channel); + }, + fromLinear$1(channel) { + return A.srgbAndDisplayP3FromLinear(channel); + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$linearSrgbToLinearDisplayP3(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$linearSrgbToLinearA98Rgb(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$linearSrgbToLinearProphotoRgb(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$linearSrgbToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$linearSrgbToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$linearSrgbToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$linearSrgbToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.SrgbLinearColorSpace.prototype = { + get$isBoundedInternal() { + return true; + }, + convert$5(dest, red, green, blue, alpha) { + var t1; + $label0$0: { + if (B.RgbColorSpace_mlz === dest || B.HslColorSpace_gsm === dest || B.HwbColorSpace_06z === dest || B.SrgbColorSpace_AD4 === dest) { + t1 = B.SrgbColorSpace_AD4.convert$5(dest, A.NullableExtension_andThen(red, A.utils0__srgbAndDisplayP3FromLinear$closure()), A.NullableExtension_andThen(green, A.utils0__srgbAndDisplayP3FromLinear$closure()), A.NullableExtension_andThen(blue, A.utils0__srgbAndDisplayP3FromLinear$closure()), alpha); + break $label0$0; + } + t1 = this.super$ColorSpace$convert(dest, red, green, blue, alpha); + break $label0$0; + } + return t1; + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$linearSrgbToLinearDisplayP3(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$linearSrgbToLinearA98Rgb(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$linearSrgbToLinearProphotoRgb(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$linearSrgbToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$linearSrgbToXyzD65(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$linearSrgbToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$linearSrgbToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.XyzD50ColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, x, y, z, alpha, missingA, missingB, missingChroma, missingHue, missingLightness) { + var f0, f1, f2, lightness, a, b, t1, _this = this, _null = null; + if (B.LabColorSpace_IF2 === dest || B.LchColorSpace_wv8 === dest) { + f0 = _this._convertComponentToLabF$1((x == null ? 0 : x) / 0.9642956764295677); + f1 = _this._convertComponentToLabF$1((y == null ? 0 : y) / 1); + f2 = _this._convertComponentToLabF$1((z == null ? 0 : z) / 0.8251046025104602); + lightness = missingLightness ? _null : 116 * f1 - 16; + a = 500 * (f0 - f1); + b = 200 * (f1 - f2); + if (dest === B.LabColorSpace_IF2) { + t1 = missingA ? _null : a; + t1 = A.SassColor$_forSpace(B.LabColorSpace_IF2, lightness, t1, missingB ? _null : b, alpha, _null); + } else + t1 = A.labToLch(B.LchColorSpace_wv8, lightness, a, b, alpha, missingChroma, missingHue); + return t1; + } + return _this.super$ColorSpace$convertLinear(dest, x, y, z, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + }, + convert$5(dest, x, y, z, alpha) { + return this.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, x, y, z, alpha, false, false, false, false, false); + }, + _convertComponentToLabF$1(component) { + return component > 0.008856451679035631 ? Math.pow(component, 0.3333333333333333) + 0 : (903.2962962962963 * component + 16) / 116; + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$xyzD50ToLinearSrgb(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$xyzD50ToLinearA98Rgb(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$xyzD50ToLinearProphotoRgb(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$xyzD50ToLinearDisplayP3(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$xyzD50ToLinearRec2020(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA === dest) { + t1 = $.$get$xyzD50ToXyzD65(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$xyzD50ToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; + A.XyzD65ColorSpace.prototype = { + get$isBoundedInternal() { + return false; + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs === dest || B.SrgbColorSpace_AD4 === dest || B.RgbColorSpace_mlz === dest) { + t1 = $.$get$xyzD65ToLinearSrgb(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu === dest) { + t1 = $.$get$xyzD65ToLinearA98Rgb(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG === dest) { + t1 = $.$get$xyzD65ToLinearProphotoRgb(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk === dest) { + t1 = $.$get$xyzD65ToLinearDisplayP3(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN === dest) { + t1 = $.$get$xyzD65ToLinearRec2020(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No === dest) { + t1 = $.$get$xyzD65ToXyzD50(); + break $label0$0; + } + if (B.LmsColorSpace_8I8 === dest) { + t1 = $.$get$xyzD65ToLms(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix(dest); + break $label0$0; + } + return t1; + } + }; A.SassFunction.prototype = { accept$1$1(visitor) { var t1, t2; @@ -61975,6 +66156,18 @@ self.util = _cliPkgRequires.util; if (this._separator === B.ListSeparator_undecided_null_undecided && this._list$_contents.length > 1) throw A.wrapException(A.ArgumentError$(string$.A_list, null)); }, + toString$0(_) { + var t2, _this = this, + t1 = true; + if (!_this._hasBrackets) { + t2 = _this._list$_contents.length; + if (t2 !== 0) + t1 = t2 === 1 && _this._separator === B.ListSeparator_ECn; + } + if (t1) + return _this.super$Value$toString(0); + return "(" + _this.super$Value$toString(0) + ")"; + }, accept$1$1(visitor) { return visitor.visitList$1(this); }, @@ -62005,7 +66198,7 @@ self.util = _cliPkgRequires.util; call$1(element) { return element.get$isBlank(); }, - $signature: 73 + $signature: 77 }; A.ListSeparator.prototype = { _enumToString$0() { @@ -62333,10 +66526,17 @@ self.util = _cliPkgRequires.util; return this._coerceUnits$1$2(other, operation, type$.dynamic); }, multiplyUnits$3(value, otherNumerators, otherDenominators) { - var t1, _0_1, _0_2, _0_3, _0_6, _0_7_isSet, _0_7, _0_9, t2, _0_9_isSet, denominators_case_0, _0_11_isSet, _0_11, _0_13_isSet, _0_10, _0_13, numerators_case_0, t4, t3, numerators_case_1, denominators_case_1, t0, newNumerators, mutableOtherDenominators, _i, numerator, mutableDenominatorUnits, _this = this, _null = null, _box_0 = {}; + var t1, _0_1, _0_6, _0_3, _0_9, _0_9_isSet, _0_7, _0_7_isSet, t2, _0_2, denominators_case_0, _0_11_isSet, _0_11, _0_13, _0_13_isSet, _0_10, numerators_case_0, t4, t3, t5, t6, t7, numerators_case_1, denominators_case_1, t0, newNumerators, mutableOtherDenominators, _i, numerator, mutableDenominatorUnits, _this = this, _null = null, _box_0 = {}; _box_0.value = value; t1 = [_this.get$numeratorUnits(_this), _this.get$denominatorUnits(_this), otherNumerators, otherDenominators]; _0_1 = t1[0]; + _0_6 = _null; + _0_3 = _null; + _0_9 = _null; + _0_9_isSet = false; + _0_7 = _null; + _0_7_isSet = false; + t2 = false; _0_2 = t1[1]; _0_3 = t1[2]; _0_6 = _0_3.length <= 0; @@ -62345,14 +66545,12 @@ self.util = _cliPkgRequires.util; _0_7 = t1[3]; _0_9 = _0_7.length <= 0; t2 = _0_9; - } else { - _0_7 = _null; - _0_9 = _0_7; - t2 = false; } _0_9_isSet = _0_7_isSet; denominators_case_0 = _0_2; _0_11_isSet = !t2; + _0_11 = _null; + _0_13 = _null; if (_0_11_isSet) { _0_11 = _0_1.length <= 0; _0_13_isSet = _0_11; @@ -62373,14 +66571,11 @@ self.util = _cliPkgRequires.util; numerators_case_0 = _0_1; } else { numerators_case_0 = _0_1; - _0_13 = _null; t2 = false; } _0_1 = _0_10; } else { numerators_case_0 = _0_1; - _0_13 = _null; - _0_11 = _0_13; _0_13_isSet = false; t2 = true; } @@ -62392,13 +66587,16 @@ self.util = _cliPkgRequires.util; t3 = t4; } if (!t2) { + t2 = _null; + t5 = _null; if (_0_11_isSet) - t2 = _0_11; + t6 = _0_11; else { _0_11 = _0_1.length <= 0; - t2 = _0_11; + t6 = _0_11; } - if (t2) { + t7 = false; + if (t6) { if (_0_9_isSet) t2 = _0_9; else { @@ -62415,23 +66613,24 @@ self.util = _cliPkgRequires.util; numerators_case_1 = _0_3; denominators_case_1 = _0_2; } else { - numerators_case_1 = _null; - denominators_case_1 = numerators_case_1; - t2 = false; + numerators_case_1 = t2; + t2 = t7; + denominators_case_1 = t5; } if (!t2) { + t2 = false; if (_0_13_isSet) - t2 = _0_13; + t5 = _0_13; else { _0_13 = _0_2.length <= 0; - t2 = _0_13; + t5 = _0_13; } - if (t2) { + if (t5) { if (_0_6) denominators_case_1 = _0_7_isSet ? _0_7 : t1[3]; t1 = _0_6; } else - t1 = false; + t1 = t2; numerators_case_1 = _0_1; } else t1 = true; @@ -62480,46 +66679,87 @@ self.util = _cliPkgRequires.util; return B.JSArray_methods.any$1(units1, new A.SassNumber__areAnyConvertible_closure(units2)); }, _unitString$2(numerators, denominators) { - var _0_4, _0_6, t1, _0_7, _0_5, _null = null; + var _0_4, _0_7, _0_6, _0_5, t1, _0_9, _0_6_isSet, _0_5_isSet, _0_10, denominator, _null = null; $label0$0: { _0_4 = numerators.length <= 0; + _0_7 = _null; + _0_6 = _null; + _0_5 = _null; if (_0_4) { _0_6 = denominators.length; t1 = _0_6; _0_7 = t1 <= 0; t1 = _0_7; _0_5 = denominators; - } else { - _0_5 = _null; - _0_6 = _0_5; - _0_7 = _0_6; + } else t1 = false; - } if (t1) { t1 = "no units"; break $label0$0; } - if (_0_4) - t1 = _0_6 === 1; - else + _0_9 = _null; + if (_0_4) { + _0_9 = _0_6 === 1; + t1 = _0_9; + _0_6_isSet = true; + _0_5_isSet = true; + } else { + _0_5_isSet = _0_4; + _0_6_isSet = _0_5_isSet; t1 = false; + } if (t1) { - t1 = (_0_4 ? _0_5 : denominators)[0] + "^-1"; + _0_10 = (_0_5_isSet ? _0_5 : denominators)[0]; + denominator = _0_10; + t1 = denominator + "^-1"; break $label0$0; } if (_0_4) { t1 = "(" + B.JSArray_methods.join$1(denominators, "*") + ")^-1"; break $label0$0; } - _0_6 = denominators.length; - t1 = _0_6; + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_5; + else { + t1 = denominators; + _0_5 = t1; + _0_5_isSet = true; + } + _0_6 = t1.length; + t1 = _0_6; + _0_6_isSet = true; + } _0_7 = t1 <= 0; t1 = _0_7; if (t1) { t1 = B.JSArray_methods.join$1(numerators, "*"); break $label0$0; } - t1 = B.JSArray_methods.join$1(numerators, "*") + "/" + B.JSArray_methods.join$1(denominators, "*"); + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_5; + else { + t1 = denominators; + _0_5 = t1; + _0_5_isSet = true; + } + _0_6 = t1.length; + t1 = _0_6; + } + _0_9 = t1 === 1; + t1 = _0_9; + if (t1) { + _0_10 = (_0_5_isSet ? _0_5 : denominators)[0]; + denominator = _0_10; + t1 = B.JSArray_methods.join$1(numerators, "*") + "/" + denominator; + break $label0$0; + } + t1 = B.JSArray_methods.join$1(numerators, "*") + "/(" + B.JSArray_methods.join$1(denominators, "*") + ")"; break $label0$0; } return t1; @@ -62636,7 +66876,7 @@ self.util = _cliPkgRequires.util; return new A.SassScriptException(t1 == null ? t2 : "$" + t1 + ": " + t2); } }, - $signature: 394 + $signature: 418 }; A.SassNumber__coerceOrConvertValue_closure.prototype = { call$1(oldNumerator) { @@ -62646,7 +66886,7 @@ self.util = _cliPkgRequires.util; this._box_0.value *= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber__coerceOrConvertValue_closure0.prototype = { call$0() { @@ -62662,7 +66902,7 @@ self.util = _cliPkgRequires.util; this._box_0.value /= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber__coerceOrConvertValue_closure2.prototype = { call$0() { @@ -62674,13 +66914,13 @@ self.util = _cliPkgRequires.util; call$2(num1, num2) { return num1 + num2; }, - $signature: 55 + $signature: 62 }; A.SassNumber_minus_closure.prototype = { call$2(num1, num2) { return num1 - num2; }, - $signature: 55 + $signature: 62 }; A.SassNumber_multiplyUnits_closure.prototype = { call$1(denominator) { @@ -62690,7 +66930,7 @@ self.util = _cliPkgRequires.util; this._box_0.value /= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber_multiplyUnits_closure0.prototype = { call$0() { @@ -62706,7 +66946,7 @@ self.util = _cliPkgRequires.util; this._box_0.value /= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber_multiplyUnits_closure2.prototype = { call$0() { @@ -62728,7 +66968,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 4 + $signature: 5 }; A.SassNumber__canonicalizeUnitList_closure.prototype = { call$1(unit) { @@ -62743,25 +66983,25 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 5 + $signature: 6 }; A.SassNumber__canonicalMultiplier_closure.prototype = { call$2(multiplier, unit) { return multiplier * this.$this.canonicalMultiplierForUnit$1(unit); }, - $signature: 163 + $signature: 187 }; A.SassNumber_unitSuggestion_closure.prototype = { call$1(unit) { return " * 1" + unit; }, - $signature: 5 + $signature: 6 }; A.SassNumber_unitSuggestion_closure0.prototype = { call$1(unit) { return " / 1" + unit; }, - $signature: 5 + $signature: 6 }; A.ComplexSassNumber.prototype = { get$numeratorUnits(_) { @@ -62904,13 +67144,13 @@ self.util = _cliPkgRequires.util; call$1(factor) { return new A.SingleUnitSassNumber(this.unit, this.$this._number$_value * factor, null); }, - $signature: 381 + $signature: 422 }; A.SingleUnitSassNumber__coerceValueToUnit_closure.prototype = { call$1(factor) { return this.$this._number$_value * factor; }, - $signature: 38 + $signature: 15 }; A.SingleUnitSassNumber_multiplyUnits_closure.prototype = { call$1(denominator) { @@ -62920,7 +67160,7 @@ self.util = _cliPkgRequires.util; this._box_0.value *= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SingleUnitSassNumber_multiplyUnits_closure0.prototype = { call$0() { @@ -63085,7 +67325,7 @@ self.util = _cliPkgRequires.util; return value; }, get$isSpecialNumber() { - var t1, _2_0, _0_0, _1_0; + var t1, _2_0, t2, _0_0, _1_0; if (this._hasQuotes) return false; t1 = this._string$_text; @@ -63093,6 +67333,7 @@ self.util = _cliPkgRequires.util; return false; _2_0 = t1.charCodeAt(0); $label1$1: { + t2 = false; if (99 === _2_0 || 67 === _2_0) { _0_0 = t1.charCodeAt(1); $label0$0: { @@ -63104,7 +67345,7 @@ self.util = _cliPkgRequires.util; t1 = (t1.charCodeAt(2) | 32) === 108 && (t1.charCodeAt(3) | 32) === 99 && t1.charCodeAt(4) === 40; break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } break $label1$1; @@ -63128,12 +67369,12 @@ self.util = _cliPkgRequires.util; t1 = (t1.charCodeAt(2) | 32) === 110 && t1.charCodeAt(3) === 40; break $label2$2; } - t1 = false; + t1 = t2; break $label2$2; } break $label1$1; } - t1 = false; + t1 = t2; break $label1$1; } return t1; @@ -63149,6 +67390,19 @@ self.util = _cliPkgRequires.util; get$isBlank() { return !this._hasQuotes && this._string$_text.length === 0; }, + assertQuoted$1($name) { + if (this._hasQuotes) + return; + throw A.wrapException(A.SassScriptException$("Expected " + this.toString$0(0) + " to be a quoted string.", $name)); + }, + assertUnquoted$1($name) { + if (!this._hasQuotes) + return; + throw A.wrapException(A.SassScriptException$("Expected " + this.toString$0(0) + " to be an unquoted string.", $name)); + }, + assertUnquoted$0() { + return this.assertUnquoted$1(null); + }, accept$1$1(visitor) { var t1 = visitor._quote && this._hasQuotes, t2 = this._string$_text; @@ -63219,13 +67473,13 @@ self.util = _cliPkgRequires.util; call$1(component) { return this.$this.visitCompoundSelector$1(component.selector); }, - $signature: 50 + $signature: 53 }; A.AnySelectorVisitor_visitCompoundSelector_closure.prototype = { call$1(simple) { return simple.accept$1(this.$this); }, - $signature: 14 + $signature: 13 }; A._EvaluateVisitor0.prototype = { _EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap0(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) { @@ -63234,22 +67488,25 @@ self.util = _cliPkgRequires.util; _s9_ = "sass:meta", _s7_ = "$module", t1 = type$.JSArray_AsyncBuiltInCallable, - metaFunctions = A._setArrayType([A.BuiltInCallable$function("global-variable-exists", _s20_, new A._EvaluateVisitor_closure12(_this), _s9_), A.BuiltInCallable$function("variable-exists", "$name", new A._EvaluateVisitor_closure13(_this), _s9_), A.BuiltInCallable$function("function-exists", _s20_, new A._EvaluateVisitor_closure14(_this), _s9_), A.BuiltInCallable$function("mixin-exists", _s20_, new A._EvaluateVisitor_closure15(_this), _s9_), A.BuiltInCallable$function("content-exists", "", new A._EvaluateVisitor_closure16(_this), _s9_), A.BuiltInCallable$function("module-variables", _s7_, new A._EvaluateVisitor_closure17(_this), _s9_), A.BuiltInCallable$function("module-functions", _s7_, new A._EvaluateVisitor_closure18(_this), _s9_), A.BuiltInCallable$function("module-mixins", _s7_, new A._EvaluateVisitor_closure19(_this), _s9_), A.BuiltInCallable$function("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure20(_this), _s9_), A.BuiltInCallable$function("get-mixin", _s20_, new A._EvaluateVisitor_closure21(_this), _s9_), new A.AsyncBuiltInCallable("call", A.ScssParser$("@function call($function, $args...) {", null, _s9_).parseArgumentDeclaration$0(), new A._EvaluateVisitor_closure22(_this), false)], t1), + metaFunctions = A._setArrayType([A.BuiltInCallable$function("global-variable-exists", _s20_, new A._EvaluateVisitor_closure12(_this), _s9_), A.BuiltInCallable$function("variable-exists", "$name", new A._EvaluateVisitor_closure13(_this), _s9_), A.BuiltInCallable$function("function-exists", _s20_, new A._EvaluateVisitor_closure14(_this), _s9_), A.BuiltInCallable$function("mixin-exists", _s20_, new A._EvaluateVisitor_closure15(_this), _s9_), A.BuiltInCallable$function("content-exists", "", new A._EvaluateVisitor_closure16(_this), _s9_), A.BuiltInCallable$function("module-variables", _s7_, new A._EvaluateVisitor_closure17(_this), _s9_), A.BuiltInCallable$function("module-functions", _s7_, new A._EvaluateVisitor_closure18(_this), _s9_), A.BuiltInCallable$function("module-mixins", _s7_, new A._EvaluateVisitor_closure19(_this), _s9_), A.BuiltInCallable$function("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure20(_this), _s9_), A.BuiltInCallable$function("get-mixin", _s20_, new A._EvaluateVisitor_closure21(_this), _s9_), new A.AsyncBuiltInCallable("call", A.ScssParser$("@function call($function, $args...) {", _s9_).parseArgumentDeclaration$0(), new A._EvaluateVisitor_closure22(_this), false)], t1), metaMixins = A._setArrayType([A.AsyncBuiltInCallable$mixin("load-css", "$url, $with: null", new A._EvaluateVisitor_closure23(_this), false, _s9_), A.AsyncBuiltInCallable$mixin("apply", "$mixin, $args...", new A._EvaluateVisitor_closure24(_this), true, _s9_)], t1); t1 = type$.AsyncBuiltInCallable; - t2 = A.List_List$of($.$get$global(), true, t1); - B.JSArray_methods.addAll$1(t2, $.$get$local()); + t2 = A.List_List$of($.$get$moduleFunctions(), true, t1); B.JSArray_methods.addAll$1(t2, metaFunctions); metaModule = A.BuiltInModule$("meta", t2, metaMixins, null, t1); for (t1 = A.List_List$of($.$get$coreModules(), true, type$.BuiltInModule_AsyncCallable), t1.push(metaModule), t2 = t1.length, t3 = _this._async_evaluate$_builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { module = t1[_i]; t3.$indexSet(0, module.url, module); } - t1 = A._setArrayType([], type$.JSArray_AsyncCallable); - B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions()); - B.JSArray_methods.addAll$1(t1, metaFunctions); - for (t2 = t1.length, t3 = _this._async_evaluate$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { - $function = t1[_i]; + t1 = type$.JSArray_AsyncCallable; + t2 = A._setArrayType([], t1); + B.JSArray_methods.addAll$1(t2, $.$get$globalFunctions()); + t1 = A._setArrayType([], t1); + for (_i = 0; _i < 11; ++_i) + t1.push(metaFunctions[_i].withDeprecationWarning$1("meta")); + B.JSArray_methods.addAll$1(t2, t1); + for (t1 = t2.length, t3 = _this._async_evaluate$_builtInFunctions, _i = 0; _i < t2.length; t2.length === t1 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + $function = t2[_i]; t4 = J.get$name$x($function); t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function); } @@ -63548,13 +67805,13 @@ self.util = _cliPkgRequires.util; } return lastImport + 1; }, - visitStylesheet$1(node) { - return this.visitStylesheet$body$_EvaluateVisitor(node); + visitStylesheet$1(_, node) { + return this.visitStylesheet$body$_EvaluateVisitor(0, node); }, - visitStylesheet$body$_EvaluateVisitor(node) { + visitStylesheet$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), - $async$returnValue, $async$self = this, t1, t2, _i; + $async$returnValue, $async$self = this, t1, t2, warning, _i; var $async$visitStylesheet$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -63562,6 +67819,12 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start + for (t1 = node.parseTimeWarnings, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { + warning = t1.__internal$_current; + if (warning == null) + warning = t2._as(warning); + $async$self._async_evaluate$_warn$3(warning._1, warning._2, warning._0); + } t1 = node.children, t2 = t1.length, _i = 0; case 3: // for condition @@ -63593,10 +67856,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitStylesheet$1, $async$completer); }, - visitAtRootRule$1(node) { - return this.visitAtRootRule$body$_EvaluateVisitor(node); + visitAtRootRule$1(_, node) { + return this.visitAtRootRule$body$_EvaluateVisitor(0, node); }, - visitAtRootRule$body$_EvaluateVisitor(node) { + visitAtRootRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, _1_0, resolved, query, $parent, included, t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _0_0; @@ -63619,7 +67882,7 @@ self.util = _cliPkgRequires.util; _1_0 = $async$result; resolved = _1_0._0; _1_0._1; - query = A.AtRootQueryParser$(resolved, $async$self._async_evaluate$_logger, null).parse$0(); + query = new A.AtRootQueryParser(A.SpanScanner$(resolved, null), null).parse$0(0); // goto join $async$goto = 4; break; @@ -63715,13 +67978,13 @@ self.util = _cliPkgRequires.util; scope = new A._EvaluateVisitor__scopeForAtRoot_closure8(_this, scope); return _this._async_evaluate$_inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure9()) ? new A._EvaluateVisitor__scopeForAtRoot_closure10(_this, scope) : scope; }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return A.throwExpression(A.UnsupportedError$(string$.Evalua)); }, - visitContentRule$1(node) { - return this.visitContentRule$body$_EvaluateVisitor(node); + visitContentRule$1(_, node) { + return this.visitContentRule$body$_EvaluateVisitor(0, node); }, - visitContentRule$body$_EvaluateVisitor(node) { + visitContentRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, $content; @@ -63754,10 +68017,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitContentRule$1, $async$completer); }, - visitDebugRule$1(node) { - return this.visitDebugRule$body$_EvaluateVisitor(node); + visitDebugRule$1(_, node) { + return this.visitDebugRule$body$_EvaluateVisitor(0, node); }, - visitDebugRule$body$_EvaluateVisitor(node) { + visitDebugRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, value, t1; @@ -63786,13 +68049,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitDebugRule$1, $async$completer); }, - visitDeclaration$1(node) { - return this.visitDeclaration$body$_EvaluateVisitor(node); + visitDeclaration$1(_, node) { + return this.visitDeclaration$body$_EvaluateVisitor(0, node); }, - visitDeclaration$body$_EvaluateVisitor(node) { + visitDeclaration$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), - $async$returnValue, $async$self = this, t2, $name, _0_0, _1_0, value, t3, t4, t5, _2_0, oldDeclarationName, t1; + $async$returnValue, $async$self = this, siblings, interleavedRules, t1, t2, t3, t4, t5, t6, rule, rule0, $name, _1_0, _2_0, value, _3_0, oldDeclarationName, _box_0; var $async$visitDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -63800,55 +68063,90 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - t1 = {}; + _box_0 = {}; if (($async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot) == null && !$async$self._async_evaluate$_inUnknownAtRule && !$async$self._async_evaluate$_inKeyframes) throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Declarm, node.span)); if ($async$self._async_evaluate$_declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--")) throw A.wrapException($async$self._async_evaluate$_exception$2(string$.Declarw, node.span)); - t2 = node.name; + siblings = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent")._parent.children; + interleavedRules = A._setArrayType([], type$.JSArray_CssStyleRule); + if (siblings.get$last(siblings) !== $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent")) { + if ($async$self._async_evaluate$_quietDeps) + if (!$async$self._async_evaluate$_inDependency) { + t1 = $async$self._async_evaluate$_currentCallable; + t1 = t1 == null ? null : t1.inDependency; + t1 = t1 === true; + } else + t1 = true; + else + t1 = false; + t1 = !t1; + } else + t1 = false; + if (t1) + for (t1 = A.SubListIterable$(siblings, siblings.indexOf$1(siblings, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent")) + 1, null, siblings.$ti._eval$1("ListBase.E")), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t6 = t1.__internal$_current; + rule = t6 == null ? t2._as(t6) : t6; + $label0$1: { + if (rule instanceof A.ModifiableCssComment) + continue; + t6 = rule instanceof A.ModifiableCssStyleRule; + rule0 = t6 ? rule : null; + if (t6) { + interleavedRules.push(rule0); + break $label0$1; + } + $async$self._async_evaluate$_warn$3(string$.Sassx27s, new A.MultiSpan(t3, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([rule.get$span(rule), "nested rule"], t4, t5), t4, t5)), B.Deprecation_u1l); + B.JSArray_methods.clear$0(interleavedRules); + break $label0$1; + } + } + t1 = node.name; $async$goto = 3; - return A._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(t2, true), $async$visitDeclaration$1); + return A._asyncAwait($async$self._async_evaluate$_interpolationToValue$2$warnForColor(t1, true), $async$visitDeclaration$1); case 3: // returning from await. $name = $async$result; - _0_0 = $async$self._async_evaluate$_declarationName; - if (_0_0 != null) - $name = new A.CssValue(_0_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String); - _1_0 = node.value; - $async$goto = _1_0 != null ? 4 : 5; + _1_0 = $async$self._async_evaluate$_declarationName; + if (_1_0 != null) + $name = new A.CssValue(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String); + _2_0 = node.value; + $async$goto = _2_0 != null ? 4 : 5; break; case 4: // then $async$goto = 6; - return A._asyncAwait(_1_0.accept$1($async$self), $async$visitDeclaration$1); + return A._asyncAwait(_2_0.accept$1($async$self), $async$visitDeclaration$1); case 6: // returning from await. value = $async$result; if (!value.get$isBlank() || value.get$asList().length === 0) { - t3 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent"); - t4 = _1_0.get$span(_1_0); - t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--"); + t2 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent"); + t3 = _2_0.get$span(_2_0); + t4 = node.span; + t1 = B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--"); + t5 = interleavedRules.length === 0 ? null : $async$self._async_evaluate$_stackTrace$1(t4); if ($async$self._async_evaluate$_sourceMap) { - t5 = A.NullableExtension_andThen(_1_0, $async$self.get$_async_evaluate$_expressionNode()); - t5 = t5 == null ? null : J.get$span$z(t5); + t6 = A.NullableExtension_andThen(_2_0, $async$self.get$_async_evaluate$_expressionNode()); + t6 = t6 == null ? null : J.get$span$z(t6); } else - t5 = null; - t3.addChild$1(A.ModifiableCssDeclaration$($name, new A.CssValue(value, t4, type$.CssValue_Value), node.span, t2, t5)); + t6 = null; + t2.addChild$1(A.ModifiableCssDeclaration$($name, new A.CssValue(value, t3, type$.CssValue_Value), t4, interleavedRules, t1, t5, t6)); } else if (J.startsWith$1$s($name.value, "--")) - throw A.wrapException($async$self._async_evaluate$_exception$2("Custom property values may not be empty.", _1_0.get$span(_1_0))); + throw A.wrapException($async$self._async_evaluate$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0))); case 5: // join - _2_0 = node.children; - t1.children = null; - $async$goto = _2_0 != null ? 7 : 8; + _3_0 = node.children; + _box_0.children = null; + $async$goto = _3_0 != null ? 7 : 8; break; case 7: // then - t1.children = _2_0; + _box_0.children = _3_0; oldDeclarationName = $async$self._async_evaluate$_declarationName; $async$self._async_evaluate$_declarationName = $name.value; $async$goto = 9; - return A._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure0(t1, $async$self), node.hasDeclarations, type$.Null), $async$visitDeclaration$1); + return A._asyncAwait($async$self._async_evaluate$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure0(_box_0, $async$self), node.hasDeclarations, type$.Null), $async$visitDeclaration$1); case 9: // returning from await. $async$self._async_evaluate$_declarationName = oldDeclarationName; @@ -63865,10 +68163,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitDeclaration$1, $async$completer); }, - visitEachRule$1(node) { - return this.visitEachRule$body$_EvaluateVisitor(node); + visitEachRule$1(_, node) { + return this.visitEachRule$body$_EvaluateVisitor(0, node); }, - visitEachRule$body$_EvaluateVisitor(node) { + visitEachRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, _box_0, t1, list, nodeWithSpan, _0_0; @@ -63921,10 +68219,10 @@ self.util = _cliPkgRequires.util; for (i = minLength; i < t1; ++i) this._async_evaluate$_environment.setLocalVariable$3(variables[i], B.C__SassNull, nodeWithSpan); }, - visitErrorRule$1(node) { - return this.visitErrorRule$body$_EvaluateVisitor(node); + visitErrorRule$1(_, node) { + return this.visitErrorRule$body$_EvaluateVisitor(0, node); }, - visitErrorRule$body$_EvaluateVisitor(node) { + visitErrorRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$self = this, $async$temp1, $async$temp2; @@ -63948,10 +68246,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitErrorRule$1, $async$completer); }, - visitExtendRule$1(node) { - return this.visitExtendRule$body$_EvaluateVisitor(node); + visitExtendRule$1(_, node) { + return this.visitExtendRule$body$_EvaluateVisitor(0, node); }, - visitExtendRule$body$_EvaluateVisitor(node) { + visitExtendRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, targetText, targetMap, compound, styleRule; @@ -63969,11 +68267,11 @@ self.util = _cliPkgRequires.util; complex = t1[_i]; if (!complex.accept$1(B._IsBogusVisitor_true)) continue; - visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); + visitor = A._SerializeVisitor$(null, true, null, null, true, false, null, true); complex.accept$1(visitor); t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)); t7 = complex.accept$1(B.C__IsUselessVisitor) ? "can't" : "shouldn't"; - $async$self._async_evaluate$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan(A.SpanExtensions_trimRight(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_ido); + $async$self._async_evaluate$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan(A.SpanExtensions_trimRight(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_C9i); } $async$goto = 3; return A._asyncAwait($async$self._async_evaluate$_performInterpolationWithMap$2$warnForColor(node.selector, true), $async$visitExtendRule$1); @@ -63982,7 +68280,7 @@ self.util = _cliPkgRequires.util; _0_0 = $async$result; targetText = _0_0._0; targetMap = _0_0._1; - for (t1 = A.SelectorList_SelectorList$parse(A.trimAscii(targetText, true), false, targetMap, $async$self._async_evaluate$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule$_selector._box$_inner, _i = 0; _i < t2; ++_i) { + for (t1 = A.SelectorList_SelectorList$parse(A.trimAscii(targetText, true), false, targetMap, false).components, t2 = t1.length, t3 = styleRule._style_rule$_selector._box$_inner, _i = 0; _i < t2; ++_i) { complex = t1[_i]; compound = complex.get$singleCompound(); if (compound == null) @@ -64004,10 +68302,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitExtendRule$1, $async$completer); }, - visitAtRule$1(node) { - return this.visitAtRule$body$_EvaluateVisitor(node); + visitAtRule$1(_, node) { + return this.visitAtRule$body$_EvaluateVisitor(0, node); }, - visitAtRule$body$_EvaluateVisitor(node) { + visitAtRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, $name, t1, value, children, wasInKeyframes, wasInUnknownAtRule; @@ -64062,10 +68360,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitAtRule$1, $async$completer); }, - visitForRule$1(node) { - return this.visitForRule$body$_EvaluateVisitor(node); + visitForRule$1(_, node) { + return this.visitForRule$body$_EvaluateVisitor(0, node); }, - visitForRule$body$_EvaluateVisitor(node) { + visitForRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction; @@ -64110,10 +68408,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitForRule$1, $async$completer); }, - visitForwardRule$1(node) { - return this.visitForwardRule$body$_EvaluateVisitor(node); + visitForwardRule$1(_, node) { + return this.visitForwardRule$body$_EvaluateVisitor(0, node); }, - visitForwardRule$body$_EvaluateVisitor(node) { + visitForwardRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, newConfiguration, t4, _i, variable, $name, oldConfiguration, adjustedConfiguration, t1, t2, t3; @@ -64311,10 +68609,10 @@ self.util = _cliPkgRequires.util; _async_evaluate$_assertConfigurationIsEmpty$1(configuration) { return this._async_evaluate$_assertConfigurationIsEmpty$2$nameInError(configuration, false); }, - visitFunctionRule$1(node) { - return this.visitFunctionRule$body$_EvaluateVisitor(node); + visitFunctionRule$1(_, node) { + return this.visitFunctionRule$body$_EvaluateVisitor(0, node); }, - visitFunctionRule$body$_EvaluateVisitor(node) { + visitFunctionRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5; @@ -64344,10 +68642,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitFunctionRule$1, $async$completer); }, - visitIfRule$1(node) { - return this.visitIfRule$body$_EvaluateVisitor(node); + visitIfRule$1(_, node) { + return this.visitIfRule$body$_EvaluateVisitor(0, node); }, - visitIfRule$body$_EvaluateVisitor(node) { + visitIfRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, clause; @@ -64402,10 +68700,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitIfRule$1, $async$completer); }, - visitImportRule$1(node) { - return this.visitImportRule$body$_EvaluateVisitor(node); + visitImportRule$1(_, node) { + return this.visitImportRule$body$_EvaluateVisitor(0, node); }, - visitImportRule$body$_EvaluateVisitor(node) { + visitImportRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, t2, t3, _i, $import; @@ -64478,7 +68776,7 @@ self.util = _cliPkgRequires.util; _loadStylesheet$body$_EvaluateVisitor(url, span, baseUrl, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency), - $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, error, stackTrace, error0, stackTrace0, t1, t2, exception, $async$exception; var $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -64517,14 +68815,12 @@ self.util = _cliPkgRequires.util; importer = _1_0._0; canonicalUrl = _1_0._1; originalUrl = _1_0._2; + if (canonicalUrl.get$scheme() === "") + A.WarnForDeprecation_warnForDeprecation($async$self._async_evaluate$_logger, B.Deprecation_INA, "Importer " + A.S(importer) + " canonicalized " + url + " to " + A.S(canonicalUrl) + string$.x2e_Rela, null, null); $async$self._async_evaluate$_loadedUrls.add$1(0, canonicalUrl); isDependency = $async$self._async_evaluate$_inDependency || !J.$eq$(importer, $async$self._async_evaluate$_importer); - t1 = importCache; - t2 = importer; - t3 = canonicalUrl; - t4 = originalUrl; $async$goto = 12; - return A._asyncAwait(t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, $async$self._async_evaluate$_quietDeps && isDependency), $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport); + return A._asyncAwait(importCache.importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl), $async$_async_evaluate$_loadStylesheet$4$baseUrl$forImport); case 12: // returning from await. _2_0 = $async$result; @@ -64566,14 +68862,7 @@ self.util = _cliPkgRequires.util; } else { error0 = t1; stackTrace0 = A.getTraceFromException($async$exception); - message = null; - try { - message = A._asString(J.get$message$x(error0)); - } catch (exception) { - message0 = J.toString$0$(error0); - message = message0; - } - A.throwWithTrace($async$self._async_evaluate$_exception$1(message), error0, stackTrace0); + A.throwWithTrace($async$self._async_evaluate$_exception$1($async$self._async_evaluate$_getErrorMessage$1(error0)), error0, stackTrace0); } $async$next.push(6); // goto finally @@ -64649,7 +68938,7 @@ self.util = _cliPkgRequires.util; _applyMixin$body$_EvaluateVisitor(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, t1, _0_0, _1_8, t2; + $async$self = this, t1, _0_0, t2, _1_8; var $async$_async_evaluate$_applyMixin$5 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -64687,14 +68976,12 @@ self.util = _cliPkgRequires.util; case 7: // join t1 = type$.UserDefinedCallable_AsyncEnvironment._is(mixin); + t2 = false; if (t1) { _1_8 = mixin.declaration; if (_1_8 instanceof A.MixinRule) t2 = !type$.MixinRule._as(_1_8).get$hasContent() && contentCallable != null; - else - t2 = false; - } else - t2 = false; + } if (t2) throw A.wrapException(A.MultiSpanSassRuntimeException$("Mixin doesn't accept a content block.", nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null)); $async$goto = t1 ? 9 : 10; @@ -64719,10 +69006,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$_async_evaluate$_applyMixin$5, $async$completer); }, - visitIncludeRule$1(node) { - return this.visitIncludeRule$body$_EvaluateVisitor(node); + visitIncludeRule$1(_, node) { + return this.visitIncludeRule$body$_EvaluateVisitor(0, node); }, - visitIncludeRule$body$_EvaluateVisitor(node) { + visitIncludeRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, mixin; @@ -64735,7 +69022,7 @@ self.util = _cliPkgRequires.util; // Function start mixin = $async$self._async_evaluate$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure2($async$self, node)); if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--")) - $async$self._async_evaluate$_warn$3(string$.Sass__m, node.get$nameSpan(), B.Deprecation_HJ0); + $async$self._async_evaluate$_warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_0); $async$goto = 3; return A._asyncAwait($async$self._async_evaluate$_applyMixin$5(mixin, A.NullableExtension_andThen(node.content, new A._EvaluateVisitor_visitIncludeRule_closure3($async$self)), node.$arguments, node, new A._FakeAstNode(new A._EvaluateVisitor_visitIncludeRule_closure4(node))), $async$visitIncludeRule$1); case 3: @@ -64751,10 +69038,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitIncludeRule$1, $async$completer); }, - visitMixinRule$1(node) { - return this.visitMixinRule$body$_EvaluateVisitor(node); + visitMixinRule$1(_, node) { + return this.visitMixinRule$body$_EvaluateVisitor(0, node); }, - visitMixinRule$body$_EvaluateVisitor(node) { + visitMixinRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5; @@ -64784,13 +69071,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitMixinRule$1, $async$completer); }, - visitLoudComment$1(node) { - return this.visitLoudComment$body$_EvaluateVisitor(node); + visitLoudComment$1(_, node) { + return this.visitLoudComment$body$_EvaluateVisitor(0, node); }, - visitLoudComment$body$_EvaluateVisitor(node) { + visitLoudComment$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), - $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2; + $async$returnValue, $async$self = this, t1, text; var $async$visitLoudComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -64807,13 +69094,14 @@ self.util = _cliPkgRequires.util; if ($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent") === $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root") && $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__root, "_root").children._collection$_source)) $async$self._async_evaluate$__endOfImports = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__endOfImports, "_endOfImports") + 1; t1 = node.text; - $async$temp1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent"); - $async$temp2 = A; $async$goto = 3; return A._asyncAwait($async$self._async_evaluate$_performInterpolation$1(t1), $async$visitLoudComment$1); case 3: // returning from await. - $async$temp1.addChild$1(new $async$temp2.ModifiableCssComment($async$result, t1.span)); + text = $async$result; + if (!B.JSString_methods.endsWith$1(text, "*/")) + text += " */"; + $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(new A.ModifiableCssComment(text, t1.span)); $async$returnValue = null; // goto return $async$goto = 1; @@ -64825,10 +69113,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitLoudComment$1, $async$completer); }, - visitMediaRule$1(node) { - return this.visitMediaRule$body$_EvaluateVisitor(node); + visitMediaRule$1(_, node) { + return this.visitMediaRule$body$_EvaluateVisitor(0, node); }, - visitMediaRule$body$_EvaluateVisitor(node) { + visitMediaRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, queries, mergedQueries, t1, mergedSources, t2, t3; @@ -64888,7 +69176,7 @@ self.util = _cliPkgRequires.util; _visitMediaQueries$body$_EvaluateVisitor(interpolation) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.List_CssMediaQuery), - $async$returnValue, $async$self = this, _0_0; + $async$returnValue, $async$self = this, _0_0, resolved, map; var $async$_visitMediaQueries$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -64901,7 +69189,9 @@ self.util = _cliPkgRequires.util; case 3: // returning from await. _0_0 = $async$result; - $async$returnValue = A.CssMediaQuery_parseList(_0_0._0, _0_0._1, $async$self._async_evaluate$_logger); + resolved = _0_0._0; + map = _0_0._1; + $async$returnValue = new A.MediaQueryParser(A.SpanScanner$(resolved, null), map).parse$0(0); // goto return $async$goto = 1; break; @@ -64933,10 +69223,10 @@ self.util = _cliPkgRequires.util; } return queries; }, - visitReturnRule$1(node) { - return this.visitReturnRule$body$_EvaluateVisitor(node); + visitReturnRule$1(_, node) { + return this.visitReturnRule$body$_EvaluateVisitor(0, node); }, - visitReturnRule$body$_EvaluateVisitor(node) { + visitReturnRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, t1, t2; @@ -64964,10 +69254,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitReturnRule$1, $async$completer); }, - visitSilentComment$1(node) { - return this.visitSilentComment$body$_EvaluateVisitor(node); + visitSilentComment$1(_, node) { + return this.visitSilentComment$body$_EvaluateVisitor(0, node); }, - visitSilentComment$body$_EvaluateVisitor(node) { + visitSilentComment$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue; @@ -64989,13 +69279,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitSilentComment$1, $async$completer); }, - visitStyleRule$1(node) { - return this.visitStyleRule$body$_EvaluateVisitor(node); + visitStyleRule$1(_, node) { + return this.visitStyleRule$body$_EvaluateVisitor(0, node); }, - visitStyleRule$body$_EvaluateVisitor(node) { + visitStyleRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), - $async$returnValue, $async$self = this, t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, t4, t5, complex, visitor, t6, t7, t8, t9; + $async$returnValue, $async$self = this, t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule; var $async$visitStyleRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -65020,7 +69310,7 @@ self.util = _cliPkgRequires.util; case 4: // then $async$goto = 6; - return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(new A.CssValue(A.List_List$unmodifiable(A.KeyframeSelectorParser$(selectorText, selectorMap, $async$self._async_evaluate$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String), node.span), new A._EvaluateVisitor_visitStyleRule_closure4($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure5(), type$.ModifiableCssKeyframeBlock, type$.Null), $async$visitStyleRule$1); + return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(new A.CssValue(A.List_List$unmodifiable(new A.KeyframeSelectorParser(A.SpanScanner$(selectorText, null), selectorMap).parse$0(0), type$.String), t1.span, type$.CssValue_List_String), node.span), new A._EvaluateVisitor_visitStyleRule_closure3($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure4(), type$.ModifiableCssKeyframeBlock, type$.Null), $async$visitStyleRule$1); case 6: // returning from await. $async$returnValue = null; @@ -65029,7 +69319,7 @@ self.util = _cliPkgRequires.util; break; case 5: // join - parsedSelector = A.SelectorList_SelectorList$parse(selectorText, true, selectorMap, $async$self._async_evaluate$_logger, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss); + parsedSelector = A.SelectorList_SelectorList$parse(selectorText, true, selectorMap, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss); t1 = $async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot; t1 = t1 == null ? null : t1.fromPlainCss; nest = t1 !== true; @@ -65054,45 +69344,18 @@ self.util = _cliPkgRequires.util; } rule = A.ModifiableCssStyleRule$($async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__extensionStore, "_extensionStore").addSelector$2(parsedSelector, $async$self._async_evaluate$_mediaQueries), node.span, $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss, parsedSelector); oldAtRootExcludingStyleRule = $async$self._async_evaluate$_atRootExcludingStyleRule; - $async$self._async_evaluate$_atRootExcludingStyleRule = false; - t1 = nest ? new A._EvaluateVisitor_visitStyleRule_closure6() : null; + t1 = $async$self._async_evaluate$_atRootExcludingStyleRule = false; + t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure5() : null; $async$goto = 7; - return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure7($async$self, rule, node), node.hasDeclarations, t1, type$.ModifiableCssStyleRule, type$.Null), $async$visitStyleRule$1); + return A._asyncAwait($async$self._async_evaluate$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure6($async$self, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule, type$.Null), $async$visitStyleRule$1); case 7: // returning from await. $async$self._async_evaluate$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; - if (!rule.accept$1(B._IsInvisibleVisitor_false_false)) - for (t1 = parsedSelector.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { - complex = t1[_i]; - if (!complex.accept$1(B._IsBogusVisitor_true)) - continue; - if (complex.accept$1(B.C__IsUselessVisitor)) { - visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); - complex.accept$1(visitor); - $async$self._async_evaluate$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido); - } else if (complex.leadingCombinators.length !== 0) { - if (!$async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__stylesheet, "_stylesheet").plainCss) { - visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); - complex.accept$1(visitor); - $async$self._async_evaluate$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido); - } - } else { - visitor = A._SerializeVisitor$(null, true, null, true, false, null, true); - complex.accept$1(visitor); - t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)); - t7 = complex.accept$1(B._IsBogusVisitor_false) ? string$.x20It_wi : ""; - t8 = A.SpanExtensions_trimRight(complex.span); - if (t5.get$length(0) === 0) - A.throwExpression(A.IterableElementError_noElement()); - t9 = J.get$span$z(t5.$index(0, 0)); - $async$self._async_evaluate$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor_visitStyleRule_closure8()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_ido); - } - } + $async$self._async_evaluate$_warnForBogusCombinators$1(rule); if (($async$self._async_evaluate$_atRootExcludingStyleRule ? null : $async$self._async_evaluate$_styleRuleIgnoringAtRoot) == null) { t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").children; t1 = !t1.get$isEmpty(t1); - } else - t1 = false; + } if (t1) { t1 = $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").children; t1.get$last(t1).isGroupEnd = true; @@ -65108,10 +69371,40 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitStyleRule$1, $async$completer); }, - visitSupportsRule$1(node) { - return this.visitSupportsRule$body$_EvaluateVisitor(node); + _async_evaluate$_warnForBogusCombinators$1(rule) { + var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null; + if (!rule.accept$1(B._IsInvisibleVisitor_false_false)) + for (t1 = rule._style_rule$_selector._box$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { + complex = t1[_i]; + if (!complex.accept$1(B._IsBogusVisitor_true)) + continue; + if (complex.accept$1(B.C__IsUselessVisitor)) { + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); + complex.accept$1(visitor); + _this._async_evaluate$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight(complex.span), B.Deprecation_C9i); + } else if (complex.leadingCombinators.length !== 0) { + if (!_this._async_evaluate$_assertInModule$2(_this._async_evaluate$__stylesheet, "_stylesheet").plainCss) { + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); + complex.accept$1(visitor); + _this._async_evaluate$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight(complex.span), B.Deprecation_C9i); + } + } else { + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); + complex.accept$1(visitor); + t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)); + t7 = complex.accept$1(B._IsBogusVisitor_false) ? string$.x20It_wi : ""; + t8 = A.SpanExtensions_trimRight(complex.span); + if (t5.get$length(0) === 0) + A.throwExpression(A.IterableElementError_noElement()); + t9 = J.get$span$z(t5.$index(0, 0)); + _this._async_evaluate$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure0()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_C9i); + } + } }, - visitSupportsRule$body$_EvaluateVisitor(node) { + visitSupportsRule$1(_, node) { + return this.visitSupportsRule$body$_EvaluateVisitor(0, node); + }, + visitSupportsRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2; @@ -65388,10 +69681,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$_async_evaluate$_parenthesize$2, $async$completer); }, - visitVariableDeclaration$1(node) { - return this.visitVariableDeclaration$body$_EvaluateVisitor(node); + visitVariableDeclaration$1(_, node) { + return this.visitVariableDeclaration$body$_EvaluateVisitor(0, node); }, - visitVariableDeclaration$body$_EvaluateVisitor(node) { + visitVariableDeclaration$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, t2, value, t1, $async$temp1, $async$temp2, $async$temp3; @@ -65431,7 +69724,7 @@ self.util = _cliPkgRequires.util; } if (node.isGlobal && !$async$self._async_evaluate$_environment.globalVariableExists$1(node.name)) { t1 = $async$self._async_evaluate$_environment._async_environment$_variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName(node.span) + ": null` at the stylesheet root."; - $async$self._async_evaluate$_warn$3(t1, node.span, B.Deprecation_2nU); + $async$self._async_evaluate$_warn$3(t1, node.span, B.Deprecation_KIf); } t1 = node.expression; t2 = t1.accept$1($async$self); @@ -65454,10 +69747,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitVariableDeclaration$1, $async$completer); }, - visitUseRule$1(node) { - return this.visitUseRule$body$_EvaluateVisitor(node); + visitUseRule$1(_, node) { + return this.visitUseRule$body$_EvaluateVisitor(0, node); }, - visitUseRule$body$_EvaluateVisitor(node) { + visitUseRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, values, t3, t4, _i, variable, t5, variableNodeWithSpan, t6, t7, configuration, t1, t2, $async$temp1, $async$temp2, $async$temp3; @@ -65535,10 +69828,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitUseRule$1, $async$completer); }, - visitWarnRule$1(node) { - return this.visitWarnRule$body$_EvaluateVisitor(node); + visitWarnRule$1(_, node) { + return this.visitWarnRule$body$_EvaluateVisitor(0, node); }, - visitWarnRule$body$_EvaluateVisitor(node) { + visitWarnRule$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value), $async$returnValue, $async$self = this, value, t1; @@ -65567,10 +69860,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitWarnRule$1, $async$completer); }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this._async_evaluate$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure0(this, node), true, node.hasDeclarations, type$.nullable_Value); }, - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { var t1, _this = this; if (_this._async_evaluate$_assertInModule$2(_this._async_evaluate$__stylesheet, "_stylesheet").plainCss) { t1 = node.operator; @@ -65582,29 +69875,25 @@ self.util = _cliPkgRequires.util; return _this._addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure0(_this, node), type$.Value); }, _async_evaluate$_slash$3(left, right, node) { - var t1, right0, _1_2, _1_1, _null = null, + var t2, _1_1, result = left.dividedBy$1(right), - _1_2_isSet = left instanceof A.SassNumber; + _1_2_isSet = left instanceof A.SassNumber, + _1_2 = null, right0 = null, + t1 = false; if (_1_2_isSet) { - t1 = type$.SassNumber; - t1._as(left); + t2 = type$.SassNumber; + t2._as(left); if (right instanceof A.SassNumber) { - t1._as(right); + t2._as(right); t1 = node.allowsSlash && this._async_evaluate$_operandAllowsSlash$1(node.left) && this._async_evaluate$_operandAllowsSlash$1(node.right); right0 = right; _1_2 = right0; - } else { - right0 = _null; + } else _1_2 = right; - t1 = false; - } _1_1 = left; } else { - right0 = _null; - _1_2 = right0; _1_1 = left; - left = _1_2; - t1 = false; + left = null; } if (t1) return type$.SassNumber._as(result).withSlash$2(left, right0); @@ -65613,7 +69902,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) { - this._async_evaluate$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation0().call$1(node)) + " or " + A.expressionToCalc(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_oJv); + this._async_evaluate$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation0().call$1(node)) + " or " + A.expressionToCalc(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_mRl); return result; } return result; @@ -65630,10 +69919,10 @@ self.util = _cliPkgRequires.util; t1 = true; return t1; }, - visitValueExpression$1(node) { - return this.visitValueExpression$body$_EvaluateVisitor(node); + visitValueExpression$1(_, node) { + return this.visitValueExpression$body$_EvaluateVisitor(0, node); }, - visitValueExpression$body$_EvaluateVisitor(node) { + visitValueExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue; @@ -65655,10 +69944,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitValueExpression$1, $async$completer); }, - visitVariableExpression$1(node) { - return this.visitVariableExpression$body$_EvaluateVisitor(node); + visitVariableExpression$1(_, node) { + return this.visitVariableExpression$body$_EvaluateVisitor(0, node); }, - visitVariableExpression$body$_EvaluateVisitor(node) { + visitVariableExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, result; @@ -65684,10 +69973,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitVariableExpression$1, $async$completer); }, - visitUnaryOperationExpression$1(node) { - return this.visitUnaryOperationExpression$body$_EvaluateVisitor(node); + visitUnaryOperationExpression$1(_, node) { + return this.visitUnaryOperationExpression$body$_EvaluateVisitor(0, node); }, - visitUnaryOperationExpression$body$_EvaluateVisitor(node) { + visitUnaryOperationExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, $async$temp1, $async$temp2, $async$temp3; @@ -65716,10 +70005,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer); }, - visitBooleanExpression$1(node) { - return this.visitBooleanExpression$body$_EvaluateVisitor(node); + visitBooleanExpression$1(_, node) { + return this.visitBooleanExpression$body$_EvaluateVisitor(0, node); }, - visitBooleanExpression$body$_EvaluateVisitor(node) { + visitBooleanExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassBoolean), $async$returnValue; @@ -65741,10 +70030,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitBooleanExpression$1, $async$completer); }, - visitIfExpression$1(node) { - return this.visitIfExpression$body$_EvaluateVisitor(node); + visitIfExpression$1(_, node) { + return this.visitIfExpression$body$_EvaluateVisitor(0, node); }, - visitIfExpression$body$_EvaluateVisitor(node) { + visitIfExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, condition, t1, ifTrue, ifFalse, result, _0_0, positional, named; @@ -65802,10 +70091,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitIfExpression$1, $async$completer); }, - visitNullExpression$1(node) { - return this.visitNullExpression$body$_EvaluateVisitor(node); + visitNullExpression$1(_, node) { + return this.visitNullExpression$body$_EvaluateVisitor(0, node); }, - visitNullExpression$body$_EvaluateVisitor(node) { + visitNullExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue; @@ -65827,10 +70116,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitNullExpression$1, $async$completer); }, - visitNumberExpression$1(node) { - return this.visitNumberExpression$body$_EvaluateVisitor(node); + visitNumberExpression$1(_, node) { + return this.visitNumberExpression$body$_EvaluateVisitor(0, node); }, - visitNumberExpression$body$_EvaluateVisitor(node) { + visitNumberExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber), $async$returnValue; @@ -65852,14 +70141,14 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitNumberExpression$1, $async$completer); }, - visitParenthesizedExpression$1(node) { + visitParenthesizedExpression$1(_, node) { var _this = this; return _this._async_evaluate$_assertInModule$2(_this._async_evaluate$__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._async_evaluate$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this); }, - visitColorExpression$1(node) { - return this.visitColorExpression$body$_EvaluateVisitor(node); + visitColorExpression$1(_, node) { + return this.visitColorExpression$body$_EvaluateVisitor(0, node); }, - visitColorExpression$body$_EvaluateVisitor(node) { + visitColorExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassColor), $async$returnValue; @@ -65881,10 +70170,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitColorExpression$1, $async$completer); }, - visitListExpression$1(node) { - return this.visitListExpression$body$_EvaluateVisitor(node); + visitListExpression$1(_, node) { + return this.visitListExpression$body$_EvaluateVisitor(0, node); }, - visitListExpression$body$_EvaluateVisitor(node) { + visitListExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassList), $async$returnValue, $async$self = this, $async$temp1; @@ -65911,10 +70200,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitListExpression$1, $async$completer); }, - visitMapExpression$1(node) { - return this.visitMapExpression$body$_EvaluateVisitor(node); + visitMapExpression$1(_, node) { + return this.visitMapExpression$body$_EvaluateVisitor(0, node); }, - visitMapExpression$body$_EvaluateVisitor(node) { + visitMapExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassMap), $async$returnValue, $async$self = this, t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan, t1, map, keyNodes; @@ -65979,10 +70268,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitMapExpression$1, $async$completer); }, - visitFunctionExpression$1(node) { - return this.visitFunctionExpression$body$_EvaluateVisitor(node); + visitFunctionExpression$1(_, node) { + return this.visitFunctionExpression$body$_EvaluateVisitor(0, node); }, - visitFunctionExpression$body$_EvaluateVisitor(node) { + visitFunctionExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, t2, _0_0, t3, t4, oldInFunction, result, t1, $function; @@ -66049,7 +70338,7 @@ self.util = _cliPkgRequires.util; case 4: // join if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--")) - $async$self._async_evaluate$_warn$3(string$.Sass__ff, node.get$nameSpan(), B.Deprecation_HJ0); + $async$self._async_evaluate$_warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_0); oldInFunction = $async$self._async_evaluate$_inFunction; $async$self._async_evaluate$_inFunction = true; $async$goto = 12; @@ -66327,7 +70616,7 @@ self.util = _cliPkgRequires.util; break; case 4: // join - $async$goto = node instanceof A.StringExpression && node.accept$1(new A._IsCalculationSafeVisitor()) ? 6 : 7; + $async$goto = node instanceof A.StringExpression && node.accept$1(B.C_IsCalculationSafeVisitor) ? 6 : 7; break; case 6: // then @@ -66571,10 +70860,10 @@ self.util = _cliPkgRequires.util; throw A.wrapException(this._async_evaluate$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode)))); } }, - visitInterpolatedFunctionExpression$1(node) { - return this.visitInterpolatedFunctionExpression$body$_EvaluateVisitor(node); + visitInterpolatedFunctionExpression$1(_, node) { + return this.visitInterpolatedFunctionExpression$body$_EvaluateVisitor(0, node); }, - visitInterpolatedFunctionExpression$body$_EvaluateVisitor(node) { + visitInterpolatedFunctionExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, result, t1, oldInFunction; @@ -66818,7 +71107,7 @@ self.util = _cliPkgRequires.util; _runBuiltInCallable$body$_EvaluateVisitor($arguments, callable, nodeWithSpan) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), - $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, t2, t3, argument, t4, t5, t6, t7, rest, argumentList, exception, message0, _box_0, evaluated, oldCallableNode, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, error, stackTrace, namedSet, _0_0, declaredArguments, i, t1, t2, t3, argument, t4, t5, t6, t7, rest, argumentList, exception, _box_0, evaluated, oldCallableNode, $async$exception; var $async$_async_evaluate$_runBuiltInCallable$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -66914,14 +71203,7 @@ self.util = _cliPkgRequires.util; else { error = t1; stackTrace = A.getTraceFromException($async$exception); - message = null; - try { - message = A._asString(J.get$message$x(error)); - } catch (exception) { - message0 = J.toString$0$(error); - message = message0; - } - A.throwWithTrace($async$self._async_evaluate$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); + A.throwWithTrace($async$self._async_evaluate$_exception$2($async$self._async_evaluate$_getErrorMessage$1(error), nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); } // goto after finally $async$goto = 13; @@ -67196,10 +71478,10 @@ self.util = _cliPkgRequires.util; _async_evaluate$_verifyArguments$4(positional, named, $arguments, nodeWithSpan) { return this._async_evaluate$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure0($arguments, positional, named)); }, - visitSelectorExpression$1(node) { - return this.visitSelectorExpression$body$_EvaluateVisitor(node); + visitSelectorExpression$1(_, node) { + return this.visitSelectorExpression$body$_EvaluateVisitor(0, node); }, - visitSelectorExpression$body$_EvaluateVisitor(node) { + visitSelectorExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value), $async$returnValue, $async$self = this, t1; @@ -67223,13 +71505,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitSelectorExpression$1, $async$completer); }, - visitStringExpression$1(node) { - return this.visitStringExpression$body$_EvaluateVisitor(node); + visitStringExpression$1(_, node) { + return this.visitStringExpression$body$_EvaluateVisitor(0, node); }, - visitStringExpression$body$_EvaluateVisitor(node) { + visitStringExpression$body$_EvaluateVisitor(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassString), - $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, value, t5, _0_0, text, oldInSupportsDeclaration; + $async$returnValue, $async$self = this, t1, t2, t3, _i, value, t4, _0_0, text, oldInSupportsDeclaration; var $async$visitStringExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -67240,7 +71522,7 @@ self.util = _cliPkgRequires.util; oldInSupportsDeclaration = $async$self._async_evaluate$_inSupportsDeclaration; $async$self._async_evaluate$_inSupportsDeclaration = false; t1 = A._setArrayType([], type$.JSArray_String); - t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression, _i = 0; + t2 = node.text.contents, t3 = t2.length, _i = 0; case 3: // for condition if (!(_i < t3)) { @@ -67250,12 +71532,12 @@ self.util = _cliPkgRequires.util; } value = t2[_i]; if (typeof value == "string") { - t5 = value; + t4 = value; // goto break $label0$0 $async$goto = 6; break; } - $async$goto = t4._is(value) ? 7 : 8; + $async$goto = value instanceof A.Expression ? 7 : 8; break; case 7: // then @@ -67267,10 +71549,10 @@ self.util = _cliPkgRequires.util; $label1$1: { if (_0_0 instanceof A.SassString) { text = _0_0._string$_text; - t5 = text; + t4 = text; break $label1$1; } - t5 = $async$self._async_evaluate$_serialize$3$quote(_0_0, value, false); + t4 = $async$self._async_evaluate$_serialize$3$quote(_0_0, value, false); break $label1$1; } // goto break $label0$0 @@ -67278,10 +71560,10 @@ self.util = _cliPkgRequires.util; break; case 8: // join - t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); + t4 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); case 6: // break $label0$0 - t1.push(t5); + t1.push(t4); case 4: // for update ++_i; @@ -67303,10 +71585,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitStringExpression$1, $async$completer); }, - visitSupportsExpression$1(expression) { - return this.visitSupportsExpression$body$_EvaluateVisitor(expression); + visitSupportsExpression$1(_, expression) { + return this.visitSupportsExpression$body$_EvaluateVisitor(0, expression); }, - visitSupportsExpression$body$_EvaluateVisitor(expression) { + visitSupportsExpression$body$_EvaluateVisitor(_, expression) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassString), $async$returnValue, $async$self = this, $async$temp1; @@ -67412,7 +71694,7 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap)); + $async$self._async_evaluate$_assertInModule$2($async$self._async_evaluate$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$(node.name, node.value, node.span, null, node.parsedAsCustomProperty, null, node.valueSpanForMap)); // implicit return return A._asyncReturn(null, $async$completer); } @@ -67836,7 +72118,7 @@ self.util = _cliPkgRequires.util; _performInterpolationHelper$body$_EvaluateVisitor(interpolation, sourceMap, warnForColor) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_String_and_nullable_InterpolationMap), - $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, targetLocations, oldInSupportsDeclaration; + $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, t6, first, _i, t7, value, result, result0, t8, targetLocations, oldInSupportsDeclaration; var $async$_async_evaluate$_performInterpolationHelper$3$sourceMap$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -67847,7 +72129,7 @@ self.util = _cliPkgRequires.util; targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : null; oldInSupportsDeclaration = $async$self._async_evaluate$_inSupportsDeclaration; $async$self._async_evaluate$_inSupportsDeclaration = false; - t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = ""; + t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression, t4 = targetLocations == null, t5 = interpolation.span, t6 = type$.Object, first = true, _i = 0, t7 = ""; case 3: // for condition if (!(_i < t2)) { @@ -67858,9 +72140,9 @@ self.util = _cliPkgRequires.util; value = t1[_i]; if (!first) if (!t4) - targetLocations.push(A.SourceLocation$(t8.length, null, null, null)); + targetLocations.push(A.SourceLocation$(t7.length, null, null, null)); if (typeof value == "string") { - t8 += value; + t7 += value; // goto for update $async$goto = 4; break; @@ -67872,16 +72154,13 @@ self.util = _cliPkgRequires.util; // returning from await. result = $async$result; if (warnForColor && $.$get$namesByColor().containsKey$1(result)) { - t9 = A._setArrayType([""], t5); - result0 = A.List_List$from(t9, false, t7); + result0 = A.List_List$from([""], false, t6); result0.fixed$length = Array; result0.immutable$list = Array; - result0 = new A.Interpolation(result0, t6); - result0.Interpolation$2(t9, t6); - t9 = $.$get$namesByColor(); - $async$self._async_evaluate$_warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression(B.BinaryOperator_u15, new A.StringExpression(result0, true), value, false).toString$0(0) + "'.", value.get$span(value)); + t8 = $.$get$namesByColor(); + $async$self._async_evaluate$_warn$2(string$.You_pr + A.S(t8.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t8.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression(B.BinaryOperator_u15, new A.StringExpression(new A.Interpolation(result0, B.List_null, t5), true), value, false).toString$0(0) + "'.", value.get$span(value)); } - t8 += $async$self._async_evaluate$_serialize$3$quote(result, value, false); + t7 += $async$self._async_evaluate$_serialize$3$quote(result, value, false); case 4: // for update ++_i, first = false; @@ -67891,7 +72170,7 @@ self.util = _cliPkgRequires.util; case 5: // after for $async$self._async_evaluate$_inSupportsDeclaration = oldInSupportsDeclaration; - $async$returnValue = new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure0(interpolation))); + $async$returnValue = new A._Record_2(t7.charCodeAt(0) == 0 ? t7 : t7, A.NullableExtension_andThen(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure0(interpolation))); // goto return $async$goto = 1; break; @@ -68126,7 +72405,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) - this._async_evaluate$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation0().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_oJv); + this._async_evaluate$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation0().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_mRl); return value.withoutSlash$0(); }, _async_evaluate$_stackFrame$2(member, span) { @@ -68406,6 +72685,18 @@ self.util = _cliPkgRequires.util; } }); return A._asyncStartSync($async$_async_evaluate$_addErrorSpan$1$2, $async$completer); + }, + _async_evaluate$_getErrorMessage$1(error) { + var t1, exception; + if (type$.Error._is(error)) + return error.toString$0(0); + try { + t1 = A._asString(J.get$message$x(error)); + return t1; + } catch (exception) { + t1 = J.toString$0$(error); + return t1; + } } }; A._EvaluateVisitor_closure12.prototype = { @@ -68419,7 +72710,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-"); return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string$_text) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure13.prototype = { call$1($arguments) { @@ -68427,7 +72718,7 @@ self.util = _cliPkgRequires.util; t1 = this.$this._async_evaluate$_environment; return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string$_text, "_", "-")) != null ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure14.prototype = { call$1($arguments) { @@ -68442,7 +72733,7 @@ self.util = _cliPkgRequires.util; t4 = A.stringReplaceAllUnchecked(t3, "_", "-"); return t2.getFunction$2$namespace(t4, module == null ? null : module._string$_text) != null || t1._async_evaluate$_builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure15.prototype = { call$1($arguments) { @@ -68455,7 +72746,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-"); return t1.getMixin$2$namespace(t2, module == null ? null : module._string$_text) != null ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure16.prototype = { call$1($arguments) { @@ -68464,7 +72755,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$(string$.conten, null)); return t1._async_environment$_content != null ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure17.prototype = { call$1($arguments) { @@ -68481,7 +72772,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._EvaluateVisitor_closure18.prototype = { call$1($arguments) { @@ -68498,7 +72789,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._EvaluateVisitor_closure19.prototype = { call$1($arguments) { @@ -68515,7 +72806,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._EvaluateVisitor_closure20.prototype = { call$1($arguments) { @@ -68538,7 +72829,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Function not found: " + $name.toString$0(0)); return new A.SassFunction(callable); }, - $signature: 165 + $signature: 189 }; A._EvaluateVisitor__closure6.prototype = { call$0() { @@ -68552,7 +72843,7 @@ self.util = _cliPkgRequires.util; return local; return t1._async_evaluate$_builtInFunctions.$index(0, normalizedName); }, - $signature: 99 + $signature: 81 }; A._EvaluateVisitor_closure21.prototype = { call$1($arguments) { @@ -68569,7 +72860,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Mixin not found: " + $name.toString$0(0)); return new A.SassMixin(callable); }, - $signature: 166 + $signature: 191 }; A._EvaluateVisitor__closure5.prototype = { call$0() { @@ -68578,7 +72869,7 @@ self.util = _cliPkgRequires.util; t3 = this.module; return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string$_text); }, - $signature: 99 + $signature: 81 }; A._EvaluateVisitor_closure22.prototype = { call$1($arguments) { @@ -68624,11 +72915,11 @@ self.util = _cliPkgRequires.util; break; case 3: // then - A.warnForDeprecation(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_gkc); + A.warnForDeprecation(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_6v8); callableNode = t1._async_evaluate$_callableNode; t2 = $function._string$_text; t3 = callableNode.get$span(callableNode); - t1 = t1.visitFunctionExpression$1(new A.FunctionExpression(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); + t1 = t1.visitFunctionExpression$1(0, new A.FunctionExpression(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); $async$goto = 5; return A._asyncAwait(type$.Future_Value._is(t1) ? t1 : A._Future$value(t1, type$.Value), $async$call$1); case 5: @@ -68658,7 +72949,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 258 + $signature: 261 }; A._EvaluateVisitor_closure23.prototype = { call$1($arguments) { @@ -68700,7 +72991,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 167 + $signature: 192 }; A._EvaluateVisitor__closure3.prototype = { call$2(variable, value) { @@ -68718,7 +73009,7 @@ self.util = _cliPkgRequires.util; var t1 = this.$this; return t1._async_evaluate$_combineCss$2$clone(module, true).accept$1(t1); }, - $signature: 354 + $signature: 272 }; A._EvaluateVisitor_closure24.prototype = { call$1($arguments) { @@ -68755,7 +73046,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 167 + $signature: 192 }; A._EvaluateVisitor_run_closure0.prototype = { call$0() { @@ -68796,13 +73087,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 353 + $signature: 453 }; A._EvaluateVisitor_run__closure0.prototype = { call$0() { return this.$this._async_evaluate$_execute$2(this.importer, this.node); }, - $signature: 352 + $signature: 454 }; A._EvaluateVisitor__loadModule_closure1.prototype = { call$0() { @@ -68904,7 +73195,7 @@ self.util = _cliPkgRequires.util; call$1(previousLoad) { return this.$this._async_evaluate$_multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 81 + $signature: 106 }; A._EvaluateVisitor__loadModule__closure2.prototype = { call$0() { @@ -68953,7 +73244,7 @@ self.util = _cliPkgRequires.util; if (t6 != null) t1._async_evaluate$_configuration = t6; $async$goto = 2; - return A._asyncAwait(t1.visitStylesheet$1(t3), $async$call$0); + return A._asyncAwait(t1.visitStylesheet$1(0, t3), $async$call$0); case 2: // returning from await. t3 = t1._async_evaluate$_outOfOrderImports == null ? t5 : new A.CssStylesheet(new A.UnmodifiableListView(t1._async_evaluate$_addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode), t4); @@ -68986,13 +73277,13 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 134 + $signature: 133 }; A._EvaluateVisitor__combineCss_closure2.prototype = { call$1(target) { return !this.selectors.contains$1(0, target); }, - $signature: 14 + $signature: 13 }; A._EvaluateVisitor__combineCss_visitModule0.prototype = { call$1(module) { @@ -69018,19 +73309,19 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index)); B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements))); }, - $signature: 344 + $signature: 459 }; A._EvaluateVisitor__extendModules_closure1.prototype = { call$1(target) { return !this.originalSelectors.contains$1(0, target); }, - $signature: 14 + $signature: 13 }; A._EvaluateVisitor__extendModules_closure2.prototype = { call$0() { return A._setArrayType([], type$.JSArray_ExtensionStore); }, - $signature: 169 + $signature: 202 }; A._EvaluateVisitor_visitAtRootRule_closure1.prototype = { call$0() { @@ -69110,7 +73401,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__scopeForAtRoot_closure5.prototype = { call$1(callback) { @@ -69138,7 +73429,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot_closure6.prototype = { call$1(callback) { @@ -69166,13 +73457,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot_closure7.prototype = { call$1(callback) { return this.$this._async_evaluate$_withMediaQueries$1$3(null, null, new A._EvaluateVisitor__scopeForAtRoot__closure0(this.innerScope, callback), type$.Null); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot__closure0.prototype = { call$0() { @@ -69206,13 +73497,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot_closure9.prototype = { call$1($parent) { return $parent instanceof A.ModifiableCssAtRule; }, - $signature: 171 + $signature: 204 }; A._EvaluateVisitor__scopeForAtRoot_closure10.prototype = { call$1(callback) { @@ -69240,7 +73531,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor_visitContentRule_closure0.prototype = { call$0() { @@ -69333,13 +73624,13 @@ self.util = _cliPkgRequires.util; t2 = this.nodeWithSpan; return t1._async_evaluate$_environment.setLocalVariable$3(this._box_0.variable, t1._async_evaluate$_withoutSlash$2(value, t2), t2); }, - $signature: 58 + $signature: 60 }; A._EvaluateVisitor_visitEachRule_closure3.prototype = { call$1(value) { return this.$this._async_evaluate$_setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan); }, - $signature: 58 + $signature: 60 }; A._EvaluateVisitor_visitEachRule_closure4.prototype = { call$0() { @@ -69347,7 +73638,7 @@ self.util = _cliPkgRequires.util; t1 = _this.$this; return t1._async_evaluate$_handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure0(t1, _this.setVariables, _this.node)); }, - $signature: 66 + $signature: 75 }; A._EvaluateVisitor_visitEachRule__closure0.prototype = { call$1(element) { @@ -69356,19 +73647,19 @@ self.util = _cliPkgRequires.util; t1 = this.$this; return t1._async_evaluate$_handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure0(t1)); }, - $signature: 337 + $signature: 473 }; A._EvaluateVisitor_visitEachRule___closure0.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 86 + $signature: 80 }; A._EvaluateVisitor_visitAtRule_closure2.prototype = { call$1(value) { return this.$this._async_evaluate$_interpolationToValue$3$trim$warnForColor(value, true, true); }, - $signature: 333 + $signature: 485 }; A._EvaluateVisitor_visitAtRule_closure3.prototype = { call$0() { @@ -69500,7 +73791,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 172 + $signature: 211 }; A._EvaluateVisitor_visitForRule_closure5.prototype = { call$0() { @@ -69529,7 +73820,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 172 + $signature: 211 }; A._EvaluateVisitor_visitForRule_closure6.prototype = { call$0() { @@ -69600,13 +73891,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 66 + $signature: 75 }; A._EvaluateVisitor_visitForRule__closure0.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 86 + $signature: 80 }; A._EvaluateVisitor_visitForwardRule_closure1.prototype = { call$2(module, firstLoad) { @@ -69628,27 +73919,27 @@ self.util = _cliPkgRequires.util; call$0() { return A._setArrayType([], type$.JSArray_CssComment); }, - $signature: 173 + $signature: 214 }; A._EvaluateVisitor_visitIfRule_closure0.prototype = { call$1(clause) { var t1 = this.$this; return t1._async_evaluate$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure0(t1, clause), true, clause.hasDeclarations, type$.nullable_Value); }, - $signature: 325 + $signature: 512 }; A._EvaluateVisitor_visitIfRule__closure0.prototype = { call$0() { var t1 = this.$this; return t1._async_evaluate$_handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure0(t1)); }, - $signature: 66 + $signature: 75 }; A._EvaluateVisitor_visitIfRule___closure0.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 86 + $signature: 80 }; A._EvaluateVisitor__visitDynamicImport_closure0.prototype = { call$0() { @@ -69702,7 +73993,7 @@ self.util = _cliPkgRequires.util; t1._async_evaluate$__stylesheet = stylesheet; t1._async_evaluate$_inDependency = isDependency; $async$goto = 6; - return A._asyncAwait(t1.visitStylesheet$1(stylesheet), $async$call$0); + return A._asyncAwait(t1.visitStylesheet$1(0, stylesheet), $async$call$0); case 6: // returning from await. t1._async_evaluate$_importer = oldImporter; @@ -69768,25 +74059,25 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__visitDynamicImport__closure3.prototype = { call$1(previousLoad) { return this.$this._async_evaluate$_multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 81 + $signature: 106 }; A._EvaluateVisitor__visitDynamicImport__closure4.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 174 + $signature: 217 }; A._EvaluateVisitor__visitDynamicImport__closure5.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 175 + $signature: 224 }; A._EvaluateVisitor__visitDynamicImport__closure6.prototype = { call$0() { @@ -69826,7 +74117,7 @@ self.util = _cliPkgRequires.util; if (!t7.get$isEmpty(t7)) t1._async_evaluate$_configuration = $async$self.environment.toImplicitConfiguration$0(); $async$goto = 2; - return A._asyncAwait(t1.visitStylesheet$1(t6.stylesheet), $async$call$0); + return A._asyncAwait(t1.visitStylesheet$1(0, t6.stylesheet), $async$call$0); case 2: // returning from await. t6 = t8 ? t1._async_evaluate$_addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode); @@ -69872,7 +74163,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin__closure2.prototype = { call$0() { @@ -69896,7 +74187,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin_closure2.prototype = { call$0() { @@ -69946,7 +74237,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin___closure0.prototype = { call$0() { @@ -69986,39 +74277,39 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin____closure0.prototype = { call$0() { return this.statement.accept$1(this.$this); }, - $signature: 66 + $signature: 75 }; A._EvaluateVisitor_visitIncludeRule_closure2.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate$_environment.getMixin$2$namespace(t1.name, t1.namespace); }, - $signature: 99 + $signature: 81 }; A._EvaluateVisitor_visitIncludeRule_closure3.prototype = { call$1($content) { var t1 = this.$this; return new A.UserDefinedCallable($content, t1._async_evaluate$_environment.closure$0(), t1._async_evaluate$_inDependency, type$.UserDefinedCallable_AsyncEnvironment); }, - $signature: 323 + $signature: 534 }; A._EvaluateVisitor_visitIncludeRule_closure4.prototype = { call$0() { return this.node.get$spanWithoutContent(); }, - $signature: 26 + $signature: 29 }; A._EvaluateVisitor_visitMediaRule_closure2.prototype = { call$1(mediaQueries) { return this.$this._async_evaluate$_mergeMediaQueries$2(mediaQueries, this.queries); }, - $signature: 79 + $signature: 103 }; A._EvaluateVisitor_visitMediaRule_closure3.prototype = { call$0() { @@ -70157,7 +74448,7 @@ self.util = _cliPkgRequires.util; }, $signature: 7 }; - A._EvaluateVisitor_visitStyleRule_closure4.prototype = { + A._EvaluateVisitor_visitStyleRule_closure3.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), @@ -70197,13 +74488,13 @@ self.util = _cliPkgRequires.util; }, $signature: 2 }; - A._EvaluateVisitor_visitStyleRule_closure5.prototype = { + A._EvaluateVisitor_visitStyleRule_closure4.prototype = { call$1(node) { return node instanceof A.ModifiableCssStyleRule; }, $signature: 7 }; - A._EvaluateVisitor_visitStyleRule_closure7.prototype = { + A._EvaluateVisitor_visitStyleRule_closure6.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), @@ -70268,17 +74559,17 @@ self.util = _cliPkgRequires.util; }, $signature: 2 }; - A._EvaluateVisitor_visitStyleRule_closure6.prototype = { + A._EvaluateVisitor_visitStyleRule_closure5.prototype = { call$1(node) { return node instanceof A.ModifiableCssStyleRule; }, $signature: 7 }; - A._EvaluateVisitor_visitStyleRule_closure8.prototype = { + A._EvaluateVisitor__warnForBogusCombinators_closure0.prototype = { call$1(child) { return child instanceof A.ModifiableCssComment; }, - $signature: 111 + $signature: 7 }; A._EvaluateVisitor_visitSupportsRule_closure1.prototype = { call$0() { @@ -70421,7 +74712,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 177 + $signature: 227 }; A._EvaluateVisitor_visitVariableDeclaration_closure2.prototype = { call$0() { @@ -70436,7 +74727,7 @@ self.util = _cliPkgRequires.util; var t1 = this.node; return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitVariableDeclaration_closure4.prototype = { call$0() { @@ -70481,7 +74772,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.node.expression.accept$1(this.$this); }, - $signature: 69 + $signature: 74 }; A._EvaluateVisitor_visitWhileRule_closure0.prototype = { call$0() { @@ -70534,13 +74825,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 66 + $signature: 75 }; A._EvaluateVisitor_visitWhileRule__closure0.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 86 + $signature: 80 }; A._EvaluateVisitor_visitBinaryOperationExpression_closure0.prototype = { call$0() { @@ -70831,7 +75122,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 69 + $signature: 74 }; A._EvaluateVisitor__slash_recommendation0.prototype = { call$1(expression) { @@ -70850,14 +75141,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 136 + $signature: 119 }; A._EvaluateVisitor_visitVariableExpression_closure0.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate$_environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitUnaryOperationExpression_closure0.prototype = { call$0() { @@ -70880,33 +75171,33 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor_visitListExpression_closure0.prototype = { call$1(expression) { return expression.accept$1(this.$this); }, - $signature: 315 + $signature: 545 }; A._EvaluateVisitor_visitFunctionExpression_closure2.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate$_environment.getFunction$2$namespace(t1.name, t1.namespace); }, - $signature: 99 + $signature: 81 }; A._EvaluateVisitor_visitFunctionExpression_closure3.prototype = { call$1(argument) { - return argument.accept$1(new A._IsCalculationSafeVisitor()); + return argument.accept$1(B.C_IsCalculationSafeVisitor); }, - $signature: 110 + $signature: 121 }; A._EvaluateVisitor_visitFunctionExpression_closure4.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1); }, - $signature: 69 + $signature: 74 }; A._EvaluateVisitor__checkCalculationArguments_check0.prototype = { call$1(maxArgs) { @@ -70920,7 +75211,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.call$1(null); }, - $signature: 96 + $signature: 99 }; A._EvaluateVisitor__visitCalculationExpression_closure0.prototype = { call$0() { @@ -70959,14 +75250,14 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 180 + $signature: 252 }; A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure0.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate$_runFunctionCallable$3(t1.$arguments, this.$function, t1); }, - $signature: 69 + $signature: 74 }; A._EvaluateVisitor__runUserDefinedCallable_closure0.prototype = { call$0() { @@ -70998,7 +75289,7 @@ self.util = _cliPkgRequires.util; $call$body$_EvaluateVisitor__runUserDefinedCallable___closure($async$type) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter($async$type), - $async$returnValue, $async$self = this, declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, t1, t2, t3, t4, $async$temp1; + $async$returnValue, $async$self = this, declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, argumentWord, t1, t2, t3, t4, $async$temp1; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -71027,7 +75318,7 @@ self.util = _cliPkgRequires.util; argument = declaredArguments[i]; t6 = t2[0]; t7 = argument.name; - value = J.remove$1$z(t6, t7); + value = t6.remove$1(0, t7); $async$goto = value == null ? 6 : 7; break; case 6: @@ -71042,7 +75333,7 @@ self.util = _cliPkgRequires.util; case 7: // join t6 = t1._async_evaluate$_environment; - t8 = J.$index$asx(t2[1], t7); + t8 = t2[1].$index(0, t7); if (t8 == null) { t8 = argument.defaultValue; t8.toString; @@ -71077,7 +75368,8 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - if (J.get$isEmpty$asx(t2[0])) { + t5 = t2[0]; + if (t5.get$isEmpty(t5)) { $async$returnValue = result; // goto return $async$goto = 1; @@ -71089,7 +75381,10 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - throw A.wrapException(A.MultiSpanSassRuntimeException$("No " + A.pluralize("argument", J.get$length$asx(J.get$keys$z(t2[0])), null) + " named " + A.toSentence(J.map$1$1$ax(J.get$keys$z(t2[0]), new A._EvaluateVisitor__runUserDefinedCallable____closure0(), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._async_evaluate$_stackTrace$1(t4.get$span(t4)), null)); + t5 = t2[0]; + argumentWord = A.pluralize("argument", J.get$length$asx(t5.get$keys(t5)), null); + t2 = t2[0]; + throw A.wrapException(A.MultiSpanSassRuntimeException$("No " + argumentWord + " named " + A.toSentence(J.map$1$1$ax(t2.get$keys(t2), new A._EvaluateVisitor__runUserDefinedCallable____closure0(), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._async_evaluate$_stackTrace$1(t4.get$span(t4)), null)); case 1: // return return A._asyncReturn($async$returnValue, $async$completer); @@ -71105,7 +75400,7 @@ self.util = _cliPkgRequires.util; call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__runFunctionCallable_closure0.prototype = { call$0() { @@ -71154,7 +75449,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 69 + $signature: 74 }; A._EvaluateVisitor__runBuiltInCallable_closure2.prototype = { call$0() { @@ -71166,25 +75461,25 @@ self.util = _cliPkgRequires.util; call$0() { return this._box_0.callback.call$1(this.evaluated._values[2]); }, - $signature: 314 + $signature: 565 }; A._EvaluateVisitor__runBuiltInCallable_closure4.prototype = { call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__evaluateArguments_closure3.prototype = { call$1(value) { return value; }, - $signature: 42 + $signature: 41 }; A._EvaluateVisitor__evaluateArguments_closure4.prototype = { call$1(value) { return this.$this._async_evaluate$_withoutSlash$2(value, this.restNodeForSpan); }, - $signature: 42 + $signature: 41 }; A._EvaluateVisitor__evaluateArguments_closure5.prototype = { call$2(key, value) { @@ -71193,27 +75488,27 @@ self.util = _cliPkgRequires.util; _this.named.$indexSet(0, key, _this.$this._async_evaluate$_withoutSlash$2(value, t1)); _this.namedNodes.$indexSet(0, key, t1); }, - $signature: 97 + $signature: 89 }; A._EvaluateVisitor__evaluateArguments_closure6.prototype = { call$1(value) { return value; }, - $signature: 42 + $signature: 41 }; A._EvaluateVisitor__evaluateMacroArguments_closure3.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression(value, t1.get$span(t1)); }, - $signature: 60 + $signature: 57 }; A._EvaluateVisitor__evaluateMacroArguments_closure4.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression(this.$this._async_evaluate$_withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1)); }, - $signature: 60 + $signature: 57 }; A._EvaluateVisitor__evaluateMacroArguments_closure5.prototype = { call$2(key, value) { @@ -71221,14 +75516,14 @@ self.util = _cliPkgRequires.util; t1 = _this.restArgs; _this.named.$indexSet(0, key, new A.ValueExpression(_this.$this._async_evaluate$_withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1))); }, - $signature: 97 + $signature: 89 }; A._EvaluateVisitor__evaluateMacroArguments_closure6.prototype = { call$1(value) { var t1 = this.keywordRestArgs; return new A.ValueExpression(this.$this._async_evaluate$_withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1)); }, - $signature: 60 + $signature: 57 }; A._EvaluateVisitor__addRestMap_closure0.prototype = { call$2(key, value) { @@ -71341,7 +75636,7 @@ self.util = _cliPkgRequires.util; call$1(mediaQueries) { return this.$this._async_evaluate$_mergeMediaQueries$2(mediaQueries, this.node.queries); }, - $signature: 79 + $signature: 103 }; A._EvaluateVisitor_visitCssMediaRule_closure3.prototype = { call$0() { @@ -71648,30 +75943,29 @@ self.util = _cliPkgRequires.util; call$1(targetLocations) { return A.InterpolationMap$(this.interpolation, targetLocations); }, - $signature: 181 + $signature: 268 }; A._EvaluateVisitor__serialize_closure0.prototype = { call$0() { return A.serializeValue(this.value, false, this.quote); }, - $signature: 25 + $signature: 31 }; A._EvaluateVisitor__expressionNode_closure0.prototype = { call$0() { var t1 = this.expression; return this.$this._async_evaluate$_environment.getVariableNode$2$namespace(t1.name, t1.namespace); }, - $signature: 182 + $signature: 270 }; A._EvaluateVisitor__withoutSlash_recommendation0.prototype = { call$1(number) { - var t1, before, after, + var before, after, t1, _1_0 = number.asSlash; $label0$0: { if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) { - t1 = type$.SassNumber; - before = t1._as(_1_0._0); - after = t1._as(_1_0._1); + before = _1_0._0; + after = _1_0._1; t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")"; break $label0$0; } @@ -71680,7 +75974,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 183 + $signature: 140 }; A._EvaluateVisitor__stackFrame_closure0.prototype = { call$1(url) { @@ -71688,7 +75982,7 @@ self.util = _cliPkgRequires.util; t1 = t1 == null ? null : t1.humanize$1(url); return t1 == null ? url : t1; }, - $signature: 46 + $signature: 50 }; A._ImportedCssVisitor0.prototype = { visitCssAtRule$1(node) { @@ -71792,7 +76086,7 @@ self.util = _cliPkgRequires.util; return new A.ModifiableCssComment(node.text, node.span); }, visitCssDeclaration$1(node) { - return A.ModifiableCssDeclaration$(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap); + return A.ModifiableCssDeclaration$(node.name, node.value, node.span, null, node.parsedAsCustomProperty, null, node.valueSpanForMap); }, visitCssImport$1(node) { return new A.ModifiableCssImport(node.url, node.modifiers, node.span); @@ -71841,19 +76135,22 @@ self.util = _cliPkgRequires.util; metaFunctions = A._setArrayType([A.BuiltInCallable$function("global-variable-exists", _s20_, new A._EvaluateVisitor_closure(_this), _s9_), A.BuiltInCallable$function("variable-exists", "$name", new A._EvaluateVisitor_closure0(_this), _s9_), A.BuiltInCallable$function("function-exists", _s20_, new A._EvaluateVisitor_closure1(_this), _s9_), A.BuiltInCallable$function("mixin-exists", _s20_, new A._EvaluateVisitor_closure2(_this), _s9_), A.BuiltInCallable$function("content-exists", "", new A._EvaluateVisitor_closure3(_this), _s9_), A.BuiltInCallable$function("module-variables", _s7_, new A._EvaluateVisitor_closure4(_this), _s9_), A.BuiltInCallable$function("module-functions", _s7_, new A._EvaluateVisitor_closure5(_this), _s9_), A.BuiltInCallable$function("module-mixins", _s7_, new A._EvaluateVisitor_closure6(_this), _s9_), A.BuiltInCallable$function("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure7(_this), _s9_), A.BuiltInCallable$function("get-mixin", _s20_, new A._EvaluateVisitor_closure8(_this), _s9_), A.BuiltInCallable$function("call", "$function, $args...", new A._EvaluateVisitor_closure9(_this), _s9_)], t1), metaMixins = A._setArrayType([A.BuiltInCallable$mixin("load-css", "$url, $with: null", new A._EvaluateVisitor_closure10(_this), false, _s9_), A.BuiltInCallable$mixin("apply", "$mixin, $args...", new A._EvaluateVisitor_closure11(_this), true, _s9_)], t1); t1 = type$.BuiltInCallable; - t2 = A.List_List$of($.$get$global(), true, t1); - B.JSArray_methods.addAll$1(t2, $.$get$local()); + t2 = A.List_List$of($.$get$moduleFunctions(), true, t1); B.JSArray_methods.addAll$1(t2, metaFunctions); metaModule = A.BuiltInModule$("meta", t2, metaMixins, null, t1); for (t1 = A.List_List$of($.$get$coreModules(), true, type$.BuiltInModule_Callable), t1.push(metaModule), t2 = t1.length, t3 = _this._builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { module = t1[_i]; t3.$indexSet(0, module.url, module); } - t1 = A._setArrayType([], type$.JSArray_Callable); - B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions()); - B.JSArray_methods.addAll$1(t1, metaFunctions); - for (t2 = t1.length, t3 = _this._builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { - $function = t1[_i]; + t1 = type$.JSArray_Callable; + t2 = A._setArrayType([], t1); + B.JSArray_methods.addAll$1(t2, $.$get$globalFunctions()); + t1 = A._setArrayType([], t1); + for (_i = 0; _i < 11; ++_i) + t1.push(metaFunctions[_i].withDeprecationWarning$1("meta")); + B.JSArray_methods.addAll$1(t2, t1); + for (t1 = t2.length, t3 = _this._builtInFunctions, _i = 0; _i < t2.length; t2.length === t1 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + $function = t2[_i]; t4 = J.get$name$x($function); t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function); } @@ -71894,7 +76191,7 @@ self.util = _cliPkgRequires.util; var t1, _this = this, oldImporter = _this._importer; _this._importer = importer; - _this.__stylesheet = A.Stylesheet$(B.List_empty12, nodeWithSpan.get$span(nodeWithSpan)); + _this.__stylesheet = A.Stylesheet$(B.List_empty13, nodeWithSpan.get$span(nodeWithSpan)); try { t1 = callback.call$0(); return t1; @@ -72071,17 +76368,23 @@ self.util = _cliPkgRequires.util; } return lastImport + 1; }, - visitStylesheet$1(node) { - var t1, t2, _i; + visitStylesheet$1(_, node) { + var t1, t2, warning, _i; + for (t1 = node.parseTimeWarnings, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { + warning = t1.__internal$_current; + if (warning == null) + warning = t2._as(warning); + this._warn$3(warning._1, warning._2, warning._0); + } for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i) t1[_i].accept$1(this); return null; }, - visitAtRootRule$1(node) { - var t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _this = this, + visitAtRootRule$1(_, node) { + var t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _this = this, _null = null, _s8_ = "__parent", _0_0 = node.query, - query = _0_0 != null ? A.AtRootQueryParser$(_this._performInterpolationWithMap$2$warnForColor(_0_0, true)._0, _this._evaluate$_logger, null).parse$0() : B.AtRootQuery_n2q, + query = _0_0 != null ? new A.AtRootQueryParser(A.SpanScanner$(_this._performInterpolationWithMap$2$warnForColor(_0_0, true)._0, _null), _null).parse$0(0) : B.AtRootQuery_n2q, $parent = _this._assertInModule$2(_this.__parent, _s8_), included = A._setArrayType([], type$.JSArray_ModifiableCssParentNode); for (t1 = type$.CssStylesheet; !t1._is($parent); $parent = _2_0) { @@ -72094,7 +76397,7 @@ self.util = _cliPkgRequires.util; root = _this._trimIncluded$1(included); if (root === _this._assertInModule$2(_this.__parent, _s8_)) { _this._environment.scope$1$2$when(new A._EvaluateVisitor_visitAtRootRule_closure(_this, node), node.hasDeclarations, type$.Null); - return null; + return _null; } if (included.length >= 1) { first = included[0]; @@ -72108,7 +76411,7 @@ self.util = _cliPkgRequires.util; } else innerCopy = root; _this._scopeForAtRoot$4(node, innerCopy, query, included).call$1(new A._EvaluateVisitor_visitAtRootRule_closure0(_this, node)); - return null; + return _null; }, _trimIncluded$1(nodes) { var $parent, t1, innermostContiguous, i, t2, _0_0, _1_0, root, _this = this, _null = null, _s5_ = "_root", @@ -72147,61 +76450,98 @@ self.util = _cliPkgRequires.util; scope = new A._EvaluateVisitor__scopeForAtRoot_closure2(_this, scope); return _this._inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure3()) ? new A._EvaluateVisitor__scopeForAtRoot_closure4(_this, scope) : scope; }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return A.throwExpression(A.UnsupportedError$(string$.Evalua)); }, - visitContentRule$1(node) { + visitContentRule$1(_, node) { var $content = this._environment._content; if ($content == null) return null; this._runUserDefinedCallable$1$4(node.$arguments, $content, node, new A._EvaluateVisitor_visitContentRule_closure(this, $content), type$.Null); return null; }, - visitDebugRule$1(node) { + visitDebugRule$1(_, node) { var value = node.expression.accept$1(this), t1 = value instanceof A.SassString ? value._string$_text : A.serializeValue(value, true, true); - this._evaluate$_logger.debug$2(0, t1, node.span); + this._logger.debug$2(0, t1, node.span); return null; }, - visitDeclaration$1(node) { - var t2, $name, _0_0, _1_0, value, t3, t4, t5, _2_0, oldDeclarationName, _this = this, _null = null, t1 = {}; + visitDeclaration$1(_, node) { + var siblings, interleavedRules, t1, t2, t3, t4, t5, t6, rule, rule0, $name, _1_0, _2_0, value, _3_0, oldDeclarationName, _this = this, _null = null, + _s8_ = "__parent", + _box_0 = {}; if ((_this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot) == null && !_this._inUnknownAtRule && !_this._inKeyframes) throw A.wrapException(_this._evaluate$_exception$2(string$.Declarm, node.span)); if (_this._declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--")) throw A.wrapException(_this._evaluate$_exception$2(string$.Declarw, node.span)); - t2 = node.name; - $name = _this._interpolationToValue$2$warnForColor(t2, true); - _0_0 = _this._declarationName; - if (_0_0 != null) - $name = new A.CssValue(_0_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String); - _1_0 = node.value; - if (_1_0 != null) { - value = _1_0.accept$1(_this); - if (!value.get$isBlank() || value.get$asList().length === 0) { - t3 = _this._assertInModule$2(_this.__parent, "__parent"); - t4 = _1_0.get$span(_1_0); - t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--"); - if (_this._sourceMap) { - t5 = A.NullableExtension_andThen(_1_0, _this.get$_expressionNode()); - t5 = t5 == null ? _null : J.get$span$z(t5); + siblings = _this._assertInModule$2(_this.__parent, _s8_)._parent.children; + interleavedRules = A._setArrayType([], type$.JSArray_CssStyleRule); + if (siblings.get$last(siblings) !== _this._assertInModule$2(_this.__parent, _s8_)) { + if (_this._quietDeps) + if (!_this._inDependency) { + t1 = _this._currentCallable; + t1 = t1 == null ? _null : t1.inDependency; + t1 = t1 === true; } else - t5 = _null; - t3.addChild$1(A.ModifiableCssDeclaration$($name, new A.CssValue(value, t4, type$.CssValue_Value), node.span, t2, t5)); - } else if (J.startsWith$1$s($name.value, "--")) - throw A.wrapException(_this._evaluate$_exception$2("Custom property values may not be empty.", _1_0.get$span(_1_0))); - } - _2_0 = node.children; - t1.children = null; + t1 = true; + else + t1 = false; + t1 = !t1; + } else + t1 = false; + if (t1) + for (t1 = A.SubListIterable$(siblings, siblings.indexOf$1(siblings, _this._assertInModule$2(_this.__parent, _s8_)) + 1, _null, siblings.$ti._eval$1("ListBase.E")), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t6 = t1.__internal$_current; + rule = t6 == null ? t2._as(t6) : t6; + $label0$1: { + if (rule instanceof A.ModifiableCssComment) + continue; + t6 = rule instanceof A.ModifiableCssStyleRule; + rule0 = t6 ? rule : _null; + if (t6) { + interleavedRules.push(rule0); + break $label0$1; + } + _this._warn$3(string$.Sassx27s, new A.MultiSpan(t3, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([rule.get$span(rule), "nested rule"], t4, t5), t4, t5)), B.Deprecation_u1l); + B.JSArray_methods.clear$0(interleavedRules); + break $label0$1; + } + } + t1 = node.name; + $name = _this._interpolationToValue$2$warnForColor(t1, true); + _1_0 = _this._declarationName; + if (_1_0 != null) + $name = new A.CssValue(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String); + _2_0 = node.value; if (_2_0 != null) { - t1.children = _2_0; + value = _2_0.accept$1(_this); + if (!value.get$isBlank() || value.get$asList().length === 0) { + t2 = _this._assertInModule$2(_this.__parent, _s8_); + t3 = _2_0.get$span(_2_0); + t4 = node.span; + t1 = B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--"); + t5 = interleavedRules.length === 0 ? _null : _this._evaluate$_stackTrace$1(t4); + if (_this._sourceMap) { + t6 = A.NullableExtension_andThen(_2_0, _this.get$_expressionNode()); + t6 = t6 == null ? _null : J.get$span$z(t6); + } else + t6 = _null; + t2.addChild$1(A.ModifiableCssDeclaration$($name, new A.CssValue(value, t3, type$.CssValue_Value), t4, interleavedRules, t1, t5, t6)); + } else if (J.startsWith$1$s($name.value, "--")) + throw A.wrapException(_this._evaluate$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0))); + } + _3_0 = node.children; + _box_0.children = null; + if (_3_0 != null) { + _box_0.children = _3_0; oldDeclarationName = _this._declarationName; _this._declarationName = $name.value; - _this._environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure(t1, _this), node.hasDeclarations, type$.Null); + _this._environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure(_box_0, _this), node.hasDeclarations, type$.Null); _this._declarationName = oldDeclarationName; } return _null; }, - visitEachRule$1(node) { + visitEachRule$1(_, node) { var _this = this, _box_0 = {}, t1 = node.list, list = t1.accept$1(_this), @@ -72231,10 +76571,10 @@ self.util = _cliPkgRequires.util; for (i = minLength; i < t1; ++i) this._environment.setLocalVariable$3(variables[i], B.C__SassNull, nodeWithSpan); }, - visitErrorRule$1(node) { + visitErrorRule$1(_, node) { throw A.wrapException(this._evaluate$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span)); }, - visitExtendRule$1(node) { + visitExtendRule$1(_, node) { var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, compound, _this = this, _null = null, styleRule = _this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot; if (styleRule == null || _this._declarationName != null) @@ -72243,14 +76583,14 @@ self.util = _cliPkgRequires.util; complex = t1[_i]; if (!complex.accept$1(B._IsBogusVisitor_true)) continue; - visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true); + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)); t7 = complex.accept$1(B.C__IsUselessVisitor) ? "can't" : "shouldn't"; - _this._warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan(A.SpanExtensions_trimRight(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_ido); + _this._warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan(A.SpanExtensions_trimRight(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_C9i); } _0_0 = _this._performInterpolationWithMap$2$warnForColor(node.selector, true); - for (t1 = A.SelectorList_SelectorList$parse(A.trimAscii(_0_0._0, true), false, _0_0._1, _this._evaluate$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule$_selector._box$_inner, _i = 0; _i < t2; ++_i) { + for (t1 = A.SelectorList_SelectorList$parse(A.trimAscii(_0_0._0, true), false, _0_0._1, false).components, t2 = t1.length, t3 = styleRule._style_rule$_selector._box$_inner, _i = 0; _i < t2; ++_i) { complex = t1[_i]; compound = complex.get$singleCompound(); if (compound == null) @@ -72263,7 +76603,7 @@ self.util = _cliPkgRequires.util; } return _null; }, - visitAtRule$1(node) { + visitAtRule$1(_, node) { var $name, value, children, wasInKeyframes, wasInUnknownAtRule, _this = this; if (_this._declarationName != null) throw A.wrapException(_this._evaluate$_exception$2(string$.At_rul, node.span)); @@ -72285,7 +76625,7 @@ self.util = _cliPkgRequires.util; _this._inKeyframes = wasInKeyframes; return null; }, - visitForRule$1(node) { + visitForRule$1(_, node) { var _this = this, t1 = {}, t2 = node.from, fromNumber = _this._addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure(_this, node)), @@ -72298,7 +76638,7 @@ self.util = _cliPkgRequires.util; return null; return _this._environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitForRule_closure3(t1, _this, node, from, direction, fromNumber), true, type$.nullable_Value); }, - visitForwardRule$1(node) { + visitForwardRule$1(_, node) { var newConfiguration, t4, _i, variable, $name, _this = this, _s8_ = "@forward", oldConfiguration = _this._configuration, @@ -72405,7 +76745,7 @@ self.util = _cliPkgRequires.util; _assertConfigurationIsEmpty$1(configuration) { return this._assertConfigurationIsEmpty$2$nameInError(configuration, false); }, - visitFunctionRule$1(node) { + visitFunctionRule$1(_, node) { var t1 = this._environment, t2 = t1.closure$0(), t3 = this._inDependency, @@ -72416,7 +76756,7 @@ self.util = _cliPkgRequires.util; J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable(node, t2, t3, type$.UserDefinedCallable_Environment)); return null; }, - visitIfRule$1(node) { + visitIfRule$1(_, node) { var t1, t2, _i, clauseToCheck, clause = node.lastClause; for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) { @@ -72428,7 +76768,7 @@ self.util = _cliPkgRequires.util; } return A.NullableExtension_andThen(clause, new A._EvaluateVisitor_visitIfRule_closure(this)); }, - visitImportRule$1(node) { + visitImportRule$1(_, node) { var t1, t2, t3, t4, t5, t6, _i, $import, t7, _0_0, $self, t8, _this = this, _s8_ = "__parent", _s5_ = "_root", @@ -72465,7 +76805,7 @@ self.util = _cliPkgRequires.util; return this._withStackFrame$3("@import", $import, new A._EvaluateVisitor__visitDynamicImport_closure(this, $import)); }, _loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, forImport) { - var _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, _this = this; + var _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, error, stackTrace, error0, stackTrace0, t1, t2, exception, _this = this; baseUrl = baseUrl; try { _this._importSpan = span; @@ -72485,13 +76825,11 @@ self.util = _cliPkgRequires.util; importer = _1_0._0; canonicalUrl = _1_0._1; originalUrl = _1_0._2; + if (canonicalUrl.get$scheme() === "") + A.WarnForDeprecation_warnForDeprecation(_this._logger, B.Deprecation_INA, "Importer " + A.S(importer) + " canonicalized " + url + " to " + A.S(canonicalUrl) + string$.x2e_Rela, null, null); _this._loadedUrls.add$1(0, canonicalUrl); isDependency = _this._inDependency || !J.$eq$(importer, _this._importer); - t1 = importCache; - t2 = importer; - t3 = canonicalUrl; - t4 = originalUrl; - _2_0 = t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, _this._quietDeps && isDependency); + _2_0 = importCache.importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl); stylesheet = null; if (_2_0 != null) { stylesheet = _2_0; @@ -72517,14 +76855,7 @@ self.util = _cliPkgRequires.util; } else { error0 = t1; stackTrace0 = A.getTraceFromException(exception); - message = null; - try { - message = A._asString(J.get$message$x(error0)); - } catch (exception) { - message0 = J.toString$0$(error0); - message = message0; - } - A.throwWithTrace(_this._evaluate$_exception$1(message), error0, stackTrace0); + A.throwWithTrace(_this._evaluate$_exception$1(_this._getErrorMessage$1(error0)), error0, stackTrace0); } } finally { _this._importSpan = null; @@ -72537,7 +76868,7 @@ self.util = _cliPkgRequires.util; return this._loadStylesheet$4$baseUrl$forImport(url, span, null, forImport); }, _applyMixin$5(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) { - var t1, _0_0, _1_8, t2, _this = this, + var t1, _0_0, t2, _1_8, _this = this, _s37_ = "Mixin doesn't accept a content block.", _s10_ = "invocation"; $label0$0: { @@ -72554,14 +76885,12 @@ self.util = _cliPkgRequires.util; break $label0$0; } t1 = type$.UserDefinedCallable_Environment._is(mixin); + t2 = false; if (t1) { _1_8 = mixin.declaration; if (_1_8 instanceof A.MixinRule) t2 = !type$.MixinRule._as(_1_8).get$hasContent() && contentCallable != null; - else - t2 = false; - } else - t2 = false; + } if (t2) throw A.wrapException(A.MultiSpanSassRuntimeException$(_s37_, nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), _s10_, A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null)); if (t1) { @@ -72571,15 +76900,15 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + ".")); } }, - visitIncludeRule$1(node) { + visitIncludeRule$1(_, node) { var _this = this, mixin = _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure(_this, node)); if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--")) - _this._warn$3(string$.Sass__m, node.get$nameSpan(), B.Deprecation_HJ0); + _this._warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_0); _this._applyMixin$5(mixin, A.NullableExtension_andThen(node.content, new A._EvaluateVisitor_visitIncludeRule_closure0(_this)), node.$arguments, node, new A._FakeAstNode(new A._EvaluateVisitor_visitIncludeRule_closure1(node))); return null; }, - visitMixinRule$1(node) { + visitMixinRule$1(_, node) { var t1 = this._environment, t2 = t1.closure$0(), t3 = this._inDependency, @@ -72590,8 +76919,8 @@ self.util = _cliPkgRequires.util; J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable(node, t2, t3, type$.UserDefinedCallable_Environment)); return null; }, - visitLoudComment$1(node) { - var t1, _this = this, + visitLoudComment$1(_, node) { + var t1, text, _this = this, _s8_ = "__parent", _s13_ = "_endOfImports"; if (_this._inFunction) @@ -72599,15 +76928,18 @@ self.util = _cliPkgRequires.util; if (_this._assertInModule$2(_this.__parent, _s8_) === _this._assertInModule$2(_this.__root, "_root") && _this._assertInModule$2(_this.__endOfImports, _s13_) === J.get$length$asx(_this._assertInModule$2(_this.__root, "_root").children._collection$_source)) _this.__endOfImports = _this._assertInModule$2(_this.__endOfImports, _s13_) + 1; t1 = node.text; - _this._assertInModule$2(_this.__parent, _s8_).addChild$1(new A.ModifiableCssComment(_this._performInterpolation$1(t1), t1.span)); + text = _this._performInterpolation$1(t1); + if (!B.JSString_methods.endsWith$1(text, "*/")) + text += " */"; + _this._assertInModule$2(_this.__parent, _s8_).addChild$1(new A.ModifiableCssComment(text, t1.span)); return null; }, - visitMediaRule$1(node) { + visitMediaRule$1(_, node) { var _0_0, queries, mergedQueries, t1, mergedSources, t2, t3, _this = this; if (_this._declarationName != null) throw A.wrapException(_this._evaluate$_exception$2(string$.Media_, node.span)); _0_0 = _this._performInterpolationWithMap$2$warnForColor(node.query, true); - queries = A.CssMediaQuery_parseList(_0_0._0, _0_0._1, _this._evaluate$_logger); + queries = new A.MediaQueryParser(A.SpanScanner$(_0_0._0, null), _0_0._1).parse$0(0); mergedQueries = A.NullableExtension_andThen(_this._mediaQueries, new A._EvaluateVisitor_visitMediaRule_closure(_this, queries)); t1 = mergedQueries == null; if (!t1 && J.get$isEmpty$asx(mergedQueries)) @@ -72649,15 +76981,15 @@ self.util = _cliPkgRequires.util; } return queries; }, - visitReturnRule$1(node) { + visitReturnRule$1(_, node) { var t1 = node.expression; return this._withoutSlash$2(t1.accept$1(this), t1); }, - visitSilentComment$1(node) { + visitSilentComment$1(_, node) { return null; }, - visitStyleRule$1(node) { - var t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, t4, t5, complex, visitor, t6, t7, t8, t9, _this = this, _null = null, + visitStyleRule$1(_, node) { + var t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, _this = this, _null = null, _s8_ = "__parent", _s11_ = "_stylesheet"; if (_this._declarationName != null) @@ -72669,10 +77001,10 @@ self.util = _cliPkgRequires.util; selectorText = _0_0._0; selectorMap = _0_0._1; if (_this._inKeyframes) { - _this._withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(new A.CssValue(A.List_List$unmodifiable(A.KeyframeSelectorParser$(selectorText, selectorMap, _this._evaluate$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String), node.span), new A._EvaluateVisitor_visitStyleRule_closure(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure0(), type$.ModifiableCssKeyframeBlock, type$.Null); + _this._withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$(new A.CssValue(A.List_List$unmodifiable(new A.KeyframeSelectorParser(A.SpanScanner$(selectorText, _null), selectorMap).parse$0(0), type$.String), t1.span, type$.CssValue_List_String), node.span), new A._EvaluateVisitor_visitStyleRule_closure(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure0(), type$.ModifiableCssKeyframeBlock, type$.Null); return _null; } - parsedSelector = A.SelectorList_SelectorList$parse(selectorText, true, selectorMap, _this._evaluate$_logger, _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss); + parsedSelector = A.SelectorList_SelectorList$parse(selectorText, true, selectorMap, _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss); t1 = _this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot; t1 = t1 == null ? _null : t1.fromPlainCss; nest = t1 !== true; @@ -72697,27 +77029,40 @@ self.util = _cliPkgRequires.util; } rule = A.ModifiableCssStyleRule$(_this._assertInModule$2(_this.__extensionStore, "_extensionStore").addSelector$2(parsedSelector, _this._mediaQueries), node.span, _this._assertInModule$2(_this.__stylesheet, _s11_).plainCss, parsedSelector); oldAtRootExcludingStyleRule = _this._atRootExcludingStyleRule; - _this._atRootExcludingStyleRule = false; - t1 = nest ? new A._EvaluateVisitor_visitStyleRule_closure1() : _null; - _this._withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure2(_this, rule, node), node.hasDeclarations, t1, type$.ModifiableCssStyleRule, type$.Null); + t1 = _this._atRootExcludingStyleRule = false; + t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure1() : _null; + _this._withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure2(_this, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule, type$.Null); _this._atRootExcludingStyleRule = oldAtRootExcludingStyleRule; + _this._warnForBogusCombinators$1(rule); + if ((_this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot) == null) { + t1 = _this._assertInModule$2(_this.__parent, _s8_).children; + t1 = !t1.get$isEmpty(t1); + } + if (t1) { + t1 = _this._assertInModule$2(_this.__parent, _s8_).children; + t1.get$last(t1).isGroupEnd = true; + } + return _null; + }, + _warnForBogusCombinators$1(rule) { + var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null; if (!rule.accept$1(B._IsInvisibleVisitor_false_false)) - for (t1 = parsedSelector.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { + for (t1 = rule._style_rule$_selector._box$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { complex = t1[_i]; if (!complex.accept$1(B._IsBogusVisitor_true)) continue; if (complex.accept$1(B.C__IsUselessVisitor)) { - visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true); + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); - _this._warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido); + _this._warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight(complex.span), B.Deprecation_C9i); } else if (complex.leadingCombinators.length !== 0) { - if (!_this._assertInModule$2(_this.__stylesheet, _s11_).plainCss) { - visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true); + if (!_this._assertInModule$2(_this.__stylesheet, "_stylesheet").plainCss) { + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); - _this._warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight(complex.span), B.Deprecation_ido); + _this._warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight(complex.span), B.Deprecation_C9i); } } else { - visitor = A._SerializeVisitor$(_null, true, _null, true, false, _null, true); + visitor = A._SerializeVisitor$(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); t6 = B.JSString_methods.trim$0(visitor._serialize$_buffer.toString$0(0)); t7 = complex.accept$1(B._IsBogusVisitor_false) ? string$.x20It_wi : ""; @@ -72725,21 +77070,11 @@ self.util = _cliPkgRequires.util; if (t5.get$length(0) === 0) A.throwExpression(A.IterableElementError_noElement()); t9 = J.get$span$z(t5.$index(0, 0)); - _this._warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor_visitStyleRule_closure3()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_ido); + _this._warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_C9i); } } - if ((_this._atRootExcludingStyleRule ? _null : _this._styleRuleIgnoringAtRoot) == null) { - t1 = _this._assertInModule$2(_this.__parent, _s8_).children; - t1 = !t1.get$isEmpty(t1); - } else - t1 = false; - if (t1) { - t1 = _this._assertInModule$2(_this.__parent, _s8_).children; - t1.get$last(t1).isGroupEnd = true; - } - return _null; }, - visitSupportsRule$1(node) { + visitSupportsRule$1(_, node) { var t1, _this = this; if (_this._declarationName != null) throw A.wrapException(_this._evaluate$_exception$2(string$.Suppor, node.span)); @@ -72812,7 +77147,7 @@ self.util = _cliPkgRequires.util; _parenthesize$1(condition) { return this._parenthesize$2(condition, null); }, - visitVariableDeclaration$1(node) { + visitVariableDeclaration$1(_, node) { var t2, value, _this = this, _null = null, t1 = {}; if (node.isGuarded) { if (node.namespace == null && _this._environment._variables.length === 1) { @@ -72835,13 +77170,13 @@ self.util = _cliPkgRequires.util; } if (node.isGlobal && !_this._environment.globalVariableExists$1(node.name)) { t1 = _this._environment._variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName(node.span) + ": null` at the stylesheet root."; - _this._warn$3(t1, node.span, B.Deprecation_2nU); + _this._warn$3(t1, node.span, B.Deprecation_KIf); } t1 = node.expression; _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure1(_this, node, _this._withoutSlash$2(t1.accept$1(_this), t1))); return _null; }, - visitUseRule$1(node) { + visitUseRule$1(_, node) { var values, _i, variable, t3, variableNodeWithSpan, configuration, _this = this, t1 = node.configuration, t2 = t1.length; @@ -72860,17 +77195,17 @@ self.util = _cliPkgRequires.util; _this._assertConfigurationIsEmpty$1(configuration); return null; }, - visitWarnRule$1(node) { + visitWarnRule$1(_, node) { var _this = this, value = _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitWarnRule_closure(_this, node)), t1 = value instanceof A.SassString ? value._string$_text : _this._evaluate$_serialize$2(value, node.expression); - _this._evaluate$_logger.warn$2$trace(0, t1, _this._evaluate$_stackTrace$1(node.span)); + _this._logger.warn$2$trace(0, t1, _this._evaluate$_stackTrace$1(node.span)); return null; }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this._environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure(this, node), true, node.hasDeclarations, type$.nullable_Value); }, - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { var t1, _this = this; if (_this._assertInModule$2(_this.__stylesheet, "_stylesheet").plainCss) { t1 = node.operator; @@ -72882,29 +77217,25 @@ self.util = _cliPkgRequires.util; return _this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure(_this, node)); }, _slash$3(left, right, node) { - var t1, right0, _1_2, _1_1, _null = null, + var t2, _1_1, result = left.dividedBy$1(right), - _1_2_isSet = left instanceof A.SassNumber; + _1_2_isSet = left instanceof A.SassNumber, + _1_2 = null, right0 = null, + t1 = false; if (_1_2_isSet) { - t1 = type$.SassNumber; - t1._as(left); + t2 = type$.SassNumber; + t2._as(left); if (right instanceof A.SassNumber) { - t1._as(right); + t2._as(right); t1 = node.allowsSlash && this._operandAllowsSlash$1(node.left) && this._operandAllowsSlash$1(node.right); right0 = right; _1_2 = right0; - } else { - right0 = _null; + } else _1_2 = right; - t1 = false; - } _1_1 = left; } else { - right0 = _null; - _1_2 = right0; _1_1 = left; - left = _1_2; - t1 = false; + left = null; } if (t1) return type$.SassNumber._as(result).withSlash$2(left, right0); @@ -72913,7 +77244,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) { - this._warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation().call$1(node)) + " or " + A.expressionToCalc(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_oJv); + this._warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation().call$1(node)) + " or " + A.expressionToCalc(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_mRl); return result; } return result; @@ -72930,22 +77261,22 @@ self.util = _cliPkgRequires.util; t1 = true; return t1; }, - visitValueExpression$1(node) { + visitValueExpression$1(_, node) { return node.value; }, - visitVariableExpression$1(node) { + visitVariableExpression$1(_, node) { var result = this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableExpression_closure(this, node)); if (result != null) return result; throw A.wrapException(this._evaluate$_exception$2("Undefined variable.", node.span)); }, - visitUnaryOperationExpression$1(node) { + visitUnaryOperationExpression$1(_, node) { return this._addExceptionSpan$2(node, new A._EvaluateVisitor_visitUnaryOperationExpression_closure(node, node.operand.accept$1(this))); }, - visitBooleanExpression$1(node) { + visitBooleanExpression$1(_, node) { return node.value ? B.SassBoolean_true : B.SassBoolean_false; }, - visitIfExpression$1(node) { + visitIfExpression$1(_, node) { var condition, t1, ifTrue, ifFalse, result, _this = this, _0_0 = _this._evaluateMacroArguments$1(node), positional = _0_0._0, @@ -72972,24 +77303,24 @@ self.util = _cliPkgRequires.util; result = condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse; return _this._withoutSlash$2(result.accept$1(_this), _this._expressionNode$1(result)); }, - visitNullExpression$1(node) { + visitNullExpression$1(_, node) { return B.C__SassNull; }, - visitNumberExpression$1(node) { + visitNumberExpression$1(_, node) { return A.SassNumber_SassNumber(node.value, node.unit); }, - visitParenthesizedExpression$1(node) { + visitParenthesizedExpression$1(_, node) { var _this = this; return _this._assertInModule$2(_this.__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._evaluate$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this); }, - visitColorExpression$1(node) { + visitColorExpression$1(_, node) { return node.value; }, - visitListExpression$1(node) { + visitListExpression$1(_, node) { var t1 = node.contents; return A.SassList$(new A.MappedListIterable(t1, new A._EvaluateVisitor_visitListExpression_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value>")), node.separator, node.hasBrackets); }, - visitMapExpression$1(node) { + visitMapExpression$1(_, node) { var t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan, t1 = type$.Value, map = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), @@ -73014,7 +77345,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(map, t1, t1)); }, - visitFunctionExpression$1(node) { + visitFunctionExpression$1(_, node) { var t2, _0_0, t3, t4, oldInFunction, result, _this = this, _s11_ = "_stylesheet", t1 = {}, @@ -73040,7 +77371,7 @@ self.util = _cliPkgRequires.util; } else t2 = $function; if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--")) - _this._warn$3(string$.Sass__ff, node.get$nameSpan(), B.Deprecation_HJ0); + _this._warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_0); oldInFunction = _this._inFunction; _this._inFunction = true; result = _this._addErrorSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure1(t1, _this, node)); @@ -73236,7 +77567,7 @@ self.util = _cliPkgRequires.util; result = _this._visitCalculationExpression$2$inLegacySassFunction(inner, inLegacySassFunction); return result instanceof A.SassString ? new A.SassString("(" + result._string$_text + ")", false) : result; } - if (node instanceof A.StringExpression && node.accept$1(new A._IsCalculationSafeVisitor())) { + if (node instanceof A.StringExpression && node.accept$1(B.C_IsCalculationSafeVisitor)) { t1 = node.text; t2 = t1.get$asPlain(); _0_0 = t2 == null ? _null : t2.toLowerCase(); @@ -73401,7 +77732,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(this._evaluate$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode)))); } }, - visitInterpolatedFunctionExpression$1(node) { + visitInterpolatedFunctionExpression$1(_, node) { var result, _this = this, t1 = _this._performInterpolation$1(node.name), oldInFunction = _this._inFunction; @@ -73474,7 +77805,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.ArgumentError$("Unknown callable type " + J.get$runtimeType$(callable).toString$0(0) + ".", null)); }, _runBuiltInCallable$3($arguments, callable, nodeWithSpan) { - var result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, argument, t2, t3, rest, argumentList, exception, message0, _this = this, _box_0 = {}, + var result, error, stackTrace, namedSet, _0_0, declaredArguments, i, t1, argument, t2, t3, rest, argumentList, exception, _this = this, _box_0 = {}, evaluated = _this._evaluateArguments$1($arguments), oldCallableNode = _this._callableNode; _this._callableNode = nodeWithSpan; @@ -73516,14 +77847,7 @@ self.util = _cliPkgRequires.util; else { error = t1; stackTrace = A.getTraceFromException(exception); - message = null; - try { - message = A._asString(J.get$message$x(error)); - } catch (exception) { - message0 = J.toString$0$(error); - message = message0; - } - A.throwWithTrace(_this._evaluate$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); + A.throwWithTrace(_this._evaluate$_exception$2(_this._getErrorMessage$1(error), nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); } } _this._callableNode = oldCallableNode; @@ -73640,45 +77964,45 @@ self.util = _cliPkgRequires.util; _verifyArguments$4(positional, named, $arguments, nodeWithSpan) { return this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure($arguments, positional, named)); }, - visitSelectorExpression$1(node) { + visitSelectorExpression$1(_, node) { var t1 = this._styleRuleIgnoringAtRoot; t1 = t1 == null ? null : t1.originalSelector.get$asSassList(); return t1 == null ? B.C__SassNull : t1; }, - visitStringExpression$1(node) { - var t1, t2, t3, t4, _i, value, t5, _0_0, text, _this = this, + visitStringExpression$1(_, node) { + var t1, t2, t3, _i, value, t4, _0_0, text, _this = this, oldInSupportsDeclaration = _this._inSupportsDeclaration; _this._inSupportsDeclaration = false; t1 = A._setArrayType([], type$.JSArray_String); - for (t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression, _i = 0; _i < t3; ++_i) { + for (t2 = node.text.contents, t3 = t2.length, _i = 0; _i < t3; ++_i) { value = t2[_i]; $label0$0: { if (typeof value == "string") { - t5 = value; + t4 = value; break $label0$0; } - if (t4._is(value)) { + if (value instanceof A.Expression) { _0_0 = value.accept$1(_this); $label1$1: { if (_0_0 instanceof A.SassString) { text = _0_0._string$_text; - t5 = text; + t4 = text; break $label1$1; } - t5 = _this._evaluate$_serialize$3$quote(_0_0, value, false); + t4 = _this._evaluate$_serialize$3$quote(_0_0, value, false); break $label1$1; } break $label0$0; } - t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); + t4 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); } - t1.push(t5); + t1.push(t4); } t1 = B.JSArray_methods.join$0(t1); _this._inSupportsDeclaration = oldInSupportsDeclaration; return new A.SassString(t1, node.hasQuotes); }, - visitSupportsExpression$1(expression) { + visitSupportsExpression$1(_, expression) { return new A.SassString(this._visitSupportsCondition$1(expression.condition), false); }, visitCssAtRule$1(node) { @@ -73709,7 +78033,7 @@ self.util = _cliPkgRequires.util; _this._assertInModule$2(_this.__parent, _s8_).addChild$1(new A.ModifiableCssComment(node.text, node.span)); }, visitCssDeclaration$1(node) { - this._assertInModule$2(this.__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap)); + this._assertInModule$2(this.__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$(node.name, node.value, node.span, null, node.parsedAsCustomProperty, null, node.valueSpanForMap)); }, visitCssImport$1(node) { var t1, _this = this, @@ -73849,35 +78173,32 @@ self.util = _cliPkgRequires.util; return new A._Record_2(_0_0._0, map); }, _performInterpolationHelper$3$sourceMap$warnForColor(interpolation, sourceMap, warnForColor) { - var t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, _this = this, _null = null, + var t1, t2, t3, t4, t5, t6, first, _i, t7, value, result, result0, t8, _this = this, _null = null, targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : _null, oldInSupportsDeclaration = _this._inSupportsDeclaration; _this._inSupportsDeclaration = false; - for (t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = ""; _i < t2; ++_i, first = false) { + for (t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression, t4 = targetLocations == null, t5 = interpolation.span, t6 = type$.Object, first = true, _i = 0, t7 = ""; _i < t2; ++_i, first = false) { value = t1[_i]; if (!first) if (!t4) - targetLocations.push(A.SourceLocation$(t8.length, _null, _null, _null)); + targetLocations.push(A.SourceLocation$(t7.length, _null, _null, _null)); if (typeof value == "string") { - t8 += value; + t7 += value; continue; } t3._as(value); result = value.accept$1(_this); if (warnForColor && $.$get$namesByColor().containsKey$1(result)) { - t9 = A._setArrayType([""], t5); - result0 = A.List_List$from(t9, false, t7); + result0 = A.List_List$from([""], false, t6); result0.fixed$length = Array; result0.immutable$list = Array; - result0 = new A.Interpolation(result0, t6); - result0.Interpolation$2(t9, t6); - t9 = $.$get$namesByColor(); - _this._warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression(B.BinaryOperator_u15, new A.StringExpression(result0, true), value, false).toString$0(0) + "'.", value.get$span(value)); + t8 = $.$get$namesByColor(); + _this._warn$2(string$.You_pr + A.S(t8.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t8.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression(B.BinaryOperator_u15, new A.StringExpression(new A.Interpolation(result0, B.List_null, t5), true), value, false).toString$0(0) + "'.", value.get$span(value)); } - t8 += _this._evaluate$_serialize$3$quote(result, value, false); + t7 += _this._evaluate$_serialize$3$quote(result, value, false); } _this._inSupportsDeclaration = oldInSupportsDeclaration; - return new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure(interpolation))); + return new A._Record_2(t7.charCodeAt(0) == 0 ? t7 : t7, A.NullableExtension_andThen(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure(interpolation))); }, _evaluate$_serialize$3$quote(value, nodeWithSpan, quote) { return this._addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__serialize_closure(value, quote)); @@ -73979,7 +78300,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) - this._warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_oJv); + this._warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_mRl); return value.withoutSlash$0(); }, _stackFrame$2(member, span) { @@ -74016,7 +78337,7 @@ self.util = _cliPkgRequires.util; if (!_this._warningsEmitted.add$1(0, new A._Record_2(message, span))) return; trace = _this._evaluate$_stackTrace$1(span); - t1 = _this._evaluate$_logger; + t1 = _this._logger; if (deprecation == null) t1.warn$3$span$trace(0, message, span, trace); else @@ -74108,6 +78429,18 @@ self.util = _cliPkgRequires.util; }, _addErrorSpan$2(nodeWithSpan, callback) { return this._addErrorSpan$1$2(nodeWithSpan, callback, type$.dynamic); + }, + _getErrorMessage$1(error) { + var t1, exception; + if (type$.Error._is(error)) + return error.toString$0(0); + try { + t1 = A._asString(J.get$message$x(error)); + return t1; + } catch (exception) { + t1 = J.toString$0$(error); + return t1; + } } }; A._EvaluateVisitor_closure.prototype = { @@ -74121,7 +78454,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-"); return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string$_text) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure0.prototype = { call$1($arguments) { @@ -74129,7 +78462,7 @@ self.util = _cliPkgRequires.util; t1 = this.$this._environment; return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string$_text, "_", "-")) != null ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure1.prototype = { call$1($arguments) { @@ -74144,7 +78477,7 @@ self.util = _cliPkgRequires.util; t4 = A.stringReplaceAllUnchecked(t3, "_", "-"); return t2.getFunction$2$namespace(t4, module == null ? null : module._string$_text) != null || t1._builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure2.prototype = { call$1($arguments) { @@ -74157,7 +78490,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string$_text, "_", "-"); return t1.getMixin$2$namespace(t2, module == null ? null : module._string$_text) != null ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure3.prototype = { call$1($arguments) { @@ -74166,7 +78499,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$(string$.conten, null)); return t1._content != null ? B.SassBoolean_true : B.SassBoolean_false; }, - $signature: 20 + $signature: 11 }; A._EvaluateVisitor_closure4.prototype = { call$1($arguments) { @@ -74183,7 +78516,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._EvaluateVisitor_closure5.prototype = { call$1($arguments) { @@ -74200,7 +78533,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._EvaluateVisitor_closure6.prototype = { call$1($arguments) { @@ -74217,7 +78550,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 36 + $signature: 34 }; A._EvaluateVisitor_closure7.prototype = { call$1($arguments) { @@ -74240,7 +78573,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Function not found: " + $name.toString$0(0)); return new A.SassFunction(callable); }, - $signature: 165 + $signature: 189 }; A._EvaluateVisitor__closure2.prototype = { call$0() { @@ -74254,7 +78587,7 @@ self.util = _cliPkgRequires.util; return local; return t1._builtInFunctions.$index(0, normalizedName); }, - $signature: 77 + $signature: 85 }; A._EvaluateVisitor_closure8.prototype = { call$1($arguments) { @@ -74271,7 +78604,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Mixin not found: " + $name.toString$0(0)); return new A.SassMixin(callable); }, - $signature: 166 + $signature: 191 }; A._EvaluateVisitor__closure1.prototype = { call$0() { @@ -74280,7 +78613,7 @@ self.util = _cliPkgRequires.util; t3 = this.module; return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string$_text); }, - $signature: 77 + $signature: 85 }; A._EvaluateVisitor_closure9.prototype = { call$1($arguments) { @@ -74311,11 +78644,11 @@ self.util = _cliPkgRequires.util; } invocation = new A.ArgumentInvocation(A.List_List$unmodifiable(t3, t5), A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t4, t5), new A.ValueExpression(args, t7), t2, t6); if ($function instanceof A.SassString) { - A.warnForDeprecation(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_gkc); + A.warnForDeprecation(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_6v8); callableNode = t1._callableNode; t2 = $function._string$_text; t3 = callableNode.get$span(callableNode); - return t1.visitFunctionExpression$1(new A.FunctionExpression(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); + return t1.visitFunctionExpression$1(0, new A.FunctionExpression(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); } callable = $function.assertFunction$1("function").callable; if (type$.Callable._is(callable)) { @@ -74325,7 +78658,7 @@ self.util = _cliPkgRequires.util; } else throw A.wrapException(A.SassScriptException$("The function " + callable.get$name(callable) + string$.x20is_as, null)); }, - $signature: 6 + $signature: 4 }; A._EvaluateVisitor_closure10.prototype = { call$1($arguments) { @@ -74347,7 +78680,7 @@ self.util = _cliPkgRequires.util; t1._loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new A._EvaluateVisitor__closure0(t1), t3.get$sourceUrl(t3), configuration, true); t1._assertConfigurationIsEmpty$2$nameInError(configuration, true); }, - $signature: 185 + $signature: 142 }; A._EvaluateVisitor__closure.prototype = { call$2(variable, value) { @@ -74365,7 +78698,7 @@ self.util = _cliPkgRequires.util; var t1 = this.$this; return t1._combineCss$2$clone(module, true).accept$1(t1); }, - $signature: 78 + $signature: 100 }; A._EvaluateVisitor_closure11.prototype = { call$1($arguments) { @@ -74387,7 +78720,7 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$("The mixin " + callable.get$name(callable) + string$.x20is_as, null)); }, - $signature: 185 + $signature: 142 }; A._EvaluateVisitor_run_closure.prototype = { call$0() { @@ -74406,13 +78739,13 @@ self.util = _cliPkgRequires.util; module = t2._addExceptionTrace$1(new A._EvaluateVisitor_run__closure(t2, _this.importer, t1)); return new A._Record_2_loadedUrls_stylesheet(t2._loadedUrls, t2._combineCss$1(module)); }, - $signature: 305 + $signature: 630 }; A._EvaluateVisitor_run__closure.prototype = { call$0() { return this.$this._execute$2(this.importer, this.node); }, - $signature: 302 + $signature: 631 }; A._EvaluateVisitor_runExpression_closure.prototype = { call$0() { @@ -74420,20 +78753,20 @@ self.util = _cliPkgRequires.util; t2 = this.expression; return t1._withFakeStylesheet$3(this.importer, t2, new A._EvaluateVisitor_runExpression__closure(t1, t2)); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor_runExpression__closure.prototype = { call$0() { var t1 = this.$this; return t1._addExceptionTrace$1(new A._EvaluateVisitor_runExpression___closure(t1, this.expression)); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor_runExpression___closure.prototype = { call$0() { return this.expression.accept$1(this.$this); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor_runStatement_closure.prototype = { call$0() { @@ -74505,7 +78838,7 @@ self.util = _cliPkgRequires.util; call$1(previousLoad) { return this.$this._multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 81 + $signature: 106 }; A._EvaluateVisitor__loadModule__closure0.prototype = { call$0() { @@ -74544,7 +78877,7 @@ self.util = _cliPkgRequires.util; t6 = _this.configuration; if (t6 != null) t1._configuration = t6; - t1.visitStylesheet$1(t3); + t1.visitStylesheet$1(0, t3); t3 = t1._outOfOrderImports == null ? t5 : new A.CssStylesheet(new A.UnmodifiableListView(t1._addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode), t4); _this.css.__late_helper$_value = t3; _this.preModuleComments.__late_helper$_value = t1._preModuleComments; @@ -74570,13 +78903,13 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 130 + $signature: 117 }; A._EvaluateVisitor__combineCss_closure0.prototype = { call$1(target) { return !this.selectors.contains$1(0, target); }, - $signature: 14 + $signature: 13 }; A._EvaluateVisitor__combineCss_visitModule.prototype = { call$1(module) { @@ -74602,19 +78935,19 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index)); B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements))); }, - $signature: 296 + $signature: 645 }; A._EvaluateVisitor__extendModules_closure.prototype = { call$1(target) { return !this.originalSelectors.contains$1(0, target); }, - $signature: 14 + $signature: 13 }; A._EvaluateVisitor__extendModules_closure0.prototype = { call$0() { return A._setArrayType([], type$.JSArray_ExtensionStore); }, - $signature: 169 + $signature: 202 }; A._EvaluateVisitor_visitAtRootRule_closure.prototype = { call$0() { @@ -74678,7 +79011,7 @@ self.util = _cliPkgRequires.util; call$1($parent) { return $parent instanceof A.ModifiableCssAtRule; }, - $signature: 171 + $signature: 204 }; A._EvaluateVisitor__scopeForAtRoot_closure4.prototype = { call$1(callback) { @@ -74713,13 +79046,13 @@ self.util = _cliPkgRequires.util; t2 = this.nodeWithSpan; return t1._environment.setLocalVariable$3(this._box_0.variable, t1._withoutSlash$2(value, t2), t2); }, - $signature: 58 + $signature: 60 }; A._EvaluateVisitor_visitEachRule_closure0.prototype = { call$1(value) { return this.$this._setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan); }, - $signature: 58 + $signature: 60 }; A._EvaluateVisitor_visitEachRule_closure1.prototype = { call$0() { @@ -74727,7 +79060,7 @@ self.util = _cliPkgRequires.util; t1 = _this.$this; return t1._handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure(t1, _this.setVariables, _this.node)); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitEachRule__closure.prototype = { call$1(element) { @@ -74736,19 +79069,19 @@ self.util = _cliPkgRequires.util; t1 = this.$this; return t1._handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure(t1)); }, - $signature: 295 + $signature: 646 }; A._EvaluateVisitor_visitEachRule___closure.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 76 + $signature: 82 }; A._EvaluateVisitor_visitAtRule_closure.prototype = { call$1(value) { return this.$this._interpolationToValue$3$trim$warnForColor(value, true, true); }, - $signature: 291 + $signature: 649 }; A._EvaluateVisitor_visitAtRule_closure0.prototype = { call$0() { @@ -74781,13 +79114,13 @@ self.util = _cliPkgRequires.util; call$0() { return this.node.from.accept$1(this.$this).assertNumber$0(); }, - $signature: 186 + $signature: 145 }; A._EvaluateVisitor_visitForRule_closure0.prototype = { call$0() { return this.node.to.accept$1(this.$this).assertNumber$0(); }, - $signature: 186 + $signature: 145 }; A._EvaluateVisitor_visitForRule_closure1.prototype = { call$0() { @@ -74818,13 +79151,13 @@ self.util = _cliPkgRequires.util; } return null; }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitForRule__closure.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 76 + $signature: 82 }; A._EvaluateVisitor_visitForwardRule_closure.prototype = { call$2(module, firstLoad) { @@ -74832,7 +79165,7 @@ self.util = _cliPkgRequires.util; this.$this._registerCommentsForModule$1(module); this.$this._environment.forwardModule$2(module, this.node); }, - $signature: 78 + $signature: 100 }; A._EvaluateVisitor_visitForwardRule_closure0.prototype = { call$2(module, firstLoad) { @@ -74840,33 +79173,33 @@ self.util = _cliPkgRequires.util; this.$this._registerCommentsForModule$1(module); this.$this._environment.forwardModule$2(module, this.node); }, - $signature: 78 + $signature: 100 }; A._EvaluateVisitor__registerCommentsForModule_closure.prototype = { call$0() { return A._setArrayType([], type$.JSArray_CssComment); }, - $signature: 173 + $signature: 214 }; A._EvaluateVisitor_visitIfRule_closure.prototype = { call$1(clause) { var t1 = this.$this; return t1._environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure(t1, clause), true, clause.hasDeclarations, type$.nullable_Value); }, - $signature: 288 + $signature: 669 }; A._EvaluateVisitor_visitIfRule__closure.prototype = { call$0() { var t1 = this.$this; return t1._handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure(t1)); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitIfRule___closure.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 76 + $signature: 82 }; A._EvaluateVisitor__visitDynamicImport_closure.prototype = { call$0() { @@ -74899,7 +79232,7 @@ self.util = _cliPkgRequires.util; t1._importer = importer; t1.__stylesheet = stylesheet; t1._inDependency = isDependency; - t1.visitStylesheet$1(stylesheet); + t1.visitStylesheet$1(0, stylesheet); t1._importer = oldImporter; t1.__stylesheet = t2; t1._inDependency = oldInDependency; @@ -74945,19 +79278,19 @@ self.util = _cliPkgRequires.util; call$1(previousLoad) { return this.$this._multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 81 + $signature: 106 }; A._EvaluateVisitor__visitDynamicImport__closure0.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 174 + $signature: 217 }; A._EvaluateVisitor__visitDynamicImport__closure1.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 175 + $signature: 224 }; A._EvaluateVisitor__visitDynamicImport__closure2.prototype = { call$0() { @@ -74987,7 +79320,7 @@ self.util = _cliPkgRequires.util; t7 = new A.UnmodifiableListView(t6.stylesheet._forwards, type$.UnmodifiableListView_ForwardRule); if (!t7.get$isEmpty(t7)) t1._configuration = _this.environment.toImplicitConfiguration$0(); - t1.visitStylesheet$1(t6.stylesheet); + t1.visitStylesheet$1(0, t6.stylesheet); t6 = t8 ? t1._addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode); _this.children.__late_helper$_value = t6; t1._importer = oldImporter; @@ -75045,33 +79378,33 @@ self.util = _cliPkgRequires.util; call$0() { return this.statement.accept$1(this.$this); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitIncludeRule_closure.prototype = { call$0() { var t1 = this.node; return this.$this._environment.getMixin$2$namespace(t1.name, t1.namespace); }, - $signature: 77 + $signature: 85 }; A._EvaluateVisitor_visitIncludeRule_closure0.prototype = { call$1($content) { var t1 = this.$this; return new A.UserDefinedCallable($content, t1._environment.closure$0(), t1._inDependency, type$.UserDefinedCallable_Environment); }, - $signature: 286 + $signature: 670 }; A._EvaluateVisitor_visitIncludeRule_closure1.prototype = { call$0() { return this.node.get$spanWithoutContent(); }, - $signature: 26 + $signature: 29 }; A._EvaluateVisitor_visitMediaRule_closure.prototype = { call$1(mediaQueries) { return this.$this._mergeMediaQueries$2(mediaQueries, this.queries); }, - $signature: 79 + $signature: 103 }; A._EvaluateVisitor_visitMediaRule_closure0.prototype = { call$0() { @@ -75152,11 +79485,11 @@ self.util = _cliPkgRequires.util; }, $signature: 7 }; - A._EvaluateVisitor_visitStyleRule_closure3.prototype = { + A._EvaluateVisitor__warnForBogusCombinators_closure.prototype = { call$1(child) { return child instanceof A.ModifiableCssComment; }, - $signature: 111 + $signature: 7 }; A._EvaluateVisitor_visitSupportsRule_closure.prototype = { call$0() { @@ -75196,7 +79529,7 @@ self.util = _cliPkgRequires.util; t2 = t2.declaration.value; return "(" + t3 + ":" + t4 + t1._evaluate$_serialize$3$quote(t2.accept$1(t1), t2, true) + ")"; }, - $signature: 25 + $signature: 31 }; A._EvaluateVisitor_visitVariableDeclaration_closure.prototype = { call$0() { @@ -75211,7 +79544,7 @@ self.util = _cliPkgRequires.util; var t1 = this.node; return this.$this._environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitVariableDeclaration_closure1.prototype = { call$0() { @@ -75250,13 +79583,13 @@ self.util = _cliPkgRequires.util; t1._allModules.push(module); } }, - $signature: 78 + $signature: 100 }; A._EvaluateVisitor_visitWarnRule_closure.prototype = { call$0() { return this.node.expression.accept$1(this.$this); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor_visitWhileRule_closure.prototype = { call$0() { @@ -75268,13 +79601,13 @@ self.util = _cliPkgRequires.util; } return null; }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitWhileRule__closure.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 76 + $signature: 82 }; A._EvaluateVisitor_visitBinaryOperationExpression_closure.prototype = { call$0() { @@ -75330,7 +79663,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor__slash_recommendation.prototype = { call$1(expression) { @@ -75349,14 +79682,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 136 + $signature: 119 }; A._EvaluateVisitor_visitVariableExpression_closure.prototype = { call$0() { var t1 = this.node; return this.$this._environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 39 + $signature: 42 }; A._EvaluateVisitor_visitUnaryOperationExpression_closure.prototype = { call$0() { @@ -75379,33 +79712,33 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor_visitListExpression_closure.prototype = { call$1(expression) { return expression.accept$1(this.$this); }, - $signature: 269 + $signature: 273 }; A._EvaluateVisitor_visitFunctionExpression_closure.prototype = { call$0() { var t1 = this.node; return this.$this._environment.getFunction$2$namespace(t1.name, t1.namespace); }, - $signature: 77 + $signature: 85 }; A._EvaluateVisitor_visitFunctionExpression_closure0.prototype = { call$1(argument) { - return argument.accept$1(new A._IsCalculationSafeVisitor()); + return argument.accept$1(B.C_IsCalculationSafeVisitor); }, - $signature: 110 + $signature: 121 }; A._EvaluateVisitor_visitFunctionExpression_closure1.prototype = { call$0() { var t1 = this.node; return this.$this._runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor__checkCalculationArguments_check.prototype = { call$1(maxArgs) { @@ -75419,7 +79752,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.call$1(null); }, - $signature: 96 + $signature: 99 }; A._EvaluateVisitor__visitCalculationExpression_closure.prototype = { call$0() { @@ -75429,14 +79762,14 @@ self.util = _cliPkgRequires.util; t3 = _this.inLegacySassFunction; return A.SassCalculation_operateInternal(t1._binaryOperatorToCalculationOperator$2(t2.operator, _this.node), t1._visitCalculationExpression$2$inLegacySassFunction(t2.left, t3), t1._visitCalculationExpression$2$inLegacySassFunction(t2.right, t3), t3, !t1._inSupportsDeclaration); }, - $signature: 80 + $signature: 83 }; A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure.prototype = { call$0() { var t1 = this.node; return this.$this._runFunctionCallable$3(t1.$arguments, this.$function, t1); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor__runUserDefinedCallable_closure.prototype = { call$0() { @@ -75467,23 +79800,23 @@ self.util = _cliPkgRequires.util; t2 = _this.evaluated._values, t3 = _this.callable.declaration.$arguments, t4 = _this.nodeWithSpan; - t1._verifyArguments$4(J.get$length$asx(t2[2]), t2[0], t3, t4); + t1._verifyArguments$4(t2[2].length, t2[0], t3, t4); declaredArguments = t3.$arguments; t5 = declaredArguments.length; - minLength = Math.min(J.get$length$asx(t2[2]), t5); + minLength = Math.min(t2[2].length, t5); for (i = 0; i < minLength; ++i) - t1._environment.setLocalVariable$3(declaredArguments[i].name, J.$index$asx(t2[2], i), J.$index$asx(t2[3], i)); - for (i = J.get$length$asx(t2[2]); i < t5; ++i) { + t1._environment.setLocalVariable$3(declaredArguments[i].name, t2[2][i], t2[3][i]); + for (i = t2[2].length; i < t5; ++i) { argument = declaredArguments[i]; t6 = t2[0]; t7 = argument.name; - value = J.remove$1$z(t6, t7); + value = t6.remove$1(0, t7); if (value == null) { t6 = argument.defaultValue; value = t1._withoutSlash$2(t6.accept$1(t1), t1._expressionNode$1(t6)); } t6 = t1._environment; - t8 = J.$index$asx(t2[1], t7); + t8 = t2[1].$index(0, t7); if (t8 == null) { t8 = argument.defaultValue; t8.toString; @@ -75493,7 +79826,8 @@ self.util = _cliPkgRequires.util; } restArgument = t3.restArgument; if (restArgument != null) { - rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty8; + t6 = t2[2]; + rest = t6.length > t5 ? B.JSArray_methods.sublist$1(t6, t5) : B.List_empty8; t5 = t2[0]; t6 = t2[4]; argumentList = A.SassArgumentList$(rest, t5, t6 === B.ListSeparator_undecided_null_undecided ? B.ListSeparator_ECn : t6); @@ -75521,7 +79855,7 @@ self.util = _cliPkgRequires.util; call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__runFunctionCallable_closure.prototype = { call$0() { @@ -75533,11 +79867,11 @@ self.util = _cliPkgRequires.util; } throw A.wrapException(t4._evaluate$_exception$2("Function finished without @return.", t1.span)); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor__runBuiltInCallable_closure.prototype = { call$0() { - return this._box_0.overload.verify$2(J.get$length$asx(this.evaluated._values[2]), this.namedSet); + return this._box_0.overload.verify$2(this.evaluated._values[2].length, this.namedSet); }, $signature: 0 }; @@ -75545,25 +79879,25 @@ self.util = _cliPkgRequires.util; call$0() { return this._box_0.callback.call$1(this.evaluated._values[2]); }, - $signature: 32 + $signature: 38 }; A._EvaluateVisitor__runBuiltInCallable_closure1.prototype = { call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__evaluateArguments_closure.prototype = { call$1(value) { return value; }, - $signature: 42 + $signature: 41 }; A._EvaluateVisitor__evaluateArguments_closure0.prototype = { call$1(value) { return this.$this._withoutSlash$2(value, this.restNodeForSpan); }, - $signature: 42 + $signature: 41 }; A._EvaluateVisitor__evaluateArguments_closure1.prototype = { call$2(key, value) { @@ -75572,27 +79906,27 @@ self.util = _cliPkgRequires.util; _this.named.$indexSet(0, key, _this.$this._withoutSlash$2(value, t1)); _this.namedNodes.$indexSet(0, key, t1); }, - $signature: 97 + $signature: 89 }; A._EvaluateVisitor__evaluateArguments_closure2.prototype = { call$1(value) { return value; }, - $signature: 42 + $signature: 41 }; A._EvaluateVisitor__evaluateMacroArguments_closure.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression(value, t1.get$span(t1)); }, - $signature: 60 + $signature: 57 }; A._EvaluateVisitor__evaluateMacroArguments_closure0.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression(this.$this._withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1)); }, - $signature: 60 + $signature: 57 }; A._EvaluateVisitor__evaluateMacroArguments_closure1.prototype = { call$2(key, value) { @@ -75600,14 +79934,14 @@ self.util = _cliPkgRequires.util; t1 = _this.restArgs; _this.named.$indexSet(0, key, new A.ValueExpression(_this.$this._withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1))); }, - $signature: 97 + $signature: 89 }; A._EvaluateVisitor__evaluateMacroArguments_closure2.prototype = { call$1(value) { var t1 = this.keywordRestArgs; return new A.ValueExpression(this.$this._withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1)); }, - $signature: 60 + $signature: 57 }; A._EvaluateVisitor__addRestMap_closure.prototype = { call$2(key, value) { @@ -75664,7 +79998,7 @@ self.util = _cliPkgRequires.util; call$1(mediaQueries) { return this.$this._mergeMediaQueries$2(mediaQueries, this.node.queries); }, - $signature: 79 + $signature: 103 }; A._EvaluateVisitor_visitCssMediaRule_closure0.prototype = { call$0() { @@ -75772,30 +80106,29 @@ self.util = _cliPkgRequires.util; call$1(targetLocations) { return A.InterpolationMap$(this.interpolation, targetLocations); }, - $signature: 181 + $signature: 268 }; A._EvaluateVisitor__serialize_closure.prototype = { call$0() { return A.serializeValue(this.value, false, this.quote); }, - $signature: 25 + $signature: 31 }; A._EvaluateVisitor__expressionNode_closure.prototype = { call$0() { var t1 = this.expression; return this.$this._environment.getVariableNode$2$namespace(t1.name, t1.namespace); }, - $signature: 182 + $signature: 270 }; A._EvaluateVisitor__withoutSlash_recommendation.prototype = { call$1(number) { - var t1, before, after, + var before, after, t1, _1_0 = number.asSlash; $label0$0: { if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) { - t1 = type$.SassNumber; - before = t1._as(_1_0._0); - after = t1._as(_1_0._1); + before = _1_0._0; + after = _1_0._1; t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")"; break $label0$0; } @@ -75804,7 +80137,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 183 + $signature: 140 }; A._EvaluateVisitor__stackFrame_closure.prototype = { call$1(url) { @@ -75812,7 +80145,7 @@ self.util = _cliPkgRequires.util; t1 = t1 == null ? null : t1.humanize$1(url); return t1 == null ? url : t1; }, - $signature: 46 + $signature: 50 }; A._ImportedCssVisitor.prototype = { visitCssAtRule$1(node) { @@ -75981,7 +80314,7 @@ self.util = _cliPkgRequires.util; $signature: 7 }; A._MakeExpressionCalculationSafe.prototype = { - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { var t1, t2, t3, t4; if (node.operator === B.BinaryOperator_KNx) { t1 = A._setArrayType([node], type$.JSArray_Expression); @@ -75992,13 +80325,13 @@ self.util = _cliPkgRequires.util; t4 = node.get$span(0); t1 = new A.FunctionExpression("math", A.stringReplaceAllUnchecked("max", "_", "-"), "max", new A.ArgumentInvocation(t1, t3, null, null, t2), t4); } else - t1 = this.super$ReplaceExpressionVisitor$visitBinaryOperationExpression(node); + t1 = this.super$ReplaceExpressionVisitor$visitBinaryOperationExpression(0, node); return t1; }, - visitInterpolatedFunctionExpression$1(node) { + visitInterpolatedFunctionExpression$1(_, node) { return node; }, - visitUnaryOperationExpression$1(node) { + visitUnaryOperationExpression$1(_, node) { var t1, _0_0 = node.operator; $label0$0: { @@ -76010,7 +80343,7 @@ self.util = _cliPkgRequires.util; t1 = new A.BinaryOperationExpression(B.BinaryOperator_2No, new A.NumberExpression(-1, null, node.span), node.operand, false); break $label0$0; } - t1 = this.super$ReplaceExpressionVisitor$visitUnaryOperationExpression(node); + t1 = this.super$ReplaceExpressionVisitor$visitUnaryOperationExpression(0, node); break $label0$0; } return t1; @@ -76018,27 +80351,27 @@ self.util = _cliPkgRequires.util; }; A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor.prototype = {}; A._FindDependenciesVisitor.prototype = { - visitEachRule$1(node) { + visitEachRule$1(_, node) { }, - visitForRule$1(node) { + visitForRule$1(_, node) { }, - visitIfRule$1(node) { + visitIfRule$1(_, node) { }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { }, - visitUseRule$1(node) { + visitUseRule$1(_, node) { var t1 = node.url; if (t1.get$scheme() !== "sass") this._find_dependencies$_uses.add$1(0, t1); else if (t1.toString$0(0) === "sass:meta") this._metaNamespaces.add$1(0, node.namespace); }, - visitForwardRule$1(node) { + visitForwardRule$1(_, node) { var t1 = node.url; if (t1.get$scheme() !== "sass") this._find_dependencies$_forwards.add$1(0, t1); }, - visitImportRule$1(node) { + visitImportRule$1(_, node) { var t1, t2, t3, _i, $import; for (t1 = node.imports, t2 = t1.length, t3 = this._imports, _i = 0; _i < t2; ++_i) { $import = t1[_i]; @@ -76046,8 +80379,8 @@ self.util = _cliPkgRequires.util; t3.add$1(0, A.Uri_parse($import.urlString)); } }, - visitIncludeRule$1(node) { - var url, _0_0, _0_4_isSet, _0_4, t1, _0_7_isSet, _0_7, url0, exception, _null = null; + visitIncludeRule$1(_, node) { + var url, _0_0, _0_4_isSet, _0_4, _0_7, t1, _0_40, t2, _0_7_isSet, url0, exception, _null = null; if (node.name !== "load-css") return; if (!this._metaNamespaces.contains$1(0, node.namespace)) @@ -76055,25 +80388,22 @@ self.util = _cliPkgRequires.util; _0_0 = node.$arguments.positional; url = null; _0_4_isSet = _0_0.length === 1; + _0_4 = _null; + _0_7 = _null; + t1 = false; if (_0_4_isSet) { - _0_4 = _0_0[0]; - t1 = _0_4; - _0_7_isSet = t1 instanceof A.StringExpression; + _0_40 = _0_0[0]; + t2 = _0_40; + _0_4 = t2; + _0_7_isSet = t2 instanceof A.StringExpression; if (_0_7_isSet) { type$.StringExpression._as(_0_4); _0_7 = _0_4.text.get$asPlain(); t1 = _0_7; t1 = t1 != null; - } else { - _0_7 = _null; - t1 = false; } - } else { - _0_7 = _null; - _0_4 = _0_7; + } else _0_7_isSet = false; - t1 = false; - } if (t1) { if (_0_7_isSet) url0 = _0_7; @@ -76094,39 +80424,120 @@ self.util = _cliPkgRequires.util; }; A.DependencyReport.prototype = {}; A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor.prototype = {}; + A.IsCalculationSafeVisitor.prototype = { + visitBinaryOperationExpression$1(_, node) { + var t1; + if (B.Set_mqKz.contains$1(0, node.operator)) + t1 = node.left.accept$1(this) || node.right.accept$1(this); + else + t1 = false; + return t1; + }, + visitBooleanExpression$1(_, node) { + return false; + }, + visitColorExpression$1(_, node) { + return false; + }, + visitFunctionExpression$1(_, node) { + return true; + }, + visitInterpolatedFunctionExpression$1(_, node) { + return true; + }, + visitIfExpression$1(_, node) { + return true; + }, + visitListExpression$1(_, node) { + var t1 = false; + if (node.separator === B.ListSeparator_nbm) + if (!node.hasBrackets) { + t1 = node.contents; + t1 = t1.length > 1 && B.JSArray_methods.every$1(t1, new A.IsCalculationSafeVisitor_visitListExpression_closure(this)); + } + return t1; + }, + visitMapExpression$1(_, node) { + return false; + }, + visitNullExpression$1(_, node) { + return false; + }, + visitNumberExpression$1(_, node) { + return true; + }, + visitParenthesizedExpression$1(_, node) { + return node.expression.accept$1(this); + }, + visitSelectorExpression$1(_, node) { + return false; + }, + visitStringExpression$1(_, node) { + var text, t1, t2; + if (node.hasQuotes) + return false; + text = node.text.get$initialPlain(); + t1 = false; + if (!B.JSString_methods.startsWith$1(text, "!")) + if (!B.JSString_methods.startsWith$1(text, "#")) { + t2 = text.length; + if ((1 >= t2 ? null : text.charCodeAt(1)) !== 43) + t1 = (3 >= t2 ? null : text.charCodeAt(3)) !== 40; + } + return t1; + }, + visitSupportsExpression$1(_, node) { + return false; + }, + visitUnaryOperationExpression$1(_, node) { + return false; + }, + visitValueExpression$1(_, node) { + return false; + }, + visitVariableExpression$1(_, node) { + return true; + } + }; + A.IsCalculationSafeVisitor_visitListExpression_closure.prototype = { + call$1(expression) { + return expression.accept$1(this.$this); + }, + $signature: 121 + }; A.RecursiveStatementVisitor.prototype = { - visitAtRootRule$1(node) { + visitAtRootRule$1(_, node) { this.visitChildren$1(node.children); }, - visitAtRule$1(node) { + visitAtRule$1(_, node) { return A.NullableExtension_andThen(node.children, this.get$visitChildren()); }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return null; }, - visitContentRule$1(node) { + visitContentRule$1(_, node) { }, - visitDebugRule$1(node) { + visitDebugRule$1(_, node) { }, - visitDeclaration$1(node) { + visitDeclaration$1(_, node) { return A.NullableExtension_andThen(node.children, this.get$visitChildren()); }, - visitEachRule$1(node) { + visitEachRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitErrorRule$1(node) { + visitErrorRule$1(_, node) { }, - visitExtendRule$1(node) { + visitExtendRule$1(_, node) { }, - visitForRule$1(node) { + visitForRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitForwardRule$1(node) { + visitForwardRule$1(_, node) { }, - visitFunctionRule$1(node) { + visitFunctionRule$1(_, node) { return null; }, - visitIfRule$1(node) { + visitIfRule$1(_, node) { var t1, t2, _i, t3, t4, _i0, _0_0; for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) for (t3 = t1[_i].children, t4 = t3.length, _i0 = 0; _i0 < t4; ++_i0) @@ -76136,39 +80547,39 @@ self.util = _cliPkgRequires.util; for (t1 = _0_0.children, t2 = t1.length, _i = 0; _i < t2; ++_i) t1[_i].accept$1(this); }, - visitImportRule$1(node) { + visitImportRule$1(_, node) { }, - visitIncludeRule$1(node) { - return A.NullableExtension_andThen(node.content, this.get$visitContentBlock()); + visitIncludeRule$1(_, node) { + return A.NullableExtension_andThen(node.content, this.get$visitContentBlock(this)); }, - visitLoudComment$1(node) { + visitLoudComment$1(_, node) { }, - visitMediaRule$1(node) { + visitMediaRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitMixinRule$1(node) { + visitMixinRule$1(_, node) { return null; }, - visitReturnRule$1(node) { + visitReturnRule$1(_, node) { }, - visitSilentComment$1(node) { + visitSilentComment$1(_, node) { }, - visitStyleRule$1(node) { + visitStyleRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitStylesheet$1(node) { + visitStylesheet$1(_, node) { return this.visitChildren$1(node.children); }, - visitSupportsRule$1(node) { + visitSupportsRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitUseRule$1(node) { + visitUseRule$1(_, node) { }, - visitVariableDeclaration$1(node) { + visitVariableDeclaration$1(_, node) { }, - visitWarnRule$1(node) { + visitWarnRule$1(_, node) { }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this.visitChildren$1(node.children); }, visitChildren$1(children) { @@ -76178,31 +80589,31 @@ self.util = _cliPkgRequires.util; } }; A.ReplaceExpressionVisitor.prototype = { - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { return new A.BinaryOperationExpression(node.operator, node.left.accept$1(this), node.right.accept$1(this), false); }, - visitBooleanExpression$1(node) { + visitBooleanExpression$1(_, node) { return node; }, - visitColorExpression$1(node) { + visitColorExpression$1(_, node) { return node; }, - visitFunctionExpression$1(node) { + visitFunctionExpression$1(_, node) { var t1 = node.originalName, t2 = this.visitArgumentInvocation$1(node.$arguments); return new A.FunctionExpression(node.namespace, A.stringReplaceAllUnchecked(t1, "_", "-"), t1, t2, node.span); }, - visitInterpolatedFunctionExpression$1(node) { + visitInterpolatedFunctionExpression$1(_, node) { return new A.InterpolatedFunctionExpression(this.visitInterpolation$1(node.name), this.visitArgumentInvocation$1(node.$arguments), node.span); }, - visitIfExpression$1(node) { + visitIfExpression$1(_, node) { return new A.IfExpression(this.visitArgumentInvocation$1(node.$arguments), node.span); }, - visitListExpression$1(node) { + visitListExpression$1(_, node) { var t1 = node.contents; return new A.ListExpression(A.List_List$unmodifiable(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitListExpression_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Expression>")), type$.Expression), node.separator, node.hasBrackets, node.span); }, - visitMapExpression$1(node) { + visitMapExpression$1(_, node) { var t2, t3, _i, t4, key, value, t1 = A._setArrayType([], type$.JSArray_Record_2_Expression_and_Expression); for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) { @@ -76213,31 +80624,31 @@ self.util = _cliPkgRequires.util; } return new A.MapExpression(A.List_List$unmodifiable(t1, type$.Record_2_Expression_and_Expression), node.span); }, - visitNullExpression$1(node) { + visitNullExpression$1(_, node) { return node; }, - visitNumberExpression$1(node) { + visitNumberExpression$1(_, node) { return node; }, - visitParenthesizedExpression$1(node) { + visitParenthesizedExpression$1(_, node) { return new A.ParenthesizedExpression(node.expression.accept$1(this), node.span); }, - visitSelectorExpression$1(node) { + visitSelectorExpression$1(_, node) { return node; }, - visitStringExpression$1(node) { + visitStringExpression$1(_, node) { return new A.StringExpression(this.visitInterpolation$1(node.text), node.hasQuotes); }, - visitSupportsExpression$1(node) { + visitSupportsExpression$1(_, node) { return new A.SupportsExpression(this.visitSupportsCondition$1(node.condition)); }, - visitUnaryOperationExpression$1(node) { + visitUnaryOperationExpression$1(_, node) { return new A.UnaryOperationExpression(node.operator, node.operand.accept$1(this), node.span); }, - visitValueExpression$1(node) { + visitValueExpression$1(_, node) { return node; }, - visitVariableExpression$1(node) { + visitVariableExpression$1(_, node) { return node; }, visitArgumentInvocation$1(invocation) { @@ -76271,26 +80682,26 @@ self.util = _cliPkgRequires.util; }, visitInterpolation$1(interpolation) { var t1 = interpolation.contents; - return A.Interpolation$(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitInterpolation_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>")), interpolation.span); + return A.Interpolation$(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitInterpolation_closure(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>")), interpolation.spans, interpolation.span); } }; A.ReplaceExpressionVisitor_visitListExpression_closure.prototype = { call$1(item) { return item.accept$1(this.$this); }, - $signature: 265 + $signature: 147 }; A.ReplaceExpressionVisitor_visitArgumentInvocation_closure.prototype = { call$1(expression) { return expression.accept$1(this.$this); }, - $signature: 265 + $signature: 147 }; A.ReplaceExpressionVisitor_visitInterpolation_closure.prototype = { call$1(node) { - return type$.Expression._is(node) ? node.accept$1(this.$this) : node; + return node instanceof A.Expression ? node.accept$1(this.$this) : node; }, - $signature: 64 + $signature: 79 }; A.SelectorSearchVisitor.prototype = { visitAttributeSelector$1(attribute) { @@ -76347,7 +80758,7 @@ self.util = _cliPkgRequires.util; call$1(codeUnit) { return codeUnit > 127; }, - $signature: 45 + $signature: 47 }; A._SerializeVisitor.prototype = { visitCssStylesheet$1(node) { @@ -76484,7 +80895,21 @@ self.util = _cliPkgRequires.util; _this._serialize$_visitChildren$1(node); }, visitCssDeclaration$1(node) { - var error, stackTrace, error0, stackTrace0, t1, t2, exception, _this = this; + var error, stackTrace, error0, stackTrace0, t3, declSpecificities, t4, t5, t6, t7, _i, rule, ruleSpecificities, exception, _this = this, + t1 = node.interleavedRules, + t2 = t1.length; + if (t2 !== 0) { + t3 = node._parent; + t3.toString; + declSpecificities = _this._specificities$1(t3); + for (t3 = _this._serialize$_logger, t4 = node.span, t5 = type$.SourceSpan, t6 = type$.String, t7 = node.trace, _i = 0; _i < t2; ++_i) { + rule = t1[_i]; + ruleSpecificities = _this._specificities$1(rule); + if (!declSpecificities.any$1(0, ruleSpecificities.get$contains(ruleSpecificities))) + continue; + A.WarnForDeprecation_warnForDeprecation(t3, B.Deprecation_u1l, string$.Sassx27s, new A.MultiSpan(t4, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([rule.span, "nested rule"], t5, t6), t5, t6)), t7); + } + } _this._writeIndentation$0(); t1 = node.name; _this._serialize$_write$1(t1); @@ -76513,6 +80938,23 @@ self.util = _cliPkgRequires.util; } } }, + _specificities$1(node) { + var $parent, t2, t3, _i, + t1 = this.get$_specificities(); + if (node instanceof A.ModifiableCssStyleRule) { + t1 = A.NullableExtension_andThen(node._parent, t1); + $parent = t1 == null ? null : A.IterableIntegerExtension_get_max(t1); + if ($parent == null) + $parent = 0; + t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.int); + for (t2 = node._style_rule$_selector._box$_inner.value.components, t3 = t2.length, _i = 0; _i < t3; ++_i) + t1.add$1(0, $parent + t2[_i].get$specificity()); + return t1; + } else { + t1 = A.NullableExtension_andThen(node.get$parent(node), t1); + return t1 == null ? B.Set_0 : t1; + } + }, _writeFoldedValue$1(node) { var t1, t2, next, t3, scanner = A.StringScanner$(type$.SassString._as(node.value.value)._string$_text, null, null); @@ -76646,7 +81088,7 @@ self.util = _cliPkgRequires.util; t1.writeCharCode$1(41); }, _writeCalculationValue$1(value) { - var _2_4_isSet, _2_4, t1, _0_0, _1_0, first, rest, operator, left, right, parenthesizeLeft, operatorWhitespace, t2, parenthesizeRight, _this = this, _null = null; + var _2_4_isSet, _2_4, t1, _0_0, _1_0, first, rest, left, right, operator, parenthesizeLeft, operatorWhitespace, parenthesizeRight, t2, _this = this, _null = null; $label1$1: { _2_4_isSet = value instanceof A.SassNumber; if (_2_4_isSet) { @@ -76698,16 +81140,15 @@ self.util = _cliPkgRequires.util; break $label1$1; } t1 = value instanceof A.CalculationOperation; + left = _null; + right = _null; if (t1) { operator = value._operator; left = value._left; right = value._right; right = right; - } else { - right = _null; - left = right; - operator = left; - } + } else + operator = _null; if (t1) { parenthesizeLeft = left instanceof A.CalculationOperation && left._operator.precedence < operator.precedence; if (parenthesizeLeft) @@ -76722,16 +81163,16 @@ self.util = _cliPkgRequires.util; t1.write$1(0, operator.operator); if (operatorWhitespace) t1.writeCharCode$1(32); - if (!(right instanceof A.CalculationOperation && _this._parenthesizeCalculationRhs$2(operator, right._operator))) + if (!(right instanceof A.CalculationOperation && _this._parenthesizeCalculationRhs$2(operator, right._operator))) { + parenthesizeRight = false; if (operator === B.CalculationOperator_Qf1) { if (right instanceof A.SassNumber) t2 = isFinite(right._number$_value) ? right.get$hasComplexUnits() : right.get$hasUnits(); else - t2 = false; + t2 = parenthesizeRight; parenthesizeRight = t2; - } else - parenthesizeRight = false; - else + } + } else parenthesizeRight = true; if (parenthesizeRight) t1.writeCharCode$1(40); @@ -76781,128 +81222,476 @@ self.util = _cliPkgRequires.util; return t1; }, visitColor$1(value) { - var hexLength, _0_0, t1, $name, _1_0, opaque, t2, _3_0, _this = this; - if (_this._style === B.OutputStyle_1) - if (!A.fuzzyEquals(value._alpha, 1)) - _this._writeRgb$1(value); - else { - hexLength = _this._canUseShortHex$1(value) ? 4 : 7; - _0_0 = $.$get$namesByColor().$index(0, value); - if (_0_0 != null) { - t1 = _0_0.length <= hexLength; - $name = _0_0; - } else { - $name = null; - t1 = false; - } - if (t1) - _this._serialize$_buffer.write$1(0, $name); - else { - t1 = _this._serialize$_buffer; - if (_this._canUseShortHex$1(value)) { - t1.writeCharCode$1(35); - t1.writeCharCode$1(A.hexCharFor(value.get$red(0) & 15)); - t1.writeCharCode$1(A.hexCharFor(value.get$green(0) & 15)); - t1.writeCharCode$1(A.hexCharFor(value.get$blue(0) & 15)); - } else { - t1.writeCharCode$1(35); - _this._writeHexComponent$1(value.get$red(0)); - _this._writeHexComponent$1(value.get$green(0)); - _this._writeHexComponent$1(value.get$blue(0)); - } + var _0_0, _0_2, _0_6, t1, _0_4, _0_6_isSet, t2, _0_10_isSet, _0_10, _0_12_isSet, _0_14, _0_12, _0_14_isSet, t3, _0_10_isSet0, polar, t4, t5, _this = this, _null = null; + $label0$0: { + _0_0 = value._space; + _0_2 = B.RgbColorSpace_mlz === _0_0; + _0_6 = _null; + t1 = true; + if (!_0_2) { + _0_4 = B.HslColorSpace_gsm === _0_0; + _0_6_isSet = !_0_4; + if (_0_6_isSet) { + _0_6 = B.HwbColorSpace_06z === _0_0; + t1 = _0_6; } + } else { + _0_4 = _null; + _0_6_isSet = false; } - else { - _1_0 = value.format; - if (_1_0 != null) - $label0$0: { - if (B._ColorFormatEnum_rgbFunction === _1_0) { - _this._writeRgb$1(value); - break $label0$0; - } - if (B._ColorFormatEnum_hslFunction === _1_0) { - t1 = value._alpha; - opaque = A.fuzzyEquals(t1, 1); - t2 = _this._serialize$_buffer; - t2.write$1(0, opaque ? "hsl(" : "hsla("); - _this._writeNumber$1(value.get$hue(0)); - t2.write$1(0, ", "); - _this._writeNumber$1(value.get$saturation(0)); - t2.writeCharCode$1(37); - t2.write$1(0, ", "); - _this._writeNumber$1(value.get$lightness(0)); - t2.writeCharCode$1(37); - if (!opaque) { - t2.write$1(0, ", "); - _this._writeNumber$1(t1); - } - t2.writeCharCode$1(41); - break $label0$0; - } - if (_1_0 instanceof A.SpanColorFormat) { - _this._serialize$_buffer.write$1(0, _1_0._color$_span.get$text()); - break $label0$0; - } - } - else { - _3_0 = $.$get$namesByColor().$index(0, value); - if (_3_0 != null) { - t1 = !A.fuzzyEquals(value._alpha, 0); - $name = _3_0; - } else { - $name = null; - t1 = false; - } - if (t1) - _this._serialize$_buffer.write$1(0, $name); - else if (A.fuzzyEquals(value._alpha, 1)) { - _this._serialize$_buffer.writeCharCode$1(35); - _this._writeHexComponent$1(value.get$red(0)); - _this._writeHexComponent$1(value.get$green(0)); - _this._writeHexComponent$1(value.get$blue(0)); + if (t1 && value.channel0OrNull != null && value.channel1OrNull != null && value.channel2OrNull != null && value.alphaOrNull != null) { + _this._writeLegacyColor$1(value); + break $label0$0; + } + if (_0_2) { + t1 = _this._serialize$_buffer; + t1.write$1(0, "rgb("); + _this._writeChannel$1(value.channel0OrNull); + t1.writeCharCode$1(32); + _this._writeChannel$1(value.channel1OrNull); + t1.writeCharCode$1(32); + _this._writeChannel$1(value.channel2OrNull); + _this._maybeWriteSlashAlpha$1(value); + t1.writeCharCode$1(41); + break $label0$0; + } + if (!_0_4) + t1 = _0_6_isSet ? _0_6 : B.HwbColorSpace_06z === _0_0; + else + t1 = true; + if (t1) { + t1 = _this._serialize$_buffer; + t1.write$1(0, _0_0); + t1.writeCharCode$1(40); + t2 = _this._style === B.OutputStyle_1 ? _null : "deg"; + _this._writeChannel$2(value.channel0OrNull, t2); + t1.writeCharCode$1(32); + _this._writeChannel$2(value.channel1OrNull, "%"); + t1.writeCharCode$1(32); + _this._writeChannel$2(value.channel2OrNull, "%"); + _this._maybeWriteSlashAlpha$1(value); + t1.writeCharCode$1(41); + break $label0$0; + } + _0_10_isSet = B.LabColorSpace_IF2 !== _0_0; + if (_0_10_isSet) { + _0_10 = B.LchColorSpace_wv8 === _0_0; + t1 = _0_10; + } else { + _0_10 = _null; + t1 = true; + } + t2 = false; + if (t1) + if (!_this._inspect) { + t1 = value.channel0OrNull; + if (t1 == null) + t1 = 0; + if (t1 > 0 || A.fuzzyEquals(t1, 0)) + t1 = t1 < 100 || A.fuzzyEquals(t1, 100); + else + t1 = false; + t1 = !t1 && value.channel1OrNull != null && value.channel2OrNull != null; } else - _this._writeRgb$1(value); + t1 = t2; + else + t1 = t2; + _0_12_isSet = !t1; + _0_14 = _null; + if (_0_12_isSet) { + _0_12 = B.OklabColorSpace_yrt === _0_0; + t1 = false; + _0_14_isSet = !_0_12; + if (_0_14_isSet) { + _0_14 = B.OklchColorSpace_li8 === _0_0; + t2 = _0_14; + } else + t2 = true; + t3 = false; + if (t2) + if (!_this._inspect) { + t2 = value.channel0OrNull; + if (t2 == null) + t2 = 0; + if (t2 > 0 || A.fuzzyEquals(t2, 0)) + t2 = t2 < 1 || A.fuzzyEquals(t2, 1); + else + t2 = false; + t2 = !t2 && value.channel1OrNull != null && value.channel2OrNull != null; + } else + t2 = t3; + else + t2 = t3; + if (!t2) { + if (_0_10_isSet) { + t2 = _0_10; + _0_10_isSet0 = _0_10_isSet; + } else { + _0_10 = B.LchColorSpace_wv8 === _0_0; + t2 = _0_10; + _0_10_isSet0 = true; + } + if (!t2) + if (_0_14_isSet) + t2 = _0_14; + else { + _0_14 = B.OklchColorSpace_li8 === _0_0; + t2 = _0_14; + _0_14_isSet = true; + } + else + t2 = true; + if (t2) + if (!_this._inspect) { + t1 = value.channel1OrNull; + t2 = t1 == null; + if (t2) + t1 = 0; + t1 = t1 < 0 && !A.fuzzyEquals(t1, 0) && value.channel0OrNull != null && !t2; + } + } else { + _0_10_isSet0 = _0_10_isSet; + t1 = true; + } + } else { + _0_12 = _null; + _0_10_isSet0 = _0_10_isSet; + _0_14_isSet = false; + t1 = true; + } + if (t1) { + t1 = _this._serialize$_buffer; + t1.write$1(0, "color-mix(in "); + t1.write$1(0, _0_0); + t2 = _this._style === B.OutputStyle_1; + t1.write$1(0, t2 ? "," : ", "); + _this._writeColorFunction$1(value.toSpace$1(B.XyzD65ColorSpace_4CA)); + if (!t2) + t1.writeCharCode$1(32); + t1.write$1(0, "100%"); + t1.write$1(0, t2 ? "," : ", "); + t1.write$1(0, t2 ? "red" : "black"); + t1.writeCharCode$1(41); + break $label0$0; + } + t1 = true; + if (_0_10_isSet) + if (!(_0_12_isSet ? _0_12 : B.OklabColorSpace_yrt === _0_0)) + if (!(_0_10_isSet0 ? _0_10 : B.LchColorSpace_wv8 === _0_0)) + t1 = _0_14_isSet ? _0_14 : B.OklchColorSpace_li8 === _0_0; + if (t1) { + t1 = _this._serialize$_buffer; + t1.write$1(0, _0_0); + t1.writeCharCode$1(40); + t2 = _0_0._channels; + polar = t2[2].isPolarAngle; + t3 = false; + if (!_this._inspect) { + t4 = value.channel0OrNull; + if (t4 == null) + t4 = 0; + if (t4 > 0 || A.fuzzyEquals(t4, 0)) + t4 = t4 < 100 || A.fuzzyEquals(t4, 100); + else + t4 = false; + if (t4) { + if (polar) { + t3 = value.channel1OrNull; + if (t3 == null) + t3 = 0; + t3 = t3 < 0 && !A.fuzzyEquals(t3, 0); + } + } else + t3 = true; + } + if (t3) { + t1.write$1(0, "from "); + t1.write$1(0, _this._style === B.OutputStyle_1 ? "red" : "black"); + t1.writeCharCode$1(32); + } + t3 = _this._style !== B.OutputStyle_1; + t4 = t3 && value.channel0OrNull != null; + t5 = value.channel0OrNull; + if (t4) { + t2 = type$.LinearChannel._as(t2[0]); + _this._writeNumber$1((t5 == null ? 0 : t5) * 100 / t2.max); + t1.writeCharCode$1(37); + } else + _this._writeChannel$1(t5); + t1.writeCharCode$1(32); + _this._writeChannel$1(value.channel1OrNull); + t1.writeCharCode$1(32); + t2 = polar && t3 ? "deg" : _null; + _this._writeChannel$2(value.channel2OrNull, t2); + _this._maybeWriteSlashAlpha$1(value); + t1.writeCharCode$1(41); + break $label0$0; + } + _this._writeColorFunction$1(value); + } + }, + _writeChannel$2(channel, unit) { + var _this = this; + if (channel == null) + _this._serialize$_buffer.write$1(0, "none"); + else if (isFinite(channel)) { + _this._writeNumber$1(channel); + if (unit != null) + _this._serialize$_buffer.write$1(0, unit); + } else + _this.visitNumber$1(A.SassNumber_SassNumber(channel, unit)); + }, + _writeChannel$1(channel) { + return this._writeChannel$2(channel, null); + }, + _writeLegacyColor$1(color) { + var rgb, t3, red, green, blue, hsl, hue, saturation, lightness, hwb, _0_0, format, _1_0, _this = this, + t1 = color.alphaOrNull, + t2 = t1 == null, + opaque = A.fuzzyEquals(t2 ? 0 : t1, 1); + if (!color.get$isInGamut() && !_this._inspect) { + _this._writeHsl$1(color); + return; + } + if (_this._style === B.OutputStyle_1) { + rgb = color.toSpace$1(B.RgbColorSpace_mlz); + if (opaque && _this._tryIntegerRgb$1(rgb)) + return; + t3 = rgb.channel0OrNull; + red = _this._writeNumberToString$1(t3 == null ? 0 : t3); + t3 = rgb.channel1OrNull; + green = _this._writeNumberToString$1(t3 == null ? 0 : t3); + t3 = rgb.channel2OrNull; + blue = _this._writeNumberToString$1(t3 == null ? 0 : t3); + hsl = color.toSpace$1(B.HslColorSpace_gsm); + t3 = hsl.channel0OrNull; + hue = _this._writeNumberToString$1(t3 == null ? 0 : t3); + t3 = hsl.channel1OrNull; + saturation = _this._writeNumberToString$1(t3 == null ? 0 : t3); + t3 = hsl.channel2OrNull; + lightness = _this._writeNumberToString$1(t3 == null ? 0 : t3); + t3 = _this._serialize$_buffer; + if (red.length + green.length + blue.length <= hue.length + saturation.length + lightness.length + 2) { + t3.write$1(0, opaque ? "rgb(" : "rgba("); + t3.write$1(0, red); + t3.writeCharCode$1(44); + t3.write$1(0, green); + t3.writeCharCode$1(44); + t3.write$1(0, blue); + } else { + t3.write$1(0, opaque ? "hsl(" : "hsla("); + t3.write$1(0, hue); + t3.writeCharCode$1(44); + t3.write$1(0, saturation); + t3.write$1(0, "%,"); + t3.write$1(0, lightness); + t3.writeCharCode$1(37); + } + if (!opaque) { + t3.writeCharCode$1(44); + _this._writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + return; + } + t3 = color._space; + if (t3 === B.HslColorSpace_gsm) { + _this._writeHsl$1(color); + return; + } else if (_this._inspect && t3 === B.HwbColorSpace_06z) { + t3 = _this._serialize$_buffer; + t3.write$1(0, "hwb("); + hwb = color.toSpace$1(B.HwbColorSpace_06z); + _this._writeNumber$1(hwb.channel$1(0, "hue")); + t3.writeCharCode$1(32); + _this._writeNumber$1(hwb.channel$1(0, "whiteness")); + t3.writeCharCode$1(37); + t3.writeCharCode$1(32); + _this._writeNumber$1(hwb.channel$1(0, "blackness")); + t3.writeCharCode$1(37); + if (!A.fuzzyEquals(t2 ? 0 : t1, 1)) { + t3.write$1(0, " / "); + _this._writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + return; + } + _0_0 = color.format; + if (B.C__ColorFormatEnum === _0_0) { + _this._writeRgb$1(color); + return; + } + t1 = _0_0 instanceof A.SpanColorFormat; + format = t1 ? _0_0 : null; + if (t1) { + t1 = format._color$_span; + _this._serialize$_buffer.write$1(0, A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null)); + return; + } + if (opaque) { + rgb = color.toSpace$1(B.RgbColorSpace_mlz); + _1_0 = $.$get$namesByColor().$index(0, rgb); + if (_1_0 != null) { + _this._serialize$_buffer.write$1(0, _1_0); + return; + } + if (_this._canUseHex$1(rgb)) { + _this._serialize$_buffer.writeCharCode$1(35); + t1 = rgb.channel0OrNull; + _this._writeHexComponent$1(B.JSNumber_methods.round$0(t1 == null ? 0 : t1)); + t1 = rgb.channel1OrNull; + _this._writeHexComponent$1(B.JSNumber_methods.round$0(t1 == null ? 0 : t1)); + t1 = rgb.channel2OrNull; + _this._writeHexComponent$1(B.JSNumber_methods.round$0(t1 == null ? 0 : t1)); + return; } } + if (t3 === B.HwbColorSpace_06z) + _this._writeHsl$1(color); + else + _this._writeRgb$1(color); }, - _writeRgb$1(value) { - var t3, - t1 = value._alpha, - opaque = A.fuzzyEquals(t1, 1), - t2 = this._serialize$_buffer; - t2.write$1(0, opaque ? "rgb(" : "rgba("); - t2.write$1(0, value.get$red(0)); - t3 = this._style === B.OutputStyle_1; - t2.write$1(0, t3 ? "," : ", "); - t2.write$1(0, value.get$green(0)); - t2.write$1(0, t3 ? "," : ", "); - t2.write$1(0, value.get$blue(0)); - if (!opaque) { - t2.write$1(0, t3 ? "," : ", "); - this._writeNumber$1(t1); - } - t2.writeCharCode$1(41); - }, - _canUseShortHex$1(color) { - var t1 = color.get$red(0); - if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) { - t1 = color.get$green(0); - if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) { - t1 = color.get$blue(0); - t1 = (t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4); - } else - t1 = false; + _tryIntegerRgb$1(rgb) { + var t1, redInt, greenInt, blueInt, shortHex, _0_0, t2, t3, $name, _this = this; + if (!_this._canUseHex$1(rgb)) + return false; + t1 = rgb.channel0OrNull; + redInt = B.JSNumber_methods.round$0(t1 == null ? 0 : t1); + t1 = rgb.channel1OrNull; + greenInt = B.JSNumber_methods.round$0(t1 == null ? 0 : t1); + t1 = rgb.channel2OrNull; + blueInt = B.JSNumber_methods.round$0(t1 == null ? 0 : t1); + t1 = redInt & 15; + shortHex = t1 === B.JSInt_methods._shrOtherPositive$1(redInt, 4) && (greenInt & 15) === B.JSInt_methods._shrOtherPositive$1(greenInt, 4) && (blueInt & 15) === B.JSInt_methods._shrOtherPositive$1(blueInt, 4); + _0_0 = $.$get$namesByColor().$index(0, rgb); + t2 = false; + if (_0_0 != null) { + t3 = _0_0.length; + t2 = t3 <= (shortHex ? 4 : 7); + $name = _0_0; } else + $name = null; + if (t2) + _this._serialize$_buffer.write$1(0, $name); + else { + t2 = _this._serialize$_buffer; + if (shortHex) { + t2.writeCharCode$1(35); + t2.writeCharCode$1(A.hexCharFor(t1)); + t2.writeCharCode$1(A.hexCharFor(greenInt & 15)); + t2.writeCharCode$1(A.hexCharFor(blueInt & 15)); + } else { + t2.writeCharCode$1(35); + _this._writeHexComponent$1(redInt); + _this._writeHexComponent$1(greenInt); + _this._writeHexComponent$1(blueInt); + } + } + return true; + }, + _canUseHex$1(rgb) { + var t2, + t1 = rgb.channel0OrNull; + if (t1 == null) + t1 = 0; + if (A.fuzzyIsInt(t1)) + t1 = (t1 > 0 || A.fuzzyEquals(t1, 0)) && t1 < 256 && !A.fuzzyEquals(t1, 256); + else t1 = false; + t2 = false; + if (t1) { + t1 = rgb.channel1OrNull; + if (t1 == null) + t1 = 0; + if (A.fuzzyIsInt(t1)) + t1 = (t1 > 0 || A.fuzzyEquals(t1, 0)) && t1 < 256 && !A.fuzzyEquals(t1, 256); + else + t1 = false; + if (t1) { + t1 = rgb.channel2OrNull; + if (t1 == null) + t1 = 0; + if (A.fuzzyIsInt(t1)) + t1 = (t1 > 0 || A.fuzzyEquals(t1, 0)) && t1 < 256 && !A.fuzzyEquals(t1, 256); + else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; return t1; }, + _writeRgb$1(color) { + var t4, _this = this, + t1 = color.alphaOrNull, + t2 = t1 == null, + opaque = A.fuzzyEquals(t2 ? 0 : t1, 1), + rgb = color.toSpace$1(B.RgbColorSpace_mlz), + t3 = _this._serialize$_buffer; + t3.write$1(0, opaque ? "rgb(" : "rgba("); + _this._writeNumber$1(rgb.channel$1(0, "red")); + t4 = _this._style === B.OutputStyle_1; + t3.write$1(0, t4 ? "," : ", "); + _this._writeNumber$1(rgb.channel$1(0, "green")); + t3.write$1(0, t4 ? "," : ", "); + _this._writeNumber$1(rgb.channel$1(0, "blue")); + if (!opaque) { + t3.write$1(0, t4 ? "," : ", "); + _this._writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + }, + _writeHsl$1(color) { + var t4, _this = this, + t1 = color.alphaOrNull, + t2 = t1 == null, + opaque = A.fuzzyEquals(t2 ? 0 : t1, 1), + hsl = color.toSpace$1(B.HslColorSpace_gsm), + t3 = _this._serialize$_buffer; + t3.write$1(0, opaque ? "hsl(" : "hsla("); + _this._writeChannel$1(hsl.channel$1(0, "hue")); + t4 = _this._style === B.OutputStyle_1; + t3.write$1(0, t4 ? "," : ", "); + _this._writeChannel$2(hsl.channel$1(0, "saturation"), "%"); + t3.write$1(0, t4 ? "," : ", "); + _this._writeChannel$2(hsl.channel$1(0, "lightness"), "%"); + if (!opaque) { + t3.write$1(0, t4 ? "," : ", "); + _this._writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + }, + _writeColorFunction$1(color) { + var _this = this, + t1 = _this._serialize$_buffer; + t1.write$1(0, "color("); + t1.write$1(0, color._space); + t1.writeCharCode$1(32); + _this._writeBetween$3(color.get$channelsOrNull(), " ", _this.get$_writeChannel()); + _this._maybeWriteSlashAlpha$1(color); + t1.writeCharCode$1(41); + }, _writeHexComponent$1(color) { var t1 = this._serialize$_buffer; t1.writeCharCode$1(A.hexCharFor(B.JSInt_methods._shrOtherPositive$1(color, 4))); t1.writeCharCode$1(A.hexCharFor(color & 15)); }, + _maybeWriteSlashAlpha$1(color) { + var t2, t3, _this = this, + t1 = color.alphaOrNull; + if (A.fuzzyEquals(t1 == null ? 0 : t1, 1)) + return; + t2 = _this._style !== B.OutputStyle_1; + if (t2) + _this._serialize$_buffer.writeCharCode$1(32); + t3 = _this._serialize$_buffer; + t3.writeCharCode$1(47); + if (t2) + t3.writeCharCode$1(32); + _this._writeChannel$1(t1); + }, visitList$1(value) { - var t2, t3, singleton, t4, t5, _this = this, + var t2, singleton, t3, t4, t5, _this = this, t1 = value._hasBrackets; if (t1) _this._serialize$_buffer.writeCharCode$1(91); @@ -76913,15 +81702,13 @@ self.util = _cliPkgRequires.util; return; } t2 = _this._inspect; + singleton = false; if (t2) if (value._list$_contents.length === 1) { t3 = value._separator; t3 = t3 === B.ListSeparator_ECn || t3 === B.ListSeparator_cQA; singleton = t3; - } else - singleton = false; - else - singleton = false; + } if (singleton && !t1) _this._serialize$_buffer.writeCharCode$1(40); t3 = value._list$_contents; @@ -77027,21 +81814,30 @@ self.util = _cliPkgRequires.util; _this._serialize$_buffer.write$1(0, _1_0[0]); } }, - _writeNumber$1(number) { - var text, _this = this, - _0_0 = A.fuzzyAsInt(number); + _writeNumberToString$1(number) { + var t1 = new A.StringBuffer(""); + this._writeNumber$2(number, new A.NoSourceMapBuffer(t1)); + t1 = t1._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _writeNumber$2(number, buffer) { + var _0_0, text, _this = this; + if (buffer == null) + buffer = _this._serialize$_buffer; + _0_0 = A.fuzzyAsInt(number); if (_0_0 != null) { - _this._serialize$_buffer.write$1(0, _this._removeExponent$1(B.JSInt_methods.toString$0(_0_0))); + buffer.write$1(0, _this._removeExponent$1(B.JSInt_methods.toString$0(_0_0))); return; } text = _this._removeExponent$1(B.JSNumber_methods.toString$0(number)); if (text.length < 12) { - if (_this._style === B.OutputStyle_1 && text.charCodeAt(0) === 48) - text = B.JSString_methods.substring$1(text, 1); - _this._serialize$_buffer.write$1(0, text); + buffer.write$1(0, _this._style === B.OutputStyle_1 && text.charCodeAt(0) === 48 ? B.JSString_methods.substring$1(text, 1) : text); return; } - _this._writeRounded$1(text); + _this._writeRounded$2(text, buffer); + }, + _writeNumber$1(number) { + return this._writeNumber$2(number, null); }, _removeExponent$1(text) { var buffer, t2, t3, additionalZeroes, @@ -77105,10 +81901,10 @@ self.util = _cliPkgRequires.util; return t2.charCodeAt(0) == 0 ? t2 : t2; } }, - _writeRounded$1(text) { - var t1, digits, negative, textIndex, digitsIndex, textIndex0, codeUnit, digitsIndex0, indexAfterPrecision, digitsIndex1, newDigit, writtenIndex, t2, _this = this; + _writeRounded$2(text, buffer) { + var t1, digits, negative, textIndex, digitsIndex, textIndex0, codeUnit, digitsIndex0, indexAfterPrecision, digitsIndex1, newDigit, writtenIndex; if (B.JSString_methods.endsWith$1(text, ".0")) { - _this._serialize$_buffer.write$1(0, B.JSString_methods.substring$2(text, 0, text.length - 2)); + buffer.write$1(0, B.JSString_methods.substring$2(text, 0, text.length - 2)); return; } t1 = text.length; @@ -77117,7 +81913,7 @@ self.util = _cliPkgRequires.util; textIndex = negative ? 1 : 0; for (digitsIndex = 1; true; textIndex = textIndex0, digitsIndex = digitsIndex0) { if (textIndex === t1) { - _this._serialize$_buffer.write$1(0, text); + buffer.write$1(0, text); return; } textIndex0 = textIndex + 1; @@ -77131,7 +81927,7 @@ self.util = _cliPkgRequires.util; } indexAfterPrecision = textIndex + 10; if (indexAfterPrecision >= t1) { - _this._serialize$_buffer.write$1(0, text); + buffer.write$1(0, text); return; } for (digitsIndex0 = digitsIndex; textIndex < indexAfterPrecision; textIndex = textIndex0, digitsIndex0 = digitsIndex1) { @@ -77156,21 +81952,21 @@ self.util = _cliPkgRequires.util; --digitsIndex0; } if (digitsIndex0 === 2 && digits[0] === 0 && digits[1] === 0) { - _this._serialize$_buffer.writeCharCode$1(48); + buffer.writeCharCode$1(48); return; } if (negative) - _this._serialize$_buffer.writeCharCode$1(45); + buffer.writeCharCode$1(45); if (digits[0] === 0) - writtenIndex = _this._style === B.OutputStyle_1 && digits[1] === 0 ? 2 : 1; + writtenIndex = this._style === B.OutputStyle_1 && digits[1] === 0 ? 2 : 1; else writtenIndex = 0; - for (t2 = _this._serialize$_buffer; writtenIndex < digitsIndex; ++writtenIndex) - t2.writeCharCode$1(48 + digits[writtenIndex]); + for (; writtenIndex < digitsIndex; ++writtenIndex) + buffer.writeCharCode$1(48 + digits[writtenIndex]); if (t1) { - t2.writeCharCode$1(46); + buffer.writeCharCode$1(46); for (; writtenIndex < digitsIndex0; ++writtenIndex) - t2.writeCharCode$1(48 + digits[writtenIndex]); + buffer.writeCharCode$1(48 + digits[writtenIndex]); } }, _visitQuotedString$2$forceDoubleQuote(string, forceDoubleQuote) { @@ -77388,16 +82184,14 @@ self.util = _cliPkgRequires.util; t1.write$1(0, placeholder.name); }, visitPseudoSelector$1(pseudo) { - var _0_4, t2, t3, - t1 = pseudo.name; + var _0_4, t3, + t1 = pseudo.name, + t2 = false; if ("not" === t1) { _0_4 = pseudo.selector; if (_0_4 instanceof A.SelectorList) t2 = (_0_4 == null ? type$.SelectorList._as(_0_4) : _0_4).accept$1(B._IsInvisibleVisitor_true); - else - t2 = false; - } else - t2 = false; + } if (t2) return; t2 = this._serialize$_buffer; @@ -77485,40 +82279,42 @@ self.util = _cliPkgRequires.util; return type$.CssParentNode._is(node) ? node.get$isChildless() : !(node instanceof A.ModifiableCssComment); }, _isTrailingComment$2(node, previous) { - var t1, t2, t3, searchFrom, endOffset, t4, span; + var t1, t2, t3, t4, searchFrom, endOffset, t5, span; if (this._style === B.OutputStyle_1) return false; if (!(node instanceof A.ModifiableCssComment)) return false; t1 = node.span; - t2 = t1.get$sourceUrl(t1); - t3 = previous.get$span(previous); - if (!J.$eq$(t2, t3.get$sourceUrl(t3))) + t2 = t1.file; + t3 = t2.url; + t4 = previous.get$span(previous); + if (!J.$eq$(t3, t4.get$sourceUrl(t4))) return false; - t2 = previous.get$span(previous); - if (!(J.$eq$(t2.get$file(t2).url, t1.get$file(t1).url) && t2.get$start(t2).offset <= t1.get$start(t1).offset && t2.get$end(t2).offset >= t1.get$end(t1).offset)) { - t1 = t1.get$start(t1); + t4 = previous.get$span(previous); + if (!(J.$eq$(t4.get$file(t4).url, t3) && t4.get$start(t4).offset <= A.FileLocation$_(t2, t1._file$_start).offset && t4.get$end(t4).offset >= A.FileLocation$_(t2, t1._end).offset)) { + t1 = A.FileLocation$_(t2, t1._file$_start); t1 = t1.file.getLine$1(t1.offset); t2 = previous.get$span(previous); t2 = t2.get$end(t2); return t1 === t2.file.getLine$1(t2.offset); } - t2 = t1.get$start(t1); - t3 = previous.get$span(previous); - searchFrom = t2.offset - t3.get$start(t3).offset - 1; + t1 = t1._file$_start; + t3 = A.FileLocation$_(t2, t1); + t4 = previous.get$span(previous); + searchFrom = t3.offset - t4.get$start(t4).offset - 1; if (searchFrom < 0) return false; endOffset = Math.max(0, B.JSString_methods.lastIndexOf$2(previous.get$span(previous).get$text(), "{", searchFrom)); - t2 = previous.get$span(previous); - t2 = t2.get$file(t2); t3 = previous.get$span(previous); - t3 = t3.get$start(t3); + t3 = t3.get$file(t3); t4 = previous.get$span(previous); - span = t2.span$2(0, t3.offset, t4.get$start(t4).offset + endOffset); - t1 = t1.get$start(t1); + t4 = t4.get$start(t4); + t5 = previous.get$span(previous); + span = t3.span$2(0, t4.offset, t5.get$start(t5).offset + endOffset); + t1 = A.FileLocation$_(t2, t1); t1 = t1.file.getLine$1(t1.offset); - t4 = A.FileLocation$_(span.file, span._end); - return t1 === t4.file.getLine$1(t4.offset); + t2 = A.FileLocation$_(span.file, span._end); + return t1 === t2.file.getLine$1(t2.offset); }, _writeLineFeed$0() { if (this._style !== B.OutputStyle_1) @@ -77563,7 +82359,7 @@ self.util = _cliPkgRequires.util; _0_0 = t1._minimumIndentation$1(t3); if (_0_0 != null) { t2 = t2.span; - t2 = t2.get$start(t2); + t2 = A.FileLocation$_(t2.file, t2._file$_start); minimumIndentation = Math.min(_0_0, t2.file.getColumn$1(t2.offset)); t1._writeIndentation$0(); t1._writeWithIndent$2(t3, minimumIndentation); @@ -77599,17 +82395,13 @@ self.util = _cliPkgRequires.util; t3 = this.node.queries; firstQuery = B.JSArray_methods.get$first(t3); t4 = t1._style === B.OutputStyle_1; + t5 = true; if (t4) if (firstQuery.modifier == null) if (firstQuery.type == null) { t5 = firstQuery.conditions; t5 = t5.length === 1 && J.startsWith$1$s(B.JSArray_methods.get$first(t5), "(not "); - } else - t5 = true; - else - t5 = true; - else - t5 = true; + } if (t5) t2.writeCharCode$1(32); t2 = t4 ? "," : ", "; @@ -77690,7 +82482,7 @@ self.util = _cliPkgRequires.util; call$1(element) { return !element.get$isBlank(); }, - $signature: 73 + $signature: 77 }; A._SerializeVisitor_visitList_closure0.prototype = { call$1(element) { @@ -77702,13 +82494,13 @@ self.util = _cliPkgRequires.util; if (needsParens) t1._serialize$_buffer.writeCharCode$1(41); }, - $signature: 58 + $signature: 60 }; A._SerializeVisitor_visitList_closure1.prototype = { call$1(element) { element.accept$1(this.$this); }, - $signature: 58 + $signature: 60 }; A._SerializeVisitor_visitMap_closure.prototype = { call$1(entry) { @@ -77717,13 +82509,13 @@ self.util = _cliPkgRequires.util; t1._serialize$_buffer.write$1(0, ": "); t1._writeMapElement$1(entry.value); }, - $signature: 273 + $signature: 283 }; A._SerializeVisitor_visitSelectorList_closure.prototype = { call$1(complex) { return !complex.accept$1(B._IsInvisibleVisitor_true); }, - $signature: 16 + $signature: 19 }; A._SerializeVisitor__write_closure.prototype = { call$0() { @@ -77757,86 +82549,86 @@ self.util = _cliPkgRequires.util; } }; A.StatementSearchVisitor.prototype = { - visitAtRootRule$1(node) { + visitAtRootRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitAtRule$1(node) { + visitAtRule$1(_, node) { return A.NullableExtension_andThen(node.children, this.get$visitChildren()); }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return this.visitChildren$1(node.children); }, - visitContentRule$1(node) { + visitContentRule$1(_, node) { return null; }, - visitDebugRule$1(node) { + visitDebugRule$1(_, node) { return null; }, - visitDeclaration$1(node) { + visitDeclaration$1(_, node) { return A.NullableExtension_andThen(node.children, this.get$visitChildren()); }, - visitEachRule$1(node) { + visitEachRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitErrorRule$1(node) { + visitErrorRule$1(_, node) { return null; }, - visitExtendRule$1(node) { + visitExtendRule$1(_, node) { return null; }, - visitForRule$1(node) { + visitForRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitForwardRule$1(node) { + visitForwardRule$1(_, node) { return null; }, - visitFunctionRule$1(node) { + visitFunctionRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitIfRule$1(node) { + visitIfRule$1(_, node) { var t1 = A.IterableExtension_search(node.clauses, new A.StatementSearchVisitor_visitIfRule_closure(this)); return t1 == null ? A.NullableExtension_andThen(node.lastClause, new A.StatementSearchVisitor_visitIfRule_closure0(this)) : t1; }, - visitImportRule$1(node) { + visitImportRule$1(_, node) { return null; }, - visitIncludeRule$1(node) { - return A.NullableExtension_andThen(node.content, this.get$visitContentBlock()); + visitIncludeRule$1(_, node) { + return A.NullableExtension_andThen(node.content, this.get$visitContentBlock(this)); }, - visitLoudComment$1(node) { + visitLoudComment$1(_, node) { return null; }, - visitMediaRule$1(node) { + visitMediaRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitMixinRule$1(node) { + visitMixinRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitReturnRule$1(node) { + visitReturnRule$1(_, node) { return null; }, - visitSilentComment$1(node) { + visitSilentComment$1(_, node) { return null; }, - visitStyleRule$1(node) { + visitStyleRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitStylesheet$1(node) { + visitStylesheet$1(_, node) { return this.visitChildren$1(node.children); }, - visitSupportsRule$1(node) { + visitSupportsRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitUseRule$1(node) { + visitUseRule$1(_, node) { return null; }, - visitVariableDeclaration$1(node) { + visitVariableDeclaration$1(_, node) { return null; }, - visitWarnRule$1(node) { + visitWarnRule$1(_, node) { return null; }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this.visitChildren$1(node.children); }, visitChildren$1(children) { @@ -77979,26 +82771,26 @@ self.util = _cliPkgRequires.util; call$0() { return this.sourceEntry.source.file; }, - $signature: 274 + $signature: 284 }; A.SingleMapping_SingleMapping$fromEntries_closure1.prototype = { call$1(i) { return this.files.$index(0, i); }, - $signature: 275 + $signature: 285 }; A.SingleMapping_toJson_closure.prototype = { call$1(file) { return file == null ? null : A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(file._decodedChars, 0, null), 0, null); }, - $signature: 276 + $signature: 286 }; A.SingleMapping_toJson_closure0.prototype = { call$2($name, value) { this.result.$indexSet(0, $name, value); return value; }, - $signature: 113 + $signature: 111 }; A.TargetLineEntry.prototype = { toString$0(_) { @@ -78515,27 +83307,27 @@ self.util = _cliPkgRequires.util; return null; return A._asStringQ(t1); }, - $signature: 44 + $signature: 46 }; A.Highlighter$__closure.prototype = { call$1(line) { var t1 = line.highlights; return new A.WhereIterable(t1, new A.Highlighter$___closure(), A._arrayInstanceType(t1)._eval$1("WhereIterable<1>")).get$length(0); }, - $signature: 277 + $signature: 287 }; A.Highlighter$___closure.prototype = { call$1(highlight) { var t1 = highlight.span; return t1.get$start(t1).get$line() !== t1.get$end(t1).get$line(); }, - $signature: 115 + $signature: 134 }; A.Highlighter$__closure0.prototype = { call$1(line) { return line.url; }, - $signature: 279 + $signature: 289 }; A.Highlighter__collateLines_closure.prototype = { call$1(highlight) { @@ -78543,13 +83335,13 @@ self.util = _cliPkgRequires.util; t1 = t1.get$sourceUrl(t1); return t1 == null ? new A.Object() : t1; }, - $signature: 280 + $signature: 290 }; A.Highlighter__collateLines_closure0.prototype = { call$2(highlight1, highlight2) { return highlight1.span.compareTo$1(0, highlight2.span); }, - $signature: 281 + $signature: 291 }; A.Highlighter__collateLines_closure1.prototype = { call$1(entry) { @@ -78592,20 +83384,20 @@ self.util = _cliPkgRequires.util; } return lines; }, - $signature: 282 + $signature: 292 }; A.Highlighter__collateLines__closure.prototype = { call$1(highlight) { var t1 = highlight.span; return t1.get$end(t1).get$line() < this.line.number; }, - $signature: 115 + $signature: 134 }; A.Highlighter_highlight_closure.prototype = { call$1(highlight) { return highlight.isPrimary; }, - $signature: 115 + $signature: 134 }; A.Highlighter__writeFileStart_closure.prototype = { call$0() { @@ -78803,7 +83595,7 @@ self.util = _cliPkgRequires.util; } return A._Highlight__normalizeEndOfLine(A._Highlight__normalizeTrailingNewline(A._Highlight__normalizeNewlines(t1))); }, - $signature: 283 + $signature: 293 }; A._Line.prototype = { toString$0(_) { @@ -79025,39 +83817,39 @@ self.util = _cliPkgRequires.util; call$1(line) { return line.length !== 0; }, - $signature: 4 + $signature: 5 }; A.Chain_toTrace_closure.prototype = { call$1(trace) { return trace.get$frames(); }, - $signature: 284 + $signature: 294 }; A.Chain_toString_closure0.prototype = { call$1(trace) { var t1 = trace.get$frames(); return new A.MappedListIterable(t1, new A.Chain_toString__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,int>")).fold$2(0, 0, B.CONSTANT); }, - $signature: 285 + $signature: 295 }; A.Chain_toString__closure0.prototype = { call$1(frame) { return frame.get$location().length; }, - $signature: 264 + $signature: 151 }; A.Chain_toString_closure.prototype = { call$1(trace) { var t1 = trace.get$frames(); return new A.MappedListIterable(t1, new A.Chain_toString__closure(this.longest), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0); }, - $signature: 287 + $signature: 297 }; A.Chain_toString__closure.prototype = { call$1(frame) { return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + " " + A.S(frame.get$member()) + "\n"; }, - $signature: 263 + $signature: 152 }; A.Frame.prototype = { get$isCore() { @@ -79131,35 +83923,51 @@ self.util = _cliPkgRequires.util; line = t1 > 1 ? A.int_parse(lineAndColumn[1], _null) : _null; return new A.Frame(uri, line, t1 > 2 ? A.int_parse(lineAndColumn[2], _null) : _null, member); }, - $signature: 71 + $signature: 72 }; A.Frame_Frame$parseV8_closure.prototype = { call$0() { - var t2, t3, _s4_ = "", + var member, uri, t2, functionOffset, t3, _s4_ = "", t1 = this.frame, - match = $.$get$_v8Frame().firstMatch$1(t1); - if (match == null) - return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), t1); - t1 = new A.Frame_Frame$parseV8_closure_parseLocation(t1); - t2 = match._match; - t3 = t2[2]; - if (t3 != null) { - t3 = t3; - t3.toString; - t2 = t2[1]; + match = $.$get$_v8WasmFrame().firstMatch$1(t1); + if (match != null) { + member = match.namedGroup$1("member"); + t1 = match.namedGroup$1("uri"); + t1.toString; + uri = A.Frame__uriOrPathToUri(t1); + t1 = match.namedGroup$1("index"); + t1.toString; + t2 = match.namedGroup$1("offset"); t2.toString; - t2 = A.stringReplaceAllUnchecked(t2, "", _s4_); - t2 = A.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_); - return t1.call$2(t3, A.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_)); - } else { - t2 = t2[3]; - t2.toString; - return t1.call$2(t2, _s4_); + functionOffset = A.int_parse(t2, 16); + if (!(member == null)) + t1 = member; + return new A.Frame(uri, 1, functionOffset + 1, t1); } + match = $.$get$_v8JsFrame().firstMatch$1(t1); + if (match != null) { + t1 = new A.Frame_Frame$parseV8_closure_parseJsLocation(t1); + t2 = match._match; + t3 = t2[2]; + if (t3 != null) { + t3 = t3; + t3.toString; + t2 = t2[1]; + t2.toString; + t2 = A.stringReplaceAllUnchecked(t2, "", _s4_); + t2 = A.stringReplaceAllUnchecked(t2, "Anonymous function", _s4_); + return t1.call$2(t3, A.stringReplaceAllUnchecked(t2, "(anonymous function)", _s4_)); + } else { + t2 = t2[3]; + t2.toString; + return t1.call$2(t2, _s4_); + } + } + return new A.UnparsedFrame(A._Uri__Uri(null, "unparsed", null, null), t1); }, - $signature: 71 + $signature: 72 }; - A.Frame_Frame$parseV8_closure_parseLocation.prototype = { + A.Frame_Frame$parseV8_closure_parseJsLocation.prototype = { call$2($location, member) { var t2, urlMatch, uri, line, columnMatch, _null = null, t1 = $.$get$_v8EvalLocation(), @@ -79171,7 +83979,7 @@ self.util = _cliPkgRequires.util; } if ($location === "native") return new A.Frame(A.Uri_parse("native"), _null, _null, member); - urlMatch = $.$get$_v8UrlLocation().firstMatch$1($location); + urlMatch = $.$get$_v8JsUrlLocation().firstMatch$1($location); if (urlMatch == null) return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), this.frame); t1 = urlMatch._match; @@ -79184,7 +83992,7 @@ self.util = _cliPkgRequires.util; columnMatch = t1[3]; return new A.Frame(uri, line, columnMatch != null ? A.int_parse(columnMatch, _null) : _null, member); }, - $signature: 290 + $signature: 300 }; A.Frame_Frame$_parseFirefoxEval_closure.prototype = { call$0() { @@ -79205,53 +84013,76 @@ self.util = _cliPkgRequires.util; line = A.int_parse(t1, _null); return new A.Frame(uri, line, _null, member.length === 0 || member === "anonymous" ? "" : member); }, - $signature: 71 + $signature: 72 }; A.Frame_Frame$parseFirefox_closure.prototype = { call$0() { - var t2, t3, t4, uri, member, line, column, _null = null, + var t2, t3, t4, uri, member, line, column, functionOffset, _null = null, t1 = this.frame, - match = $.$get$_firefoxSafariFrame().firstMatch$1(t1); - if (match == null) - return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); - t2 = match._match; - t3 = t2[3]; - t4 = t3; - t4.toString; - if (B.JSString_methods.contains$1(t4, " line ")) - return A.Frame_Frame$_parseFirefoxEval(t1); - t1 = t3; - t1.toString; - uri = A.Frame__uriOrPathToUri(t1); - member = t2[1]; - if (member != null) { - t1 = t2[2]; + match = $.$get$_firefoxSafariJSFrame().firstMatch$1(t1); + if (match != null) { + t2 = match._match; + t3 = t2[3]; + t4 = t3; + t4.toString; + if (B.JSString_methods.contains$1(t4, " line ")) + return A.Frame_Frame$_parseFirefoxEval(t1); + t1 = t3; t1.toString; - member += B.JSArray_methods.join$0(A.List_List$filled(B.JSString_methods.allMatches$1("/", t1).get$length(0), ".", false, type$.String)); - if (member === "") + uri = A.Frame__uriOrPathToUri(t1); + member = t2[1]; + if (member != null) { + t1 = t2[2]; + t1.toString; + member += B.JSArray_methods.join$0(A.List_List$filled(B.JSString_methods.allMatches$1("/", t1).get$length(0), ".", false, type$.String)); + if (member === "") + member = ""; + member = B.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), ""); + } else member = ""; - member = B.JSString_methods.replaceFirst$2(member, $.$get$_initialDot(), ""); - } else - member = ""; - t1 = t2[4]; - if (t1 === "") - line = _null; - else { - t1 = t1; - t1.toString; - line = A.int_parse(t1, _null); + t1 = t2[4]; + if (t1 === "") + line = _null; + else { + t1 = t1; + t1.toString; + line = A.int_parse(t1, _null); + } + t1 = t2[5]; + if (t1 == null || t1 === "") + column = _null; + else { + t1 = t1; + t1.toString; + column = A.int_parse(t1, _null); + } + return new A.Frame(uri, line, column, member); } - t1 = t2[5]; - if (t1 == null || t1 === "") - column = _null; - else { - t1 = t1; + match = $.$get$_firefoxWasmFrame().firstMatch$1(t1); + if (match != null) { + t1 = match.namedGroup$1("member"); t1.toString; - column = A.int_parse(t1, _null); + t2 = match.namedGroup$1("uri"); + t2.toString; + uri = A.Frame__uriOrPathToUri(t2); + t2 = match.namedGroup$1("index"); + t2.toString; + t3 = match.namedGroup$1("offset"); + t3.toString; + functionOffset = A.int_parse(t3, 16); + if (!(t1.length !== 0)) + t1 = t2; + return new A.Frame(uri, 1, functionOffset + 1, t1); } - return new A.Frame(uri, line, column, member); + match = $.$get$_safariWasmFrame().firstMatch$1(t1); + if (match != null) { + t1 = match.namedGroup$1("member"); + t1.toString; + return new A.Frame(A._Uri__Uri(_null, "wasm code", _null, _null), _null, _null, t1); + } + return new A.UnparsedFrame(A._Uri__Uri(_null, "unparsed", _null, _null), t1); }, - $signature: 71 + $signature: 72 }; A.Frame_Frame$parseFriendly_closure.prototype = { call$0() { @@ -79291,7 +84122,7 @@ self.util = _cliPkgRequires.util; } return new A.Frame(uri, line, column, t1[4]); }, - $signature: 71 + $signature: 72 }; A.LazyTrace.prototype = { get$_lazy_trace$_trace() { @@ -79321,7 +84152,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this.get$_lazy_trace$_trace().get$terse(); }, - $signature: 261 + $signature: 154 }; A.Trace.prototype = { get$terse() { @@ -79361,43 +84192,43 @@ self.util = _cliPkgRequires.util; call$0() { return A.Trace_Trace$parse(this.trace.toString$0(0)); }, - $signature: 261 + $signature: 154 }; A.Trace__parseVM_closure.prototype = { call$1(line) { return line.length !== 0; }, - $signature: 4 + $signature: 5 }; A.Trace$parseV8_closure.prototype = { call$1(line) { return !B.JSString_methods.startsWith$1(line, $.$get$_v8TraceLine()); }, - $signature: 4 + $signature: 5 }; A.Trace$parseJSCore_closure.prototype = { call$1(line) { return line !== "\tat "; }, - $signature: 4 + $signature: 5 }; A.Trace$parseFirefox_closure.prototype = { call$1(line) { return line.length !== 0 && line !== "[native code]"; }, - $signature: 4 + $signature: 5 }; A.Trace$parseFriendly_closure.prototype = { call$1(line) { return !B.JSString_methods.startsWith$1(line, "====="); }, - $signature: 4 + $signature: 5 }; A.Trace_terse_closure.prototype = { call$1(_) { return false; }, - $signature: 260 + $signature: 155 }; A.Trace_foldFrames_closure.prototype = { call$1(frame) { @@ -79414,7 +84245,7 @@ self.util = _cliPkgRequires.util; return false; return frame.get$line() == null; }, - $signature: 260 + $signature: 155 }; A.Trace_foldFrames_closure0.prototype = { call$1(frame) { @@ -79425,13 +84256,13 @@ self.util = _cliPkgRequires.util; t2 = $.$get$_terseRegExp(); return new A.Frame(A.Uri_parse(A.stringReplaceAllUnchecked(t1, t2, "")), null, null, frame.get$member()); }, - $signature: 293 + $signature: 303 }; A.Trace_toString_closure0.prototype = { call$1(frame) { return frame.get$location().length; }, - $signature: 264 + $signature: 151 }; A.Trace_toString_closure.prototype = { call$1(frame) { @@ -79439,7 +84270,7 @@ self.util = _cliPkgRequires.util; return frame.toString$0(0) + "\n"; return B.JSString_methods.padRight$1(frame.get$location(), this.longest) + " " + A.S(frame.get$member()) + "\n"; }, - $signature: 263 + $signature: 152 }; A.UnparsedFrame.prototype = { toString$0(_) { @@ -79498,7 +84329,7 @@ self.util = _cliPkgRequires.util; call$2(error, stackTrace) { this.handleError.call$3(error, stackTrace, this.controller); }, - $signature: 53 + $signature: 54 }; A.TransformByHandlers_transformByHandlers__closure0.prototype = { call$0() { @@ -79516,7 +84347,7 @@ self.util = _cliPkgRequires.util; return toCancel.cancel$0(); return null; }, - $signature: 191 + $signature: 190 }; A.RateLimit__debounceAggregate_closure.prototype = { call$2(value, sink) { @@ -79615,7 +84446,7 @@ self.util = _cliPkgRequires.util; if (!_this.super$StringScanner$scan(pattern)) return false; t1 = _this.get$lastMatch(); - newlines = _this._newlinesIn$1(t1.pattern); + newlines = _this._newlinesIn$2$endPosition(t1.pattern, _this._string_scanner$_position); t1 = _this._line_scanner$_line; t2 = newlines.length; _this._line_scanner$_line = t1 + t2; @@ -79629,10 +84460,11 @@ self.util = _cliPkgRequires.util; } return true; }, - _newlinesIn$1(text) { + _newlinesIn$2$endPosition(text, endPosition) { var t1 = $.$get$_newlineRegExp().allMatches$1(0, text), newlines = A.List_List$of(t1, true, A._instanceType(t1)._eval$1("Iterable.E")); - if (this.peekChar$1(-1) === 13 && this.peekChar$0() === 10) + t1 = this.string; + if (endPosition < t1.length && B.JSString_methods.endsWith$1(text, "\r") && t1[endPosition] === "\n") B.JSArray_methods.removeLast$0(newlines); return newlines; } @@ -79883,6 +84715,53 @@ self.util = _cliPkgRequires.util; return this._watch_event$_name; } }; + A.A98RgbColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + return J.get$sign$in(channel) * Math.pow(Math.abs(channel), 2.19921875); + }, + fromLinear$1(channel) { + return J.get$sign$in(channel) * Math.pow(Math.abs(channel), 0.4547069271758437); + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$linearA98RgbToLinearSrgb0(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$linearA98RgbToLinearDisplayP30(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$linearA98RgbToLinearProphotoRgb0(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$linearA98RgbToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$linearA98RgbToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$linearA98RgbToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$linearA98RgbToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; A.AnySelectorVisitor0.prototype = { visitComplexSelector$1(complex) { return B.JSArray_methods.any$1(complex.components, new A.AnySelectorVisitor_visitComplexSelector_closure0(this)); @@ -79923,19 +84802,39 @@ self.util = _cliPkgRequires.util; call$1(component) { return this.$this.visitCompoundSelector$1(component.selector); }, - $signature: 51 + $signature: 55 }; A.AnySelectorVisitor_visitCompoundSelector_closure0.prototype = { call$1(simple) { return simple.accept$1(this.$this); }, - $signature: 15 + $signature: 14 }; A.SupportsAnything0.prototype = { + toInterpolation$0() { + var t1 = new A.StringBuffer(""), + t2 = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), + t3 = this.span, + t4 = this.contents, + t5 = t4.span, + t6 = A.SpanExtensions_before(t3, t5); + t6 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t6.file._decodedChars, t6._file$_start, t6._end), 0, null); + t1._contents += t6; + t2.addInterpolation$1(t4); + t5 = A.SpanExtensions_after(t3, t5); + t5 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t5.file._decodedChars, t5._file$_start, t5._end), 0, null); + t1._contents += t5; + return t2.interpolation$1(t3); + }, + withSpan$1(span) { + return new A.SupportsAnything0(this.contents, span); + }, toString$0(_) { return "(" + this.contents.toString$0(0) + ")"; }, $isAstNode0: 1, + $isSassNode: 1, + $isSupportsCondition: 1, get$span(receiver) { return this.span; } @@ -79947,6 +84846,7 @@ self.util = _cliPkgRequires.util; return t1 == null ? t2 : t2 + ": " + t1.toString$0(0); }, $isAstNode0: 1, + $isSassNode: 1, get$span(receiver) { return this.span; } @@ -80095,6 +84995,7 @@ self.util = _cliPkgRequires.util; return B.JSArray_methods.join$1(t1, ", "); }, $isAstNode0: 1, + $isSassNode: 1, get$span(receiver) { return this.span; } @@ -80103,13 +85004,13 @@ self.util = _cliPkgRequires.util; call$1(argument) { return argument.name; }, - $signature: 297 + $signature: 307 }; A.ArgumentDeclaration_verify_closure2.prototype = { call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A.ArgumentInvocation0.prototype = { get$isEmpty(_) { @@ -80151,6 +85052,7 @@ self.util = _cliPkgRequires.util; return t1; }, $isAstNode0: 1, + $isSassNode: 1, get$span(receiver) { return this.span; } @@ -80163,7 +85065,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(A.SassArgumentList$0(A._setArrayType([], type$.JSArray_Value_2), A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.Value_2), B.ListSeparator_undecided_null_undecided0).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.argumentListClass__closure.prototype = { call$4($self, contents, keywords, separator) { @@ -80182,14 +85084,14 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [","]; }, - $signature: 299 + $signature: 309 }; A.argumentListClass__closure0.prototype = { call$1($self) { $self._argument_list$_wereKeywordsAccessed = true; return A.dartMapToImmutableMap($self._argument_list$_keywords); }, - $signature: 300 + $signature: 310 }; A.SassArgumentList0.prototype = {}; A.JSArray1.prototype = {}; @@ -80287,7 +85189,7 @@ self.util = _cliPkgRequires.util; if (contents == null || syntax == null) A.jsThrow(new self.Error(string$.The_lo)); t2 = A.parseSyntax(syntax); - $async$returnValue = A.ImporterResult$(contents, A.NullableExtension_andThen0(t1.get$sourceMapUrl(result), A.utils1__jsToDartUrl$closure()), t2); + $async$returnValue = A.ImporterResult$(contents, A.NullableExtension_andThen0(t1.get$sourceMapUrl(result), A.utils3__jsToDartUrl$closure()), t2); // goto return $async$goto = 1; break; @@ -80306,18 +85208,21 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this._async0$_canonicalize.call$2(this.url.toString$0(0), A.canonicalizeContext0()); }, - $signature: 31 + $signature: 37 }; A.JSToDartAsyncImporter_load_closure.prototype = { call$0() { return this.$this._load.call$1(new self.URL(this.url.toString$0(0))); }, - $signature: 31 + $signature: 37 }; A.AsyncBuiltInCallable0.prototype = { callbackFor$2(positional, names) { return new A._Record_2(this._async_built_in0$_arguments, this._async_built_in0$_callback); }, + withDeprecationWarning$1(module) { + return new A.AsyncBuiltInCallable0(this.name, this._async_built_in0$_arguments, new A.AsyncBuiltInCallable_withDeprecationWarning_closure0(this, module, null), false); + }, $isAsyncCallable0: 1, get$name(receiver) { return this.name; @@ -80357,13 +85262,21 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 89 + $signature: 107 + }; + A.AsyncBuiltInCallable_withDeprecationWarning_closure0.prototype = { + call$1(args) { + var t1 = this.$this; + A.warnForDeprecation0(string$.Global + this.module + "." + t1.name + string$.x20inste, B.Deprecation_Q5r); + return t1._async_built_in0$_callback.call$1(args); + }, + $signature: 313 }; A._compileStylesheet_closure2.prototype = { call$1(url) { return url === "" ? A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text() : this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0); }, - $signature: 5 + $signature: 6 }; A.AsyncEnvironment0.prototype = { closure$0() { @@ -80429,7 +85342,7 @@ self.util = _cliPkgRequires.util; } }, importForwards$1(module) { - var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this, + var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, t12, _length, _list, _this = this, forwarded = module._async_environment0$_environment._async_environment0$_forwardedModules; if (forwarded == null) return; @@ -80474,6 +85387,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { t5.remove$1(0, module); t11 = shadowed.variables; + t12 = false; if (t11.get$isEmpty(t11)) { t11 = shadowed.functions; if (t11.get$isEmpty(t11)) { @@ -80483,11 +85397,11 @@ self.util = _cliPkgRequires.util; t11 = t11.get$css(t11); t11 = J.get$isEmpty$asx(t11.get$children(t11)); } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; if (!t11) t5.$indexSet(0, shadowed, node); } @@ -80500,6 +85414,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { forwardedModules.remove$1(0, module); t8 = shadowed.variables; + t9 = false; if (t8.get$isEmpty(t8)) { t8 = shadowed.functions; if (t8.get$isEmpty(t8)) { @@ -80509,11 +85424,11 @@ self.util = _cliPkgRequires.util; t8 = t8.get$css(t8); t8 = J.get$isEmpty$asx(t8.get$children(t8)); } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; if (!t8) forwardedModules.$indexSet(0, shadowed, node); } @@ -80973,7 +85888,7 @@ self.util = _cliPkgRequires.util; return A._EnvironmentModule__EnvironmentModule2(this, css, preModuleComments, extensionStore, A.NullableExtension_andThen0(this._async_environment0$_forwardedModules, new A.AsyncEnvironment_toModule_closure0())); }, toDummyModule$0() { - return A._EnvironmentModule__EnvironmentModule2(this, new A.CssStylesheet0(new A.UnmodifiableListView(B.List_empty16, type$.UnmodifiableListView_CssNode_2), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty15, B.C_EmptyExtensionStore0, A.NullableExtension_andThen0(this._async_environment0$_forwardedModules, new A.AsyncEnvironment_toDummyModule_closure0())); + return A._EnvironmentModule__EnvironmentModule2(this, new A.CssStylesheet0(new A.UnmodifiableListView(B.List_empty17, type$.UnmodifiableListView_CssNode_2), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty15, B.C_EmptyExtensionStore0, A.NullableExtension_andThen0(this._async_environment0$_forwardedModules, new A.AsyncEnvironment_toDummyModule_closure0())); }, _async_environment0$_getModule$1(namespace) { var _0_0 = this._async_environment0$_modules.$index(0, namespace); @@ -81031,7 +85946,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().$index(0, this.name); }, - $signature: 303 + $signature: 314 }; A.AsyncEnvironment_setVariable_closure2.prototype = { call$0() { @@ -81045,7 +85960,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().containsKey$1(this.name) ? module : null; }, - $signature: 304 + $signature: 315 }; A.AsyncEnvironment_setVariable_closure4.prototype = { call$0() { @@ -81059,25 +85974,25 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$functions(module).$index(0, this.name); }, - $signature: 256 + $signature: 162 }; A.AsyncEnvironment__getMixinFromGlobalModule_closure0.prototype = { call$1(module) { return module.get$mixins().$index(0, this.name); }, - $signature: 256 + $signature: 162 }; A.AsyncEnvironment_toModule_closure0.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable_2); }, - $signature: 255 + $signature: 163 }; A.AsyncEnvironment_toDummyModule_closure0.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_AsyncCallable_2); }, - $signature: 255 + $signature: 163 }; A._EnvironmentModule2.prototype = { get$url(_) { @@ -81159,37 +86074,37 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables(); }, - $signature: 307 + $signature: 318 }; A._EnvironmentModule__EnvironmentModule_closure18.prototype = { call$1(module) { return module.get$variableNodes(); }, - $signature: 308 + $signature: 319 }; A._EnvironmentModule__EnvironmentModule_closure19.prototype = { call$1(module) { return module.get$functions(module); }, - $signature: 252 + $signature: 164 }; A._EnvironmentModule__EnvironmentModule_closure20.prototype = { call$1(module) { return module.get$mixins(); }, - $signature: 252 + $signature: 164 }; A._EnvironmentModule__EnvironmentModule_closure21.prototype = { call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 114 + $signature: 129 }; A._EnvironmentModule__EnvironmentModule_closure22.prototype = { call$1(module) { return module.get$transitivelyContainsExtensions(); }, - $signature: 114 + $signature: 129 }; A._EvaluateVisitor2.prototype = { _EvaluateVisitor$6$functions$importCache$logger$nodeImporter$quietDeps$sourceMap2(functions, importCache, logger, nodeImporter, quietDeps, sourceMap) { @@ -81198,23 +86113,26 @@ self.util = _cliPkgRequires.util; _s9_ = "sass:meta", _s7_ = "$module", t1 = type$.JSArray_AsyncBuiltInCallable_2, - metaFunctions = A._setArrayType([A.BuiltInCallable$function0("global-variable-exists", _s20_, new A._EvaluateVisitor_closure38(_this), _s9_), A.BuiltInCallable$function0("variable-exists", "$name", new A._EvaluateVisitor_closure39(_this), _s9_), A.BuiltInCallable$function0("function-exists", _s20_, new A._EvaluateVisitor_closure40(_this), _s9_), A.BuiltInCallable$function0("mixin-exists", _s20_, new A._EvaluateVisitor_closure41(_this), _s9_), A.BuiltInCallable$function0("content-exists", "", new A._EvaluateVisitor_closure42(_this), _s9_), A.BuiltInCallable$function0("module-variables", _s7_, new A._EvaluateVisitor_closure43(_this), _s9_), A.BuiltInCallable$function0("module-functions", _s7_, new A._EvaluateVisitor_closure44(_this), _s9_), A.BuiltInCallable$function0("module-mixins", _s7_, new A._EvaluateVisitor_closure45(_this), _s9_), A.BuiltInCallable$function0("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure46(_this), _s9_), A.BuiltInCallable$function0("get-mixin", _s20_, new A._EvaluateVisitor_closure47(_this), _s9_), new A.AsyncBuiltInCallable0("call", A.ScssParser$0("@function call($function, $args...) {", null, _s9_).parseArgumentDeclaration$0(), new A._EvaluateVisitor_closure48(_this), false)], t1), + metaFunctions = A._setArrayType([A.BuiltInCallable$function0("global-variable-exists", _s20_, new A._EvaluateVisitor_closure38(_this), _s9_), A.BuiltInCallable$function0("variable-exists", "$name", new A._EvaluateVisitor_closure39(_this), _s9_), A.BuiltInCallable$function0("function-exists", _s20_, new A._EvaluateVisitor_closure40(_this), _s9_), A.BuiltInCallable$function0("mixin-exists", _s20_, new A._EvaluateVisitor_closure41(_this), _s9_), A.BuiltInCallable$function0("content-exists", "", new A._EvaluateVisitor_closure42(_this), _s9_), A.BuiltInCallable$function0("module-variables", _s7_, new A._EvaluateVisitor_closure43(_this), _s9_), A.BuiltInCallable$function0("module-functions", _s7_, new A._EvaluateVisitor_closure44(_this), _s9_), A.BuiltInCallable$function0("module-mixins", _s7_, new A._EvaluateVisitor_closure45(_this), _s9_), A.BuiltInCallable$function0("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure46(_this), _s9_), A.BuiltInCallable$function0("get-mixin", _s20_, new A._EvaluateVisitor_closure47(_this), _s9_), new A.AsyncBuiltInCallable0("call", A.ScssParser$0("@function call($function, $args...) {", _s9_).parseArgumentDeclaration$0(), new A._EvaluateVisitor_closure48(_this), false)], t1), metaMixins = A._setArrayType([A.AsyncBuiltInCallable$mixin0("load-css", "$url, $with: null", new A._EvaluateVisitor_closure49(_this), false, _s9_), A.AsyncBuiltInCallable$mixin0("apply", "$mixin, $args...", new A._EvaluateVisitor_closure50(_this), true, _s9_)], t1); t1 = type$.AsyncBuiltInCallable_2; - t2 = A.List_List$of($.$get$global6(), true, t1); - B.JSArray_methods.addAll$1(t2, $.$get$local0()); + t2 = A.List_List$of($.$get$moduleFunctions0(), true, t1); B.JSArray_methods.addAll$1(t2, metaFunctions); metaModule = A.BuiltInModule$0("meta", t2, metaMixins, null, t1); for (t1 = A.List_List$of($.$get$coreModules0(), true, type$.BuiltInModule_AsyncCallable_2), t1.push(metaModule), t2 = t1.length, t3 = _this._async_evaluate0$_builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { module = t1[_i]; t3.$indexSet(0, module.url, module); } - t1 = A._setArrayType([], type$.JSArray_AsyncCallable_2); - B.JSArray_methods.addAll$1(t1, functions); - B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions0()); - B.JSArray_methods.addAll$1(t1, metaFunctions); - for (t2 = t1.length, t3 = _this._async_evaluate0$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { - $function = t1[_i]; + t1 = type$.JSArray_AsyncCallable_2; + t2 = A._setArrayType([], t1); + B.JSArray_methods.addAll$1(t2, functions); + B.JSArray_methods.addAll$1(t2, $.$get$globalFunctions0()); + t1 = A._setArrayType([], t1); + for (_i = 0; _i < 11; ++_i) + t1.push(metaFunctions[_i].withDeprecationWarning$1("meta")); + B.JSArray_methods.addAll$1(t2, t1); + for (t1 = t2.length, t3 = _this._async_evaluate0$_builtInFunctions, _i = 0; _i < t2.length; t2.length === t1 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + $function = t2[_i]; t4 = J.get$name$x($function); t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function); } @@ -81512,13 +86430,13 @@ self.util = _cliPkgRequires.util; } return lastImport + 1; }, - visitStylesheet$1(node) { - return this.visitStylesheet$body$_EvaluateVisitor0(node); + visitStylesheet$1(_, node) { + return this.visitStylesheet$body$_EvaluateVisitor0(0, node); }, - visitStylesheet$body$_EvaluateVisitor0(node) { + visitStylesheet$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), - $async$returnValue, $async$self = this, t1, t2, _i; + $async$returnValue, $async$self = this, t1, t2, warning, _i; var $async$visitStylesheet$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -81526,6 +86444,12 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start + for (t1 = node.parseTimeWarnings, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { + warning = t1.__internal$_current; + if (warning == null) + warning = t2._as(warning); + $async$self._async_evaluate0$_warn$3(warning._1, warning._2, warning._0); + } t1 = node.children, t2 = t1.length, _i = 0; case 3: // for condition @@ -81557,10 +86481,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitStylesheet$1, $async$completer); }, - visitAtRootRule$1(node) { - return this.visitAtRootRule$body$_EvaluateVisitor0(node); + visitAtRootRule$1(_, node) { + return this.visitAtRootRule$body$_EvaluateVisitor0(0, node); }, - visitAtRootRule$body$_EvaluateVisitor0(node) { + visitAtRootRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, _1_0, resolved, query, $parent, included, t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _0_0; @@ -81583,7 +86507,7 @@ self.util = _cliPkgRequires.util; _1_0 = $async$result; resolved = _1_0._0; _1_0._1; - query = A.AtRootQueryParser$0(resolved, $async$self._async_evaluate0$_logger, null).parse$0(); + query = new A.AtRootQueryParser0(A.SpanScanner$(resolved, null), null).parse$0(0); // goto join $async$goto = 4; break; @@ -81679,13 +86603,13 @@ self.util = _cliPkgRequires.util; scope = new A._EvaluateVisitor__scopeForAtRoot_closure20(_this, scope); return _this._async_evaluate0$_inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure21()) ? new A._EvaluateVisitor__scopeForAtRoot_closure22(_this, scope) : scope; }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return A.throwExpression(A.UnsupportedError$(string$.Evalua)); }, - visitContentRule$1(node) { - return this.visitContentRule$body$_EvaluateVisitor0(node); + visitContentRule$1(_, node) { + return this.visitContentRule$body$_EvaluateVisitor0(0, node); }, - visitContentRule$body$_EvaluateVisitor0(node) { + visitContentRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, $content; @@ -81718,10 +86642,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitContentRule$1, $async$completer); }, - visitDebugRule$1(node) { - return this.visitDebugRule$body$_EvaluateVisitor0(node); + visitDebugRule$1(_, node) { + return this.visitDebugRule$body$_EvaluateVisitor0(0, node); }, - visitDebugRule$body$_EvaluateVisitor0(node) { + visitDebugRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, value, t1; @@ -81750,13 +86674,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitDebugRule$1, $async$completer); }, - visitDeclaration$1(node) { - return this.visitDeclaration$body$_EvaluateVisitor0(node); + visitDeclaration$1(_, node) { + return this.visitDeclaration$body$_EvaluateVisitor0(0, node); }, - visitDeclaration$body$_EvaluateVisitor0(node) { + visitDeclaration$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), - $async$returnValue, $async$self = this, t2, $name, _0_0, _1_0, value, t3, t4, t5, _2_0, oldDeclarationName, t1; + $async$returnValue, $async$self = this, siblings, interleavedRules, t1, t2, t3, t4, t5, t6, rule, rule0, $name, _1_0, _2_0, value, _3_0, oldDeclarationName, _box_0; var $async$visitDeclaration$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -81764,55 +86688,90 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - t1 = {}; + _box_0 = {}; if (($async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot) == null && !$async$self._async_evaluate0$_inUnknownAtRule && !$async$self._async_evaluate0$_inKeyframes) throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Declarm, node.span)); if ($async$self._async_evaluate0$_declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--")) throw A.wrapException($async$self._async_evaluate0$_exception$2(string$.Declarw, node.span)); - t2 = node.name; + siblings = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent")._node$_parent.children; + interleavedRules = A._setArrayType([], type$.JSArray_CssStyleRule_2); + if (siblings.get$last(siblings) !== $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent")) { + if ($async$self._async_evaluate0$_quietDeps) + if (!$async$self._async_evaluate0$_inDependency) { + t1 = $async$self._async_evaluate0$_currentCallable; + t1 = t1 == null ? null : t1.inDependency; + t1 = t1 === true; + } else + t1 = true; + else + t1 = false; + t1 = !t1; + } else + t1 = false; + if (t1) + for (t1 = A.SubListIterable$(siblings, siblings.indexOf$1(siblings, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent")) + 1, null, siblings.$ti._eval$1("ListBase.E")), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t6 = t1.__internal$_current; + rule = t6 == null ? t2._as(t6) : t6; + $label0$1: { + if (rule instanceof A.ModifiableCssComment0) + continue; + t6 = rule instanceof A.ModifiableCssStyleRule0; + rule0 = t6 ? rule : null; + if (t6) { + interleavedRules.push(rule0); + break $label0$1; + } + $async$self._async_evaluate0$_warn$3(string$.Sassx27s, new A.MultiSpan0(t3, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([rule.get$span(rule), "nested rule"], t4, t5), t4, t5)), B.Deprecation_VIq); + B.JSArray_methods.clear$0(interleavedRules); + break $label0$1; + } + } + t1 = node.name; $async$goto = 3; - return A._asyncAwait($async$self._async_evaluate0$_interpolationToValue$2$warnForColor(t2, true), $async$visitDeclaration$1); + return A._asyncAwait($async$self._async_evaluate0$_interpolationToValue$2$warnForColor(t1, true), $async$visitDeclaration$1); case 3: // returning from await. $name = $async$result; - _0_0 = $async$self._async_evaluate0$_declarationName; - if (_0_0 != null) - $name = new A.CssValue0(_0_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String_2); - _1_0 = node.value; - $async$goto = _1_0 != null ? 4 : 5; + _1_0 = $async$self._async_evaluate0$_declarationName; + if (_1_0 != null) + $name = new A.CssValue0(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String_2); + _2_0 = node.value; + $async$goto = _2_0 != null ? 4 : 5; break; case 4: // then $async$goto = 6; - return A._asyncAwait(_1_0.accept$1($async$self), $async$visitDeclaration$1); + return A._asyncAwait(_2_0.accept$1($async$self), $async$visitDeclaration$1); case 6: // returning from await. value = $async$result; if (!value.get$isBlank() || value.get$asList().length === 0) { - t3 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent"); - t4 = _1_0.get$span(_1_0); - t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--"); + t2 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent"); + t3 = _2_0.get$span(_2_0); + t4 = node.span; + t1 = B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--"); + t5 = interleavedRules.length === 0 ? null : $async$self._async_evaluate0$_stackTrace$1(t4); if ($async$self._async_evaluate0$_sourceMap) { - t5 = A.NullableExtension_andThen0(_1_0, $async$self.get$_async_evaluate0$_expressionNode()); - t5 = t5 == null ? null : J.get$span$z(t5); + t6 = A.NullableExtension_andThen0(_2_0, $async$self.get$_async_evaluate0$_expressionNode()); + t6 = t6 == null ? null : J.get$span$z(t6); } else - t5 = null; - t3.addChild$1(A.ModifiableCssDeclaration$0($name, new A.CssValue0(value, t4, type$.CssValue_Value_2), node.span, t2, t5)); + t6 = null; + t2.addChild$1(A.ModifiableCssDeclaration$0($name, new A.CssValue0(value, t3, type$.CssValue_Value_2), t4, interleavedRules, t1, t5, t6)); } else if (J.startsWith$1$s($name.value, "--")) - throw A.wrapException($async$self._async_evaluate0$_exception$2("Custom property values may not be empty.", _1_0.get$span(_1_0))); + throw A.wrapException($async$self._async_evaluate0$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0))); case 5: // join - _2_0 = node.children; - t1.children = null; - $async$goto = _2_0 != null ? 7 : 8; + _3_0 = node.children; + _box_0.children = null; + $async$goto = _3_0 != null ? 7 : 8; break; case 7: // then - t1.children = _2_0; + _box_0.children = _3_0; oldDeclarationName = $async$self._async_evaluate0$_declarationName; $async$self._async_evaluate0$_declarationName = $name.value; $async$goto = 9; - return A._asyncAwait($async$self._async_evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure2(t1, $async$self), node.hasDeclarations, type$.Null), $async$visitDeclaration$1); + return A._asyncAwait($async$self._async_evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure2(_box_0, $async$self), node.hasDeclarations, type$.Null), $async$visitDeclaration$1); case 9: // returning from await. $async$self._async_evaluate0$_declarationName = oldDeclarationName; @@ -81829,10 +86788,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitDeclaration$1, $async$completer); }, - visitEachRule$1(node) { - return this.visitEachRule$body$_EvaluateVisitor0(node); + visitEachRule$1(_, node) { + return this.visitEachRule$body$_EvaluateVisitor0(0, node); }, - visitEachRule$body$_EvaluateVisitor0(node) { + visitEachRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, _box_0, t1, list, nodeWithSpan, _0_0; @@ -81885,10 +86844,10 @@ self.util = _cliPkgRequires.util; for (i = minLength; i < t1; ++i) this._async_evaluate0$_environment.setLocalVariable$3(variables[i], B.C__SassNull0, nodeWithSpan); }, - visitErrorRule$1(node) { - return this.visitErrorRule$body$_EvaluateVisitor0(node); + visitErrorRule$1(_, node) { + return this.visitErrorRule$body$_EvaluateVisitor0(0, node); }, - visitErrorRule$body$_EvaluateVisitor0(node) { + visitErrorRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$self = this, $async$temp1, $async$temp2; @@ -81912,10 +86871,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitErrorRule$1, $async$completer); }, - visitExtendRule$1(node) { - return this.visitExtendRule$body$_EvaluateVisitor0(node); + visitExtendRule$1(_, node) { + return this.visitExtendRule$body$_EvaluateVisitor0(0, node); }, - visitExtendRule$body$_EvaluateVisitor0(node) { + visitExtendRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, targetText, targetMap, compound, styleRule; @@ -81933,11 +86892,11 @@ self.util = _cliPkgRequires.util; complex = t1[_i]; if (!complex.accept$1(B._IsBogusVisitor_true0)) continue; - visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); + visitor = A._SerializeVisitor$0(null, true, null, null, true, false, null, true); complex.accept$1(visitor); t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)); t7 = complex.accept$1(B.C__IsUselessVisitor0) ? "can't" : "shouldn't"; - $async$self._async_evaluate0$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan0(A.SpanExtensions_trimRight0(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_5pG); + $async$self._async_evaluate0$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan0(A.SpanExtensions_trimRight0(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_bh9); } $async$goto = 3; return A._asyncAwait($async$self._async_evaluate0$_performInterpolationWithMap$2$warnForColor(node.selector, true), $async$visitExtendRule$1); @@ -81946,7 +86905,7 @@ self.util = _cliPkgRequires.util; _0_0 = $async$result; targetText = _0_0._0; targetMap = _0_0._1; - for (t1 = A.SelectorList_SelectorList$parse0(A.trimAscii0(targetText, true), false, targetMap, $async$self._async_evaluate0$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule0$_selector._box0$_inner, _i = 0; _i < t2; ++_i) { + for (t1 = A.SelectorList_SelectorList$parse0(A.trimAscii0(targetText, true), false, targetMap, false).components, t2 = t1.length, t3 = styleRule._style_rule0$_selector._box0$_inner, _i = 0; _i < t2; ++_i) { complex = t1[_i]; compound = complex.get$singleCompound(); if (compound == null) @@ -81968,10 +86927,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitExtendRule$1, $async$completer); }, - visitAtRule$1(node) { - return this.visitAtRule$body$_EvaluateVisitor0(node); + visitAtRule$1(_, node) { + return this.visitAtRule$body$_EvaluateVisitor0(0, node); }, - visitAtRule$body$_EvaluateVisitor0(node) { + visitAtRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, $name, t1, value, children, wasInKeyframes, wasInUnknownAtRule; @@ -82026,10 +86985,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitAtRule$1, $async$completer); }, - visitForRule$1(node) { - return this.visitForRule$body$_EvaluateVisitor0(node); + visitForRule$1(_, node) { + return this.visitForRule$body$_EvaluateVisitor0(0, node); }, - visitForRule$body$_EvaluateVisitor0(node) { + visitForRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, t2, t3, fromNumber, t4, toNumber, from, to, direction; @@ -82074,10 +87033,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitForRule$1, $async$completer); }, - visitForwardRule$1(node) { - return this.visitForwardRule$body$_EvaluateVisitor0(node); + visitForwardRule$1(_, node) { + return this.visitForwardRule$body$_EvaluateVisitor0(0, node); }, - visitForwardRule$body$_EvaluateVisitor0(node) { + visitForwardRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, newConfiguration, t4, _i, variable, $name, oldConfiguration, adjustedConfiguration, t1, t2, t3; @@ -82275,10 +87234,10 @@ self.util = _cliPkgRequires.util; _async_evaluate0$_assertConfigurationIsEmpty$1(configuration) { return this._async_evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, false); }, - visitFunctionRule$1(node) { - return this.visitFunctionRule$body$_EvaluateVisitor0(node); + visitFunctionRule$1(_, node) { + return this.visitFunctionRule$body$_EvaluateVisitor0(0, node); }, - visitFunctionRule$body$_EvaluateVisitor0(node) { + visitFunctionRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5; @@ -82308,10 +87267,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitFunctionRule$1, $async$completer); }, - visitIfRule$1(node) { - return this.visitIfRule$body$_EvaluateVisitor0(node); + visitIfRule$1(_, node) { + return this.visitIfRule$body$_EvaluateVisitor0(0, node); }, - visitIfRule$body$_EvaluateVisitor0(node) { + visitIfRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, t2, _i, clauseToCheck, clause; @@ -82366,10 +87325,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitIfRule$1, $async$completer); }, - visitImportRule$1(node) { - return this.visitImportRule$body$_EvaluateVisitor0(node); + visitImportRule$1(_, node) { + return this.visitImportRule$body$_EvaluateVisitor0(0, node); }, - visitImportRule$body$_EvaluateVisitor0(node) { + visitImportRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, t2, t3, _i, $import; @@ -82442,7 +87401,7 @@ self.util = _cliPkgRequires.util; _loadStylesheet$body$_EvaluateVisitor0(url, span, baseUrl, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency_2), - $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, _3_0, result, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$next = [], $async$self = this, _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, _3_0, result, error, stackTrace, error0, stackTrace0, t1, t2, exception, $async$exception; var $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -82479,14 +87438,12 @@ self.util = _cliPkgRequires.util; importer = _1_0._0; canonicalUrl = _1_0._1; originalUrl = _1_0._2; + if (canonicalUrl.get$scheme() === "") + A.WarnForDeprecation_warnForDeprecation0($async$self._async_evaluate0$_logger, B.Deprecation_fXI, "Importer " + A.S(importer) + " canonicalized " + url + " to " + A.S(canonicalUrl) + string$.x2e_Rela, null, null); $async$self._async_evaluate0$_loadedUrls.add$1(0, canonicalUrl); isDependency = $async$self._async_evaluate0$_inDependency || !J.$eq$(importer, $async$self._async_evaluate0$_importer); - t1 = importCache; - t2 = importer; - t3 = canonicalUrl; - t4 = originalUrl; $async$goto = 12; - return A._asyncAwait(t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, $async$self._async_evaluate0$_quietDeps && isDependency), $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport); + return A._asyncAwait(importCache.importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl), $async$_async_evaluate0$_loadStylesheet$4$baseUrl$forImport); case 12: // returning from await. _2_0 = $async$result; @@ -82552,14 +87509,7 @@ self.util = _cliPkgRequires.util; } else { error0 = t1; stackTrace0 = A.getTraceFromException($async$exception); - message = null; - try { - message = A._asString(J.get$message$x(error0)); - } catch (exception) { - message0 = J.toString$0$(error0); - message = message0; - } - A.throwWithTrace0($async$self._async_evaluate0$_exception$1(message), error0, stackTrace0); + A.throwWithTrace0($async$self._async_evaluate0$_exception$1($async$self._async_evaluate0$_getErrorMessage$1(error0)), error0, stackTrace0); } $async$next.push(6); // goto finally @@ -82593,7 +87543,7 @@ self.util = _cliPkgRequires.util; _importLikeNode$body$_EvaluateVisitor(originalUrl, previous, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_Stylesheet_and_nullable_AsyncImporter_importer_and_bool_isDependency), - $async$returnValue, $async$self = this, isDependency, url, t2, t1, result; + $async$returnValue, $async$self = this, isDependency, url, t1, result; var $async$_async_evaluate0$_importLikeNode$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -82629,8 +87579,7 @@ self.util = _cliPkgRequires.util; // join url = result._1; t1 = B.JSString_methods.startsWith$1(url, "file") ? A.Syntax_forPath0(url) : B.Syntax_SCSS_scss0; - t2 = $async$self._async_evaluate0$_quietDeps && isDependency ? $.$get$Logger_quiet0() : $async$self._async_evaluate0$_logger; - $async$returnValue = new A._Record_3_importer_isDependency(A.Stylesheet_Stylesheet$parse0(result._0, t1, t2, url), null, isDependency); + $async$returnValue = new A._Record_3_importer_isDependency(A.Stylesheet_Stylesheet$parse0(result._0, t1, url), null, isDependency); // goto return $async$goto = 1; break; @@ -82689,7 +87638,7 @@ self.util = _cliPkgRequires.util; _applyMixin$body$_EvaluateVisitor0(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.void), - $async$self = this, t1, _0_0, _1_8, t2; + $async$self = this, t1, _0_0, t2, _1_8; var $async$_async_evaluate0$_applyMixin$5 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -82727,14 +87676,12 @@ self.util = _cliPkgRequires.util; case 7: // join t1 = type$.UserDefinedCallable_AsyncEnvironment_2._is(mixin); + t2 = false; if (t1) { _1_8 = mixin.declaration; if (_1_8 instanceof A.MixinRule0) t2 = !type$.MixinRule_2._as(_1_8).get$hasContent() && contentCallable != null; - else - t2 = false; - } else - t2 = false; + } if (t2) throw A.wrapException(A.MultiSpanSassRuntimeException$0("Mixin doesn't accept a content block.", nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), $async$self._async_evaluate0$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null)); $async$goto = t1 ? 9 : 10; @@ -82759,10 +87706,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$_async_evaluate0$_applyMixin$5, $async$completer); }, - visitIncludeRule$1(node) { - return this.visitIncludeRule$body$_EvaluateVisitor0(node); + visitIncludeRule$1(_, node) { + return this.visitIncludeRule$body$_EvaluateVisitor0(0, node); }, - visitIncludeRule$body$_EvaluateVisitor0(node) { + visitIncludeRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, mixin; @@ -82775,7 +87722,7 @@ self.util = _cliPkgRequires.util; // Function start mixin = $async$self._async_evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure8($async$self, node)); if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--")) - $async$self._async_evaluate0$_warn$3(string$.Sass__m, node.get$nameSpan(), B.Deprecation_qBS); + $async$self._async_evaluate0$_warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_omC); $async$goto = 3; return A._asyncAwait($async$self._async_evaluate0$_applyMixin$5(mixin, A.NullableExtension_andThen0(node.content, new A._EvaluateVisitor_visitIncludeRule_closure9($async$self)), node.$arguments, node, new A._FakeAstNode0(new A._EvaluateVisitor_visitIncludeRule_closure10(node))), $async$visitIncludeRule$1); case 3: @@ -82791,10 +87738,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitIncludeRule$1, $async$completer); }, - visitMixinRule$1(node) { - return this.visitMixinRule$body$_EvaluateVisitor0(node); + visitMixinRule$1(_, node) { + return this.visitMixinRule$body$_EvaluateVisitor0(0, node); }, - visitMixinRule$body$_EvaluateVisitor0(node) { + visitMixinRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, t2, t3, t4, index, t5; @@ -82824,13 +87771,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitMixinRule$1, $async$completer); }, - visitLoudComment$1(node) { - return this.visitLoudComment$body$_EvaluateVisitor0(node); + visitLoudComment$1(_, node) { + return this.visitLoudComment$body$_EvaluateVisitor0(0, node); }, - visitLoudComment$body$_EvaluateVisitor0(node) { + visitLoudComment$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), - $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2; + $async$returnValue, $async$self = this, t1, text; var $async$visitLoudComment$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -82847,13 +87794,14 @@ self.util = _cliPkgRequires.util; if ($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent") === $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root") && $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") === J.get$length$asx($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__root, "_root").children._collection$_source)) $async$self._async_evaluate0$__endOfImports = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__endOfImports, "_endOfImports") + 1; t1 = node.text; - $async$temp1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent"); - $async$temp2 = A; $async$goto = 3; return A._asyncAwait($async$self._async_evaluate0$_performInterpolation$1(t1), $async$visitLoudComment$1); case 3: // returning from await. - $async$temp1.addChild$1(new $async$temp2.ModifiableCssComment0($async$result, t1.span)); + text = $async$result; + if (!B.JSString_methods.endsWith$1(text, "*/")) + text += " */"; + $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(new A.ModifiableCssComment0(text, t1.span)); $async$returnValue = null; // goto return $async$goto = 1; @@ -82865,10 +87813,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitLoudComment$1, $async$completer); }, - visitMediaRule$1(node) { - return this.visitMediaRule$body$_EvaluateVisitor0(node); + visitMediaRule$1(_, node) { + return this.visitMediaRule$body$_EvaluateVisitor0(0, node); }, - visitMediaRule$body$_EvaluateVisitor0(node) { + visitMediaRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, queries, mergedQueries, t1, mergedSources, t2, t3; @@ -82928,7 +87876,7 @@ self.util = _cliPkgRequires.util; _visitMediaQueries$body$_EvaluateVisitor0(interpolation) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.List_CssMediaQuery_2), - $async$returnValue, $async$self = this, _0_0; + $async$returnValue, $async$self = this, _0_0, resolved, map; var $async$_async_evaluate0$_visitMediaQueries$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -82941,7 +87889,9 @@ self.util = _cliPkgRequires.util; case 3: // returning from await. _0_0 = $async$result; - $async$returnValue = A.CssMediaQuery_parseList0(_0_0._0, _0_0._1, $async$self._async_evaluate0$_logger); + resolved = _0_0._0; + map = _0_0._1; + $async$returnValue = new A.MediaQueryParser0(A.SpanScanner$(resolved, null), map).parse$0(0); // goto return $async$goto = 1; break; @@ -82973,10 +87923,10 @@ self.util = _cliPkgRequires.util; } return queries; }, - visitReturnRule$1(node) { - return this.visitReturnRule$body$_EvaluateVisitor0(node); + visitReturnRule$1(_, node) { + return this.visitReturnRule$body$_EvaluateVisitor0(0, node); }, - visitReturnRule$body$_EvaluateVisitor0(node) { + visitReturnRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, t1, t2; @@ -83004,10 +87954,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitReturnRule$1, $async$completer); }, - visitSilentComment$1(node) { - return this.visitSilentComment$body$_EvaluateVisitor0(node); + visitSilentComment$1(_, node) { + return this.visitSilentComment$body$_EvaluateVisitor0(0, node); }, - visitSilentComment$body$_EvaluateVisitor0(node) { + visitSilentComment$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue; @@ -83029,13 +87979,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitSilentComment$1, $async$completer); }, - visitStyleRule$1(node) { - return this.visitStyleRule$body$_EvaluateVisitor0(node); + visitStyleRule$1(_, node) { + return this.visitStyleRule$body$_EvaluateVisitor0(0, node); }, - visitStyleRule$body$_EvaluateVisitor0(node) { + visitStyleRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), - $async$returnValue, $async$self = this, t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, t4, t5, complex, visitor, t6, t7, t8, t9; + $async$returnValue, $async$self = this, t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule; var $async$visitStyleRule$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -83060,7 +88010,7 @@ self.util = _cliPkgRequires.util; case 4: // then $async$goto = 6; - return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(new A.CssValue0(A.List_List$unmodifiable(A.KeyframeSelectorParser$0(selectorText, selectorMap, $async$self._async_evaluate0$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String_2), node.span), new A._EvaluateVisitor_visitStyleRule_closure14($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure15(), type$.ModifiableCssKeyframeBlock_2, type$.Null), $async$visitStyleRule$1); + return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(new A.CssValue0(A.List_List$unmodifiable(new A.KeyframeSelectorParser0(A.SpanScanner$(selectorText, null), selectorMap).parse$0(0), type$.String), t1.span, type$.CssValue_List_String_2), node.span), new A._EvaluateVisitor_visitStyleRule_closure11($async$self, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure12(), type$.ModifiableCssKeyframeBlock_2, type$.Null), $async$visitStyleRule$1); case 6: // returning from await. $async$returnValue = null; @@ -83069,7 +88019,7 @@ self.util = _cliPkgRequires.util; break; case 5: // join - parsedSelector = A.SelectorList_SelectorList$parse0(selectorText, true, selectorMap, $async$self._async_evaluate0$_logger, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss); + parsedSelector = A.SelectorList_SelectorList$parse0(selectorText, true, selectorMap, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss); t1 = $async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot; t1 = t1 == null ? null : t1.fromPlainCss; nest = t1 !== true; @@ -83094,45 +88044,18 @@ self.util = _cliPkgRequires.util; } rule = A.ModifiableCssStyleRule$0($async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__extensionStore, "_extensionStore").addSelector$2(parsedSelector, $async$self._async_evaluate0$_mediaQueries), node.span, $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss, parsedSelector); oldAtRootExcludingStyleRule = $async$self._async_evaluate0$_atRootExcludingStyleRule; - $async$self._async_evaluate0$_atRootExcludingStyleRule = false; - t1 = nest ? new A._EvaluateVisitor_visitStyleRule_closure16() : null; + t1 = $async$self._async_evaluate0$_atRootExcludingStyleRule = false; + t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure13() : null; $async$goto = 7; - return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure17($async$self, rule, node), node.hasDeclarations, t1, type$.ModifiableCssStyleRule_2, type$.Null), $async$visitStyleRule$1); + return A._asyncAwait($async$self._async_evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure14($async$self, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule_2, type$.Null), $async$visitStyleRule$1); case 7: // returning from await. $async$self._async_evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; - if (!rule.accept$1(B._IsInvisibleVisitor_false_false0)) - for (t1 = parsedSelector.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { - complex = t1[_i]; - if (!complex.accept$1(B._IsBogusVisitor_true0)) - continue; - if (complex.accept$1(B.C__IsUselessVisitor0)) { - visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); - complex.accept$1(visitor); - $async$self._async_evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG); - } else if (complex.leadingCombinators.length !== 0) { - if (!$async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__stylesheet, "_stylesheet").plainCss) { - visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); - complex.accept$1(visitor); - $async$self._async_evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG); - } - } else { - visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); - complex.accept$1(visitor); - t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)); - t7 = complex.accept$1(B._IsBogusVisitor_false0) ? string$.x20It_wi : ""; - t8 = A.SpanExtensions_trimRight0(complex.span); - if (t5.get$length(0) === 0) - A.throwExpression(A.IterableElementError_noElement()); - t9 = J.get$span$z(t5.$index(0, 0)); - $async$self._async_evaluate0$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan0(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor_visitStyleRule_closure18()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_5pG); - } - } + $async$self._async_evaluate0$_warnForBogusCombinators$1(rule); if (($async$self._async_evaluate0$_atRootExcludingStyleRule ? null : $async$self._async_evaluate0$_styleRuleIgnoringAtRoot) == null) { t1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").children; t1 = !t1.get$isEmpty(t1); - } else - t1 = false; + } if (t1) { t1 = $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").children; t1.get$last(t1).isGroupEnd = true; @@ -83148,10 +88071,40 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitStyleRule$1, $async$completer); }, - visitSupportsRule$1(node) { - return this.visitSupportsRule$body$_EvaluateVisitor0(node); + _async_evaluate0$_warnForBogusCombinators$1(rule) { + var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null; + if (!rule.accept$1(B._IsInvisibleVisitor_false_false0)) + for (t1 = rule._style_rule0$_selector._box0$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { + complex = t1[_i]; + if (!complex.accept$1(B._IsBogusVisitor_true0)) + continue; + if (complex.accept$1(B.C__IsUselessVisitor0)) { + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); + complex.accept$1(visitor); + _this._async_evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_bh9); + } else if (complex.leadingCombinators.length !== 0) { + if (!_this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__stylesheet, "_stylesheet").plainCss) { + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); + complex.accept$1(visitor); + _this._async_evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_bh9); + } + } else { + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); + complex.accept$1(visitor); + t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)); + t7 = complex.accept$1(B._IsBogusVisitor_false0) ? string$.x20It_wi : ""; + t8 = A.SpanExtensions_trimRight0(complex.span); + if (t5.get$length(0) === 0) + A.throwExpression(A.IterableElementError_noElement()); + t9 = J.get$span$z(t5.$index(0, 0)); + _this._async_evaluate0$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan0(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure2()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_bh9); + } + } }, - visitSupportsRule$body$_EvaluateVisitor0(node) { + visitSupportsRule$1(_, node) { + return this.visitSupportsRule$body$_EvaluateVisitor0(0, node); + }, + visitSupportsRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t1, $async$temp1, $async$temp2; @@ -83428,10 +88381,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$_async_evaluate0$_parenthesize$2, $async$completer); }, - visitVariableDeclaration$1(node) { - return this.visitVariableDeclaration$body$_EvaluateVisitor0(node); + visitVariableDeclaration$1(_, node) { + return this.visitVariableDeclaration$body$_EvaluateVisitor0(0, node); }, - visitVariableDeclaration$body$_EvaluateVisitor0(node) { + visitVariableDeclaration$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, t2, value, t1, $async$temp1, $async$temp2, $async$temp3; @@ -83471,7 +88424,7 @@ self.util = _cliPkgRequires.util; } if (node.isGlobal && !$async$self._async_evaluate0$_environment.globalVariableExists$1(node.name)) { t1 = $async$self._async_evaluate0$_environment._async_environment0$_variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName0(node.span) + ": null` at the stylesheet root."; - $async$self._async_evaluate0$_warn$3(t1, node.span, B.Deprecation_W6Z); + $async$self._async_evaluate0$_warn$3(t1, node.span, B.Deprecation_MT8); } t1 = node.expression; t2 = t1.accept$1($async$self); @@ -83494,10 +88447,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitVariableDeclaration$1, $async$completer); }, - visitUseRule$1(node) { - return this.visitUseRule$body$_EvaluateVisitor0(node); + visitUseRule$1(_, node) { + return this.visitUseRule$body$_EvaluateVisitor0(0, node); }, - visitUseRule$body$_EvaluateVisitor0(node) { + visitUseRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, values, t3, t4, _i, variable, t5, variableNodeWithSpan, t6, t7, configuration, t1, t2, $async$temp1, $async$temp2, $async$temp3; @@ -83575,10 +88528,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitUseRule$1, $async$completer); }, - visitWarnRule$1(node) { - return this.visitWarnRule$body$_EvaluateVisitor0(node); + visitWarnRule$1(_, node) { + return this.visitWarnRule$body$_EvaluateVisitor0(0, node); }, - visitWarnRule$body$_EvaluateVisitor0(node) { + visitWarnRule$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Value_2), $async$returnValue, $async$self = this, value, t1; @@ -83607,10 +88560,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitWarnRule$1, $async$completer); }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this._async_evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure2(this, node), true, node.hasDeclarations, type$.nullable_Value_2); }, - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { var t1, _this = this; if (_this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__stylesheet, "_stylesheet").plainCss) { t1 = node.operator; @@ -83622,29 +88575,25 @@ self.util = _cliPkgRequires.util; return _this._async_evaluate0$_addExceptionSpanAsync$1$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure2(_this, node), type$.Value_2); }, _async_evaluate0$_slash$3(left, right, node) { - var t1, right0, _1_2, _1_1, _null = null, + var t2, _1_1, result = left.dividedBy$1(right), - _1_2_isSet = left instanceof A.SassNumber0; + _1_2_isSet = left instanceof A.SassNumber0, + _1_2 = null, right0 = null, + t1 = false; if (_1_2_isSet) { - t1 = type$.SassNumber_2; - t1._as(left); + t2 = type$.SassNumber_2; + t2._as(left); if (right instanceof A.SassNumber0) { - t1._as(right); + t2._as(right); t1 = node.allowsSlash && this._async_evaluate0$_operandAllowsSlash$1(node.left) && this._async_evaluate0$_operandAllowsSlash$1(node.right); right0 = right; _1_2 = right0; - } else { - right0 = _null; + } else _1_2 = right; - t1 = false; - } _1_1 = left; } else { - right0 = _null; - _1_2 = right0; _1_1 = left; - left = _1_2; - t1 = false; + left = null; } if (t1) return type$.SassNumber_2._as(result).withSlash$2(left, right0); @@ -83653,7 +88602,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) { - this._async_evaluate0$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation2().call$1(node)) + " or " + A.expressionToCalc0(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_E8a); + this._async_evaluate0$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation2().call$1(node)) + " or " + A.expressionToCalc0(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_q39); return result; } return result; @@ -83670,10 +88619,10 @@ self.util = _cliPkgRequires.util; t1 = true; return t1; }, - visitValueExpression$1(node) { - return this.visitValueExpression$body$_EvaluateVisitor0(node); + visitValueExpression$1(_, node) { + return this.visitValueExpression$body$_EvaluateVisitor0(0, node); }, - visitValueExpression$body$_EvaluateVisitor0(node) { + visitValueExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue; @@ -83695,10 +88644,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitValueExpression$1, $async$completer); }, - visitVariableExpression$1(node) { - return this.visitVariableExpression$body$_EvaluateVisitor0(node); + visitVariableExpression$1(_, node) { + return this.visitVariableExpression$body$_EvaluateVisitor0(0, node); }, - visitVariableExpression$body$_EvaluateVisitor0(node) { + visitVariableExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, result; @@ -83724,10 +88673,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitVariableExpression$1, $async$completer); }, - visitUnaryOperationExpression$1(node) { - return this.visitUnaryOperationExpression$body$_EvaluateVisitor0(node); + visitUnaryOperationExpression$1(_, node) { + return this.visitUnaryOperationExpression$body$_EvaluateVisitor0(0, node); }, - visitUnaryOperationExpression$body$_EvaluateVisitor0(node) { + visitUnaryOperationExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, $async$temp1, $async$temp2, $async$temp3; @@ -83756,10 +88705,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitUnaryOperationExpression$1, $async$completer); }, - visitBooleanExpression$1(node) { - return this.visitBooleanExpression$body$_EvaluateVisitor0(node); + visitBooleanExpression$1(_, node) { + return this.visitBooleanExpression$body$_EvaluateVisitor0(0, node); }, - visitBooleanExpression$body$_EvaluateVisitor0(node) { + visitBooleanExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassBoolean_2), $async$returnValue; @@ -83781,10 +88730,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitBooleanExpression$1, $async$completer); }, - visitIfExpression$1(node) { - return this.visitIfExpression$body$_EvaluateVisitor0(node); + visitIfExpression$1(_, node) { + return this.visitIfExpression$body$_EvaluateVisitor0(0, node); }, - visitIfExpression$body$_EvaluateVisitor0(node) { + visitIfExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, condition, t1, ifTrue, ifFalse, result, _0_0, positional, named; @@ -83842,10 +88791,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitIfExpression$1, $async$completer); }, - visitNullExpression$1(node) { - return this.visitNullExpression$body$_EvaluateVisitor0(node); + visitNullExpression$1(_, node) { + return this.visitNullExpression$body$_EvaluateVisitor0(0, node); }, - visitNullExpression$body$_EvaluateVisitor0(node) { + visitNullExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue; @@ -83867,10 +88816,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitNullExpression$1, $async$completer); }, - visitNumberExpression$1(node) { - return this.visitNumberExpression$body$_EvaluateVisitor0(node); + visitNumberExpression$1(_, node) { + return this.visitNumberExpression$body$_EvaluateVisitor0(0, node); }, - visitNumberExpression$body$_EvaluateVisitor0(node) { + visitNumberExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassNumber_2), $async$returnValue; @@ -83892,14 +88841,14 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitNumberExpression$1, $async$completer); }, - visitParenthesizedExpression$1(node) { + visitParenthesizedExpression$1(_, node) { var _this = this; return _this._async_evaluate0$_assertInModule$2(_this._async_evaluate0$__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._async_evaluate0$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this); }, - visitColorExpression$1(node) { - return this.visitColorExpression$body$_EvaluateVisitor0(node); + visitColorExpression$1(_, node) { + return this.visitColorExpression$body$_EvaluateVisitor0(0, node); }, - visitColorExpression$body$_EvaluateVisitor0(node) { + visitColorExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassColor_2), $async$returnValue; @@ -83921,10 +88870,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitColorExpression$1, $async$completer); }, - visitListExpression$1(node) { - return this.visitListExpression$body$_EvaluateVisitor0(node); + visitListExpression$1(_, node) { + return this.visitListExpression$body$_EvaluateVisitor0(0, node); }, - visitListExpression$body$_EvaluateVisitor0(node) { + visitListExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassList_2), $async$returnValue, $async$self = this, $async$temp1; @@ -83951,10 +88900,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitListExpression$1, $async$completer); }, - visitMapExpression$1(node) { - return this.visitMapExpression$body$_EvaluateVisitor0(node); + visitMapExpression$1(_, node) { + return this.visitMapExpression$body$_EvaluateVisitor0(0, node); }, - visitMapExpression$body$_EvaluateVisitor0(node) { + visitMapExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassMap_2), $async$returnValue, $async$self = this, t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan, t1, map, keyNodes; @@ -84019,10 +88968,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitMapExpression$1, $async$completer); }, - visitFunctionExpression$1(node) { - return this.visitFunctionExpression$body$_EvaluateVisitor0(node); + visitFunctionExpression$1(_, node) { + return this.visitFunctionExpression$body$_EvaluateVisitor0(0, node); }, - visitFunctionExpression$body$_EvaluateVisitor0(node) { + visitFunctionExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, t2, _0_0, t3, t4, oldInFunction, result, t1, $function; @@ -84089,7 +89038,7 @@ self.util = _cliPkgRequires.util; case 4: // join if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--")) - $async$self._async_evaluate0$_warn$3(string$.Sass__ff, node.get$nameSpan(), B.Deprecation_qBS); + $async$self._async_evaluate0$_warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_omC); oldInFunction = $async$self._async_evaluate0$_inFunction; $async$self._async_evaluate0$_inFunction = true; $async$goto = 12; @@ -84367,7 +89316,7 @@ self.util = _cliPkgRequires.util; break; case 4: // join - $async$goto = node instanceof A.StringExpression0 && node.accept$1(new A._IsCalculationSafeVisitor0()) ? 6 : 7; + $async$goto = node instanceof A.StringExpression0 && node.accept$1(B.C_IsCalculationSafeVisitor0) ? 6 : 7; break; case 6: // then @@ -84611,10 +89560,10 @@ self.util = _cliPkgRequires.util; throw A.wrapException(this._async_evaluate0$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode)))); } }, - visitInterpolatedFunctionExpression$1(node) { - return this.visitInterpolatedFunctionExpression$body$_EvaluateVisitor0(node); + visitInterpolatedFunctionExpression$1(_, node) { + return this.visitInterpolatedFunctionExpression$body$_EvaluateVisitor0(0, node); }, - visitInterpolatedFunctionExpression$body$_EvaluateVisitor0(node) { + visitInterpolatedFunctionExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, result, t1, oldInFunction; @@ -84858,7 +89807,7 @@ self.util = _cliPkgRequires.util; _runBuiltInCallable$body$_EvaluateVisitor0($arguments, callable, nodeWithSpan) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), - $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, t2, t3, argument, t4, t5, t6, t7, rest, argumentList, exception, message0, _box_0, evaluated, oldCallableNode, $async$exception; + $async$returnValue, $async$handler = 2, $async$currentError, $async$self = this, result, error, stackTrace, namedSet, _0_0, declaredArguments, i, t1, t2, t3, argument, t4, t5, t6, t7, rest, argumentList, exception, _box_0, evaluated, oldCallableNode, $async$exception; var $async$_async_evaluate0$_runBuiltInCallable$3 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { $async$currentError = $async$result; @@ -84927,7 +89876,7 @@ self.util = _cliPkgRequires.util; rest = J.sublist$1$ax(evaluated._values[2], t1); J.removeRange$2$ax(evaluated._values[2], t1, J.get$length$asx(evaluated._values[2])); } else - rest = B.List_empty19; + rest = B.List_empty20; t1 = evaluated._values[0]; argumentList = A.SassArgumentList$0(rest, t1, evaluated._values[4] === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : evaluated._values[4]); J.add$1$ax(evaluated._values[2], argumentList); @@ -84954,14 +89903,7 @@ self.util = _cliPkgRequires.util; else { error = t1; stackTrace = A.getTraceFromException($async$exception); - message = null; - try { - message = A._asString(J.get$message$x(error)); - } catch (exception) { - message0 = J.toString$0$(error); - message = message0; - } - A.throwWithTrace0($async$self._async_evaluate0$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); + A.throwWithTrace0($async$self._async_evaluate0$_exception$2($async$self._async_evaluate0$_getErrorMessage$1(error), nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); } // goto after finally $async$goto = 13; @@ -85236,10 +90178,10 @@ self.util = _cliPkgRequires.util; _async_evaluate0$_verifyArguments$4(positional, named, $arguments, nodeWithSpan) { return this._async_evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure2($arguments, positional, named)); }, - visitSelectorExpression$1(node) { - return this.visitSelectorExpression$body$_EvaluateVisitor0(node); + visitSelectorExpression$1(_, node) { + return this.visitSelectorExpression$body$_EvaluateVisitor0(0, node); }, - visitSelectorExpression$body$_EvaluateVisitor0(node) { + visitSelectorExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Value_2), $async$returnValue, $async$self = this, t1; @@ -85263,13 +90205,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitSelectorExpression$1, $async$completer); }, - visitStringExpression$1(node) { - return this.visitStringExpression$body$_EvaluateVisitor0(node); + visitStringExpression$1(_, node) { + return this.visitStringExpression$body$_EvaluateVisitor0(0, node); }, - visitStringExpression$body$_EvaluateVisitor0(node) { + visitStringExpression$body$_EvaluateVisitor0(_, node) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassString_2), - $async$returnValue, $async$self = this, t1, t2, t3, t4, _i, value, t5, _0_0, text, oldInSupportsDeclaration; + $async$returnValue, $async$self = this, t1, t2, t3, _i, value, t4, _0_0, text, oldInSupportsDeclaration; var $async$visitStringExpression$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -85280,7 +90222,7 @@ self.util = _cliPkgRequires.util; oldInSupportsDeclaration = $async$self._async_evaluate0$_inSupportsDeclaration; $async$self._async_evaluate0$_inSupportsDeclaration = false; t1 = A._setArrayType([], type$.JSArray_String); - t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression_2, _i = 0; + t2 = node.text.contents, t3 = t2.length, _i = 0; case 3: // for condition if (!(_i < t3)) { @@ -85290,12 +90232,12 @@ self.util = _cliPkgRequires.util; } value = t2[_i]; if (typeof value == "string") { - t5 = value; + t4 = value; // goto break $label0$0 $async$goto = 6; break; } - $async$goto = t4._is(value) ? 7 : 8; + $async$goto = value instanceof A.Expression0 ? 7 : 8; break; case 7: // then @@ -85307,10 +90249,10 @@ self.util = _cliPkgRequires.util; $label1$1: { if (_0_0 instanceof A.SassString0) { text = _0_0._string0$_text; - t5 = text; + t4 = text; break $label1$1; } - t5 = $async$self._async_evaluate0$_serialize$3$quote(_0_0, value, false); + t4 = $async$self._async_evaluate0$_serialize$3$quote(_0_0, value, false); break $label1$1; } // goto break $label0$0 @@ -85318,10 +90260,10 @@ self.util = _cliPkgRequires.util; break; case 8: // join - t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); + t4 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); case 6: // break $label0$0 - t1.push(t5); + t1.push(t4); case 4: // for update ++_i; @@ -85343,10 +90285,10 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$visitStringExpression$1, $async$completer); }, - visitSupportsExpression$1(expression) { - return this.visitSupportsExpression$body$_EvaluateVisitor0(expression); + visitSupportsExpression$1(_, expression) { + return this.visitSupportsExpression$body$_EvaluateVisitor0(0, expression); }, - visitSupportsExpression$body$_EvaluateVisitor0(expression) { + visitSupportsExpression$body$_EvaluateVisitor0(_, expression) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.SassString_2), $async$returnValue, $async$self = this, $async$temp1; @@ -85452,7 +90394,7 @@ self.util = _cliPkgRequires.util; switch ($async$goto) { case 0: // Function start - $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$0(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap)); + $async$self._async_evaluate0$_assertInModule$2($async$self._async_evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$0(node.name, node.value, node.span, null, node.parsedAsCustomProperty, null, node.valueSpanForMap)); // implicit return return A._asyncReturn(null, $async$completer); } @@ -85876,7 +90818,7 @@ self.util = _cliPkgRequires.util; _performInterpolationHelper$body$_EvaluateVisitor0(interpolation, sourceMap, warnForColor) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_String_and_nullable_InterpolationMap_2), - $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, targetLocations, oldInSupportsDeclaration; + $async$returnValue, $async$self = this, t1, t2, t3, t4, t5, t6, first, _i, t7, value, result, result0, t8, targetLocations, oldInSupportsDeclaration; var $async$_async_evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -85887,7 +90829,7 @@ self.util = _cliPkgRequires.util; targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : null; oldInSupportsDeclaration = $async$self._async_evaluate0$_inSupportsDeclaration; $async$self._async_evaluate0$_inSupportsDeclaration = false; - t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression_2, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = ""; + t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression_2, t4 = targetLocations == null, t5 = interpolation.span, t6 = type$.Object, first = true, _i = 0, t7 = ""; case 3: // for condition if (!(_i < t2)) { @@ -85898,9 +90840,9 @@ self.util = _cliPkgRequires.util; value = t1[_i]; if (!first) if (!t4) - targetLocations.push(A.SourceLocation$(t8.length, null, null, null)); + targetLocations.push(A.SourceLocation$(t7.length, null, null, null)); if (typeof value == "string") { - t8 += value; + t7 += value; // goto for update $async$goto = 4; break; @@ -85912,16 +90854,13 @@ self.util = _cliPkgRequires.util; // returning from await. result = $async$result; if (warnForColor && $.$get$namesByColor0().containsKey$1(result)) { - t9 = A._setArrayType([""], t5); - result0 = A.List_List$from(t9, false, t7); + result0 = A.List_List$from([""], false, t6); result0.fixed$length = Array; result0.immutable$list = Array; - result0 = new A.Interpolation0(result0, t6); - result0.Interpolation$20(t9, t6); - t9 = $.$get$namesByColor0(); - $async$self._async_evaluate0$_warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression0(B.BinaryOperator_u150, new A.StringExpression0(result0, true), value, false).toString$0(0) + "'.", value.get$span(value)); + t8 = $.$get$namesByColor0(); + $async$self._async_evaluate0$_warn$2(string$.You_pr + A.S(t8.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t8.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression0(B.BinaryOperator_u150, new A.StringExpression0(new A.Interpolation0(result0, B.List_null, t5), true), value, false).toString$0(0) + "'.", value.get$span(value)); } - t8 += $async$self._async_evaluate0$_serialize$3$quote(result, value, false); + t7 += $async$self._async_evaluate0$_serialize$3$quote(result, value, false); case 4: // for update ++_i, first = false; @@ -85931,7 +90870,7 @@ self.util = _cliPkgRequires.util; case 5: // after for $async$self._async_evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration; - $async$returnValue = new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen0(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure2(interpolation))); + $async$returnValue = new A._Record_2(t7.charCodeAt(0) == 0 ? t7 : t7, A.NullableExtension_andThen0(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure2(interpolation))); // goto return $async$goto = 1; break; @@ -86166,7 +91105,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) - this._async_evaluate0$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation2().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_E8a); + this._async_evaluate0$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation2().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_q39); return value.withoutSlash$0(); }, _async_evaluate0$_stackFrame$2(member, span) { @@ -86446,7 +91385,21 @@ self.util = _cliPkgRequires.util; } }); return A._asyncStartSync($async$_async_evaluate0$_addErrorSpan$1$2, $async$completer); - } + }, + _async_evaluate0$_getErrorMessage$1(error) { + var t1, exception; + if (type$.Error._is(error)) + return error.toString$0(0); + try { + t1 = A._asString(J.get$message$x(error)); + return t1; + } catch (exception) { + t1 = J.toString$0$(error); + return t1; + } + }, + $isExpressionVisitor: 1, + $isStatementVisitor: 1 }; A._EvaluateVisitor_closure38.prototype = { call$1($arguments) { @@ -86459,7 +91412,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-"); return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string0$_text) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure39.prototype = { call$1($arguments) { @@ -86467,7 +91420,7 @@ self.util = _cliPkgRequires.util; t1 = this.$this._async_evaluate0$_environment; return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-")) != null ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure40.prototype = { call$1($arguments) { @@ -86482,7 +91435,7 @@ self.util = _cliPkgRequires.util; t4 = A.stringReplaceAllUnchecked(t3, "_", "-"); return t2.getFunction$2$namespace(t4, module == null ? null : module._string0$_text) != null || t1._async_evaluate0$_builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure41.prototype = { call$1($arguments) { @@ -86495,7 +91448,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-"); return t1.getMixin$2$namespace(t2, module == null ? null : module._string0$_text) != null ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure42.prototype = { call$1($arguments) { @@ -86504,7 +91457,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$0(string$.conten, null)); return t1._async_environment0$_content != null ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure43.prototype = { call$1($arguments) { @@ -86521,7 +91474,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._EvaluateVisitor_closure44.prototype = { call$1($arguments) { @@ -86538,7 +91491,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._EvaluateVisitor_closure45.prototype = { call$1($arguments) { @@ -86555,7 +91508,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._EvaluateVisitor_closure46.prototype = { call$1($arguments) { @@ -86578,7 +91531,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Function not found: " + $name.toString$0(0)); return new A.SassFunction0(callable); }, - $signature: 137 + $signature: 169 }; A._EvaluateVisitor__closure14.prototype = { call$0() { @@ -86592,7 +91545,7 @@ self.util = _cliPkgRequires.util; return local; return t1._async_evaluate0$_builtInFunctions.$index(0, normalizedName); }, - $signature: 93 + $signature: 96 }; A._EvaluateVisitor_closure47.prototype = { call$1($arguments) { @@ -86609,7 +91562,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Mixin not found: " + $name.toString$0(0)); return new A.SassMixin0(callable); }, - $signature: 241 + $signature: 171 }; A._EvaluateVisitor__closure13.prototype = { call$0() { @@ -86618,7 +91571,7 @@ self.util = _cliPkgRequires.util; t3 = this.module; return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string0$_text); }, - $signature: 93 + $signature: 96 }; A._EvaluateVisitor_closure48.prototype = { call$1($arguments) { @@ -86664,11 +91617,11 @@ self.util = _cliPkgRequires.util; break; case 3: // then - A.warnForDeprecation0(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_MMc); + A.warnForDeprecation0(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_U43); callableNode = t1._async_evaluate0$_callableNode; t2 = $function._string0$_text; t3 = callableNode.get$span(callableNode); - t1 = t1.visitFunctionExpression$1(new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); + t1 = t1.visitFunctionExpression$1(0, new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); $async$goto = 5; return A._asyncAwait(type$.Future_Value_2._is(t1) ? t1 : A._Future$value(t1, type$.Value_2), $async$call$1); case 5: @@ -86698,7 +91651,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 89 + $signature: 107 }; A._EvaluateVisitor_closure49.prototype = { call$1($arguments) { @@ -86740,7 +91693,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 266 + $signature: 172 }; A._EvaluateVisitor__closure11.prototype = { call$2(variable, value) { @@ -86751,14 +91704,14 @@ self.util = _cliPkgRequires.util; throw A.wrapException("The variable $" + $name + " was configured twice."); t1.$indexSet(0, $name, new A.ConfiguredValue0(value, this.span, this.callableNode)); }, - $signature: 94 + $signature: 97 }; A._EvaluateVisitor__closure12.prototype = { call$2(module, _) { var t1 = this.$this; return t1._async_evaluate0$_combineCss$2$clone(module, true).accept$1(t1); }, - $signature: 320 + $signature: 331 }; A._EvaluateVisitor_closure50.prototype = { call$1($arguments) { @@ -86783,7 +91736,7 @@ self.util = _cliPkgRequires.util; t2 = callableNode.get$span(callableNode); t3 = callableNode.get$span(callableNode); t4 = type$.Expression_2; - t5 = A.List_List$unmodifiable(B.List_empty20, t4); + t5 = A.List_List$unmodifiable(B.List_empty21, t4); t4 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t4); $async$goto = 2; return A._asyncAwait(t1._async_evaluate0$_applyMixin$5(mixin.assertMixin$1("mixin").callable, t1._async_evaluate0$_environment._async_environment0$_content, new A.ArgumentInvocation0(t5, t4, new A.ValueExpression0(args, t3), null, t2), callableNode, callableNode), $async$call$1); @@ -86795,7 +91748,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 266 + $signature: 172 }; A._EvaluateVisitor_run_closure2.prototype = { call$0() { @@ -86836,13 +91789,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 321 + $signature: 332 }; A._EvaluateVisitor_run__closure2.prototype = { call$0() { return this.$this._async_evaluate0$_execute$2(this.importer, this.node); }, - $signature: 322 + $signature: 333 }; A._EvaluateVisitor__loadModule_closure5.prototype = { call$0() { @@ -86943,7 +91896,7 @@ self.util = _cliPkgRequires.util; call$1(previousLoad) { return this.$this._async_evaluate0$_multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 95 + $signature: 98 }; A._EvaluateVisitor__loadModule__closure6.prototype = { call$0() { @@ -86992,7 +91945,7 @@ self.util = _cliPkgRequires.util; if (t6 != null) t1._async_evaluate0$_configuration = t6; $async$goto = 2; - return A._asyncAwait(t1.visitStylesheet$1(t3), $async$call$0); + return A._asyncAwait(t1.visitStylesheet$1(0, t3), $async$call$0); case 2: // returning from await. t3 = t1._async_evaluate0$_outOfOrderImports == null ? t5 : new A.CssStylesheet0(new A.UnmodifiableListView(t1._async_evaluate0$_addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode_2), t4); @@ -87025,13 +91978,13 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 114 + $signature: 129 }; A._EvaluateVisitor__combineCss_closure6.prototype = { call$1(target) { return !this.selectors.contains$1(0, target); }, - $signature: 15 + $signature: 14 }; A._EvaluateVisitor__combineCss_visitModule2.prototype = { call$1(module) { @@ -87057,19 +92010,19 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index)); B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements))); }, - $signature: 324 + $signature: 335 }; A._EvaluateVisitor__extendModules_closure5.prototype = { call$1(target) { return !this.originalSelectors.contains$1(0, target); }, - $signature: 15 + $signature: 14 }; A._EvaluateVisitor__extendModules_closure6.prototype = { call$0() { return A._setArrayType([], type$.JSArray_ExtensionStore_2); }, - $signature: 234 + $signature: 167 }; A._EvaluateVisitor_visitAtRootRule_closure5.prototype = { call$0() { @@ -87149,7 +92102,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__scopeForAtRoot_closure17.prototype = { call$1(callback) { @@ -87177,7 +92130,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot_closure18.prototype = { call$1(callback) { @@ -87205,13 +92158,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot_closure19.prototype = { call$1(callback) { return this.$this._async_evaluate0$_withMediaQueries$1$3(null, null, new A._EvaluateVisitor__scopeForAtRoot__closure2(this.innerScope, callback), type$.Null); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot__closure2.prototype = { call$0() { @@ -87245,13 +92198,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor__scopeForAtRoot_closure21.prototype = { call$1($parent) { return $parent instanceof A.ModifiableCssAtRule0; }, - $signature: 232 + $signature: 175 }; A._EvaluateVisitor__scopeForAtRoot_closure22.prototype = { call$1(callback) { @@ -87279,7 +92232,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 37 + $signature: 39 }; A._EvaluateVisitor_visitContentRule_closure2.prototype = { call$0() { @@ -87372,13 +92325,13 @@ self.util = _cliPkgRequires.util; t2 = this.nodeWithSpan; return t1._async_evaluate0$_environment.setLocalVariable$3(this._box_0.variable, t1._async_evaluate0$_withoutSlash$2(value, t2), t2); }, - $signature: 63 + $signature: 61 }; A._EvaluateVisitor_visitEachRule_closure9.prototype = { call$1(value) { return this.$this._async_evaluate0$_setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan); }, - $signature: 63 + $signature: 61 }; A._EvaluateVisitor_visitEachRule_closure10.prototype = { call$0() { @@ -87386,7 +92339,7 @@ self.util = _cliPkgRequires.util; t1 = _this.$this; return t1._async_evaluate0$_handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure2(t1, _this.setVariables, _this.node)); }, - $signature: 75 + $signature: 67 }; A._EvaluateVisitor_visitEachRule__closure2.prototype = { call$1(element) { @@ -87395,19 +92348,19 @@ self.util = _cliPkgRequires.util; t1 = this.$this; return t1._async_evaluate0$_handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure2(t1)); }, - $signature: 329 + $signature: 340 }; A._EvaluateVisitor_visitEachRule___closure2.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 98 + $signature: 101 }; A._EvaluateVisitor_visitAtRule_closure8.prototype = { call$1(value) { return this.$this._async_evaluate0$_interpolationToValue$3$trim$warnForColor(value, true, true); }, - $signature: 331 + $signature: 342 }; A._EvaluateVisitor_visitAtRule_closure9.prototype = { call$0() { @@ -87539,7 +92492,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 229 + $signature: 271 }; A._EvaluateVisitor_visitForRule_closure15.prototype = { call$0() { @@ -87568,7 +92521,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 229 + $signature: 271 }; A._EvaluateVisitor_visitForRule_closure16.prototype = { call$0() { @@ -87639,13 +92592,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 75 + $signature: 67 }; A._EvaluateVisitor_visitForRule__closure2.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 98 + $signature: 101 }; A._EvaluateVisitor_visitForwardRule_closure5.prototype = { call$2(module, firstLoad) { @@ -87653,7 +92606,7 @@ self.util = _cliPkgRequires.util; this.$this._async_evaluate0$_registerCommentsForModule$1(module); this.$this._async_evaluate0$_environment.forwardModule$2(module, this.node); }, - $signature: 109 + $signature: 114 }; A._EvaluateVisitor_visitForwardRule_closure6.prototype = { call$2(module, firstLoad) { @@ -87661,33 +92614,33 @@ self.util = _cliPkgRequires.util; this.$this._async_evaluate0$_registerCommentsForModule$1(module); this.$this._async_evaluate0$_environment.forwardModule$2(module, this.node); }, - $signature: 109 + $signature: 114 }; A._EvaluateVisitor__registerCommentsForModule_closure2.prototype = { call$0() { return A._setArrayType([], type$.JSArray_CssComment_2); }, - $signature: 228 + $signature: 182 }; A._EvaluateVisitor_visitIfRule_closure2.prototype = { call$1(clause) { var t1 = this.$this; return t1._async_evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure2(t1, clause), true, clause.hasDeclarations, type$.nullable_Value_2); }, - $signature: 336 + $signature: 347 }; A._EvaluateVisitor_visitIfRule__closure2.prototype = { call$0() { var t1 = this.$this; return t1._async_evaluate0$_handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure2(t1)); }, - $signature: 75 + $signature: 67 }; A._EvaluateVisitor_visitIfRule___closure2.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 98 + $signature: 101 }; A._EvaluateVisitor__visitDynamicImport_closure2.prototype = { call$0() { @@ -87740,7 +92693,7 @@ self.util = _cliPkgRequires.util; t1._async_evaluate0$__stylesheet = stylesheet; t1._async_evaluate0$_inDependency = isDependency; $async$goto = 6; - return A._asyncAwait(t1.visitStylesheet$1(stylesheet), $async$call$0); + return A._asyncAwait(t1.visitStylesheet$1(0, stylesheet), $async$call$0); case 6: // returning from await. t1._async_evaluate0$_importer = oldImporter; @@ -87806,25 +92759,25 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__visitDynamicImport__closure11.prototype = { call$1(previousLoad) { return this.$this._async_evaluate0$_multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 95 + $signature: 98 }; A._EvaluateVisitor__visitDynamicImport__closure12.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 227 + $signature: 183 }; A._EvaluateVisitor__visitDynamicImport__closure13.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 226 + $signature: 184 }; A._EvaluateVisitor__visitDynamicImport__closure14.prototype = { call$0() { @@ -87864,7 +92817,7 @@ self.util = _cliPkgRequires.util; if (!t7.get$isEmpty(t7)) t1._async_evaluate0$_configuration = $async$self.environment.toImplicitConfiguration$0(); $async$goto = 2; - return A._asyncAwait(t1.visitStylesheet$1(t6.stylesheet), $async$call$0); + return A._asyncAwait(t1.visitStylesheet$1(0, t6.stylesheet), $async$call$0); case 2: // returning from await. t6 = t8 ? t1._async_evaluate0$_addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode_2); @@ -87910,7 +92863,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin__closure6.prototype = { call$0() { @@ -87934,7 +92887,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin_closure6.prototype = { call$0() { @@ -87984,7 +92937,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin___closure2.prototype = { call$0() { @@ -88024,39 +92977,39 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 24 + $signature: 30 }; A._EvaluateVisitor__applyMixin____closure2.prototype = { call$0() { return this.statement.accept$1(this.$this); }, - $signature: 75 + $signature: 67 }; A._EvaluateVisitor_visitIncludeRule_closure8.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate0$_environment.getMixin$2$namespace(t1.name, t1.namespace); }, - $signature: 93 + $signature: 96 }; A._EvaluateVisitor_visitIncludeRule_closure9.prototype = { call$1($content) { var t1 = this.$this; return new A.UserDefinedCallable0($content, t1._async_evaluate0$_environment.closure$0(), t1._async_evaluate0$_inDependency, type$.UserDefinedCallable_AsyncEnvironment_2); }, - $signature: 339 + $signature: 350 }; A._EvaluateVisitor_visitIncludeRule_closure10.prototype = { call$0() { return this.node.get$spanWithoutContent(); }, - $signature: 26 + $signature: 29 }; A._EvaluateVisitor_visitMediaRule_closure8.prototype = { call$1(mediaQueries) { return this.$this._async_evaluate0$_mergeMediaQueries$2(mediaQueries, this.queries); }, - $signature: 101 + $signature: 105 }; A._EvaluateVisitor_visitMediaRule_closure9.prototype = { call$0() { @@ -88195,7 +93148,7 @@ self.util = _cliPkgRequires.util; }, $signature: 8 }; - A._EvaluateVisitor_visitStyleRule_closure14.prototype = { + A._EvaluateVisitor_visitStyleRule_closure11.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), @@ -88235,13 +93188,13 @@ self.util = _cliPkgRequires.util; }, $signature: 2 }; - A._EvaluateVisitor_visitStyleRule_closure15.prototype = { + A._EvaluateVisitor_visitStyleRule_closure12.prototype = { call$1(node) { return node instanceof A.ModifiableCssStyleRule0; }, $signature: 8 }; - A._EvaluateVisitor_visitStyleRule_closure17.prototype = { + A._EvaluateVisitor_visitStyleRule_closure14.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Null), @@ -88306,17 +93259,17 @@ self.util = _cliPkgRequires.util; }, $signature: 2 }; - A._EvaluateVisitor_visitStyleRule_closure16.prototype = { + A._EvaluateVisitor_visitStyleRule_closure13.prototype = { call$1(node) { return node instanceof A.ModifiableCssStyleRule0; }, $signature: 8 }; - A._EvaluateVisitor_visitStyleRule_closure18.prototype = { + A._EvaluateVisitor__warnForBogusCombinators_closure2.prototype = { call$1(child) { return child instanceof A.ModifiableCssComment0; }, - $signature: 108 + $signature: 8 }; A._EvaluateVisitor_visitSupportsRule_closure5.prototype = { call$0() { @@ -88459,7 +93412,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 177 + $signature: 227 }; A._EvaluateVisitor_visitVariableDeclaration_closure8.prototype = { call$0() { @@ -88474,7 +93427,7 @@ self.util = _cliPkgRequires.util; var t1 = this.node; return this.$this._async_evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitVariableDeclaration_closure10.prototype = { call$0() { @@ -88513,13 +93466,13 @@ self.util = _cliPkgRequires.util; t1._async_environment0$_allModules.push(module); } }, - $signature: 109 + $signature: 114 }; A._EvaluateVisitor_visitWarnRule_closure2.prototype = { call$0() { return this.node.expression.accept$1(this.$this); }, - $signature: 65 + $signature: 78 }; A._EvaluateVisitor_visitWhileRule_closure2.prototype = { call$0() { @@ -88572,13 +93525,13 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 75 + $signature: 67 }; A._EvaluateVisitor_visitWhileRule__closure2.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 98 + $signature: 101 }; A._EvaluateVisitor_visitBinaryOperationExpression_closure2.prototype = { call$0() { @@ -88869,7 +93822,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 65 + $signature: 78 }; A._EvaluateVisitor__slash_recommendation2.prototype = { call$1(expression) { @@ -88888,14 +93841,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 135 + $signature: 112 }; A._EvaluateVisitor_visitVariableExpression_closure2.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitUnaryOperationExpression_closure2.prototype = { call$0() { @@ -88918,33 +93871,33 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor_visitListExpression_closure2.prototype = { call$1(expression) { return expression.accept$1(this.$this); }, - $signature: 346 + $signature: 356 }; A._EvaluateVisitor_visitFunctionExpression_closure8.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate0$_environment.getFunction$2$namespace(t1.name, t1.namespace); }, - $signature: 93 + $signature: 96 }; A._EvaluateVisitor_visitFunctionExpression_closure9.prototype = { call$1(argument) { - return argument.accept$1(new A._IsCalculationSafeVisitor0()); + return argument.accept$1(B.C_IsCalculationSafeVisitor0); }, - $signature: 107 + $signature: 137 }; A._EvaluateVisitor_visitFunctionExpression_closure10.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate0$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1); }, - $signature: 65 + $signature: 78 }; A._EvaluateVisitor__checkCalculationArguments_check2.prototype = { call$1(maxArgs) { @@ -88958,7 +93911,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.call$1(null); }, - $signature: 96 + $signature: 99 }; A._EvaluateVisitor__visitCalculationExpression_closure2.prototype = { call$0() { @@ -88997,14 +93950,14 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 180 + $signature: 252 }; A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure2.prototype = { call$0() { var t1 = this.node; return this.$this._async_evaluate0$_runFunctionCallable$3(t1.$arguments, this.$function, t1); }, - $signature: 65 + $signature: 78 }; A._EvaluateVisitor__runUserDefinedCallable_closure2.prototype = { call$0() { @@ -89036,7 +93989,7 @@ self.util = _cliPkgRequires.util; $call$body$_EvaluateVisitor__runUserDefinedCallable___closure0($async$type) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter($async$type), - $async$returnValue, $async$self = this, declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, t1, t2, t3, t4, $async$temp1; + $async$returnValue, $async$self = this, declaredArguments, t5, minLength, i, argument, t6, t7, value, t8, restArgument, rest, argumentList, result, argumentWord, t1, t2, t3, t4, $async$temp1; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -89065,7 +94018,7 @@ self.util = _cliPkgRequires.util; argument = declaredArguments[i]; t6 = t2[0]; t7 = argument.name; - value = J.remove$1$z(t6, t7); + value = t6.remove$1(0, t7); $async$goto = value == null ? 6 : 7; break; case 6: @@ -89080,7 +94033,7 @@ self.util = _cliPkgRequires.util; case 7: // join t6 = t1._async_evaluate0$_environment; - t8 = J.$index$asx(t2[1], t7); + t8 = t2[1].$index(0, t7); if (t8 == null) { t8 = argument.defaultValue; t8.toString; @@ -89097,7 +94050,7 @@ self.util = _cliPkgRequires.util; // after for restArgument = t3.restArgument; if (restArgument != null) { - rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty19; + rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty20; t5 = t2[0]; t6 = t2[4]; argumentList = A.SassArgumentList$0(rest, t5, t6 === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : t6); @@ -89115,7 +94068,8 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - if (J.get$isEmpty$asx(t2[0])) { + t5 = t2[0]; + if (t5.get$isEmpty(t5)) { $async$returnValue = result; // goto return $async$goto = 1; @@ -89127,7 +94081,10 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - throw A.wrapException(A.MultiSpanSassRuntimeException$0("No " + A.pluralize0("argument", J.get$length$asx(J.get$keys$z(t2[0])), null) + " named " + A.toSentence0(J.map$1$1$ax(J.get$keys$z(t2[0]), new A._EvaluateVisitor__runUserDefinedCallable____closure2(), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._async_evaluate0$_stackTrace$1(t4.get$span(t4)), null)); + t5 = t2[0]; + argumentWord = A.pluralize0("argument", J.get$length$asx(t5.get$keys(t5)), null); + t2 = t2[0]; + throw A.wrapException(A.MultiSpanSassRuntimeException$0("No " + argumentWord + " named " + A.toSentence0(J.map$1$1$ax(t2.get$keys(t2), new A._EvaluateVisitor__runUserDefinedCallable____closure2(), type$.Object), "or") + ".", t4.get$span(t4), "invocation", A.LinkedHashMap_LinkedHashMap$_literal([t3.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), t1._async_evaluate0$_stackTrace$1(t4.get$span(t4)), null)); case 1: // return return A._asyncReturn($async$returnValue, $async$completer); @@ -89143,7 +94100,7 @@ self.util = _cliPkgRequires.util; call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__runFunctionCallable_closure2.prototype = { call$0() { @@ -89192,7 +94149,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 65 + $signature: 78 }; A._EvaluateVisitor__runBuiltInCallable_closure8.prototype = { call$0() { @@ -89204,25 +94161,25 @@ self.util = _cliPkgRequires.util; call$0() { return this._box_0.callback.call$1(this.evaluated._values[2]); }, - $signature: 348 + $signature: 358 }; A._EvaluateVisitor__runBuiltInCallable_closure10.prototype = { call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__evaluateArguments_closure11.prototype = { call$1(value) { return value; }, - $signature: 41 + $signature: 43 }; A._EvaluateVisitor__evaluateArguments_closure12.prototype = { call$1(value) { return this.$this._async_evaluate0$_withoutSlash$2(value, this.restNodeForSpan); }, - $signature: 41 + $signature: 43 }; A._EvaluateVisitor__evaluateArguments_closure13.prototype = { call$2(key, value) { @@ -89231,27 +94188,27 @@ self.util = _cliPkgRequires.util; _this.named.$indexSet(0, key, _this.$this._async_evaluate0$_withoutSlash$2(value, t1)); _this.namedNodes.$indexSet(0, key, t1); }, - $signature: 100 + $signature: 108 }; A._EvaluateVisitor__evaluateArguments_closure14.prototype = { call$1(value) { return value; }, - $signature: 41 + $signature: 43 }; A._EvaluateVisitor__evaluateMacroArguments_closure11.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression0(value, t1.get$span(t1)); }, - $signature: 61 + $signature: 66 }; A._EvaluateVisitor__evaluateMacroArguments_closure12.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression0(this.$this._async_evaluate0$_withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1)); }, - $signature: 61 + $signature: 66 }; A._EvaluateVisitor__evaluateMacroArguments_closure13.prototype = { call$2(key, value) { @@ -89259,14 +94216,14 @@ self.util = _cliPkgRequires.util; t1 = _this.restArgs; _this.named.$indexSet(0, key, new A.ValueExpression0(_this.$this._async_evaluate0$_withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1))); }, - $signature: 100 + $signature: 108 }; A._EvaluateVisitor__evaluateMacroArguments_closure14.prototype = { call$1(value) { var t1 = this.keywordRestArgs; return new A.ValueExpression0(this.$this._async_evaluate0$_withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1)); }, - $signature: 61 + $signature: 66 }; A._EvaluateVisitor__addRestMap_closure2.prototype = { call$2(key, value) { @@ -89279,7 +94236,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(t1._async_evaluate0$_exception$2(string$.Variab_ + key.toString$0(0) + " is not a string in " + _this.map.toString$0(0) + ".", t2.get$span(t2))); } }, - $signature: 94 + $signature: 97 }; A._EvaluateVisitor__verifyArguments_closure2.prototype = { call$0() { @@ -89379,7 +94336,7 @@ self.util = _cliPkgRequires.util; call$1(mediaQueries) { return this.$this._async_evaluate0$_mergeMediaQueries$2(mediaQueries, this.node.queries); }, - $signature: 101 + $signature: 105 }; A._EvaluateVisitor_visitCssMediaRule_closure9.prototype = { call$0() { @@ -89686,30 +94643,29 @@ self.util = _cliPkgRequires.util; call$1(targetLocations) { return A.InterpolationMap$0(this.interpolation, targetLocations); }, - $signature: 219 + $signature: 194 }; A._EvaluateVisitor__serialize_closure2.prototype = { call$0() { return A.serializeValue0(this.value, false, this.quote); }, - $signature: 25 + $signature: 31 }; A._EvaluateVisitor__expressionNode_closure2.prototype = { call$0() { var t1 = this.expression; return this.$this._async_evaluate0$_environment.getVariableNode$2$namespace(t1.name, t1.namespace); }, - $signature: 218 + $signature: 195 }; A._EvaluateVisitor__withoutSlash_recommendation2.prototype = { call$1(number) { - var t1, before, after, + var before, after, t1, _1_0 = number.asSlash; $label0$0: { if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) { - t1 = type$.SassNumber_2; - before = t1._as(_1_0._0); - after = t1._as(_1_0._1); + before = _1_0._0; + after = _1_0._1; t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")"; break $label0$0; } @@ -89718,7 +94674,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 217 + $signature: 196 }; A._EvaluateVisitor__stackFrame_closure2.prototype = { call$1(url) { @@ -89726,7 +94682,7 @@ self.util = _cliPkgRequires.util; t1 = t1 == null ? null : t1.humanize$1(url); return t1 == null ? url : t1; }, - $signature: 46 + $signature: 50 }; A._ImportedCssVisitor2.prototype = { visitCssAtRule$1(node) { @@ -89887,7 +94843,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this._findFileUrl.call$2(this.url.toString$0(0), A.canonicalizeContext0()); }, - $signature: 31 + $signature: 37 }; A.AsyncImportCache0.prototype = { canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) { @@ -89896,7 +94852,7 @@ self.util = _cliPkgRequires.util; canonicalize$body$AsyncImportCache0(_, url, baseImporter, baseUrl, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2), - $async$returnValue, $async$self = this, t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j; + $async$returnValue, $async$self = this, t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, result, _1_2, _2_0, _2_1, _2_5_isSet, _2_5, _2_3, _2_3_isSet, j; var $async$canonicalize$4$baseImporter$baseUrl$forImport = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -89955,17 +94911,16 @@ self.util = _cliPkgRequires.util; } else _1_0 = null; _1_2_isSet = t3._is(_1_0); + result = null; if (_1_2_isSet) { _1_2 = _1_0._0; t7 = _1_2 != null; if (t7) { t6._as(_1_2); result = _1_2; - } else - result = null; + } } else { _1_2 = null; - result = null; t7 = false; } if (t7) { @@ -89990,18 +94945,17 @@ self.util = _cliPkgRequires.util; _2_0 = $async$result; _2_1 = _2_0._0; _2_5_isSet = _2_1 != null; + _2_5 = null; + _2_3 = null; + t7 = false; if (_2_5_isSet) { result = _2_1 == null ? t6._as(_2_1) : _2_1; _2_3 = _2_0._1; t7 = _2_3; _2_5 = t7; t7 = t7 && cacheable; - } else { - _2_5 = null; - _2_3 = null; + } else result = null; - t7 = false; - } if (t7) { t1.$indexSet(0, key, result); $async$returnValue = result; @@ -90073,7 +95027,7 @@ self.util = _cliPkgRequires.util; _canonicalize$body$AsyncImportCache0(importer, url, baseUrl, forImport) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.Record_2_nullable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_and_bool_2), - $async$returnValue, $async$self = this, t1, passContainingUrl, canonicalizeContext, result, cacheable; + $async$returnValue, t1, passContainingUrl, canonicalizeContext, result, cacheable; var $async$_async_import_cache0$_canonicalize$4 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -90127,25 +95081,26 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - $async$goto = result.get$scheme() === "" ? 11 : 13; + $async$goto = result.get$scheme() !== "" ? 11 : 13; break; case 11: // then - A.WarnForDeprecation_warnForDeprecation0($async$self._async_import_cache0$_logger, B.Deprecation_Ssf, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, null, null); - // goto join - $async$goto = 12; - break; - case 13: - // else t1 = A._Future$value(importer.isNonCanonicalScheme$1(result.get$scheme()), type$.bool); $async$goto = 14; return A._asyncAwait(t1, $async$_async_import_cache0$_canonicalize$4); case 14: // returning from await. - if ($async$result) - throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu); + t1 = $async$result; + // goto join + $async$goto = 12; + break; + case 13: + // else + t1 = false; case 12: // join + if (t1) + throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu); $async$returnValue = new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable); // goto return $async$goto = 1; @@ -90157,17 +95112,14 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$_async_import_cache0$_canonicalize$4, $async$completer); }, - importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) { - return this.importCanonical$body$AsyncImportCache0(importer, canonicalUrl, originalUrl, quiet); - }, importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) { - return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false); + return this.importCanonical$body$AsyncImportCache0(importer, canonicalUrl, originalUrl); }, - importCanonical$body$AsyncImportCache0(importer, canonicalUrl, originalUrl, quiet) { + importCanonical$body$AsyncImportCache0(importer, canonicalUrl, originalUrl) { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet_2), $async$returnValue, $async$self = this; - var $async$importCanonical$4$originalUrl$quiet = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + var $async$importCanonical$3$originalUrl = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); while (true) @@ -90175,7 +95127,7 @@ self.util = _cliPkgRequires.util; case 0: // Function start $async$goto = 3; - return A._asyncAwait(A.putIfAbsentAsync0($async$self._async_import_cache0$_importCache, canonicalUrl, new A.AsyncImportCache_importCanonical_closure0($async$self, importer, canonicalUrl, originalUrl, quiet), type$.Uri, type$.nullable_Stylesheet_2), $async$importCanonical$4$originalUrl$quiet); + return A._asyncAwait(A.putIfAbsentAsync0($async$self._async_import_cache0$_importCache, canonicalUrl, new A.AsyncImportCache_importCanonical_closure0($async$self, importer, canonicalUrl, originalUrl), type$.Uri, type$.nullable_Stylesheet_2), $async$importCanonical$3$originalUrl); case 3: // returning from await. $async$returnValue = $async$result; @@ -90187,13 +95139,12 @@ self.util = _cliPkgRequires.util; return A._asyncReturn($async$returnValue, $async$completer); } }); - return A._asyncStartSync($async$importCanonical$4$originalUrl$quiet, $async$completer); + return A._asyncStartSync($async$importCanonical$3$originalUrl, $async$completer); }, humanize$1(canonicalUrl) { - var t1 = A.IterableNullableExtension_whereNotNull(this._async_import_cache0$_canonicalizeCache.get$values(0), type$.Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2), - t2 = t1.$ti; - t2 = A.NullableExtension_andThen0(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.AsyncImportCache_humanize_closure3(canonicalUrl), t2._eval$1("WhereIterable")), new A.AsyncImportCache_humanize_closure4(), t2._eval$1("MappedIterable")), new A.AsyncImportCache_humanize_closure5()), new A.AsyncImportCache_humanize_closure6(canonicalUrl)); - return t2 == null ? canonicalUrl : t2; + var t1 = type$.NonNullsIterable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2; + t1 = A.NullableExtension_andThen0(A.minBy(new A.MappedIterable(new A.WhereIterable(new A.NonNullsIterable(this._async_import_cache0$_canonicalizeCache.get$values(0), t1), new A.AsyncImportCache_humanize_closure3(canonicalUrl), t1._eval$1("WhereIterable")), new A.AsyncImportCache_humanize_closure4(), t1._eval$1("MappedIterable")), new A.AsyncImportCache_humanize_closure5()), new A.AsyncImportCache_humanize_closure6(canonicalUrl)); + return t1 == null ? canonicalUrl : t1; }, sourceMapUrl$1(_, canonicalUrl) { var t1 = this._async_import_cache0$_resultsCache.$index(0, canonicalUrl); @@ -90235,19 +95186,19 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 355 + $signature: 365 }; A.AsyncImportCache__canonicalize_closure0.prototype = { call$0() { return this.importer.canonicalize$1(0, this.url); }, - $signature: 187 + $signature: 225 }; A.AsyncImportCache_importCanonical_closure0.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.nullable_Stylesheet_2), - $async$returnValue, $async$self = this, t3, t4, t1, t2, result; + $async$returnValue, $async$self = this, t3, t1, t2, result; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -90268,12 +95219,11 @@ self.util = _cliPkgRequires.util; $async$goto = 1; break; } - t2 = $async$self.$this; - t2._async_import_cache0$_resultsCache.$indexSet(0, t1, result); - t3 = result.contents; - t4 = result.syntax; + $async$self.$this._async_import_cache0$_resultsCache.$indexSet(0, t1, result); + t2 = result.contents; + t3 = result.syntax; t1 = $async$self.originalUrl.resolveUri$1(t1); - $async$returnValue = A.Stylesheet_Stylesheet$parse0(t3, t4, $async$self.quiet ? $.$get$Logger_quiet0() : t2._async_import_cache0$_logger, t1); + $async$returnValue = A.Stylesheet_Stylesheet$parse0(t2, t3, t1); // goto return $async$goto = 1; break; @@ -90284,25 +95234,25 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 356 + $signature: 366 }; A.AsyncImportCache_humanize_closure3.prototype = { call$1(result) { - return J.$eq$(result._1, this.canonicalUrl); + return result._1.$eq(0, this.canonicalUrl); }, - $signature: 357 + $signature: 367 }; A.AsyncImportCache_humanize_closure4.prototype = { call$1(result) { return result._2; }, - $signature: 358 + $signature: 368 }; A.AsyncImportCache_humanize_closure5.prototype = { call$1(url) { return url.get$path(url).length; }, - $signature: 85 + $signature: 87 }; A.AsyncImportCache_humanize_closure6.prototype = { call$1(url) { @@ -90310,10 +95260,10 @@ self.util = _cliPkgRequires.util; t2 = this.canonicalUrl; return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename()); }, - $signature: 46 + $signature: 50 }; A.AtRootQueryParser0.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.AtRootQueryParser_parse_closure0(this)); } }; @@ -90339,7 +95289,7 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); return new A.AtRootQuery0(include, atRules, atRules.contains$1(0, "all"), atRules.contains$1(0, "rule")); }, - $signature: 359 + $signature: 369 }; A.AtRootQuery0.prototype = { excludes$1(node) { @@ -90375,7 +95325,7 @@ self.util = _cliPkgRequires.util; }; A.AtRootRule0.prototype = { accept$1$1(visitor) { - return visitor.visitAtRootRule$1(this); + return visitor.visitAtRootRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -90425,7 +95375,7 @@ self.util = _cliPkgRequires.util; }; A.AtRule0.prototype = { accept$1$1(visitor) { - return visitor.visitAtRule$1(this); + return visitor.visitAtRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -90510,13 +95460,13 @@ self.util = _cliPkgRequires.util; return t1; }, accept$1$1(visitor) { - return visitor.visitBinaryOperationExpression$1(this); + return visitor.visitBinaryOperationExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { - var t1, t2, right, operator, t3, _this = this, + var t1, t2, right, t3, operator, _this = this, _0_0 = _this.left; $label0$0: { if (_0_0 instanceof A.BinaryOperationExpression0) { @@ -90537,20 +95487,21 @@ self.util = _cliPkgRequires.util; t1 = t1 + A.Primitives_stringFromCharCode(32) + t2.operator + A.Primitives_stringFromCharCode(32); right = _this.right; $label1$1: { + t3 = false; if (right instanceof A.BinaryOperationExpression0) { operator = right.operator; if (operator.precedence <= t2.precedence) { t3 = !(operator === t2 && operator.isAssociative); t2 = t3; } else - t2 = false; + t2 = t3; break $label1$1; } if (right instanceof A.ListExpression0 && !right.hasBrackets && right.contents.length >= 2) { t2 = true; break $label1$1; } - t2 = false; + t2 = t3; break $label1$1; } if (t2) @@ -90559,9 +95510,7 @@ self.util = _cliPkgRequires.util; if (t2) t1 += A.Primitives_stringFromCharCode(41); return t1.charCodeAt(0) == 0 ? t1 : t1; - }, - $isExpression0: 1, - $isAstNode0: 1 + } }; A.BinaryOperator0.prototype = { _enumToString$0() { @@ -90573,7 +95522,7 @@ self.util = _cliPkgRequires.util; }; A.BooleanExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitBooleanExpression$1(this); + return visitor.visitBooleanExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -90581,8 +95530,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return String(this.value); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -90594,7 +95541,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(B.SassBoolean_true0.constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.booleanClass__closure.prototype = { call$2($self, _) { @@ -90608,7 +95555,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 216 + $signature: 197 }; A.legacyBooleanClass_closure.prototype = { call$0() { @@ -90620,7 +95567,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(B.SassBoolean_true0.constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.legacyBooleanClass__closure.prototype = { call$2(_, __) { @@ -90634,13 +95581,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 213 + $signature: 198 }; A.legacyBooleanClass__closure0.prototype = { call$1($self) { return $self === B.SassBoolean_true0; }, - $signature: 67 + $signature: 76 }; A.SassBoolean0.prototype = { get$isTruthy() { @@ -90697,6 +95644,21 @@ self.util = _cliPkgRequires.util; withName$1($name) { return new A.BuiltInCallable0($name, this._built_in$_overloads, this.acceptsContent); }, + withDeprecationWarning$2(module, newName) { + var t2, t3, _i, t4, t5, _this = this, + t1 = A._setArrayType([], type$.JSArray_Record_2_ArgumentDeclaration_and_Value_Function_List_Value_2); + for (t2 = _this._built_in$_overloads, t3 = t2.length, _i = 0; _i < t2.length; t2.length === t3 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + t4 = {}; + t5 = t2[_i]; + t4.$function = null; + t4.$function = t5._1; + t1.push(new A._Record_2(t5._0, new A.BuiltInCallable_withDeprecationWarning_closure0(t4, _this, module, newName))); + } + return new A.BuiltInCallable0(_this.name, t1, _this.acceptsContent); + }, + withDeprecationWarning$1(module) { + return this.withDeprecationWarning$2(module, null); + }, $isAsyncCallable0: 1, $isAsyncBuiltInCallable0: 1, $isCallable: 1, @@ -90714,9 +95676,20 @@ self.util = _cliPkgRequires.util; }, $signature: 3 }; + A.BuiltInCallable_withDeprecationWarning_closure0.prototype = { + call$1(args) { + var _this = this, + t1 = _this.newName; + if (t1 == null) + t1 = _this.$this.name; + A.warnForDeprecation0(string$.Global + _this.module + "." + t1 + string$.x20inste, B.Deprecation_Q5r); + return _this._box_0.$function.call$1(args); + }, + $signature: 3 + }; A.BuiltInModule0.prototype = { get$upstream() { - return B.List_empty18; + return B.List_empty19; }, get$variableNodes() { return B.Map_empty12; @@ -90725,7 +95698,7 @@ self.util = _cliPkgRequires.util; return B.C_EmptyExtensionStore0; }, get$css(_) { - return new A.CssStylesheet0(B.List_empty16, A.SourceFile$decoded(B.List_empty4, this.url).span$2(0, 0, 0)); + return new A.CssStylesheet0(B.List_empty17, A.SourceFile$decoded(B.List_empty4, this.url).span$2(0, 0, 0)); }, get$preModuleComments() { return B.Map_empty11; @@ -90773,7 +95746,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(new A.SassCalculation0("calc", A.List_List$unmodifiable(A._setArrayType([A.SassNumber_SassNumber0(1, null)], type$.JSArray_Object), type$.Object)).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.calculationClass__closure.prototype = { call$2($self, _) { @@ -90787,14 +95760,14 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 216 + $signature: 197 }; A.calculationClass__closure0.prototype = { call$1(argument) { A._assertCalculationValue(argument); return new A.SassCalculation0("calc", A.List_List$unmodifiable(A._setArrayType([argument], type$.JSArray_Object), type$.Object)); }, - $signature: 112 + $signature: 115 }; A.calculationClass__closure1.prototype = { call$1($arguments) { @@ -90804,7 +95777,7 @@ self.util = _cliPkgRequires.util; argList.forEach$1(argList, A.calculation1___assertCalculationValue$closure()); return new A.SassCalculation0("min", A.List_List$unmodifiable(argList, t2)); }, - $signature: 112 + $signature: 115 }; A.calculationClass__closure2.prototype = { call$1($arguments) { @@ -90814,7 +95787,7 @@ self.util = _cliPkgRequires.util; argList.forEach$1(argList, A.calculation1___assertCalculationValue$closure()); return new A.SassCalculation0("max", A.List_List$unmodifiable(argList, t2)); }, - $signature: 112 + $signature: 115 }; A.calculationClass__closure3.prototype = { call$3(min, value, max) { @@ -90824,10 +95797,10 @@ self.util = _cliPkgRequires.util; else t1 = true; if (t1) - A.jsThrow0(new self.Error("Expected at least one SassString or CalculationInterpolation in `" + A.IterableNullableExtension_whereNotNull([min, value, max], type$.Object).toString$0(0) + "`")); - t1 = type$.Object; - A.IterableNullableExtension_whereNotNull([min, value, max], t1).forEach$1(0, A.calculation1___assertCalculationValue$closure()); - return new A.SassCalculation0("clamp", A.List_List$unmodifiable(A.IterableNullableExtension_whereNotNull([min, value, max], t1), t1)); + A.jsThrow0(new self.Error("Expected at least one SassString or CalculationInterpolation in `" + new A.NonNullsIterable([min, value, max], type$.NonNullsIterable_Object).toString$0(0) + "`")); + t1 = type$.NonNullsIterable_Object; + new A.NonNullsIterable([min, value, max], t1).forEach$1(0, A.calculation1___assertCalculationValue$closure()); + return new A.SassCalculation0("clamp", A.List_List$unmodifiable(new A.NonNullsIterable([min, value, max], t1), type$.Object)); }, call$1(min) { return this.call$3(min, null, null); @@ -90840,7 +95813,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 364 + $signature: 374 }; A.calculationClass__closure4.prototype = { call$2($self, $name) { @@ -90854,13 +95827,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 365 + $signature: 375 }; A.calculationClass__closure5.prototype = { call$1($self) { return new self.immutable.List($self.$arguments); }, - $signature: 366 + $signature: 376 }; A.calculationOperationClass_closure.prototype = { call$0() { @@ -90873,7 +95846,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(A.SassCalculation_operateInternal0(B.CalculationOperator_g2q0, A.SassNumber_SassNumber0(1, null), A.SassNumber_SassNumber0(1, null), false, false).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.calculationOperationClass__closure.prototype = { call$4($self, strOperator, left, right) { @@ -90886,43 +95859,43 @@ self.util = _cliPkgRequires.util; }, "call*": "call$4", $requiredArgCount: 4, - $signature: 367 + $signature: 377 }; A.calculationOperationClass___closure.prototype = { call$1(value) { return value.operator === this.strOperator; }, - $signature: 368 + $signature: 378 }; A.calculationOperationClass__closure0.prototype = { call$2($self, other) { return $self.$eq(0, other); }, - $signature: 369 + $signature: 379 }; A.calculationOperationClass__closure1.prototype = { call$1($self) { return $self.get$hashCode(0); }, - $signature: 370 + $signature: 380 }; A.calculationOperationClass__closure2.prototype = { call$1($self) { return $self._calculation0$_operator.operator; }, - $signature: 371 + $signature: 381 }; A.calculationOperationClass__closure3.prototype = { call$1($self) { return $self._calculation0$_left; }, - $signature: 210 + $signature: 201 }; A.calculationOperationClass__closure4.prototype = { call$1($self) { return $self._calculation0$_right; }, - $signature: 210 + $signature: 201 }; A.calculationInterpolationClass_closure.prototype = { call$0() { @@ -90935,31 +95908,31 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(new A.CalculationInterpolation("").constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.calculationInterpolationClass__closure.prototype = { call$2($self, value) { return new A.CalculationInterpolation(value); }, - $signature: 373 + $signature: 383 }; A.calculationInterpolationClass__closure0.prototype = { call$2($self, other) { return other instanceof A.CalculationInterpolation && $self._calculation0$_value === other._calculation0$_value; }, - $signature: 374 + $signature: 384 }; A.calculationInterpolationClass__closure1.prototype = { call$1($self) { return B.JSString_methods.get$hashCode($self._calculation0$_value); }, - $signature: 375 + $signature: 385 }; A.calculationInterpolationClass__closure2.prototype = { call$1($self) { return $self._calculation0$_value; }, - $signature: 376 + $signature: 386 }; A.SassCalculation0.prototype = { get$isSpecialNumber() { @@ -91001,7 +95974,7 @@ self.util = _cliPkgRequires.util; call$1(arg) { return arg instanceof A.SassString0; }, - $signature: 67 + $signature: 76 }; A.CalculationOperation0.prototype = { $eq(_, other) { @@ -91047,14 +96020,14 @@ self.util = _cliPkgRequires.util; call$1($self) { return $self._canonicalize_context$_fromImport; }, - $signature: 377 + $signature: 387 }; A.updateCanonicalizeContextPrototype_closure0.prototype = { call$1($self) { $self._canonicalize_context$_wasContainingUrlAccessed = true; - return A.NullableExtension_andThen0($self._canonicalize_context$_containingUrl, A.utils1__dartToJSUrl$closure()); + return A.NullableExtension_andThen0($self._canonicalize_context$_containingUrl, A.utils3__dartToJSUrl$closure()); }, - $signature: 378 + $signature: 388 }; A.CanonicalizeContext0.prototype = { withFromImport$1$2(fromImport, callback) { @@ -91072,6 +96045,143 @@ self.util = _cliPkgRequires.util; return this.withFromImport$1$2(fromImport, callback, type$.dynamic); } }; + A.ColorChannel0.prototype = { + isAnalogous$1(other) { + var _0_6_isSet, t1, _0_60, t2, _0_6_isSet0, + _0_1 = this.name, + _0_6 = other.name; + $label0$0: { + if ("red" !== _0_1) + _0_6_isSet = "x" === _0_1; + else + _0_6_isSet = true; + if (_0_6_isSet) { + if ("red" !== _0_6) + t1 = "x" === _0_6; + else + t1 = true; + _0_60 = _0_6; + } else { + _0_60 = null; + t1 = false; + } + t2 = true; + if (!t1) { + if ("green" !== _0_1) + t1 = "y" === _0_1; + else + t1 = true; + if (t1) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + if ("green" !== t1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + t1 = "y" === t1; + } else + t1 = true; + } else + t1 = false; + if (!t1) { + if ("blue" !== _0_1) + t1 = "z" === _0_1; + else + t1 = true; + if (t1) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + if ("blue" !== t1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + t1 = "z" === t1; + } else + t1 = true; + } else + t1 = false; + if (!t1) { + if ("chroma" !== _0_1) + t1 = "saturation" === _0_1; + else + t1 = true; + if (t1) { + _0_6_isSet0 = true; + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + if ("chroma" !== t1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_6_isSet = _0_6_isSet0; + _0_60 = t1; + } + t1 = "saturation" === t1; + } else + t1 = true; + } else + t1 = false; + if (!t1) { + if ("lightness" === _0_1) { + if (_0_6_isSet) + t1 = _0_60; + else { + t1 = _0_6; + _0_60 = t1; + _0_6_isSet = true; + } + t1 = "lightness" === t1; + } else + t1 = false; + if (!t1) + if ("hue" === _0_1) + t1 = "hue" === (_0_6_isSet ? _0_60 : _0_6); + else + t1 = false; + else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + if (t1) + break $label0$0; + break $label0$0; + } + return t1; + } + }; + A.LinearChannel0.prototype = {}; A.Chokidar0.prototype = {}; A.ChokidarOptions0.prototype = {}; A.ChokidarWatcher0.prototype = {}; @@ -91094,6 +96204,29 @@ self.util = _cliPkgRequires.util; return B.JSString_methods.get$hashCode(this.name); } }; + A.ClipGamutMap0.prototype = { + map$1(_, color) { + var t1 = color._color0$_space, + t2 = t1._space$_channels; + return A.SassColor_SassColor$forSpaceInternal0(t1, this._clip$_clampChannel$2(color.channel0OrNull, t2[0]), this._clip$_clampChannel$2(color.channel1OrNull, t2[1]), this._clip$_clampChannel$2(color.channel2OrNull, t2[2]), color.alphaOrNull); + }, + _clip$_clampChannel$2(value, channel) { + var t1, min; + if (value == null) + t1 = null; + else + $label0$0: { + if (channel instanceof A.LinearChannel0) { + min = channel.min; + t1 = isNaN(value) ? min : B.JSNumber_methods.clamp$2(value, min, channel.max); + break $label0$0; + } + t1 = value; + break $label0$0; + } + return t1; + } + }; A._CloneCssVisitor0.prototype = { visitCssAtRule$1(node) { var t1 = node.isChildless, @@ -91104,7 +96237,7 @@ self.util = _cliPkgRequires.util; return new A.ModifiableCssComment0(node.text, node.span); }, visitCssDeclaration$1(node) { - return A.ModifiableCssDeclaration$0(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap); + return A.ModifiableCssDeclaration$0(node.name, node.value, node.span, null, node.parsedAsCustomProperty, null, node.valueSpanForMap); }, visitCssImport$1(node) { return new A.ModifiableCssImport0(node.url, node.modifiers, node.span); @@ -91144,7 +96277,7 @@ self.util = _cliPkgRequires.util; }; A.ColorExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitColorExpression$1(this); + return visitor.visitColorExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -91152,92 +96285,116 @@ self.util = _cliPkgRequires.util; toString$0(_) { return A.serializeValue0(this.value, true, true); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } }; - A.global_closure32.prototype = { + A.global_closure44.prototype = { + call$1(color) { + return B.JSNumber_methods.round$0(color._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "red")); + }, + $signature: 40 + }; + A.global_closure45.prototype = { + call$1(color) { + return B.JSNumber_methods.round$0(color._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "green")); + }, + $signature: 40 + }; + A.global_closure46.prototype = { + call$1(color) { + return B.JSNumber_methods.round$0(color._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "blue")); + }, + $signature: 40 + }; + A.global_closure47.prototype = { call$1($arguments) { return A._rgb0("rgb", $arguments); }, $signature: 3 }; - A.global_closure33.prototype = { + A.global_closure48.prototype = { call$1($arguments) { return A._rgb0("rgb", $arguments); }, $signature: 3 }; - A.global_closure34.prototype = { + A.global_closure49.prototype = { call$1($arguments) { return A._rgbTwoArg0("rgb", $arguments); }, $signature: 3 }; - A.global_closure35.prototype = { + A.global_closure50.prototype = { call$1($arguments) { - var parsed = A._parseChannels0("rgb", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString0 ? parsed : A._rgb0("rgb", type$.List_Value_2._as(parsed)); + return A._parseChannels0("rgb", J.$index$asx($arguments, 0), "channels", B.RgbColorSpace_mlz0); }, $signature: 3 }; - A.global_closure36.prototype = { + A.global_closure51.prototype = { call$1($arguments) { return A._rgb0("rgba", $arguments); }, $signature: 3 }; - A.global_closure37.prototype = { + A.global_closure52.prototype = { call$1($arguments) { return A._rgb0("rgba", $arguments); }, $signature: 3 }; - A.global_closure38.prototype = { + A.global_closure53.prototype = { call$1($arguments) { return A._rgbTwoArg0("rgba", $arguments); }, $signature: 3 }; - A.global_closure39.prototype = { + A.global_closure54.prototype = { call$1($arguments) { - var parsed = A._parseChannels0("rgba", A._setArrayType(["$red", "$green", "$blue"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString0 ? parsed : A._rgb0("rgba", type$.List_Value_2._as(parsed)); + return A._parseChannels0("rgba", J.$index$asx($arguments, 0), "channels", B.RgbColorSpace_mlz0); }, $signature: 3 }; - A.global_closure40.prototype = { + A.global_closure55.prototype = { call$1($arguments) { - var color, t2, - t1 = J.getInterceptor$asx($arguments), - weight = t1.$index($arguments, 1).assertNumber$1("weight"); - if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber()) { - if (weight._number1$_value !== 100 || !weight.hasUnit$1("%")) - throw A.wrapException(string$.Only_oa); - return A._functionString0("invert", t1.take$1($arguments, 1)); - } - color = t1.$index($arguments, 0).assertColor$1("color"); - t1 = color.get$red(0); - t2 = color.get$green(0); - return A._mixColors0(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight); + var t1 = J.getInterceptor$asx($arguments); + if (!(t1.$index($arguments, 0) instanceof A.SassNumber0) && !t1.$index($arguments, 0).get$isSpecialNumber()) + A.warnForDeprecation0(string$.Globalci, B.Deprecation_Q5r); + return A._invert0($arguments, true); }, $signature: 3 }; - A.global_closure41.prototype = { + A.global_closure56.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "hue"); + }, + $signature: 28 + }; + A.global_closure57.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "saturation"); + }, + $signature: 28 + }; + A.global_closure58.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "lightness"); + }, + $signature: 28 + }; + A.global_closure59.prototype = { call$1($arguments) { return A._hsl0("hsl", $arguments); }, $signature: 3 }; - A.global_closure42.prototype = { + A.global_closure60.prototype = { call$1($arguments) { return A._hsl0("hsl", $arguments); }, $signature: 3 }; - A.global_closure43.prototype = { + A.global_closure61.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar()) @@ -91245,28 +96402,27 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$0("Missing argument $lightness.", null)); }, - $signature: 19 + $signature: 17 }; - A.global_closure44.prototype = { + A.global_closure62.prototype = { call$1($arguments) { - var parsed = A._parseChannels0("hsl", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString0 ? parsed : A._hsl0("hsl", type$.List_Value_2._as(parsed)); + return A._parseChannels0("hsl", J.$index$asx($arguments, 0), "channels", B.HslColorSpace_gsm0); }, $signature: 3 }; - A.global_closure45.prototype = { + A.global_closure63.prototype = { call$1($arguments) { return A._hsl0("hsla", $arguments); }, $signature: 3 }; - A.global_closure46.prototype = { + A.global_closure64.prototype = { call$1($arguments) { return A._hsl0("hsla", $arguments); }, $signature: 3 }; - A.global_closure47.prototype = { + A.global_closure65.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0).get$isVar() || t1.$index($arguments, 1).get$isVar()) @@ -91274,88 +96430,154 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$0("Missing argument $lightness.", null)); }, - $signature: 19 + $signature: 17 }; - A.global_closure48.prototype = { + A.global_closure66.prototype = { call$1($arguments) { - var parsed = A._parseChannels0("hsla", A._setArrayType(["$hue", "$saturation", "$lightness"], type$.JSArray_String), J.get$first$ax($arguments)); - return parsed instanceof A.SassString0 ? parsed : A._hsl0("hsla", type$.List_Value_2._as(parsed)); + return A._parseChannels0("hsla", J.$index$asx($arguments, 0), "channels", B.HslColorSpace_gsm0); }, $signature: 3 }; - A.global_closure49.prototype = { + A.global_closure67.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber()) return A._functionString0("grayscale", $arguments); - return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0); + else { + A.warnForDeprecation0(string$.Globalcg, B.Deprecation_Q5r); + return A._grayscale0(t1.$index($arguments, 0)); + } }, $signature: 3 }; - A.global_closure50.prototype = { + A.global_closure68.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), degrees = A._angleValue0(t1.$index($arguments, 1), "degrees"); - return color.changeHsl$1$hue(color.get$hue(0) + degrees); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.adjusto, null)); + A.warnForDeprecation0(string$.adjustd + A.SassNumber_SassNumber0(degrees, "deg").toString$0(0) + string$.x29x0a_Mor_, B.Deprecation_rb9); + return color.changeHsl$1$hue(color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "hue") + degrees); }, - $signature: 27 + $signature: 25 }; - A.global_closure51.prototype = { + A.global_closure69.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), + var result, + _s9_ = "lightness", + t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100)); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.lighte, null)); + t1 = color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, _s9_) + amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$lightness(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation0("lighten() is deprecated. " + A._suggestScaleAndAdjust0(color, amount._number1$_value, _s9_) + string$.x0a_Morex3ac, B.Deprecation_rb9); + return result; }, - $signature: 27 + $signature: 25 }; - A.global_closure52.prototype = { + A.global_closure70.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), + var result, + _s9_ = "lightness", + t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$lightness(B.JSNumber_methods.clamp$2(color.get$lightness(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100)); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.darken, null)); + t1 = color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, _s9_) - amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$lightness(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation0("darken() is deprecated. " + A._suggestScaleAndAdjust0(color, -amount._number1$_value, _s9_) + string$.x0a_Morex3ac, B.Deprecation_rb9); + return result; }, - $signature: 27 + $signature: 25 }; - A.global_closure53.prototype = { + A.global_closure71.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber()) return A._functionString0("saturate", $arguments); return new A.SassString0("saturate(" + A.serializeValue0(t1.$index($arguments, 0).assertNumber$1("amount"), false, true) + ")", false); }, - $signature: 19 + $signature: 17 }; - A.global_closure54.prototype = { + A.global_closure72.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), + var t1, color, amount, result, + _s10_ = "saturation"; + A.warnForDeprecation0(string$.Globalcad, B.Deprecation_Q5r); + t1 = J.getInterceptor$asx($arguments); + color = t1.$index($arguments, 0).assertColor$1("color"); + amount = t1.$index($arguments, 1).assertNumber$1("amount"); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.satura, null)); + t1 = color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, _s10_) + amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$saturation(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation0("saturate() is deprecated. " + A._suggestScaleAndAdjust0(color, amount._number1$_value, _s10_) + string$.x0a_Morex3ac, B.Deprecation_rb9); + return result; + }, + $signature: 25 + }; + A.global_closure73.prototype = { + call$1($arguments) { + var result, + _s10_ = "saturation", + t1 = J.getInterceptor$asx($arguments), color = t1.$index($arguments, 0).assertColor$1("color"), amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) + amount.valueInRange$3(0, 100, "amount"), 0, 100)); + if (!color._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.desatu, null)); + t1 = color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, _s10_) - amount.valueInRange$3(0, 100, "amount"); + result = color.changeHsl$1$saturation(isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 100)); + A.warnForDeprecation0("desaturate() is deprecated. " + A._suggestScaleAndAdjust0(color, -amount._number1$_value, _s10_) + string$.x0a_Morex3ac, B.Deprecation_rb9); + return result; }, - $signature: 27 + $signature: 25 }; - A.global_closure55.prototype = { + A.global_closure74.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments), - color = t1.$index($arguments, 0).assertColor$1("color"), - amount = t1.$index($arguments, 1).assertNumber$1("amount"); - return color.changeHsl$1$saturation(B.JSNumber_methods.clamp$2(color.get$saturation(0) - amount.valueInRange$3(0, 100, "amount"), 0, 100)); + return A._opacify0("opacify", $arguments); }, - $signature: 27 + $signature: 25 }; - A.global_closure56.prototype = { + A.global_closure75.prototype = { call$1($arguments) { - var argument = J.$index$asx($arguments, 0); - if (argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0())) + return A._opacify0("fade-in", $arguments); + }, + $signature: 25 + }; + A.global_closure76.prototype = { + call$1($arguments) { + return A._transparentize0("transparentize", $arguments); + }, + $signature: 25 + }; + A.global_closure77.prototype = { + call$1($arguments) { + return A._transparentize0("fade-out", $arguments); + }, + $signature: 25 + }; + A.global_closure78.prototype = { + call$1($arguments) { + var _0_0 = J.$index$asx($arguments, 0), + t1 = false; + if (_0_0 instanceof A.SassString0) + if (!_0_0._string0$_hasQuotes) + t1 = B.JSString_methods.contains$1(_0_0._string0$_text, $.$get$_microsoftFilterStart0()); + if (t1) return A._functionString0("alpha", $arguments); - return A.SassNumber_SassNumber0(argument.assertColor$1("color")._color1$_alpha, null); + if (_0_0 instanceof A.SassColor0 && !_0_0._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.alpha_, null)); + A.warnForDeprecation0(string$.Globalcal, B.Deprecation_Q5r); + t1 = _0_0.assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber0(t1 == null ? 0 : t1, null); }, $signature: 3 }; - A.global_closure57.prototype = { + A.global_closure79.prototype = { call$1($arguments) { var t1, argList = J.$index$asx($arguments, 0).get$asList(); @@ -91367,287 +96589,507 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$0("Only 1 argument allowed, but " + t1 + " were passed.", null)); }, - $signature: 19 + $signature: 17 }; A.global__closure0.prototype = { call$1(argument) { return argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0()); }, - $signature: 49 + $signature: 56 }; - A.global_closure58.prototype = { + A.global_closure80.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber0 || t1.$index($arguments, 0).get$isSpecialNumber()) return A._functionString0("opacity", $arguments); - return A.SassNumber_SassNumber0(t1.$index($arguments, 0).assertColor$1("color")._color1$_alpha, null); + A.warnForDeprecation0(string$.Globalco, B.Deprecation_Q5r); + t1 = t1.$index($arguments, 0).assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber0(t1 == null ? 0 : t1, null); }, $signature: 3 }; - A.module_closure12.prototype = { + A.global_closure81.prototype = { call$1($arguments) { - var result, color, t2, - t1 = J.getInterceptor$asx($arguments), - weight = t1.$index($arguments, 1).assertNumber$1("weight"); - if (t1.$index($arguments, 0) instanceof A.SassNumber0) { - if (weight._number1$_value !== 100 || !weight.hasUnit$1("%")) - throw A.wrapException(string$.Only_oa); - result = A._functionString0("invert", t1.take$1($arguments, 1)); - A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_ci + result.toString$0(0), B.Deprecation_EfO); - return result; - } - color = t1.$index($arguments, 0).assertColor$1("color"); - t1 = color.get$red(0); - t2 = color.get$green(0); - return A._mixColors0(color.changeRgb$3$blue$green$red(255 - color.get$blue(0), 255 - t2, 255 - t1), color, weight); + return A._parseChannels0("color", J.$index$asx($arguments, 0), "description", null); }, $signature: 3 }; - A.module_closure13.prototype = { + A.global_closure82.prototype = { + call$1($arguments) { + return A._parseChannels0("hwb", J.$index$asx($arguments, 0), "channels", B.HwbColorSpace_06z0); + }, + $signature: 3 + }; + A.global_closure83.prototype = { + call$1($arguments) { + return A._parseChannels0("lab", J.$index$asx($arguments, 0), "channels", B.LabColorSpace_IF20); + }, + $signature: 3 + }; + A.global_closure84.prototype = { + call$1($arguments) { + return A._parseChannels0("lch", J.$index$asx($arguments, 0), "channels", B.LchColorSpace_wv80); + }, + $signature: 3 + }; + A.global_closure85.prototype = { + call$1($arguments) { + return A._parseChannels0("oklab", J.$index$asx($arguments, 0), "channels", B.OklabColorSpace_yrt0); + }, + $signature: 3 + }; + A.global_closure86.prototype = { + call$1($arguments) { + return A._parseChannels0("oklch", J.$index$asx($arguments, 0), "channels", B.OklchColorSpace_li80); + }, + $signature: 3 + }; + A.module_closure27.prototype = { + call$1(color) { + return B.JSNumber_methods.round$0(color._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "red")); + }, + $signature: 40 + }; + A.module_closure28.prototype = { + call$1(color) { + return B.JSNumber_methods.round$0(color._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "green")); + }, + $signature: 40 + }; + A.module_closure29.prototype = { + call$1(color) { + return B.JSNumber_methods.round$0(color._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "blue")); + }, + $signature: 40 + }; + A.module_closure30.prototype = { + call$1($arguments) { + var result = A._invert0($arguments, false); + if (result instanceof A.SassString0) + A.warnForDeprecation0("Passing a number (" + A.S(J.$index$asx($arguments, 0)) + string$.x29x20to_ci + result.toString$0(0), B.Deprecation_4QP); + return result; + }, + $signature: 3 + }; + A.module_closure31.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "hue"); + }, + $signature: 28 + }; + A.module_closure32.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "saturation"); + }, + $signature: 28 + }; + A.module_closure33.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "lightness"); + }, + $signature: 28 + }; + A.module_closure34.prototype = { call$1($arguments) { var result, t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber0) { result = A._functionString0("grayscale", t1.take$1($arguments, 1)); - A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_cg + result.toString$0(0), B.Deprecation_EfO); + A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x29x20to_cg + result.toString$0(0), B.Deprecation_4QP); return result; } - return t1.$index($arguments, 0).assertColor$1("color").changeHsl$1$saturation(0); + return A._grayscale0(t1.$index($arguments, 0)); }, $signature: 3 }; - A.module_closure14.prototype = { + A.module_closure35.prototype = { call$1($arguments) { - return A._hwb0($arguments); + var t1 = J.getInterceptor$asx($arguments), + t2 = type$.JSArray_Value_2; + return A._parseChannels0("hwb", A.SassList$0(A._setArrayType([A.SassList$0(A._setArrayType([t1.$index($arguments, 0), t1.$index($arguments, 1), t1.$index($arguments, 2)], t2), B.ListSeparator_nbm0, false), t1.$index($arguments, 3)], t2), B.ListSeparator_cQA0, false), null, B.HwbColorSpace_06z0); }, $signature: 3 }; - A.module_closure15.prototype = { + A.module_closure36.prototype = { call$1($arguments) { - var parsed = A._parseChannels0("hwb", A._setArrayType(["$hue", "$whiteness", "$blackness"], type$.JSArray_String), J.get$first$ax($arguments)); - if (parsed instanceof A.SassString0) - throw A.wrapException(A.SassScriptException$0('Expected numeric channels, got "' + parsed.toString$0(0) + '".', null)); - else - return A._hwb0(type$.List_Value_2._as(parsed)); + return A._parseChannels0("hwb", J.$index$asx($arguments, 0), "channels", B.HwbColorSpace_06z0); }, $signature: 3 }; - A.module_closure16.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$whiteness(0), "%"); + A.module_closure37.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HwbColorSpace_06z0, "whiteness"); }, - $signature: 12 + $signature: 28 }; - A.module_closure17.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$blackness(0), "%"); + A.module_closure38.prototype = { + call$1(color) { + return color._color0$_legacyChannel$2(B.HwbColorSpace_06z0, "blackness"); }, - $signature: 12 + $signature: 28 }; - A.module_closure18.prototype = { + A.module_closure39.prototype = { call$1($arguments) { var result, - argument = J.$index$asx($arguments, 0); - if (argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0())) { + _0_0 = J.$index$asx($arguments, 0), + t1 = false; + if (_0_0 instanceof A.SassString0) + if (!_0_0._string0$_hasQuotes) + t1 = B.JSString_methods.contains$1(_0_0._string0$_text, $.$get$_microsoftFilterStart0()); + if (t1) { result = A._functionString0("alpha", $arguments); - A.warnForDeprecation0(string$.Using_c + result.toString$0(0), B.Deprecation_EfO); + A.warnForDeprecation0(string$.Using_c + result.toString$0(0), B.Deprecation_4QP); return result; } - return A.SassNumber_SassNumber0(argument.assertColor$1("color")._color1$_alpha, null); + if (_0_0 instanceof A.SassColor0 && !_0_0._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.color_a, null)); + t1 = _0_0.assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber0(t1 == null ? 0 : t1, null); }, $signature: 3 }; - A.module_closure19.prototype = { + A.module_closure40.prototype = { call$1($arguments) { var result, t1 = J.getInterceptor$asx($arguments); - if (B.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new A.module__closure4())) { + if (B.JSArray_methods.every$1(t1.$index($arguments, 0).get$asList(), new A.module__closure6())) { result = A._functionString0("alpha", $arguments); - A.warnForDeprecation0(string$.Using_c + result.toString$0(0), B.Deprecation_EfO); + A.warnForDeprecation0(string$.Using_c + result.toString$0(0), B.Deprecation_4QP); return result; } throw A.wrapException(A.SassScriptException$0("Only 1 argument allowed, but " + t1.get$length($arguments) + " were passed.", null)); }, - $signature: 19 + $signature: 17 }; - A.module__closure4.prototype = { + A.module__closure6.prototype = { call$1(argument) { return argument instanceof A.SassString0 && !argument._string0$_hasQuotes && B.JSString_methods.contains$1(argument._string0$_text, $.$get$_microsoftFilterStart0()); }, - $signature: 49 + $signature: 56 }; - A.module_closure20.prototype = { + A.module_closure41.prototype = { call$1($arguments) { var result, t1 = J.getInterceptor$asx($arguments); if (t1.$index($arguments, 0) instanceof A.SassNumber0) { result = A._functionString0("opacity", $arguments); - A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x20to_co + result.toString$0(0), B.Deprecation_EfO); + A.warnForDeprecation0("Passing a number (" + A.S(t1.$index($arguments, 0)) + string$.x20to_co + result.toString$0(0), B.Deprecation_4QP); return result; } - return A.SassNumber_SassNumber0(t1.$index($arguments, 0).assertColor$1("color")._color1$_alpha, null); + t1 = t1.$index($arguments, 0).assertColor$1("color").alphaOrNull; + return A.SassNumber_SassNumber0(t1 == null ? 0 : t1, null); }, $signature: 3 }; - A._red_closure0.prototype = { + A.module_closure42.prototype = { call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$red(0), null); + return new A.SassString0(J.get$first$ax($arguments).assertColor$1("color")._color0$_space.name, false); + }, + $signature: 17 + }; + A.module_closure43.prototype = { + call$1($arguments) { + var t1 = J.getInterceptor$asx($arguments); + return A._colorInSpace0(t1.$index($arguments, 0), t1.$index($arguments, 1), false); + }, + $signature: 25 + }; + A.module_closure44.prototype = { + call$1($arguments) { + return J.$index$asx($arguments, 0).assertColor$1("color")._color0$_space.get$isLegacyInternal() ? B.SassBoolean_true0 : B.SassBoolean_false0; }, $signature: 12 }; - A._green_closure0.prototype = { + A.module_closure45.prototype = { call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$green(0), null); + var t1 = J.getInterceptor$asx($arguments); + return t1.$index($arguments, 0).assertColor$1("color").isChannelMissing$3$channelName$colorName(A._channelName0(t1.$index($arguments, 1)), "channel", "color") ? B.SassBoolean_true0 : B.SassBoolean_false0; }, $signature: 12 }; - A._blue_closure0.prototype = { + A.module_closure46.prototype = { call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$blue(0), null); + var t1 = J.getInterceptor$asx($arguments); + return A._colorInSpace0(t1.$index($arguments, 0), t1.$index($arguments, 1), true).get$isInGamut() ? B.SassBoolean_true0 : B.SassBoolean_false0; + }, + $signature: 12 + }; + A.module_closure47.prototype = { + call$1($arguments) { + var space, method, _s5_ = "space", _s6_ = "method", + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + t2 = t1.$index($arguments, 1); + if (t2.$eq(0, B.C__SassNull0)) + space = color._color0$_space; + else { + t2 = t2.assertString$1(_s5_); + t2.assertUnquoted$1(_s5_); + space = A.ColorSpace_fromName0(t2._string0$_text, _s5_); + } + if (J.$eq$(t1.$index($arguments, 2), B.C__SassNull0)) + throw A.wrapException(A.SassScriptException$0(string$.color_t, _s6_)); + t1 = t1.$index($arguments, 2).assertString$1(_s6_); + t1.assertUnquoted$1(_s6_); + method = A.GamutMapMethod_GamutMapMethod$fromName0(t1._string0$_text); + if (!space.get$isBoundedInternal()) + return color; + t1 = color.toSpace$1(space); + t1 = t1.get$isInGamut() ? t1 : method.map$1(0, t1); + return t1.toSpace$2$legacyMissing(color._color0$_space, false); + }, + $signature: 25 + }; + A.module_closure48.prototype = { + call$1($arguments) { + var channelIndex, channelInfo, channelValue, unit, + t1 = J.getInterceptor$asx($arguments), + color = A._colorInSpace0(t1.$index($arguments, 0), t1.$index($arguments, 2), true), + channelName = A._channelName0(t1.$index($arguments, 1)); + if (channelName === "alpha") { + t1 = color.alphaOrNull; + return A.SassNumber_SassNumber0(t1 == null ? 0 : t1, null); + } + t1 = color._color0$_space._space$_channels; + channelIndex = B.JSArray_methods.indexWhere$1(t1, new A.module__closure5(channelName)); + if (channelIndex === -1) + throw A.wrapException(A.SassScriptException$0("Color " + color.toString$0(0) + " has no channel named " + channelName + ".", "channel")); + channelInfo = t1[channelIndex]; + channelValue = color.get$channels()[channelIndex]; + unit = channelInfo.associatedUnit; + return A.SassNumber_SassNumber0(unit === "%" ? channelValue * 100 / type$.LinearChannel_2._as(channelInfo).max : channelValue, unit); + }, + $signature: 22 + }; + A.module__closure5.prototype = { + call$1(channel) { + return channel.name === this.channelName; + }, + $signature: 71 + }; + A.module_closure49.prototype = { + call$1($arguments) { + var t2, t3, + t1 = J.getInterceptor$asx($arguments), + color1 = t1.$index($arguments, 0).assertColor$1("color1"), + color2 = t1.$index($arguments, 1).assertColor$1("color2"); + t1 = new A.module_closure_toXyzNoMissing0(); + if (color1._color0$_space === color2._color0$_space) { + t1 = color1.channel0OrNull; + t2 = false; + if (t1 == null) + t1 = 0; + t3 = color2.channel0OrNull; + if (A.fuzzyEquals0(t1, t3 == null ? 0 : t3)) { + t1 = color1.channel1OrNull; + if (t1 == null) + t1 = 0; + t3 = color2.channel1OrNull; + if (A.fuzzyEquals0(t1, t3 == null ? 0 : t3)) { + t1 = color1.channel2OrNull; + if (t1 == null) + t1 = 0; + t3 = color2.channel2OrNull; + if (A.fuzzyEquals0(t1, t3 == null ? 0 : t3)) { + t1 = color1.alphaOrNull; + if (t1 == null) + t1 = 0; + t2 = color2.alphaOrNull; + t1 = A.fuzzyEquals0(t1, t2 == null ? 0 : t2); + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; + } else + t1 = J.$eq$(t1.call$1(color1), t1.call$1(color2)); + return t1 ? B.SassBoolean_true0 : B.SassBoolean_false0; + }, + $signature: 12 + }; + A.module_closure_toXyzNoMissing0.prototype = { + call$1(color) { + var _1_1, _1_3, t1, _1_7, channel0, _1_8, channel1, _1_9, channel2, _1_10, alpha, _null = null; + $label0$0: { + _1_1 = color._color0$_space; + _1_3 = B.XyzD65ColorSpace_4CA0 === _1_1; + t1 = _1_3; + if (t1) + t1 = !(color.channel0OrNull == null || color.channel1OrNull == null || color.channel2OrNull == null || color.alphaOrNull == null); + else + t1 = false; + if (t1) { + t1 = color; + break $label0$0; + } + if (_1_3) { + _1_7 = color.channel0OrNull; + if (_1_7 == null) + _1_7 = 0; + channel0 = _1_7; + _1_8 = color.channel1OrNull; + if (_1_8 == null) + _1_8 = 0; + channel1 = _1_8; + _1_9 = color.channel2OrNull; + if (_1_9 == null) + _1_9 = 0; + channel2 = _1_9; + _1_10 = color.alphaOrNull; + if (_1_10 == null) + _1_10 = 0; + alpha = _1_10; + t1 = A.SassColor$_forSpace0(B.XyzD65ColorSpace_4CA0, channel0, channel1, channel2, alpha, _null); + break $label0$0; + } + _1_7 = color.channel0OrNull; + if (_1_7 == null) + _1_7 = 0; + channel0 = _1_7; + _1_8 = color.channel1OrNull; + if (_1_8 == null) + _1_8 = 0; + channel1 = _1_8; + _1_9 = color.channel2OrNull; + if (_1_9 == null) + _1_9 = 0; + channel2 = _1_9; + _1_10 = color.alphaOrNull; + if (_1_10 == null) + _1_10 = 0; + alpha = _1_10; + t1 = _1_1.convert$5(B.XyzD65ColorSpace_4CA0, channel0, channel1, channel2, alpha); + break $label0$0; + } + return t1; + }, + $signature: 396 + }; + A.module_closure50.prototype = { + call$1($arguments) { + var t1 = J.getInterceptor$asx($arguments); + return A._colorInSpace0(t1.$index($arguments, 0), t1.$index($arguments, 2), true).isChannelPowerless$3$channelName$colorName(A._channelName0(t1.$index($arguments, 1)), "channel", "color") ? B.SassBoolean_true0 : B.SassBoolean_false0; }, $signature: 12 }; A._mix_closure0.prototype = { call$1($arguments) { - var t1 = J.getInterceptor$asx($arguments); - return A._mixColors0(t1.$index($arguments, 0).assertColor$1("color1"), t1.$index($arguments, 1).assertColor$1("color2"), t1.$index($arguments, 2).assertNumber$1("weight")); + var _s6_ = "weight", + _s41_ = string$.To_usem, + _s29_ = ", you must provide a $method.", + t1 = J.getInterceptor$asx($arguments), + color1 = t1.$index($arguments, 0).assertColor$1("color1"), + color2 = t1.$index($arguments, 1).assertColor$1("color2"), + weight = t1.$index($arguments, 2).assertNumber$1(_s6_); + if (!J.$eq$(t1.$index($arguments, 3), B.C__SassNull0)) + return color1.interpolate$4$legacyMissing$weight(color2, A.InterpolationMethod_InterpolationMethod$fromValue0(t1.$index($arguments, 3), "method"), false, weight.valueInRangeWithUnit$4(0, 100, _s6_, "%") / 100); + A._checkPercent0(weight, _s6_); + if (!color1._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(_s41_ + color1.toString$0(0) + _s29_, "color1")); + else if (!color2._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(_s41_ + color2.toString$0(0) + _s29_, "color2")); + return A._mixLegacy0(color1, color2, weight); }, - $signature: 27 - }; - A._hue_closure0.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$hue(0), "deg"); - }, - $signature: 12 - }; - A._saturation_closure0.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$saturation(0), "%"); - }, - $signature: 12 - }; - A._lightness_closure0.prototype = { - call$1($arguments) { - return A.SassNumber_SassNumber0(J.get$first$ax($arguments).assertColor$1("color").get$lightness(0), "%"); - }, - $signature: 12 + $signature: 25 }; A._complement_closure0.prototype = { call$1($arguments) { - var color = J.$index$asx($arguments, 0).assertColor$1("color"); - return color.changeHsl$1$hue(color.get$hue(0) + 180); + var space, t3, colorInSpace, t4, t5, t6, _s5_ = "space", + t1 = J.getInterceptor$asx($arguments), + color = t1.$index($arguments, 0).assertColor$1("color"), + t2 = color._color0$_space; + if (t2.get$isLegacyInternal() && J.$eq$(t1.$index($arguments, 1), B.C__SassNull0)) + space = B.HslColorSpace_gsm0; + else { + t3 = t1.$index($arguments, 1).assertString$1(_s5_); + t3.assertUnquoted$1(_s5_); + space = A.ColorSpace_fromName0(t3._string0$_text, _s5_); + } + if (!space.get$isPolarInternal()) + throw A.wrapException(A.SassScriptException$0("Color space " + space.toString$0(0) + " doesn't have a hue channel.", _s5_)); + colorInSpace = color.toSpace$2$legacyMissing(space, !J.$eq$(t1.$index($arguments, 1), B.C__SassNull0)); + t1 = space._space$_channels; + t3 = colorInSpace.channel0OrNull; + t4 = colorInSpace.channel1OrNull; + t5 = colorInSpace.channel2OrNull; + t6 = colorInSpace.alphaOrNull; + return (space.get$isLegacyInternal() ? A.SassColor_SassColor$forSpaceInternal0(space, A._adjustChannel0(colorInSpace, t1[0], t3, A.SassNumber_SassNumber0(180, null)), t4, t5, t6) : A.SassColor_SassColor$forSpaceInternal0(space, t3, t4, A._adjustChannel0(colorInSpace, t1[2], t5, A.SassNumber_SassNumber0(180, null)), t6)).toSpace$2$legacyMissing(t2, false); }, - $signature: 27 + $signature: 25 }; A._adjust_closure0.prototype = { call$1($arguments) { return A._updateComponents0($arguments, true, false, false); }, - $signature: 27 + $signature: 25 }; A._scale_closure0.prototype = { call$1($arguments) { return A._updateComponents0($arguments, false, false, true); }, - $signature: 27 + $signature: 25 }; A._change_closure0.prototype = { call$1($arguments) { return A._updateComponents0($arguments, false, true, false); }, - $signature: 27 + $signature: 25 }; A._ieHexStr_closure0.prototype = { call$1($arguments) { - var color = J.$index$asx($arguments, 0).assertColor$1("color"), - t1 = new A._ieHexStr_closure_hexString0(); - return new A.SassString0("#" + A.S(t1.call$1(A.fuzzyRound0(color._color1$_alpha * 255))) + A.S(t1.call$1(color.get$red(0))) + A.S(t1.call$1(color.get$green(0))) + A.S(t1.call$1(color.get$blue(0))), false); + var t1, t2, t3, t4, t5, + color = J.$index$asx($arguments, 0).assertColor$1("color").toSpace$1(B.RgbColorSpace_mlz0); + color = color.get$isInGamut() ? color : B.LocalMindeGamutMap_Q7f0.map$1(0, color); + t1 = new A._ieHexStr_closure_hexString0(); + t2 = color.alphaOrNull; + t2 = A.S(t1.call$1((t2 == null ? 0 : t2) * 255)); + t3 = color.channel0OrNull; + t3 = A.S(t1.call$1(t3 == null ? 0 : t3)); + t4 = color.channel1OrNull; + t4 = A.S(t1.call$1(t4 == null ? 0 : t4)); + t5 = color.channel2OrNull; + return new A.SassString0("#" + t2 + t3 + t4 + A.S(t1.call$1(t5 == null ? 0 : t5)), false); }, - $signature: 19 + $signature: 17 }; A._ieHexStr_closure_hexString0.prototype = { call$1(component) { - return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(component, 16), 2, "0").toUpperCase(); + return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(A.fuzzyRound0(component), 16), 2, "0").toUpperCase(); }, - $signature: 194 - }; - A._updateComponents_getParam0.prototype = { - call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, checkPercent, checkUnitless) { - var t2, _this = this, - t1 = _this.keywords.remove$1(0, $name), - number = t1 == null ? null : t1.assertNumber$1($name); - if (number == null) - return null; - t1 = _this.scale; - t2 = !t1; - if (t2 && checkUnitless) - if (number.get$hasUnits()) - A.warnForDeprecation0("$" + $name + ": Passing a number with unit " + number.get$unitString() + string$.x20is_de + number.unitSuggestion$1($name) + string$.x0a_Morex3a, B.Deprecation_oCX); - if (t2 && checkPercent) - A._checkPercent0(number, $name); - if (!t2 || assertPercent) - number.assertUnit$2("%", $name); - if (t1) - max = 100; - if (!t2 || assertPercent) - t1 = number.valueInRange$3(_this.change ? 0 : -max, max, $name); - else { - t1 = _this.change ? 0 : -max; - t1 = number.valueInRangeWithUnit$4(t1, max, $name, checkPercent ? "%" : ""); - } - return t1; - }, - call$2($name, max) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, false); - }, - call$3$checkUnitless($name, max, checkUnitless) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, false, checkUnitless); - }, - call$3$checkPercent($name, max, checkPercent) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, false, checkPercent, false); - }, - call$3$assertPercent($name, max, assertPercent) { - return this.call$5$assertPercent$checkPercent$checkUnitless($name, max, assertPercent, false, false); - }, - $signature: 193 + $signature: 203 }; A._updateComponents_closure1.prototype = { - call$1(hue) { - return A._angleValue0(hue, "hue"); + call$1(space) { + return this.originalColor.toSpace$2$legacyMissing(space, false); }, - $signature: 106 + $signature: 397 }; A._updateComponents_closure2.prototype = { - call$1($name) { - return "$" + $name; + call$1(info) { + return this._box_0.name === info.name; }, - $signature: 5 + $signature: 71 }; - A._updateComponents_updateValue0.prototype = { - call$3(current, param, max) { - var t1; - if (param == null) - return current; - if (this.change) - return param; - if (this.adjust) - return B.JSNumber_methods.clamp$2(current + param, 0, max); - t1 = param > 0 ? max - current : current; - return current + t1 * (param / 100); + A._changeColor_closure0.prototype = { + call$0() { + var t1 = this.alphaArg; + A.warnForDeprecation0("$alpha: Passing a unit other than % (" + A.S(t1) + string$.x29x20is_d + t1.unitSuggestion$1("alpha") + string$.x0a_See_, B.Deprecation_jV0); + return t1.valueInRange$3(0, 1, "alpha"); }, - $signature: 189 + $signature: 205 }; - A._updateComponents_updateRgb0.prototype = { - call$2(current, param) { - return A.fuzzyRound0(this.updateValue.call$3(current, param, 255)); + A._adjustColor_closure0.prototype = { + call$1(alpha) { + return isNaN(alpha) ? 0 : B.JSNumber_methods.clamp$2(alpha, 0, 1); }, - $signature: 254 + $signature: 15 }; A._functionString_closure0.prototype = { call$1(argument) { return A.serializeValue0(argument, false, true); }, - $signature: 138 + $signature: 209 }; A._removedColorFunction_closure0.prototype = { call$1($arguments) { @@ -91655,185 +97097,635 @@ self.util = _cliPkgRequires.util; t2 = J.getInterceptor$asx($arguments), t3 = A.S(t2.$index($arguments, 0)), t4 = this.negative ? "-" : ""; - throw A.wrapException(A.SassScriptException$0("The function " + t1 + string$.x28__isn + t3 + ", $" + this.argument + ": " + t4 + A.S(t2.$index($arguments, 1)) + string$.x29x0a_Mor + t1, null)); + throw A.wrapException(A.SassScriptException$0("The function " + t1 + string$.x28__isn + t3 + ", $" + this.argument + ": " + t4 + A.S(t2.$index($arguments, 1)) + string$.x29x0a_Moro + t1, null)); }, - $signature: 385 + $signature: 399 }; A._rgb_closure0.prototype = { call$1(alpha) { - return A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha"); + var t1 = A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha"); + return isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1); }, - $signature: 106 + $signature: 210 }; A._hsl_closure0.prototype = { call$1(alpha) { - return A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha"); + var t1 = A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha"); + return isNaN(t1) ? 0 : B.JSNumber_methods.clamp$2(t1, 0, 1); }, - $signature: 106 + $signature: 210 }; - A._hwb_closure0.prototype = { - call$1(alpha) { - return A._percentageOrUnitless0(alpha.assertNumber$1("alpha"), 1, "alpha"); + A._parseChannels_closure1.prototype = { + call$1($name) { + return $name + " channel"; }, - $signature: 106 + $signature: 6 }; - A._parseChannels_closure0.prototype = { + A._parseChannels_closure2.prototype = { + call$1(channel) { + return channel.get$isSpecialNumber(); + }, + $signature: 56 + }; + A._colorFromChannels_closure1.prototype = { + call$1(channel0) { + return A._angleValue0(channel0, "hue"); + }, + $signature: 95 + }; + A._colorFromChannels_closure2.prototype = { + call$1(channel0) { + return A._angleValue0(channel0, "hue"); + }, + $signature: 95 + }; + A._channelFromValue_closure0.prototype = { call$1(value) { - return value.get$isVar(); + var t1, _0_8, t2, _0_5, _0_8_isSet, upperClamped, t3, + _0_0 = this.channel; + $label0$0: { + t1 = _0_0 instanceof A.LinearChannel0; + if (t1 && _0_0.requiresPercent && !value.hasUnit$1("%")) + A.throwExpression(A.SassScriptException$0("Expected " + value.toString$0(0) + ' to have unit "%".', _0_0.name)); + _0_8 = null; + t2 = false; + if (t1) { + _0_5 = _0_0.lowerClamped; + _0_8_isSet = !_0_5; + if (_0_8_isSet) { + _0_8 = _0_0.upperClamped; + t2 = !_0_8; + } + } else { + _0_5 = null; + _0_8_isSet = false; + } + if (t2) { + t1 = A._percentageOrUnitless0(value, _0_0.max, _0_0.name); + break $label0$0; + } + if (t1 && !this.clamp) { + t1 = A._percentageOrUnitless0(value, _0_0.max, _0_0.name); + break $label0$0; + } + if (t1) { + upperClamped = _0_8_isSet ? _0_8 : _0_0.upperClamped; + t1 = _0_0.max; + t2 = A._percentageOrUnitless0(value, t1, _0_0.name); + t3 = _0_5 ? _0_0.min : -1 / 0; + t1 = upperClamped ? t1 : 1 / 0; + t1 = isNaN(t2) ? t3 : B.JSNumber_methods.clamp$2(t2, t3, t1); + break $label0$0; + } + t1 = B.JSNumber_methods.$mod(value.coerceValueToUnit$2("deg", _0_0.name), 360); + break $label0$0; + } + return t1; }, - $signature: 49 + $signature: 95 + }; + A._channelFunction_closure0.prototype = { + call$1($arguments) { + var _this = this, + result = A.SassNumber_SassNumber0(_this.getter.call$1(J.get$first$ax($arguments).assertColor$1("color")), _this.unit), + t1 = _this.global ? "" : "color.", + t2 = _this.name; + A.warnForDeprecation0(t1 + t2 + string$.x28__is_d + t2 + '", $space: ' + _this.space.toString$0(0) + string$.x29x0a_Mor_, B.Deprecation_rb9); + return result; + }, + $signature: 22 + }; + A._suggestScaleAndAdjust_closure0.prototype = { + call$1(channel) { + return channel.name === this.channelName; + }, + $signature: 71 }; A.colorClass_closure.prototype = { call$0() { var t1 = type$.JSClass, - jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassColor", new A.colorClass__closure())); - J.get$$prototype$x(jsClass).change = A.allowInteropCaptureThisNamed("change", new A.colorClass__closure0()); - A.LinkedHashMap_LinkedHashMap$_literal(["red", new A.colorClass__closure1(), "green", new A.colorClass__closure2(), "blue", new A.colorClass__closure3(), "hue", new A.colorClass__closure4(), "saturation", new A.colorClass__closure5(), "lightness", new A.colorClass__closure6(), "whiteness", new A.colorClass__closure7(), "blackness", new A.colorClass__closure8(), "alpha", new A.colorClass__closure9()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass)); - A.JSClassExtension_injectSuperclass(t1._as(A.SassColor$rgb0(0, 0, 0, 1).constructor), jsClass); + jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.SassColor", new A.colorClass__closure())), + t2 = type$.String, + t3 = type$.Function; + A.LinkedHashMap_LinkedHashMap$_literal(["equals", new A.colorClass__closure0(), "hashCode", new A.colorClass__closure1(), "toSpace", new A.colorClass__closure2(), "isInGamut", new A.colorClass__closure3(), "toGamut", new A.colorClass__closure4(), "channel", new A.colorClass__closure5(), "isChannelMissing", new A.colorClass__closure6(), "isChannelPowerless", new A.colorClass__closure7(), "change", new A.colorClass__closure8(), "interpolate", new A.colorClass__closure9()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass)); + A.LinkedHashMap_LinkedHashMap$_literal(["red", new A.colorClass__closure10(), "green", new A.colorClass__closure11(), "blue", new A.colorClass__closure12(), "hue", new A.colorClass__closure13(), "saturation", new A.colorClass__closure14(), "lightness", new A.colorClass__closure15(), "whiteness", new A.colorClass__closure16(), "blackness", new A.colorClass__closure17(), "alpha", new A.colorClass__closure18(), "space", new A.colorClass__closure19(), "isLegacy", new A.colorClass__closure20(), "channelsOrNull", new A.colorClass__closure21(), "channels", new A.colorClass__closure22()], t2, t3).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass)); + A.JSClassExtension_injectSuperclass(t1._as(A.SassColor_SassColor$rgbInternal0(0, 0, 0, 1, null).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.colorClass__closure.prototype = { - call$2($self, color) { - var t2, t3, t4, - t1 = J.getInterceptor$x(color); - if (t1.get$red(color) != null) { - t2 = t1.get$red(color); - t2.toString; - t2 = A.fuzzyRound0(t2); - t3 = t1.get$green(color); - t3.toString; - t3 = A.fuzzyRound0(t3); - t4 = t1.get$blue(color); - t4.toString; - t4 = A.fuzzyRound0(t4); - t1 = t1.get$alpha(color); - return A.SassColor$rgb0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); - } else if (t1.get$saturation(color) != null) { - t2 = t1.get$hue(color); - t2.toString; - t3 = t1.get$saturation(color); - t3.toString; - t4 = t1.get$lightness(color); - t4.toString; - t1 = t1.get$alpha(color); - return A.SassColor$hsl(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); - } else { - t2 = t1.get$hue(color); - t2.toString; - t3 = t1.get$whiteness(color); - t3.toString; - t4 = t1.get$blackness(color); - t4.toString; - t1 = t1.get$alpha(color); - return A.SassColor_SassColor$hwb0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); + call$2($self, options) { + var t1, t2, t3, t4, _null = null; + switch (A._constructionSpace(options)) { + case B.RgbColorSpace_mlz0: + A._checkNullAlphaDeprecation(options); + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor_SassColor$rgbInternal0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.HslColorSpace_gsm0: + A._checkNullAlphaDeprecation(options); + t1 = J.getInterceptor$x(options); + t2 = t1.get$hue(options); + t3 = t1.get$saturation(options); + t4 = t1.get$lightness(options); + t1 = t1.get$alpha(options); + return A.SassColor_SassColor$hsl0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); + case B.HwbColorSpace_06z0: + A._checkNullAlphaDeprecation(options); + t1 = J.getInterceptor$x(options); + t2 = t1.get$hue(options); + t3 = t1.get$whiteness(options); + t4 = t1.get$blackness(options); + t1 = t1.get$alpha(options); + return A.SassColor_SassColor$hwb0(t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); + case B.LabColorSpace_IF20: + t1 = J.getInterceptor$x(options); + t2 = t1.get$lightness(options); + t3 = t1.get$a(options); + t4 = t1.get$b(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.LabColorSpace_IF20, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.OklabColorSpace_yrt0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$lightness(options); + t3 = t1.get$a(options); + t4 = t1.get$b(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.OklabColorSpace_yrt0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.LchColorSpace_wv80: + t1 = J.getInterceptor$x(options); + t2 = t1.get$lightness(options); + t3 = t1.get$chroma(options); + t4 = t1.get$hue(options); + t1 = t1.get$alpha(options); + return A.SassColor_SassColor$forSpaceInternal0(B.LchColorSpace_wv80, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); + case B.OklchColorSpace_li80: + t1 = J.getInterceptor$x(options); + t2 = t1.get$lightness(options); + t3 = t1.get$chroma(options); + t4 = t1.get$hue(options); + t1 = t1.get$alpha(options); + return A.SassColor_SassColor$forSpaceInternal0(B.OklchColorSpace_li80, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1); + case B.SrgbColorSpace_AD40: + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.SrgbColorSpace_AD40, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.SrgbLinearColorSpace_sEs0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.SrgbLinearColorSpace_sEs0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.DisplayP3ColorSpace_NQk0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.DisplayP3ColorSpace_NQk0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.A98RgbColorSpace_bdu0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.A98RgbColorSpace_bdu0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.ProphotoRgbColorSpace_KiG0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.ProphotoRgbColorSpace_KiG0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.Rec2020ColorSpace_2jN0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$red(options); + t3 = t1.get$green(options); + t4 = t1.get$blue(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.Rec2020ColorSpace_2jN0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.XyzD50ColorSpace_2No0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$x(options); + t3 = t1.get$y(options); + t4 = t1.get$z(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.XyzD50ColorSpace_2No0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + case B.XyzD65ColorSpace_4CA0: + t1 = J.getInterceptor$x(options); + t2 = t1.get$x(options); + t3 = t1.get$y(options); + t4 = t1.get$z(options); + t1 = t1.get$alpha(options); + return A.SassColor$_forSpace0(B.XyzD65ColorSpace_4CA0, t2, t3, t4, A._asBool($.$get$_isUndefined().call$1(t1)) ? 1 : t1, _null); + default: + throw A.wrapException("Unreachable"); } }, - $signature: 386 + $signature: 402 }; A.colorClass__closure0.prototype = { - call$2($self, options) { - var t2, t3, t4, - t1 = J.getInterceptor$x(options); - if (t1.get$whiteness(options) != null || t1.get$blackness(options) != null) { - t2 = t1.get$hue(options); - if (t2 == null) - t2 = $self.get$hue(0); - t3 = t1.get$whiteness(options); - if (t3 == null) - t3 = $self.get$whiteness(0); - t4 = t1.get$blackness(options); - if (t4 == null) - t4 = $self.get$blackness(0); - t1 = t1.get$alpha(options); - return $self.changeHwb$4$alpha$blackness$hue$whiteness(t1 == null ? $self._color1$_alpha : t1, t4, t2, t3); - } else if (t1.get$hue(options) != null || t1.get$saturation(options) != null || t1.get$lightness(options) != null) { - t2 = t1.get$hue(options); - if (t2 == null) - t2 = $self.get$hue(0); - t3 = t1.get$saturation(options); - if (t3 == null) - t3 = $self.get$saturation(0); - t4 = t1.get$lightness(options); - if (t4 == null) - t4 = $self.get$lightness(0); - t1 = t1.get$alpha(options); - return $self.changeHsl$4$alpha$hue$lightness$saturation(t1 == null ? $self._color1$_alpha : t1, t2, t4, t3); - } else if (t1.get$red(options) != null || t1.get$green(options) != null || t1.get$blue(options) != null) { - t2 = A.NullableExtension_andThen0(t1.get$red(options), A.number2__fuzzyRound$closure()); - if (t2 == null) - t2 = $self.get$red(0); - t3 = A.NullableExtension_andThen0(t1.get$green(options), A.number2__fuzzyRound$closure()); - if (t3 == null) - t3 = $self.get$green(0); - t4 = A.NullableExtension_andThen0(t1.get$blue(options), A.number2__fuzzyRound$closure()); - if (t4 == null) - t4 = $self.get$blue(0); - t1 = t1.get$alpha(options); - return $self.changeRgb$4$alpha$blue$green$red(t1 == null ? $self._color1$_alpha : t1, t4, t3, t2); - } else { - t1 = t1.get$alpha(options); - return $self.changeAlpha$1(t1 == null ? $self._color1$_alpha : t1); - } + call$2($self, other) { + return $self.$eq(0, other); }, - $signature: 387 + $signature: 403 }; A.colorClass__closure1.prototype = { call$1($self) { - return $self.get$red(0); + return $self.get$hashCode(0); }, - $signature: 118 + $signature: 40 }; A.colorClass__closure2.prototype = { - call$1($self) { - return $self.get$green(0); + call$2($self, space) { + return A._toSpace($self, space); }, - $signature: 118 + $signature: 404 }; A.colorClass__closure3.prototype = { - call$1($self) { - return $self.get$blue(0); + call$2($self, space) { + return A._toSpace($self, space).get$isInGamut(); }, - $signature: 118 + call$1($self) { + return this.call$2($self, null); + }, + "call*": "call$2", + $requiredArgCount: 1, + $defaultValues() { + return [null]; + }, + $signature: 405 }; A.colorClass__closure4.prototype = { - call$1($self) { - return $self.get$hue(0); + call$2($self, options) { + var t1 = J.getInterceptor$x(options), + t2 = A._toSpace($self, t1.get$space(options)); + t1 = A.GamutMapMethod_GamutMapMethod$fromName0(t1.get$method(options)); + t1 = t2.get$isInGamut() ? t2 : t1.map$1(0, t2); + return t1.toSpace$1($self._color0$_space); }, - $signature: 59 + $signature: 406 }; A.colorClass__closure5.prototype = { - call$1($self) { - return $self.get$saturation(0); + call$3($self, channel, options) { + return A._toSpace($self, options == null ? null : J.get$space$x(options)).channel$1(0, channel); }, - $signature: 59 + call$2($self, channel) { + return this.call$3($self, channel, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 407 }; A.colorClass__closure6.prototype = { - call$1($self) { - return $self.get$lightness(0); + call$2($self, channel) { + return $self.isChannelMissing$1(channel); }, - $signature: 59 + $signature: 408 }; A.colorClass__closure7.prototype = { - call$1($self) { - return $self.get$whiteness(0); + call$3($self, channel, options) { + return A._toSpace($self, options == null ? null : J.get$space$x(options)).isChannelPowerless$1(channel); }, - $signature: 59 + call$2($self, channel) { + return this.call$3($self, channel, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 409 }; A.colorClass__closure8.prototype = { - call$1($self) { - return $self.get$blackness(0); + call$2($self, options) { + var t3, space, t4, t5, t6, color, changedValue, _0_2, changedColor, _0_4, _0_6, _null = null, + _s9_ = "whiteness", + _s9_0 = "blackness", + _s3_ = "hue", + _s10_ = "saturation", + _s9_1 = "lightness", + _s3_0 = "red", _s5_ = "green", _s4_ = "blue", _s5_0 = "alpha", + _s106_ = string$.Passin_, + _s105_ = "Passing `hue: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", + t1 = J.getInterceptor$x(options), + t2 = t1.get$space(options) == null, + spaceSetExplicitly = !t2; + if (spaceSetExplicitly) { + t3 = t1.get$space(options); + t3.toString; + space = A.ColorSpace_fromName0(t3, _null); + } else + space = $self._color0$_space; + t3 = $self._color0$_space; + if (t3.get$isLegacyInternal() && t2) { + if ("whiteness" in options || "blackness" in options) + space = B.HwbColorSpace_06z0; + else if ("hue" in options && t3 === B.HwbColorSpace_06z0) + space = B.HwbColorSpace_06z0; + else if ("hue" in options || "saturation" in options || "lightness" in options) + space = B.HslColorSpace_gsm0; + else if ("red" in options || "green" in options || "blue" in options) + space = B.RgbColorSpace_mlz0; + if (space !== t3) + A.warnForDeprecationFromApi("Changing a channel not in this color's space without explicitly specifying the `space` option is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + } + for (t2 = J.get$iterator$ax(self.Object.keys(options)), t4 = space._space$_channels, t5 = type$.JSArray_String; t2.moveNext$0();) { + t6 = t2.get$current(t2); + if (B.JSArray_methods.contains$1(A._setArrayType(["alpha", "space"], t5), t6)) + continue; + if (!B.JSArray_methods.any$1(t4, new A.colorClass___closure(t6))) + A.jsThrow(new self.Error("`" + t6 + "` is not a valid channel in `" + space.toString$0(0) + "`.")); + } + color = $self.toSpace$1(space); + changedValue = new A.colorClass__closure_changedValue(color, options); + $label0$2: { + _0_2 = B.HslColorSpace_gsm0 === space; + if (_0_2 && spaceSetExplicitly) { + changedColor = A.SassColor_SassColor$hsl0(changedValue.call$1(_s3_), changedValue.call$1(_s10_), changedValue.call$1(_s9_1), changedValue.call$1(_s5_0)); + break $label0$2; + } + if (_0_2) { + t2 = t1.get$hue(options); + t4 = $.$get$_isNull(); + if (A._asBool(t4.call$1(t2))) + A.warnForDeprecationFromApi(_s105_, B.Deprecation_FIw); + else if (A._asBool(t4.call$1(t1.get$saturation(options)))) + A.warnForDeprecationFromApi("Passing `saturation: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + else if (A._asBool(t4.call$1(t1.get$lightness(options)))) + A.warnForDeprecationFromApi("Passing `lightness: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + if (A._asBool(t4.call$1(t1.get$alpha(options)))) + A.warnForDeprecationFromApi(_s106_, B.Deprecation_mBb); + t2 = t1.get$hue(options); + if (t2 == null) + t2 = color.channel$1(0, _s3_); + t4 = t1.get$saturation(options); + if (t4 == null) + t4 = color.channel$1(0, _s10_); + t5 = t1.get$lightness(options); + if (t5 == null) + t5 = color.channel$1(0, _s9_1); + t1 = t1.get$alpha(options); + changedColor = A.SassColor_SassColor$hsl0(t2, t4, t5, t1 == null ? color.channel$1(0, _s5_0) : t1); + break $label0$2; + } + _0_4 = B.HwbColorSpace_06z0 === space; + if (_0_4 && spaceSetExplicitly) { + changedColor = A.SassColor_SassColor$hwb0(changedValue.call$1(_s3_), changedValue.call$1(_s9_), changedValue.call$1(_s9_0), changedValue.call$1(_s5_0)); + break $label0$2; + } + if (_0_4) { + t2 = t1.get$hue(options); + t4 = $.$get$_isNull(); + if (A._asBool(t4.call$1(t2))) + A.warnForDeprecationFromApi(_s105_, B.Deprecation_FIw); + else if (A._asBool(t4.call$1(t1.get$whiteness(options)))) + A.warnForDeprecationFromApi("Passing `whiteness: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + else if (A._asBool(t4.call$1(t1.get$blackness(options)))) + A.warnForDeprecationFromApi("Passing `blackness: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + if (A._asBool(t4.call$1(t1.get$alpha(options)))) + A.warnForDeprecationFromApi(_s106_, B.Deprecation_mBb); + t2 = t1.get$hue(options); + if (t2 == null) + t2 = color.channel$1(0, _s3_); + t4 = t1.get$whiteness(options); + if (t4 == null) + t4 = color.channel$1(0, _s9_); + t5 = t1.get$blackness(options); + if (t5 == null) + t5 = color.channel$1(0, _s9_0); + t1 = t1.get$alpha(options); + changedColor = A.SassColor_SassColor$hwb0(t2, t4, t5, t1 == null ? color.channel$1(0, _s5_0) : t1); + break $label0$2; + } + _0_6 = B.RgbColorSpace_mlz0 === space; + if (_0_6 && spaceSetExplicitly) { + changedColor = A.SassColor_SassColor$rgbInternal0(changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (_0_6) { + t2 = t1.get$red(options); + t4 = $.$get$_isNull(); + if (A._asBool(t4.call$1(t2))) + A.warnForDeprecationFromApi("Passing `red: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + else if (A._asBool(t4.call$1(t1.get$green(options)))) + A.warnForDeprecationFromApi("Passing `green: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + else if (A._asBool(t4.call$1(t1.get$blue(options)))) + A.warnForDeprecationFromApi("Passing `blue: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + if (A._asBool(t4.call$1(t1.get$alpha(options)))) + A.warnForDeprecationFromApi(_s106_, B.Deprecation_mBb); + t2 = t1.get$red(options); + if (t2 == null) + t2 = color.channel$1(0, _s3_0); + t4 = t1.get$green(options); + if (t4 == null) + t4 = color.channel$1(0, _s5_); + t5 = t1.get$blue(options); + if (t5 == null) + t5 = color.channel$1(0, _s4_); + t1 = t1.get$alpha(options); + changedColor = A.SassColor_SassColor$rgbInternal0(t2, t4, t5, t1 == null ? color.channel$1(0, _s5_0) : t1, _null); + break $label0$2; + } + if (B.LabColorSpace_IF20 === space) { + changedColor = A.SassColor$_forSpace0(B.LabColorSpace_IF20, changedValue.call$1(_s9_1), changedValue.call$1("a"), changedValue.call$1("b"), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.OklabColorSpace_yrt0 === space) { + changedColor = A.SassColor$_forSpace0(B.OklabColorSpace_yrt0, changedValue.call$1(_s9_1), changedValue.call$1("a"), changedValue.call$1("b"), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.LchColorSpace_wv80 === space) { + changedColor = A.SassColor_SassColor$forSpaceInternal0(B.LchColorSpace_wv80, changedValue.call$1(_s9_1), changedValue.call$1("chroma"), changedValue.call$1(_s3_), changedValue.call$1(_s5_0)); + break $label0$2; + } + if (B.OklchColorSpace_li80 === space) { + changedColor = A.SassColor_SassColor$forSpaceInternal0(B.OklchColorSpace_li80, changedValue.call$1(_s9_1), changedValue.call$1("chroma"), changedValue.call$1(_s3_), changedValue.call$1(_s5_0)); + break $label0$2; + } + if (B.A98RgbColorSpace_bdu0 === space) { + changedColor = A.SassColor$_forSpace0(B.A98RgbColorSpace_bdu0, changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.DisplayP3ColorSpace_NQk0 === space) { + changedColor = A.SassColor$_forSpace0(B.DisplayP3ColorSpace_NQk0, changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.ProphotoRgbColorSpace_KiG0 === space) { + changedColor = A.SassColor$_forSpace0(B.ProphotoRgbColorSpace_KiG0, changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.Rec2020ColorSpace_2jN0 === space) { + changedColor = A.SassColor$_forSpace0(B.Rec2020ColorSpace_2jN0, changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.SrgbColorSpace_AD40 === space) { + changedColor = A.SassColor$_forSpace0(B.SrgbColorSpace_AD40, changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.SrgbLinearColorSpace_sEs0 === space) { + changedColor = A.SassColor$_forSpace0(B.SrgbLinearColorSpace_sEs0, changedValue.call$1(_s3_0), changedValue.call$1(_s5_), changedValue.call$1(_s4_), changedValue.call$1(_s5_0), _null); + break $label0$2; + } + if (B.XyzD50ColorSpace_2No0 === space) { + changedColor = A.SassColor_SassColor$forSpaceInternal0(space, changedValue.call$1("x"), changedValue.call$1("y"), changedValue.call$1("z"), changedValue.call$1(_s5_0)); + break $label0$2; + } + if (B.XyzD65ColorSpace_4CA0 === space) { + changedColor = A.SassColor_SassColor$forSpaceInternal0(space, changedValue.call$1("x"), changedValue.call$1("y"), changedValue.call$1("z"), changedValue.call$1(_s5_0)); + break $label0$2; + } + throw A.wrapException("No space set"); + } + return changedColor.toSpace$1(t3); }, - $signature: 59 + $signature: 410 + }; + A.colorClass___closure.prototype = { + call$1(channel) { + return channel.name === this.key; + }, + $signature: 71 + }; + A.colorClass__closure_changedValue.prototype = { + call$1(channel) { + var t2, + t1 = this.options; + if (channel in t1) { + t2 = t1[channel]; + t2 = !A._asBool($.$get$_isUndefined().call$1(t2)); + } else + t2 = false; + return t2 ? t1[channel] : this.color.channel$1(0, channel); + }, + $signature: 411 }; A.colorClass__closure9.prototype = { - call$1($self) { - return $self._color1$_alpha; + call$3($self, color2, options) { + var interpolationMethod, t2, + t1 = options == null, + _1_0 = t1 ? null : J.get$method$x(options); + if (_1_0 != null) + interpolationMethod = A.InterpolationMethod$0($self._color0$_space, A.EnumByName_byName(B.List_23h, _1_0)); + else { + t2 = $self._color0$_space; + interpolationMethod = !t2.get$isPolarInternal() ? A.InterpolationMethod$0(t2, null) : A.InterpolationMethod$0(t2, B.HueInterpolationMethod_00); + } + return $self.interpolate$3$weight(color2, interpolationMethod, t1 ? null : J.get$weight$x(options)); }, - $signature: 59 + call$2($self, color2) { + return this.call$3($self, color2, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 412 + }; + A.colorClass__closure10.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("red is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return B.JSNumber_methods.round$0($self._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "red")); + }, + $signature: 40 + }; + A.colorClass__closure11.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("green is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return B.JSNumber_methods.round$0($self._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "green")); + }, + $signature: 40 + }; + A.colorClass__closure12.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("blue is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return B.JSNumber_methods.round$0($self._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "blue")); + }, + $signature: 40 + }; + A.colorClass__closure13.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("hue is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return $self._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "hue"); + }, + $signature: 28 + }; + A.colorClass__closure14.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("saturation is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return $self._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "saturation"); + }, + $signature: 28 + }; + A.colorClass__closure15.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("lightness is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return $self._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "lightness"); + }, + $signature: 28 + }; + A.colorClass__closure16.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("whiteness is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return $self._color0$_legacyChannel$2(B.HwbColorSpace_06z0, "whiteness"); + }, + $signature: 28 + }; + A.colorClass__closure17.prototype = { + call$1($self) { + A.warnForDeprecationFromApi("blackness is deprecated, use `channel` instead.\nMore info: https://sass-lang.com/d/color-4-api", B.Deprecation_FIw); + return $self._color0$_legacyChannel$2(B.HwbColorSpace_06z0, "blackness"); + }, + $signature: 28 + }; + A.colorClass__closure18.prototype = { + call$1($self) { + var t1 = $self.alphaOrNull; + return t1 == null ? 0 : t1; + }, + $signature: 28 + }; + A.colorClass__closure19.prototype = { + call$1($self) { + return $self._color0$_space.name; + }, + $signature: 413 + }; + A.colorClass__closure20.prototype = { + call$1($self) { + return $self._color0$_space.get$isLegacyInternal(); + }, + $signature: 414 + }; + A.colorClass__closure21.prototype = { + call$1($self) { + return new self.immutable.List($self.get$channelsOrNull()); + }, + $signature: 212 + }; + A.colorClass__closure22.prototype = { + call$1($self) { + return new self.immutable.List($self.get$channels()); + }, + $signature: 212 }; A._Channels.prototype = {}; + A._ConstructionOptions.prototype = {}; + A._ChannelOptions.prototype = {}; + A._ToGamutOptions.prototype = {}; + A._InterpolationOptions.prototype = {}; A._NodeSassColor.prototype = {}; A.legacyColorClass_closure.prototype = { call$6(thisArg, redOrArgb, green, blue, alpha, dartValue) { @@ -91852,11 +97744,11 @@ self.util = _cliPkgRequires.util; redOrArgb.toString; red = redOrArgb; } - t1 = A.fuzzyRound0(B.JSNumber_methods.clamp$2(red, 0, 255)); - t2 = A.fuzzyRound0(B.JSNumber_methods.clamp$2(green, 0, 255)); - t3 = A.fuzzyRound0(B.JSNumber_methods.clamp$2(blue, 0, 255)); - t4 = alpha == null ? null : B.JSNumber_methods.clamp$2(alpha, 0, 1); - J.set$dartValue$x(thisArg, A.SassColor$rgb0(t1, t2, t3, t4 == null ? 1 : t4)); + t1 = A.fuzzyRound0(isNaN(red) ? 0 : B.JSNumber_methods.clamp$2(red, 0, 255)); + t2 = A.fuzzyRound0(isNaN(green) ? 0 : B.JSNumber_methods.clamp$2(green, 0, 255)); + t3 = A.fuzzyRound0(isNaN(blue) ? 0 : B.JSNumber_methods.clamp$2(blue, 0, 255)); + t4 = A.NullableExtension_andThen0(alpha, new A.legacyColorClass__closure()); + J.set$dartValue$x(thisArg, A.SassColor_SassColor$rgbInternal0(t1, t2, t3, t4 == null ? 1 : t4, null)); }, call$2(thisArg, redOrArgb) { var _null = null; @@ -91876,115 +97768,165 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null, null, null]; }, - $signature: 390 + $signature: 416 + }; + A.legacyColorClass__closure.prototype = { + call$1(alpha) { + return isNaN(alpha) ? 0 : B.JSNumber_methods.clamp$2(alpha, 0, 1); + }, + $signature: 417 }; A.legacyColorClass_closure0.prototype = { call$1(thisArg) { - return J.get$red$x(J.get$dartValue$x(thisArg)); + return B.JSNumber_methods.round$0(J.get$dartValue$x(thisArg)._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "red")); }, - $signature: 120 + $signature: 124 }; A.legacyColorClass_closure1.prototype = { call$1(thisArg) { - return J.get$green$x(J.get$dartValue$x(thisArg)); + return B.JSNumber_methods.round$0(J.get$dartValue$x(thisArg)._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "green")); }, - $signature: 120 + $signature: 124 }; A.legacyColorClass_closure2.prototype = { call$1(thisArg) { - return J.get$blue$x(J.get$dartValue$x(thisArg)); + return B.JSNumber_methods.round$0(J.get$dartValue$x(thisArg)._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "blue")); }, - $signature: 120 + $signature: 124 }; A.legacyColorClass_closure3.prototype = { call$1(thisArg) { - return J.get$dartValue$x(thisArg)._color1$_alpha; + var t1 = J.get$dartValue$x(thisArg).alphaOrNull; + return t1 == null ? 0 : t1; }, - $signature: 392 + $signature: 419 }; A.legacyColorClass_closure4.prototype = { call$2(thisArg, value) { - var t1 = J.getInterceptor$x(thisArg); - t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$red(A.fuzzyRound0(B.JSNumber_methods.clamp$2(value, 0, 255)))); + var t1 = J.getInterceptor$x(thisArg), + t2 = t1.get$dartValue(thisArg); + t1.set$dartValue(thisArg, t2.changeRgb$1$red(A.fuzzyRound0(isNaN(value) ? 0 : B.JSNumber_methods.clamp$2(value, 0, 255)))); }, - $signature: 90 + $signature: 94 }; A.legacyColorClass_closure5.prototype = { call$2(thisArg, value) { - var t1 = J.getInterceptor$x(thisArg); - t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$green(A.fuzzyRound0(B.JSNumber_methods.clamp$2(value, 0, 255)))); + var t1 = J.getInterceptor$x(thisArg), + t2 = t1.get$dartValue(thisArg); + t1.set$dartValue(thisArg, t2.changeRgb$1$green(A.fuzzyRound0(isNaN(value) ? 0 : B.JSNumber_methods.clamp$2(value, 0, 255)))); }, - $signature: 90 + $signature: 94 }; A.legacyColorClass_closure6.prototype = { call$2(thisArg, value) { - var t1 = J.getInterceptor$x(thisArg); - t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$blue(A.fuzzyRound0(B.JSNumber_methods.clamp$2(value, 0, 255)))); + var t1 = J.getInterceptor$x(thisArg), + t2 = t1.get$dartValue(thisArg); + t1.set$dartValue(thisArg, t2.changeRgb$1$blue(A.fuzzyRound0(isNaN(value) ? 0 : B.JSNumber_methods.clamp$2(value, 0, 255)))); }, - $signature: 90 + $signature: 94 }; A.legacyColorClass_closure7.prototype = { call$2(thisArg, value) { - var t1 = J.getInterceptor$x(thisArg); - t1.set$dartValue(thisArg, t1.get$dartValue(thisArg).changeRgb$1$alpha(B.JSNumber_methods.clamp$2(value, 0, 1))); + var t1 = J.getInterceptor$x(thisArg), + t2 = t1.get$dartValue(thisArg); + t1.set$dartValue(thisArg, t2.changeRgb$1$alpha(isNaN(value) ? 0 : B.JSNumber_methods.clamp$2(value, 0, 1))); }, - $signature: 90 + $signature: 94 }; A.SassColor0.prototype = { - get$red(_) { - var t1; - if (this._color1$_red == null) - this._color1$_hslToRgb$0(); - t1 = this._color1$_red; - t1.toString; + get$channels() { + var t2, t3, + t1 = this.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = this.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = this.channel2OrNull; + return A.List_List$unmodifiable([t1, t2, t3 == null ? 0 : t3], type$.double); + }, + get$channelsOrNull() { + return A.List_List$unmodifiable([this.channel0OrNull, this.channel1OrNull, this.channel2OrNull], type$.nullable_double); + }, + get$isChannel0Powerless() { + var t1, t2, _this = this, + _0_0 = _this._color0$_space; + $label0$0: { + if (B.HslColorSpace_gsm0 === _0_0) { + t1 = _this.channel1OrNull; + t1 = A.fuzzyEquals0(t1 == null ? 0 : t1, 0); + break $label0$0; + } + if (B.HwbColorSpace_06z0 === _0_0) { + t1 = _this.channel1OrNull; + if (t1 == null) + t1 = 0; + t2 = _this.channel2OrNull; + t1 += t2 == null ? 0 : t2; + t1 = t1 > 100 || A.fuzzyEquals0(t1, 100); + break $label0$0; + } + t1 = false; + break $label0$0; + } return t1; }, - get$green(_) { - var t1; - if (this._color1$_green == null) - this._color1$_hslToRgb$0(); - t1 = this._color1$_green; - t1.toString; + get$isChannel2Powerless() { + var t1, + _0_0 = this._color0$_space; + $label0$0: { + if (B.LchColorSpace_wv80 === _0_0 || B.OklchColorSpace_li80 === _0_0) { + t1 = this.channel1OrNull; + t1 = A.fuzzyEquals0(t1 == null ? 0 : t1, 0); + break $label0$0; + } + t1 = false; + break $label0$0; + } return t1; }, - get$blue(_) { - var t1; - if (this._color1$_blue == null) - this._color1$_hslToRgb$0(); - t1 = this._color1$_blue; - t1.toString; + get$isInGamut() { + var t2, t3, _this = this, + t1 = _this._color0$_space; + if (!t1.get$isBoundedInternal()) + return true; + t2 = _this.channel0OrNull; + if (t2 == null) + t2 = 0; + t1 = t1._space$_channels; + t3 = false; + if (_this._color0$_isChannelInGamut$2(t2, t1[0])) { + t2 = _this.channel1OrNull; + if (t2 == null) + t2 = 0; + if (_this._color0$_isChannelInGamut$2(t2, t1[1])) { + t2 = _this.channel2OrNull; + if (t2 == null) + t2 = 0; + t1 = _this._color0$_isChannelInGamut$2(t2, t1[2]); + } else + t1 = t3; + } else + t1 = t3; return t1; }, - get$hue(_) { - var t1; - if (this._color1$_hue == null) - this._color1$_rgbToHsl$0(); - t1 = this._color1$_hue; - t1.toString; + _color0$_isChannelInGamut$2(value, channel) { + var min, max, t1; + $label0$0: { + if (channel instanceof A.LinearChannel0) { + min = channel.min; + max = channel.max; + if (value < max || A.fuzzyEquals0(value, max)) + t1 = value > min || A.fuzzyEquals0(value, min); + else + t1 = false; + break $label0$0; + } + t1 = true; + break $label0$0; + } return t1; }, - get$saturation(_) { - var t1; - if (this._color1$_saturation == null) - this._color1$_rgbToHsl$0(); - t1 = this._color1$_saturation; - t1.toString; - return t1; - }, - get$lightness(_) { - var t1; - if (this._color1$_lightness == null) - this._color1$_rgbToHsl$0(); - t1 = this._color1$_lightness; - t1.toString; - return t1; - }, - get$whiteness(_) { - return Math.min(Math.min(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100; - }, - get$blackness(_) { - return 100 - Math.max(Math.max(this.get$red(0), this.get$green(0)), this.get$blue(0)) / 255 * 100; - }, accept$1$1(visitor) { return visitor.visitColor$1(this); }, @@ -91994,15 +97936,124 @@ self.util = _cliPkgRequires.util; assertColor$1($name) { return this; }, - changeRgb$4$alpha$blue$green$red(alpha, blue, green, red) { - var _this = this, - t1 = red == null ? _this.get$red(0) : red, - t2 = green == null ? _this.get$green(0) : green, - t3 = blue == null ? _this.get$blue(0) : blue; - return A.SassColor$rgb0(t1, t2, t3, alpha == null ? _this._color1$_alpha : alpha); + assertLegacy$1($name) { + if (this._color0$_space.get$isLegacyInternal()) + return; + throw A.wrapException(A.SassScriptException$0("Expected " + this.toString$0(0) + string$.x20to_be, $name)); }, - changeRgb$3$blue$green$red(blue, green, red) { - return this.changeRgb$4$alpha$blue$green$red(null, blue, green, red); + channel$1(_, channel) { + var t1, _this = this, + channels = _this._color0$_space._space$_channels; + if (channel === channels[0].name) { + t1 = _this.channel0OrNull; + return t1 == null ? 0 : t1; + } + if (channel === channels[1].name) { + t1 = _this.channel1OrNull; + return t1 == null ? 0 : t1; + } + if (channel === channels[2].name) { + t1 = _this.channel2OrNull; + return t1 == null ? 0 : t1; + } + if (channel === "alpha") { + t1 = _this.alphaOrNull; + return t1 == null ? 0 : t1; + } + throw A.wrapException(A.SassScriptException$0("Color " + _this.toString$0(0) + " doesn't have a channel named \"" + channel + '".', null)); + }, + isChannelMissing$3$channelName$colorName(channel, channelName, colorName) { + var _this = this, + channels = _this._color0$_space._space$_channels; + if (channel === channels[0].name) + return _this.channel0OrNull == null; + if (channel === channels[1].name) + return _this.channel1OrNull == null; + if (channel === channels[2].name) + return _this.channel2OrNull == null; + if (channel === "alpha") + return _this.alphaOrNull == null; + throw A.wrapException(A.SassScriptException$0("Color " + _this.toString$0(0) + " doesn't have a channel named \"" + channel + '".', channelName)); + }, + isChannelMissing$1(channel) { + return this.isChannelMissing$3$channelName$colorName(channel, null, null); + }, + isChannelPowerless$3$channelName$colorName(channel, channelName, colorName) { + var _this = this, + channels = _this._color0$_space._space$_channels; + if (channel === channels[0].name) + return _this.get$isChannel0Powerless(); + if (channel === channels[1].name) + return false; + if (channel === channels[2].name) + return _this.get$isChannel2Powerless(); + if (channel === "alpha") + return false; + throw A.wrapException(A.SassScriptException$0("Color " + _this.toString$0(0) + " doesn't have a channel named \"" + channel + '".', channelName)); + }, + isChannelPowerless$1(channel) { + return this.isChannelPowerless$3$channelName$colorName(channel, null, null); + }, + _color0$_legacyChannel$2(space, channel) { + if (!this._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0("color." + channel + string$.x28__is_oc, null)); + return this.toSpace$1(space).channel$1(0, channel); + }, + toSpace$2$legacyMissing(space, legacyMissing) { + var t2, converted, t3, t4, _this = this, + t1 = _this._color0$_space; + if (t1 === space) + return _this; + t2 = _this.alphaOrNull; + if (t2 == null) + t2 = 0; + converted = t1.convert$5(space, _this.channel0OrNull, _this.channel1OrNull, _this.channel2OrNull, t2); + t1 = false; + if (!legacyMissing) + if (converted._color0$_space.get$isLegacyInternal()) + t1 = converted.channel0OrNull == null || converted.channel1OrNull == null || converted.channel2OrNull == null || converted.alphaOrNull == null; + if (t1) { + t1 = converted.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = converted.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = converted.channel2OrNull; + if (t3 == null) + t3 = 0; + t4 = converted.alphaOrNull; + if (t4 == null) + t4 = 0; + t4 = A.SassColor_SassColor$forSpaceInternal0(converted._color0$_space, t1, t2, t3, t4); + t1 = t4; + } else + t1 = converted; + return t1; + }, + toSpace$1(space) { + return this.toSpace$2$legacyMissing(space, true); + }, + changeRgb$4$alpha$blue$green$red(alpha, blue, green, red) { + var t1, t2, t3, t4, _this = this, _null = null; + if (!_this._color0$_space.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0("color.changeRgb() is only supported for legacy colors. Please use color.changeChannels() instead with an explicit $space argument.", _null)); + t1 = red == null ? _null : red; + if (t1 == null) + t1 = _this.channel$1(0, "red"); + t2 = green == null ? _null : green; + if (t2 == null) + t2 = _this.channel$1(0, "green"); + t3 = blue == null ? _null : blue; + if (t3 == null) + t3 = _this.channel$1(0, "blue"); + t4 = alpha == null ? _null : alpha; + if (t4 == null) { + t4 = _this.alphaOrNull; + if (t4 == null) + t4 = 0; + } + return A.SassColor_SassColor$rgbInternal0(t1, t2, t3, t4, _null); }, changeRgb$1$alpha(alpha) { return this.changeRgb$4$alpha$blue$green$red(alpha, null, null, null); @@ -92016,29 +98067,202 @@ self.util = _cliPkgRequires.util; changeRgb$1$red(red) { return this.changeRgb$4$alpha$blue$green$red(null, null, null, red); }, - changeHsl$4$alpha$hue$lightness$saturation(alpha, hue, lightness, saturation) { - var _this = this, - t1 = hue == null ? _this.get$hue(0) : hue, - t2 = saturation == null ? _this.get$saturation(0) : saturation, - t3 = lightness == null ? _this.get$lightness(0) : lightness; - return A.SassColor$hsl(t1, t2, t3, alpha == null ? _this._color1$_alpha : alpha); + changeHsl$3$hue$lightness$saturation(hue, lightness, saturation) { + var t2, t3, t4, t5, _this = this, _null = null, + t1 = _this._color0$_space; + if (!t1.get$isLegacyInternal()) + throw A.wrapException(A.SassScriptException$0(string$.color_c, _null)); + t2 = hue == null ? _null : hue; + if (t2 == null) + t2 = _this._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "hue"); + t3 = saturation == null ? _null : saturation; + if (t3 == null) + t3 = _this._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "saturation"); + t4 = lightness == null ? _null : lightness; + if (t4 == null) + t4 = _this._color0$_legacyChannel$2(B.HslColorSpace_gsm0, "lightness"); + t5 = _this.alphaOrNull; + if (t5 == null) + t5 = 0; + return A.SassColor_SassColor$hsl0(t2, t3, t4, t5).toSpace$1(t1); }, changeHsl$1$saturation(saturation) { - return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, null, saturation); + return this.changeHsl$3$hue$lightness$saturation(null, null, saturation); }, changeHsl$1$lightness(lightness) { - return this.changeHsl$4$alpha$hue$lightness$saturation(null, null, lightness, null); + return this.changeHsl$3$hue$lightness$saturation(null, lightness, null); }, changeHsl$1$hue(hue) { - return this.changeHsl$4$alpha$hue$lightness$saturation(null, hue, null, null); - }, - changeHwb$4$alpha$blackness$hue$whiteness(alpha, blackness, hue, whiteness) { - var t1 = hue == null ? this.get$hue(0) : hue; - return A.SassColor_SassColor$hwb0(t1, whiteness, blackness, alpha); + return this.changeHsl$3$hue$lightness$saturation(hue, null, null); }, changeAlpha$1(alpha) { - var _this = this; - return new A.SassColor0(_this._color1$_red, _this._color1$_green, _this._color1$_blue, _this._color1$_hue, _this._color1$_saturation, _this._color1$_lightness, A.fuzzyAssertRange0(alpha, 0, 1, "alpha"), null); + var t2, t3, _this = this, + t1 = _this.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = _this.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = _this.channel2OrNull; + if (t3 == null) + t3 = 0; + return A.SassColor_SassColor$forSpaceInternal0(_this._color0$_space, t1, t2, t3, alpha); + }, + interpolate$4$legacyMissing$weight(other, method, legacyMissing, weight) { + var t1, color1, color2, missing1_0, missing1_1, missing1_2, missing2_0, missing2_1, missing2_2, channel1_0, channel1_1, channel1_2, channel2_0, channel2_1, channel2_2, alpha1, t2, t3, alpha10, alpha2, alpha20, thisMultiplier, t4, t5, otherMultiplier, mixedAlpha, mixed0, mixed1, mixed2, _this = this, _null = null; + if (weight == null) + weight = 0.5; + if (A.fuzzyEquals0(weight, 0)) + return other; + if (A.fuzzyEquals0(weight, 1)) + return _this; + t1 = method.space; + color1 = _this.toSpace$1(t1); + color2 = other.toSpace$1(t1); + if (weight < 0 || weight > 1) + throw A.wrapException(A.RangeError$range(weight, 0, 1, "weight", _null)); + missing1_0 = _this._color0$_isAnalogousChannelMissing$3(_this, color1, 0); + missing1_1 = _this._color0$_isAnalogousChannelMissing$3(_this, color1, 1); + missing1_2 = _this._color0$_isAnalogousChannelMissing$3(_this, color1, 2); + missing2_0 = _this._color0$_isAnalogousChannelMissing$3(other, color2, 0); + missing2_1 = _this._color0$_isAnalogousChannelMissing$3(other, color2, 1); + missing2_2 = _this._color0$_isAnalogousChannelMissing$3(other, color2, 2); + channel1_0 = (missing1_0 ? color2 : color1).channel0OrNull; + if (channel1_0 == null) + channel1_0 = 0; + channel1_1 = (missing1_1 ? color2 : color1).channel1OrNull; + if (channel1_1 == null) + channel1_1 = 0; + channel1_2 = (missing1_2 ? color2 : color1).channel2OrNull; + if (channel1_2 == null) + channel1_2 = 0; + channel2_0 = (missing2_0 ? color1 : color2).channel0OrNull; + if (channel2_0 == null) + channel2_0 = 0; + channel2_1 = (missing2_1 ? color1 : color2).channel1OrNull; + if (channel2_1 == null) + channel2_1 = 0; + channel2_2 = (missing2_2 ? color1 : color2).channel2OrNull; + if (channel2_2 == null) + channel2_2 = 0; + alpha1 = _this.alphaOrNull; + t2 = alpha1 == null; + if (t2) { + t3 = other.alphaOrNull; + alpha10 = t3 == null ? 0 : t3; + } else + alpha10 = alpha1; + alpha2 = other.alphaOrNull; + t3 = alpha2 == null; + if (t3) + alpha20 = t2 ? 0 : alpha1; + else + alpha20 = alpha2; + thisMultiplier = (t2 ? 1 : alpha1) * weight; + t4 = t3 ? 1 : alpha2; + t5 = 1 - weight; + otherMultiplier = t4 * t5; + mixedAlpha = t2 && t3 ? _null : alpha10 * weight + alpha20 * t5; + if (missing1_0 && missing2_0) + mixed0 = _null; + else { + t2 = mixedAlpha == null ? 1 : mixedAlpha; + mixed0 = (channel1_0 * thisMultiplier + channel2_0 * otherMultiplier) / t2; + } + if (missing1_1 && missing2_1) + mixed1 = _null; + else { + t2 = mixedAlpha == null ? 1 : mixedAlpha; + mixed1 = (channel1_1 * thisMultiplier + channel2_1 * otherMultiplier) / t2; + } + if (missing1_2 && missing2_2) + mixed2 = _null; + else { + t2 = mixedAlpha == null ? 1 : mixedAlpha; + mixed2 = (channel1_2 * thisMultiplier + channel2_2 * otherMultiplier) / t2; + } + $label0$0: { + if (B.HslColorSpace_gsm0 === t1 || B.HwbColorSpace_06z0 === t1) { + if (missing1_0 && missing2_0) + t2 = _null; + else { + t2 = method.hue; + t2.toString; + t2 = _this._color0$_interpolateHues$4(channel1_0, channel2_0, t2, weight); + } + t2 = A.SassColor_SassColor$forSpaceInternal0(t1, t2, mixed1, mixed2, mixedAlpha); + t1 = t2; + break $label0$0; + } + if (B.LchColorSpace_wv80 === t1 || B.OklchColorSpace_li80 === t1) { + if (missing1_2 && missing2_2) + t2 = _null; + else { + t2 = method.hue; + t2.toString; + t2 = _this._color0$_interpolateHues$4(channel1_2, channel2_2, t2, weight); + } + t2 = A.SassColor_SassColor$forSpaceInternal0(t1, mixed0, mixed1, t2, mixedAlpha); + t1 = t2; + break $label0$0; + } + t1 = A.SassColor_SassColor$forSpaceInternal0(t1, mixed0, mixed1, mixed2, mixedAlpha); + break $label0$0; + } + return t1.toSpace$2$legacyMissing(_this._color0$_space, legacyMissing); + }, + interpolate$3$weight(other, method, weight) { + return this.interpolate$4$legacyMissing$weight(other, method, true, weight); + }, + _color0$_isAnalogousChannelMissing$3(original, output, outputChannelIndex) { + var originalChannel; + if (output.get$channelsOrNull()[outputChannelIndex] == null) + return true; + if (original === output) + return false; + originalChannel = A.IterableExtension_firstWhereOrNull(original._color0$_space._space$_channels, output._color0$_space._space$_channels[outputChannelIndex].get$isAnalogous()); + if (originalChannel == null) + return false; + return original.isChannelMissing$1(originalChannel.name); + }, + _color0$_interpolateHues$4(hue1, hue2, method, weight) { + var _0_0, _1_0; + $label1$1: { + if (B.HueInterpolationMethod_00 === method) { + $label0$0: { + _0_0 = hue2 - hue1; + if (_0_0 > 180) { + hue1 += 360; + break $label0$0; + } + if (_0_0 < -180) + hue2 += 360; + } + break $label1$1; + } + if (B.HueInterpolationMethod_10 === method) { + $label2$2: { + _1_0 = hue2 - hue1; + if (_1_0 > 0 && _1_0 < 180) { + hue2 += 360; + break $label2$2; + } + if (_1_0 > -180 && _1_0 <= 0) + hue1 += 360; + } + break $label1$1; + } + if (B.HueInterpolationMethod_20 === method && hue2 < hue1) { + hue2 += 360; + break $label1$1; + } + if (B.HueInterpolationMethod_30 === method && hue1 < hue2) { + hue1 += 360; + break $label1$1; + } + break $label1$1; + } + return hue1 * weight + hue2 * (1 - weight); }, plus$1(other) { if (!(other instanceof A.SassNumber0) && !(other instanceof A.SassColor0)) @@ -92056,66 +98280,60 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$0('Undefined operation "' + this.toString$0(0) + " / " + other.toString$0(0) + '".', null)); }, $eq(_, other) { - var _this = this; + var t1, t2, _this = this; if (other == null) return false; - return other instanceof A.SassColor0 && other.get$red(0) === _this.get$red(0) && other.get$green(0) === _this.get$green(0) && other.get$blue(0) === _this.get$blue(0) && other._color1$_alpha === _this._color1$_alpha; + if (!(other instanceof A.SassColor0)) + return false; + t1 = _this._color0$_space; + if (t1.get$isLegacyInternal()) { + t2 = other._color0$_space; + if (!t2.get$isLegacyInternal()) + return false; + if (!A.fuzzyEqualsNullable0(_this.alphaOrNull, other.alphaOrNull)) + return false; + if (t1 === t2) + return A.fuzzyEqualsNullable0(_this.channel0OrNull, other.channel0OrNull) && A.fuzzyEqualsNullable0(_this.channel1OrNull, other.channel1OrNull) && A.fuzzyEqualsNullable0(_this.channel2OrNull, other.channel2OrNull); + else + return _this.toSpace$1(B.RgbColorSpace_mlz0).$eq(0, other.toSpace$1(B.RgbColorSpace_mlz0)); + } + return t1 === other._color0$_space && A.fuzzyEqualsNullable0(_this.channel0OrNull, other.channel0OrNull) && A.fuzzyEqualsNullable0(_this.channel1OrNull, other.channel1OrNull) && A.fuzzyEqualsNullable0(_this.channel2OrNull, other.channel2OrNull) && A.fuzzyEqualsNullable0(_this.alphaOrNull, other.alphaOrNull); }, get$hashCode(_) { - var _this = this; - return B.JSInt_methods.get$hashCode(_this.get$red(0)) ^ B.JSInt_methods.get$hashCode(_this.get$green(0)) ^ B.JSInt_methods.get$hashCode(_this.get$blue(0)) ^ B.JSNumber_methods.get$hashCode(_this._color1$_alpha); - }, - _color1$_rgbToHsl$0() { - var t2, lightness, _this = this, - scaledRed = _this.get$red(0) / 255, - scaledGreen = _this.get$green(0) / 255, - scaledBlue = _this.get$blue(0) / 255, - max = Math.max(Math.max(scaledRed, scaledGreen), scaledBlue), - min = Math.min(Math.min(scaledRed, scaledGreen), scaledBlue), - delta = max - min, - t1 = max === min; - if (t1) - _this._color1$_hue = 0; - else if (max === scaledRed) - _this._color1$_hue = B.JSNumber_methods.$mod(60 * (scaledGreen - scaledBlue) / delta, 360); - else if (max === scaledGreen) - _this._color1$_hue = B.JSNumber_methods.$mod(120 + 60 * (scaledBlue - scaledRed) / delta, 360); - else if (max === scaledBlue) - _this._color1$_hue = B.JSNumber_methods.$mod(240 + 60 * (scaledRed - scaledGreen) / delta, 360); - t2 = max + min; - lightness = 50 * t2; - _this._color1$_lightness = lightness; - if (t1) - _this._color1$_saturation = 0; - else { - t1 = 100 * delta; - if (lightness < 50) - _this._color1$_saturation = t1 / t2; - else - _this._color1$_saturation = t1 / (2 - max - min); + var rgb, t2, t3, t4, t5, _this = this, + t1 = _this._color0$_space; + if (t1.get$isLegacyInternal()) { + rgb = _this.toSpace$1(B.RgbColorSpace_mlz0); + t1 = rgb.channel0OrNull; + t1 = A.fuzzyHashCode0(t1 == null ? 0 : t1); + t2 = rgb.channel1OrNull; + t2 = A.fuzzyHashCode0(t2 == null ? 0 : t2); + t3 = rgb.channel2OrNull; + t3 = A.fuzzyHashCode0(t3 == null ? 0 : t3); + t4 = _this.alphaOrNull; + return t1 ^ t2 ^ t3 ^ A.fuzzyHashCode0(t4 == null ? 0 : t4); + } else { + t1 = A.Primitives_objectHashCode(t1); + t2 = _this.channel0OrNull; + t2 = A.fuzzyHashCode0(t2 == null ? 0 : t2); + t3 = _this.channel1OrNull; + t3 = A.fuzzyHashCode0(t3 == null ? 0 : t3); + t4 = _this.channel2OrNull; + t4 = A.fuzzyHashCode0(t4 == null ? 0 : t4); + t5 = _this.alphaOrNull; + return (t1 ^ t2 ^ t3 ^ t4 ^ A.fuzzyHashCode0(t5 == null ? 0 : t5)) >>> 0; } - }, - _color1$_hslToRgb$0() { - var _this = this, - scaledHue = _this.get$hue(0) / 360, - scaledSaturation = _this.get$saturation(0) / 100, - scaledLightness = _this.get$lightness(0) / 100, - m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation, - m1 = scaledLightness * 2 - m2; - _this._color1$_red = A.fuzzyRound0(A.SassColor__hueToRgb0(m1, m2, scaledHue + 0.3333333333333333) * 255); - _this._color1$_green = A.fuzzyRound0(A.SassColor__hueToRgb0(m1, m2, scaledHue) * 255); - _this._color1$_blue = A.fuzzyRound0(A.SassColor__hueToRgb0(m1, m2, scaledHue - 0.3333333333333333) * 255); } }; - A.SassColor_SassColor$hwb_toRgb0.prototype = { - call$1(hue) { - return A.fuzzyRound0((A.SassColor__hueToRgb0(0, 1, hue) * this.factor + this._box_0.scaledWhiteness) * 255); + A.SassColor$_forSpace_closure0.prototype = { + call$1(alpha) { + return A.fuzzyAssertRange0(alpha, 0, 1, "alpha"); }, - $signature: 161 + $signature: 15 }; A._ColorFormatEnum0.prototype = { toString$0(_) { - return this._color1$_name; + return "rgbFunction"; } }; A.SpanColorFormat0.prototype = {}; @@ -92143,7 +98361,7 @@ self.util = _cliPkgRequires.util; call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.NodeCompileResult), - $async$returnValue, $async$self = this, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, result, t1, t2, t3, t4; + $async$returnValue, $async$self = this, t5, t6, t7, t8, t9, t10, t11, t12, t13, result, t1, t2, t3, t4; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -92175,11 +98393,10 @@ self.util = _cliPkgRequires.util; t10 = t10 == null ? null : J.map$1$1$ax(t10, new A.compileAsync__closure(), type$.AsyncImporter); } t11 = A._parseFunctions0(t2 ? null : J.get$functions$x(t1), true); - t12 = A._parseDeprecations(t9, t2 ? null : J.get$fatalDeprecations$x(t1), true); - t13 = A._parseDeprecations(t9, t2 ? null : J.get$silenceDeprecations$x(t1), false); - t14 = A._parseDeprecations(t9, t2 ? null : J.get$futureDeprecations$x(t1), false); + t12 = A.parseDeprecations(t9, t2 ? null : J.get$fatalDeprecations$x(t1), true); + t13 = A.parseDeprecations(t9, t2 ? null : J.get$silenceDeprecations$x(t1), false); $async$goto = 3; - return A._asyncAwait(A.compileAsync0($async$self.path, t7, t12, t11, t14, A.AsyncImportCache$(t10, t3, t9, null), null, null, t9, null, t4, t13, t8, t5, null, true, t6), $async$call$0); + return A._asyncAwait(A.compileAsync0($async$self.path, t7, t12, t11, A.parseDeprecations(t9, t2 ? null : J.get$futureDeprecations$x(t1), false), A.AsyncImportCache$(t10, t3, null), null, null, t9, null, t4, t13, t8, t5, null, true, t6), $async$call$0); case 3: // returning from await. result = $async$result; @@ -92195,19 +98412,19 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 206 + $signature: 215 }; A.compileAsync__closure.prototype = { call$1(importer) { return A._parseAsyncImporter(importer); }, - $signature: 201 + $signature: 216 }; A.compileStringAsync_closure.prototype = { call$0() { var $async$goto = 0, $async$completer = A._makeAsyncAwaitCompleter(type$.NodeCompileResult), - $async$returnValue, $async$self = this, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, result, t1, t2, t3, t4, t5, t6; + $async$returnValue, $async$self = this, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, result, t1, t2, t3, t4, t5, t6; var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return A._asyncRethrow($async$result, $async$completer); @@ -92218,7 +98435,7 @@ self.util = _cliPkgRequires.util; t1 = $async$self.options; t2 = t1 == null; t3 = A.parseSyntax(t2 ? null : J.get$syntax$x(t1)); - t4 = t2 ? null : A.NullableExtension_andThen0(J.get$url$x(t1), A.utils1__jsToDartUrl$closure()); + t4 = t2 ? null : A.NullableExtension_andThen0(J.get$url$x(t1), A.utils3__jsToDartUrl$closure()); t5 = t2 ? null : J.get$loadPaths$x(t1); t6 = t2 ? null : J.get$quietDeps$x(t1); if (t6 == null) @@ -92244,11 +98461,10 @@ self.util = _cliPkgRequires.util; if (t13 == null) t13 = (t2 ? null : J.get$url$x(t1)) == null ? new A.NoOpImporter0() : null; t14 = A._parseFunctions0(t2 ? null : J.get$functions$x(t1), true); - t15 = A._parseDeprecations(t11, t2 ? null : J.get$fatalDeprecations$x(t1), true); - t16 = A._parseDeprecations(t11, t2 ? null : J.get$silenceDeprecations$x(t1), false); - t17 = A._parseDeprecations(t11, t2 ? null : J.get$futureDeprecations$x(t1), false); + t15 = A.parseDeprecations(t11, t2 ? null : J.get$fatalDeprecations$x(t1), true); + t16 = A.parseDeprecations(t11, t2 ? null : J.get$silenceDeprecations$x(t1), false); $async$goto = 3; - return A._asyncAwait(A.compileStringAsync0($async$self.text, t9, t15, t14, t17, A.AsyncImportCache$(t12, t5, t11, null), t13, null, null, t11, null, t6, t16, t10, t7, t3, t4, true, t8), $async$call$0); + return A._asyncAwait(A.compileStringAsync0($async$self.text, t9, t15, t14, A.parseDeprecations(t11, t2 ? null : J.get$futureDeprecations$x(t1), false), A.AsyncImportCache$(t12, t5, null), t13, null, null, t11, null, t6, t16, t10, t7, t3, t4, true, t8), $async$call$0); case 3: // returning from await. result = $async$result; @@ -92264,19 +98480,19 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$0, $async$completer); }, - $signature: 206 + $signature: 215 }; A.compileStringAsync__closure.prototype = { call$1(importer) { return A._parseAsyncImporter(importer); }, - $signature: 201 + $signature: 216 }; A.compileStringAsync__closure0.prototype = { call$1(importer) { return A._parseAsyncImporter(importer); }, - $signature: 396 + $signature: 423 }; A._wrapAsyncSassExceptions_closure.prototype = { call$1(error) { @@ -92287,7 +98503,7 @@ self.util = _cliPkgRequires.util; t1 = A.jsThrow(error == null ? type$.Object._as(error) : error); return t1; }, - $signature: 397 + $signature: 424 }; A._parseFunctions_closure0.prototype = { call$2(signature, callback) { @@ -92303,7 +98519,7 @@ self.util = _cliPkgRequires.util; t1.push(callable._readLocal$0()); } }, - $signature: 122 + $signature: 126 }; A._parseFunctions__closure2.prototype = { call$1($arguments) { @@ -92325,7 +98541,7 @@ self.util = _cliPkgRequires.util; call$0() { return type$.Function._as(this.callback).call$1(A.toJSArray(this.$arguments)); }, - $signature: 62 + $signature: 65 }; A._parseFunctions__closure3.prototype = { call$1($arguments) { @@ -92368,19 +98584,1018 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 89 + $signature: 107 }; A._parseFunctions___closure5.prototype = { call$0() { return type$.Function._as(this.callback).call$1(A.toJSArray(this.$arguments)); }, - $signature: 62 + $signature: 65 }; - A._parseDeprecations_closure.prototype = { + A.nodePackageImporterClass_closure.prototype = { call$0() { - return new A._SyncStarIterable(this.$call$body$_parseDeprecations_closure(), type$._SyncStarIterable_Deprecation); + return type$.JSClass._as(A.allowInteropCaptureThisNamed("sass.NodePackageImporter", new A.nodePackageImporterClass__closure())); }, - $call$body$_parseDeprecations_closure() { + $signature: 16 + }; + A.nodePackageImporterClass__closure.prototype = { + call$2($self, entrypointDirectory) { + var directory, t1, filename, t2, _null = null, + _0_3 = A.entrypointFilename(); + $label0$0: { + if (entrypointDirectory != null) { + directory = entrypointDirectory == null ? A._asString(entrypointDirectory) : entrypointDirectory; + t1 = directory; + break $label0$0; + } + if (_0_3 != null) { + filename = _0_3 == null ? A._asString(_0_3) : _0_3; + t1 = $.$get$context().dirname$1(filename); + break $label0$0; + } + t1 = A.throwExpression("The Node package importer cannot determine an entry point because `require.main.filename` is not defined. Please provide an `entryPointDirectory` to the `NodePackageImporter`."); + } + t2 = new A.NodePackageImporter0(); + if (A.isBrowser()) + A.throwExpression(string$.The_No); + t2._node_package$__NodePackageImporter__entryPointDirectory_F = A.absolute(t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); + return t2; + }, + call$1($self) { + return this.call$2($self, null); + }, + "call*": "call$2", + $requiredArgCount: 1, + $defaultValues() { + return [null]; + }, + $signature: 426 + }; + A._compileStylesheet_closure1.prototype = { + call$1(url) { + return url === "" ? A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text() : this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0); + }, + $signature: 6 + }; + A.CompileOptions.prototype = {}; + A.CompileStringOptions.prototype = {}; + A.NodeCompileResult.prototype = {}; + A.CompileResult0.prototype = {}; + A.Compiler.prototype = {}; + A.AsyncCompiler.prototype = { + addCompilation$1(compilation) { + this.compilations.add$1(0, A.promiseToFuture0(compilation, type$.dynamic).catchError$1(new A.AsyncCompiler_addCompilation_closure())); + } + }; + A.AsyncCompiler_addCompilation_closure.prototype = { + call$1(err) { + }, + $signature: 58 + }; + A.compilerClass_closure.prototype = { + call$0() { + var t1 = type$.JSClass, + jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.Compiler", new A.compilerClass__closure())); + A.LinkedHashMap_LinkedHashMap$_literal(["compile", new A.compilerClass__closure0(), "compileString", new A.compilerClass__closure1(), "dispose", new A.compilerClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass)); + A.JSClassExtension_injectSuperclass(t1._as(new A.Compiler().constructor), jsClass); + return jsClass; + }, + $signature: 16 + }; + A.compilerClass__closure.prototype = { + call$1($self) { + return A.LinkedHashSet_LinkedHashSet$_literal([A.jsThrow(new self.Error("Compiler can not be directly constructed. Please use `sass.initCompiler()` instead."))], type$.Never); + }, + $signature: 218 + }; + A.compilerClass__closure0.prototype = { + call$3($self, path, options) { + if ($self._disposed) + A.jsThrow(new self.Error("Compiler has already been disposed.")); + return A.compile0(path, options); + }, + call$2($self, path) { + return this.call$3($self, path, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 428 + }; + A.compilerClass__closure1.prototype = { + call$3($self, source, options) { + if ($self._disposed) + A.jsThrow(new self.Error("Compiler has already been disposed.")); + return A.compileString0(source, options); + }, + call$2($self, source) { + return this.call$3($self, source, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 429 + }; + A.compilerClass__closure2.prototype = { + call$1($self) { + $self._disposed = true; + }, + $signature: 430 + }; + A.asyncCompilerClass_closure.prototype = { + call$0() { + var t1 = type$.JSClass, + jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.AsyncCompiler", new A.asyncCompilerClass__closure())); + A.LinkedHashMap_LinkedHashMap$_literal(["compileAsync", new A.asyncCompilerClass__closure0(), "compileStringAsync", new A.asyncCompilerClass__closure1(), "dispose", new A.asyncCompilerClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass)); + A.JSClassExtension_injectSuperclass(t1._as(new A.AsyncCompiler(new A.FutureGroup(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_List_void), type$._AsyncCompleter_List_void), [], type$.FutureGroup_void)).constructor), jsClass); + return jsClass; + }, + $signature: 16 + }; + A.asyncCompilerClass__closure.prototype = { + call$1($self) { + return A.LinkedHashSet_LinkedHashSet$_literal([A.jsThrow(new self.Error("AsyncCompiler can not be directly constructed. Please use `sass.initAsyncCompiler()` instead."))], type$.Never); + }, + $signature: 218 + }; + A.asyncCompilerClass__closure0.prototype = { + call$3($self, path, options) { + var compilation; + if ($self._disposed) + A.jsThrow(new self.Error("Compiler has already been disposed.")); + compilation = A.compileAsync1(path, options); + $self.addCompilation$1(compilation); + return compilation; + }, + call$2($self, path) { + return this.call$3($self, path, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 431 + }; + A.asyncCompilerClass__closure1.prototype = { + call$3($self, source, options) { + var compilation; + if ($self._disposed) + A.jsThrow(new self.Error("Compiler has already been disposed.")); + compilation = A.compileStringAsync1(source, options); + $self.addCompilation$1(compilation); + return compilation; + }, + call$2($self, source) { + return this.call$3($self, source, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 432 + }; + A.asyncCompilerClass__closure2.prototype = { + call$1($self) { + $self._disposed = true; + return A.futureToPromise0(new A.asyncCompilerClass___closure($self).call$0()); + }, + $signature: 433 + }; + A.asyncCompilerClass___closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.Null), + $async$self = this, t1; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + t1 = $async$self.self.compilations; + t1.close$0(0); + $async$goto = 2; + return A._asyncAwait(t1._future_group$_completer.future, $async$call$0); + case 2: + // returning from await. + // implicit return + return A._asyncReturn(null, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 2 + }; + A.initAsyncCompiler_closure.prototype = { + call$0() { + var $async$goto = 0, + $async$completer = A._makeAsyncAwaitCompleter(type$.AsyncCompiler), + $async$returnValue; + var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { + if ($async$errorCode === 1) + return A._asyncRethrow($async$result, $async$completer); + while (true) + switch ($async$goto) { + case 0: + // Function start + $async$returnValue = new A.AsyncCompiler(new A.FutureGroup(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_List_void), type$._AsyncCompleter_List_void), [], type$.FutureGroup_void)); + // goto return + $async$goto = 1; + break; + case 1: + // return + return A._asyncReturn($async$returnValue, $async$completer); + } + }); + return A._asyncStartSync($async$call$0, $async$completer); + }, + $signature: 434 + }; + A.ComplexSassNumber0.prototype = { + get$numeratorUnits(_) { + return this._complex0$_numeratorUnits; + }, + get$denominatorUnits(_) { + return this._complex0$_denominatorUnits; + }, + get$hasUnits() { + return true; + }, + get$hasComplexUnits() { + return true; + }, + hasUnit$1(unit) { + return false; + }, + compatibleWithUnit$1(unit) { + return false; + }, + hasPossiblyCompatibleUnits$1(other) { + throw A.wrapException(A.UnimplementedError$(string$.Comple)); + }, + withValue$1(value) { + return new A.ComplexSassNumber0(this._complex0$_numeratorUnits, this._complex0$_denominatorUnits, value, null); + }, + withSlash$2(numerator, denominator) { + return new A.ComplexSassNumber0(this._complex0$_numeratorUnits, this._complex0$_denominatorUnits, this._number1$_value, new A._Record_2(numerator, denominator)); + } + }; + A.ComplexSelector0.prototype = { + get$specificity() { + var result, _this = this, + value = _this._complex$__ComplexSelector_specificity_FI; + if (value === $) { + result = B.JSArray_methods.fold$2(_this.components, 0, new A.ComplexSelector_specificity_closure0()); + _this._complex$__ComplexSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI(); + _this._complex$__ComplexSelector_specificity_FI = result; + value = result; + } + return value; + }, + get$singleCompound() { + var _0_0, t1, _0_4, t2, selector, _null = null; + if (this.leadingCombinators.length !== 0) + return _null; + _0_0 = this.components; + $label0$0: { + t1 = false; + if (_0_0.length === 1) { + _0_4 = _0_0[0]; + t2 = _0_4; + selector = t2.selector; + t1 = _0_4.combinators.length <= 0; + } else + selector = _null; + if (t1) { + t1 = selector; + break $label0$0; + } + t1 = _null; + break $label0$0; + } + return t1; + }, + accept$1$1(visitor) { + return visitor.visitComplexSelector$1(this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + isSuperselector$1(other) { + return this.leadingCombinators.length === 0 && other.leadingCombinators.length === 0 && A.complexIsSuperselector0(this.components, other.components); + }, + withAdditionalCombinators$1(combinators) { + var _0_0, _0_1, t1, initial, last, _this = this; + if (combinators.length === 0) + return _this; + _0_0 = _this.components; + $label0$0: { + _0_1 = _0_0.length; + if (_0_1 >= 1) { + t1 = _0_1 - 1; + initial = B.JSArray_methods.sublist$2(_0_0, 0, t1); + last = _0_0[t1]; + t1 = A.List_List$of(initial, true, type$.ComplexSelectorComponent_2); + t1.push(last.withAdditionalCombinators$1(combinators)); + t1 = A.ComplexSelector$0(_this.leadingCombinators, t1, _this.span, _this.lineBreak); + break $label0$0; + } + if (_0_1 <= 0) { + t1 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator_2); + B.JSArray_methods.addAll$1(t1, combinators); + t1 = A.ComplexSelector$0(t1, B.List_empty16, _this.span, _this.lineBreak); + break $label0$0; + } + throw A.wrapException(A.ReachabilityError$(string$.None_o)); + } + return t1; + }, + concatenate$3$forceLineBreak(child, span, forceLineBreak) { + var t2, _0_1, initial, last, _this = this, + t1 = child.leadingCombinators, + _0_0 = _this.components; + if (t1.length === 0) { + t1 = A.List_List$of(_0_0, true, type$.ComplexSelectorComponent_2); + B.JSArray_methods.addAll$1(t1, child.components); + t2 = _this.lineBreak || child.lineBreak || forceLineBreak; + return A.ComplexSelector$0(_this.leadingCombinators, t1, span, t2); + } else { + _0_1 = _0_0.length; + if (_0_1 >= 1) { + t2 = _0_1 - 1; + initial = B.JSArray_methods.sublist$2(_0_0, 0, t2); + last = _0_0[t2]; + t2 = A.List_List$of(initial, true, type$.ComplexSelectorComponent_2); + t2.push(last.withAdditionalCombinators$1(t1)); + B.JSArray_methods.addAll$1(t2, child.components); + t1 = _this.lineBreak || child.lineBreak || forceLineBreak; + return A.ComplexSelector$0(_this.leadingCombinators, t2, span, t1); + } else { + t2 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator_2); + B.JSArray_methods.addAll$1(t2, t1); + t1 = _this.lineBreak || child.lineBreak || forceLineBreak; + return A.ComplexSelector$0(t2, child.components, span, t1); + } + } + }, + concatenate$2(child, span) { + return this.concatenate$3$forceLineBreak(child, span, false); + }, + get$hashCode(_) { + return B.C_ListEquality0.hash$1(this.leadingCombinators) ^ B.C_ListEquality0.hash$1(this.components); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.ComplexSelector0 && B.C_ListEquality.equals$2(0, this.leadingCombinators, other.leadingCombinators) && B.C_ListEquality.equals$2(0, this.components, other.components); + } + }; + A.ComplexSelector_specificity_closure0.prototype = { + call$2(sum, component) { + return sum + component.selector.get$specificity(); + }, + $signature: 435 + }; + A.ComplexSelectorComponent0.prototype = { + withAdditionalCombinators$1(combinators) { + var t1, t2, _this = this; + if (combinators.length === 0) + t1 = _this; + else { + t1 = type$.CssValue_Combinator_2; + t2 = A.List_List$of(_this.combinators, true, t1); + B.JSArray_methods.addAll$1(t2, combinators); + t1 = new A.ComplexSelectorComponent0(_this.selector, A.List_List$unmodifiable(t2, t1), _this.span); + } + return t1; + }, + get$hashCode(_) { + return B.C_ListEquality0.hash$1(this.selector.components) ^ B.C_ListEquality0.hash$1(this.combinators); + }, + $eq(_, other) { + var t1; + if (other == null) + return false; + if (other instanceof A.ComplexSelectorComponent0) { + t1 = B.C_ListEquality.equals$2(0, this.selector.components, other.selector.components); + t1 = t1 && B.C_ListEquality.equals$2(0, this.combinators, other.combinators); + } else + t1 = false; + return t1; + }, + toString$0(_) { + var t1 = this.combinators; + return A.serializeSelector0(this.selector, true) + new A.MappedListIterable(t1, new A.ComplexSelectorComponent_toString_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, ""); + } + }; + A.ComplexSelectorComponent_toString_closure0.prototype = { + call$1(combinator) { + return " " + combinator.toString$0(0); + }, + $signature: 436 + }; + A.CompoundSelector0.prototype = { + get$specificity() { + var result, _this = this, + value = _this._compound$__CompoundSelector_specificity_FI; + if (value === $) { + result = B.JSArray_methods.fold$2(_this.components, 0, new A.CompoundSelector_specificity_closure0()); + _this._compound$__CompoundSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI(); + _this._compound$__CompoundSelector_specificity_FI = result; + value = result; + } + return value; + }, + get$hasComplicatedSuperselectorSemantics() { + var result, _this = this, + value = _this._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI; + if (value === $) { + result = B.JSArray_methods.any$1(_this.components, new A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure0()); + _this._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI !== $ && A.throwUnnamedLateFieldADI(); + _this._compound$__CompoundSelector_hasComplicatedSuperselectorSemantics_FI = result; + value = result; + } + return value; + }, + accept$1$1(visitor) { + return visitor.visitCompoundSelector$1(this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + get$hashCode(_) { + return B.C_ListEquality0.hash$1(this.components); + }, + $eq(_, other) { + if (other == null) + return false; + return other instanceof A.CompoundSelector0 && B.C_ListEquality.equals$2(0, this.components, other.components); + } + }; + A.CompoundSelector_specificity_closure0.prototype = { + call$2(sum, component) { + return sum + component.get$specificity(); + }, + $signature: 437 + }; + A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure0.prototype = { + call$1(component) { + return component.get$hasComplicatedSuperselectorSemantics(); + }, + $signature: 14 + }; + A.Configuration0.prototype = { + throughForward$1($forward) { + var _0_0, _1_0, _2_0, t1, hiddenVariables, + newValues = this._configuration0$_values; + if (newValues.get$isEmpty(newValues)) + return B.Configuration_Map_empty_null0; + _0_0 = $forward.prefix; + if (_0_0 != null) + newValues = new A.UnprefixedMapView0(newValues, _0_0, type$.UnprefixedMapView_ConfiguredValue_2); + _1_0 = $forward.shownVariables; + if (_1_0 != null) + newValues = new A.LimitedMapView0(newValues, _1_0._base.intersection$1(new A.MapKeySet(newValues, type$.MapKeySet_nullable_Object)), type$.LimitedMapView_String_ConfiguredValue_2); + else { + _2_0 = $forward.hiddenVariables; + if (_2_0 != null) { + t1 = _2_0._base.get$isNotEmpty(0); + hiddenVariables = _2_0; + } else { + hiddenVariables = null; + t1 = false; + } + if (t1) + newValues = A.LimitedMapView$blocklist0(newValues, hiddenVariables, type$.String, type$.ConfiguredValue_2); + } + return this._configuration0$_withValues$1(newValues); + }, + _configuration0$_withValues$1(values) { + var t1 = this._configuration0$__originalConfiguration; + return new A.Configuration0(values, t1 == null ? this : t1); + }, + toString$0(_) { + var t2, t3, + t1 = A._setArrayType([], type$.JSArray_String); + for (t2 = A.MapExtensions_get_pairs0(new A.UnmodifiableMapView(this._configuration0$_values, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2), t2 = t2.get$iterator(t2); t2.moveNext$0();) { + t3 = t2.get$current(t2); + t1.push("$" + t3._0 + ": " + t3._1.toString$0(0)); + } + return "(" + B.JSArray_methods.join$1(t1, ",") + ")"; + } + }; + A.ExplicitConfiguration0.prototype = { + _configuration0$_withValues$1(values) { + var t1 = this._configuration0$__originalConfiguration; + if (t1 == null) + t1 = this; + return new A.ExplicitConfiguration0(this.nodeWithSpan, values, t1); + } + }; + A.ConfiguredValue0.prototype = { + toString$0(_) { + return this.value.toString$0(0); + } + }; + A.ConfiguredVariable0.prototype = { + toString$0(_) { + var t1 = this.expression.toString$0(0), + t2 = this.isGuarded ? " !default" : ""; + return "$" + this.name + ": " + t1 + t2; + }, + $isAstNode0: 1, + $isSassNode: 1, + get$span(receiver) { + return this.span; + } + }; + A.ContentBlock0.prototype = { + accept$1$1(visitor) { + return visitor.visitContentBlock$1(0, this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + toString$0(_) { + var t2, + t1 = this.$arguments; + t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + t1.toString$0(0) + ")"; + t2 = this.children; + return t1 + (" {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}"); + } + }; + A.ContentRule0.prototype = { + accept$1$1(visitor) { + return visitor.visitContentRule$1(0, this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + toString$0(_) { + var t1 = this.$arguments; + return t1.get$isEmpty(0) ? "@content;" : "@content(" + t1.toString$0(0) + ");"; + }, + get$span(receiver) { + return this.span; + } + }; + A._disallowedFunctionNames_closure0.prototype = { + call$1($function) { + return $function.name; + }, + $signature: 438 + }; + A.CssParser0.prototype = { + get$plainCss() { + return true; + }, + silentComment$0() { + var t1, t2, _this = this; + if (_this._stylesheet0$_inExpression) + return false; + t1 = _this.scanner; + t2 = t1._string_scanner$_position; + _this.super$Parser$silentComment0(); + _this.error$2(0, string$.Silent, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); + }, + atRule$2$root(child, root) { + var $name, _0_0, _this = this, + t1 = _this.scanner, + start = new A._SpanScannerState(t1, t1._string_scanner$_position); + t1.expectChar$1(64); + $name = _this.interpolatedIdentifier$0(); + _this.whitespace$0(); + _0_0 = $name.get$asPlain(); + $label0$0: { + if ("at-root" === _0_0 || "content" === _0_0 || "debug" === _0_0 || "each" === _0_0 || "error" === _0_0 || "extend" === _0_0 || "for" === _0_0 || "function" === _0_0 || "if" === _0_0 || "include" === _0_0 || "mixin" === _0_0 || "return" === _0_0 || "warn" === _0_0 || "while" === _0_0) + _this._css$_forbiddenAtRule$1(start); + if ("import" === _0_0) { + t1 = _this._css$_cssImportRule$1(start); + break $label0$0; + } + if ("media" === _0_0) { + t1 = _this.mediaRule$1(start); + break $label0$0; + } + if ("-moz-document" === _0_0) { + t1 = _this.mozDocumentRule$2(start, $name); + break $label0$0; + } + if ("supports" === _0_0) { + t1 = _this.supportsRule$1(start); + break $label0$0; + } + t1 = _this.unknownAtRule$2(start, $name); + break $label0$0; + } + return t1; + }, + _css$_forbiddenAtRule$1(start) { + this.almostAnyValue$0(); + this.error$2(0, "This at-rule isn't allowed in plain CSS.", this.scanner.spanFrom$1(start)); + }, + _css$_cssImportRule$1(start) { + var _0_0, t3, string, $name, _0_3, _0_4, t4, _0_8, t5, modifiers, _this = this, _null = null, + t1 = _this.scanner, + t2 = t1._string_scanner$_position, + _1_0 = t1.peekChar$0(); + $label1$1: { + if (117 === _1_0 || 85 === _1_0) { + _0_0 = _this.dynamicUrl$0(); + $label0$0: { + if (_0_0 instanceof A.StringExpression0) { + t3 = _0_0.text; + break $label0$0; + } + string = _null; + t3 = false; + if (_0_0 instanceof A.InterpolatedFunctionExpression0) { + $name = _0_0.name; + _0_3 = _0_0.$arguments; + _0_4 = _0_3.positional; + t4 = _0_4; + if (t4.length === 1) { + _0_8 = _0_4[0]; + t4 = _0_8; + if (t4 instanceof A.StringExpression0) { + type$.StringExpression_2._as(_0_8); + t4 = _0_3.named; + if (t4.get$isEmpty(t4)) + if (_0_3.rest == null) + t3 = _0_3.keywordRest == null; + string = _0_8; + } + } + } else + $name = _null; + if (t3) { + t3 = new A.StringBuffer(""); + t4 = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); + t4.addInterpolation$1($name); + t5 = A.Primitives_stringFromCharCode(40); + t3._contents += t5; + t4.addInterpolation$1(string.asInterpolation$0()); + t5 = A.Primitives_stringFromCharCode(41); + t3._contents += t5; + t4 = t4.interpolation$1(_0_0.span); + t3 = t4; + break $label0$0; + } + t3 = _this.error$2(0, "Unsupported plain CSS import.", _0_0.get$span(_0_0)); + } + break $label1$1; + } + t3 = _this.interpolatedString$0().asInterpolation$1$static(true); + break $label1$1; + } + _this.whitespace$0(); + modifiers = _this.tryImportModifiers$0(); + _this.expectStatementSeparator$1("@import rule"); + t2 = A._setArrayType([new A.StaticImport0(t3, modifiers, t1.spanFrom$1(new A._SpanScannerState(t1, t2)))], type$.JSArray_Import_2); + t1 = t1.spanFrom$1(start); + return new A.ImportRule0(A.List_List$unmodifiable(t2, type$.Import_2), t1); + }, + parentheses$0() { + var expression, + t1 = this.scanner, + t2 = t1._string_scanner$_position; + t1.expectChar$1(40); + this.whitespace$0(); + expression = this.expressionUntilComma$0(); + t1.expectChar$1(41); + return new A.ParenthesizedExpression0(expression, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); + }, + identifierLike$0() { + var t2, allowEmptySecondArg, $arguments, t3, t4, _this = this, + t1 = _this.scanner, + start = new A._SpanScannerState(t1, t1._string_scanner$_position), + identifier = _this.interpolatedIdentifier$0(), + plain = identifier.get$asPlain(), + lower = plain.toLowerCase(), + _0_0 = _this.trySpecialFunction$2(lower, start); + if (_0_0 != null) + return _0_0; + t2 = t1._string_scanner$_position; + if (t1.scanChar$1(46)) + return _this.namespacedExpression$2(plain, start); + if (!t1.scanChar$1(40)) + return new A.StringExpression0(identifier, false); + allowEmptySecondArg = lower === "var"; + $arguments = A._setArrayType([], type$.JSArray_Expression_2); + if (!t1.scanChar$1(41)) { + do { + _this.whitespace$0(); + if (allowEmptySecondArg && $arguments.length === 1 && t1.peekChar$0() === 41) { + t3 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); + t4 = t3.offset; + t4 = A._FileSpan$(t3.file, t4, t4); + $arguments.push(new A.StringExpression0(new A.Interpolation0(A.List_List$unmodifiable([""], type$.Object), B.List_null, t4), false)); + break; + } + $arguments.push(_this.expressionUntilComma$1$singleEquals(true)); + _this.whitespace$0(); + } while (t1.scanChar$1(44)); + t1.expectChar$1(41); + } + if ($.$get$_disallowedFunctionNames0().contains$1(0, plain)) + _this.error$2(0, string$.This_f, t1.spanFrom$1(start)); + t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2)); + t3 = type$.Expression_2; + t4 = A.List_List$unmodifiable($arguments, t3); + t3 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t3); + t1 = t1.spanFrom$1(start); + return new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(plain, "_", "-"), plain, new A.ArgumentInvocation0(t4, t3, null, null, t2), t1); + }, + namespacedExpression$2(namespace, start) { + var expression = this.super$StylesheetParser$namespacedExpression0(namespace, start); + this.error$2(0, string$.Modulen, expression.get$span(expression)); + } + }; + A.DebugRule0.prototype = { + accept$1$1(visitor) { + return visitor.visitDebugRule$1(0, this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + toString$0(_) { + return "@debug " + this.expression.toString$0(0) + ";"; + }, + get$span(receiver) { + return this.span; + } + }; + A.ModifiableCssDeclaration0.prototype = { + accept$1$1(visitor) { + return visitor.visitCssDeclaration$1(this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + toString$0(_) { + return this.name.toString$0(0) + ": " + this.value.toString$0(0) + ";"; + }, + get$span(receiver) { + return this.span; + } + }; + A.Declaration0.prototype = { + accept$1$1(visitor) { + return visitor.visitDeclaration$1(0, this); + }, + accept$1(visitor) { + return this.accept$1$1(visitor, type$.dynamic); + }, + toString$0(_) { + var t3, _0_0, + buffer = new A.StringBuffer(""), + t1 = this.name, + t2 = "" + t1.toString$0(0); + buffer._contents = t2; + t2 = buffer._contents = t2 + A.Primitives_stringFromCharCode(58); + t3 = this.value; + if (t3 != null) { + t1 = !B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--") ? buffer._contents = t2 + A.Primitives_stringFromCharCode(32) : t2; + buffer._contents = t1 + t3.toString$0(0); + } + _0_0 = this.children; + if (_0_0 != null) + return buffer.toString$0(0) + " {" + B.JSArray_methods.join$1(_0_0, " ") + "}"; + else + return buffer.toString$0(0) + ";"; + }, + get$span(receiver) { + return this.span; + } + }; + A.SupportsDeclaration0.prototype = { + get$isCustomProperty() { + var t1, + _0_0 = this.name; + $label0$0: { + if (_0_0 instanceof A.StringExpression0 && !_0_0.hasQuotes) { + t1 = B.JSString_methods.startsWith$1(_0_0.text.get$initialPlain(), "--"); + break $label0$0; + } + t1 = false; + break $label0$0; + } + return t1; + }, + toInterpolation$0() { + var visitor, _1_0, _null = null, + t1 = new A.StringBuffer(""), + t2 = type$.JSArray_Object, + t3 = type$.JSArray_nullable_FileSpan, + buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], t2), A._setArrayType([], t3)), + t4 = this.span, + t5 = this.name, + t6 = A.SpanExtensions_before(t4, t5.get$span(t5)); + t6 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t6.file._decodedChars, t6._file$_start, t6._end), 0, _null); + t1._contents += t6; + if (t5 instanceof A.StringExpression0 && !t5.hasQuotes) + buffer.addInterpolation$1(t5.text); + else + buffer.add$2(0, t5, t5.get$span(t5)); + t6 = this.value; + t5 = A.SpanExtensions_between(t5.get$span(t5), t6.get$span(t6)); + t5 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t5.file._decodedChars, t5._file$_start, t5._end), 0, _null); + t1._contents += t5; + visitor = new A.SourceInterpolationVisitor(new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], t2), A._setArrayType([], t3))); + t6.accept$1(visitor); + t3 = visitor.buffer; + _1_0 = t3 == null ? _null : t3.interpolation$1(t6.get$span(t6)); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); + else + buffer.add$2(0, t6, t6.get$span(t6)); + t2 = A.SpanExtensions_after(t4, t6.get$span(t6)); + t2 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, _null); + t1._contents += t2; + return buffer.interpolation$1(t4); + }, + withSpan$1(span) { + return new A.SupportsDeclaration0(this.name, this.value, span); + }, + toString$0(_) { + return "(" + this.name.toString$0(0) + ": " + this.value.toString$0(0) + ")"; + }, + $isAstNode0: 1, + $isSassNode: 1, + $isSupportsCondition: 1, + get$span(receiver) { + return this.span; + } + }; + A.Deprecation0.prototype = { + _enumToString$0() { + return "Deprecation." + this._name; + }, + get$deprecatedIn(_) { + return A.NullableExtension_andThen0(this._deprecation$_deprecatedIn, A.version_Version___parse_tearOff$closure()); + }, + get$obsoleteIn(_) { + return null; + }, + toString$0(_) { + return this.id; + } + }; + A.Deprecation_fromId_closure0.prototype = { + call$1(deprecation) { + return deprecation.id === this.id; + }, + $signature: 439 + }; + A.DeprecationProcessingLogger0.prototype = { + validate$0() { + var t1, t2, t3, t4, t5, _this = this, _null = null; + for (t1 = _this.fatalDeprecations, t1 = A._LinkedHashSetIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1), t2 = _this.silenceDeprecations, t3 = t1.$ti._precomputed1; t1.moveNext$0();) { + t4 = t1._collection$_current; + if (t4 == null) + t4 = t3._as(t4); + t5 = t2.contains$1(0, t4); + if (t5) { + t4 = t4.toString$0(0); + _this.internalWarn$4$deprecation$span$trace("Ignoring setting to silence " + t4 + string$.x20deprex2c, _null, _null, _null); + continue; + } + } + for (t1 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1, t3 = _this.futureDeprecations; t1.moveNext$0();) { + t4 = t1._collection$_current; + if (B.Deprecation_JeE === (t4 == null ? t2._as(t4) : t4)) { + _this.internalWarn$4$deprecation$span$trace(string$.User_a, _null, _null, _null); + continue; + } + } + for (t1 = A._LinkedHashSetIterator$(t3, t3._modifications, A._instanceType(t3)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { + t3 = t1._collection$_current; + t3 = (t3 == null ? t2._as(t3) : t3).toString$0(0); + _this.internalWarn$4$deprecation$span$trace(t3 + string$.x20is_noaf, _null, _null, _null); + } + }, + internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) { + if (deprecation != null) + this._deprecation_processing$_handleDeprecation$4$span$trace(deprecation, message, span, trace); + else + this._deprecation_processing$_inner.warn$3$span$trace(0, message, span, trace); + }, + _deprecation_processing$_handleDeprecation$4$span$trace(deprecation, message, span, trace) { + var _0_3_isSet, _0_3, t1, span0, t2, count, _1_0, _this = this, _null = null; + if (_this.fatalDeprecations.contains$1(0, deprecation)) { + message += string$.x0a_This + deprecation.toString$0(0) + string$.x20deprex20; + $label0$0: { + _0_3_isSet = span != null; + _0_3 = _null; + t1 = false; + if (_0_3_isSet) { + span0 = span == null ? type$.FileSpan._as(span) : span; + t1 = trace != null; + _0_3 = trace; + } else + span0 = _null; + if (t1) { + if (_0_3_isSet) + trace = _0_3; + t1 = A.SassRuntimeException$0(message, span0, trace == null ? type$.Trace._as(trace) : trace, _null); + break $label0$0; + } + t1 = false; + if (span != null) + t1 = (_0_3_isSet ? _0_3 : trace) == null; + else + span = _null; + if (t1) { + t1 = A.SassException$0(message, span, _null); + break $label0$0; + } + t1 = A.SassScriptException$0(message, _null); + break $label0$0; + } + throw A.wrapException(t1); + } + if (_this.silenceDeprecations.contains$1(0, deprecation)) + return; + if (_this.limitRepetition) { + t1 = _this._deprecation_processing$_warningCounts; + t2 = t1.$index(0, deprecation); + count = (t2 == null ? 0 : t2) + 1; + t1.$indexSet(0, deprecation, count); + if (count > 5) + return; + } + _1_0 = _this._deprecation_processing$_inner; + if (_1_0 instanceof A.LoggerWithDeprecationType) + _1_0.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace); + else + _1_0.warn$4$deprecation$span$trace(0, message, true, span, trace); + }, + debug$2(_, message, span) { + return this._deprecation_processing$_inner.debug$2(0, message, span); + }, + summarize$1$js(js) { + var t1 = this._deprecation_processing$_warningCounts.get$values(0), + t2 = A._instanceType(t1), + total = A.IterableIntegerExtension_get_sum(new A.MappedIterable(new A.WhereIterable(t1, new A.DeprecationProcessingLogger_summarize_closure1(), t2._eval$1("WhereIterable")), new A.DeprecationProcessingLogger_summarize_closure2(), t2._eval$1("MappedIterable"))); + if (total > 0) { + t1 = js ? "" : string$.x0aRun_i; + this._deprecation_processing$_inner.warn$1(0, "" + total + string$.x20repet + t1); + } + } + }; + A.DeprecationProcessingLogger_summarize_closure1.prototype = { + call$1(count) { + return count > 5; + }, + $signature: 47 + }; + A.DeprecationProcessingLogger_summarize_closure2.prototype = { + call$1(count) { + return count - 5; + }, + $signature: 168 + }; + A.Deprecation1.prototype = {}; + A.deprecations_closure.prototype = { + call$0() { + var _0_8_isSet, _0_8, t1, + _0_0 = this.deprecation; + $label0$0: { + _0_8_isSet = A.NullableExtension_andThen0(_0_0._deprecation$_deprecatedIn, A.version_Version___parse_tearOff$closure()) == null; + if (_0_8_isSet) { + _0_8 = _0_0.get$obsoleteIn(0) == null; + t1 = _0_8; + } else { + _0_8 = null; + t1 = false; + } + if (t1) { + t1 = "user"; + break $label0$0; + } + if (_0_8_isSet ? _0_8 : _0_0.get$obsoleteIn(0) == null) { + t1 = "active"; + break $label0$0; + } + t1 = "obsolete"; + break $label0$0; + } + return t1; + }, + $signature: 31 + }; + A.parseDeprecations_closure.prototype = { + call$0() { + return new A._SyncStarIterable(this.$call$body$parseDeprecations_closure(), type$._SyncStarIterable_Deprecation); + }, + $call$body$parseDeprecations_closure() { var $async$self = this; return function() { var $async$goto = 0, $async$handler = 1, $async$currentError, t1, t2, t3, t4, item, t5, id, deprecation, version; @@ -92489,946 +99704,7 @@ self.util = _cliPkgRequires.util; }; }; }, - $signature: 399 - }; - A.nodePackageImporterClass_closure.prototype = { - call$0() { - return type$.JSClass._as(A.allowInteropCaptureThisNamed("sass.NodePackageImporter", new A.nodePackageImporterClass__closure())); - }, - $signature: 13 - }; - A.nodePackageImporterClass__closure.prototype = { - call$2($self, entrypointDirectory) { - var directory, t1, filename, t2, _null = null, - _0_3 = A.entrypointFilename(); - $label0$0: { - if (entrypointDirectory != null) { - directory = entrypointDirectory == null ? A._asString(entrypointDirectory) : entrypointDirectory; - t1 = directory; - break $label0$0; - } - if (_0_3 != null) { - filename = _0_3 == null ? A._asString(_0_3) : _0_3; - t1 = $.$get$context().dirname$1(filename); - break $label0$0; - } - t1 = A.throwExpression("The Node package importer cannot determine an entry point because `require.main.filename` is not defined. Please provide an `entryPointDirectory` to the `NodePackageImporter`."); - } - t2 = new A.NodePackageImporter0(); - if (A.isBrowser()) - A.throwExpression(string$.The_No); - t2._node_package$__NodePackageImporter__entryPointDirectory_F = A.absolute(t1, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null); - return t2; - }, - call$1($self) { - return this.call$2($self, null); - }, - "call*": "call$2", - $requiredArgCount: 1, - $defaultValues() { - return [null]; - }, - $signature: 400 - }; - A._compileStylesheet_closure1.prototype = { - call$1(url) { - return url === "" ? A.Uri_Uri$dataFromString(A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(this.stylesheet.span.file._decodedChars, 0, null), 0, null), B.C_Utf8Codec, null).get$_text() : this.importCache.sourceMapUrl$1(0, A.Uri_parse(url)).toString$0(0); - }, - $signature: 5 - }; - A.CompileOptions.prototype = {}; - A.CompileStringOptions.prototype = {}; - A.NodeCompileResult.prototype = {}; - A.CompileResult0.prototype = {}; - A.Compiler.prototype = {}; - A.AsyncCompiler.prototype = { - addCompilation$1(compilation) { - this.compilations.add$1(0, A.promiseToFuture0(compilation, type$.dynamic).catchError$1(new A.AsyncCompiler_addCompilation_closure())); - } - }; - A.AsyncCompiler_addCompilation_closure.prototype = { - call$1(err) { - }, - $signature: 54 - }; - A.compilerClass_closure.prototype = { - call$0() { - var t1 = type$.JSClass, - jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.Compiler", new A.compilerClass__closure())); - A.LinkedHashMap_LinkedHashMap$_literal(["compile", new A.compilerClass__closure0(), "compileString", new A.compilerClass__closure1(), "dispose", new A.compilerClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass)); - A.JSClassExtension_injectSuperclass(t1._as(new A.Compiler().constructor), jsClass); - return jsClass; - }, - $signature: 13 - }; - A.compilerClass__closure.prototype = { - call$1($self) { - return A.LinkedHashSet_LinkedHashSet$_literal([A.jsThrow(new self.Error("Compiler can not be directly constructed. Please use `sass.initCompiler()` instead."))], type$.Never); - }, - $signature: 200 - }; - A.compilerClass__closure0.prototype = { - call$3($self, path, options) { - if ($self._disposed) - A.jsThrow(new self.Error("Compiler has already been disposed.")); - return A.compile0(path, options); - }, - call$2($self, path) { - return this.call$3($self, path, null); - }, - "call*": "call$3", - $requiredArgCount: 2, - $defaultValues() { - return [null]; - }, - $signature: 402 - }; - A.compilerClass__closure1.prototype = { - call$3($self, source, options) { - if ($self._disposed) - A.jsThrow(new self.Error("Compiler has already been disposed.")); - return A.compileString0(source, options); - }, - call$2($self, source) { - return this.call$3($self, source, null); - }, - "call*": "call$3", - $requiredArgCount: 2, - $defaultValues() { - return [null]; - }, - $signature: 403 - }; - A.compilerClass__closure2.prototype = { - call$1($self) { - $self._disposed = true; - }, - $signature: 404 - }; - A.asyncCompilerClass_closure.prototype = { - call$0() { - var t1 = type$.JSClass, - jsClass = t1._as(A.allowInteropCaptureThisNamed("sass.AsyncCompiler", new A.asyncCompilerClass__closure())); - A.LinkedHashMap_LinkedHashMap$_literal(["compileAsync", new A.asyncCompilerClass__closure0(), "compileStringAsync", new A.asyncCompilerClass__closure1(), "dispose", new A.asyncCompilerClass__closure2()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass)); - A.JSClassExtension_injectSuperclass(t1._as(new A.AsyncCompiler(new A.FutureGroup(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_List_void), type$._AsyncCompleter_List_void), [], type$.FutureGroup_void)).constructor), jsClass); - return jsClass; - }, - $signature: 13 - }; - A.asyncCompilerClass__closure.prototype = { - call$1($self) { - return A.LinkedHashSet_LinkedHashSet$_literal([A.jsThrow(new self.Error("AsyncCompiler can not be directly constructed. Please use `sass.initAsyncCompiler()` instead."))], type$.Never); - }, - $signature: 200 - }; - A.asyncCompilerClass__closure0.prototype = { - call$3($self, path, options) { - var compilation; - if ($self._disposed) - A.jsThrow(new self.Error("Compiler has already been disposed.")); - compilation = A.compileAsync1(path, options); - $self.addCompilation$1(compilation); - return compilation; - }, - call$2($self, path) { - return this.call$3($self, path, null); - }, - "call*": "call$3", - $requiredArgCount: 2, - $defaultValues() { - return [null]; - }, - $signature: 405 - }; - A.asyncCompilerClass__closure1.prototype = { - call$3($self, source, options) { - var compilation; - if ($self._disposed) - A.jsThrow(new self.Error("Compiler has already been disposed.")); - compilation = A.compileStringAsync1(source, options); - $self.addCompilation$1(compilation); - return compilation; - }, - call$2($self, source) { - return this.call$3($self, source, null); - }, - "call*": "call$3", - $requiredArgCount: 2, - $defaultValues() { - return [null]; - }, - $signature: 406 - }; - A.asyncCompilerClass__closure2.prototype = { - call$1($self) { - $self._disposed = true; - return A.futureToPromise0(new A.asyncCompilerClass___closure($self).call$0()); - }, - $signature: 407 - }; - A.asyncCompilerClass___closure.prototype = { - call$0() { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.Null), - $async$self = this, t1; - var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return A._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - t1 = $async$self.self.compilations; - t1.close$0(0); - $async$goto = 2; - return A._asyncAwait(t1._future_group$_completer.future, $async$call$0); - case 2: - // returning from await. - // implicit return - return A._asyncReturn(null, $async$completer); - } - }); - return A._asyncStartSync($async$call$0, $async$completer); - }, - $signature: 2 - }; - A.initAsyncCompiler_closure.prototype = { - call$0() { - var $async$goto = 0, - $async$completer = A._makeAsyncAwaitCompleter(type$.AsyncCompiler), - $async$returnValue; - var $async$call$0 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { - if ($async$errorCode === 1) - return A._asyncRethrow($async$result, $async$completer); - while (true) - switch ($async$goto) { - case 0: - // Function start - $async$returnValue = new A.AsyncCompiler(new A.FutureGroup(new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_List_void), type$._AsyncCompleter_List_void), [], type$.FutureGroup_void)); - // goto return - $async$goto = 1; - break; - case 1: - // return - return A._asyncReturn($async$returnValue, $async$completer); - } - }); - return A._asyncStartSync($async$call$0, $async$completer); - }, - $signature: 408 - }; - A.ComplexSassNumber0.prototype = { - get$numeratorUnits(_) { - return this._complex0$_numeratorUnits; - }, - get$denominatorUnits(_) { - return this._complex0$_denominatorUnits; - }, - get$hasUnits() { - return true; - }, - get$hasComplexUnits() { - return true; - }, - hasUnit$1(unit) { - return false; - }, - compatibleWithUnit$1(unit) { - return false; - }, - hasPossiblyCompatibleUnits$1(other) { - throw A.wrapException(A.UnimplementedError$(string$.Comple)); - }, - withValue$1(value) { - return new A.ComplexSassNumber0(this._complex0$_numeratorUnits, this._complex0$_denominatorUnits, value, null); - }, - withSlash$2(numerator, denominator) { - return new A.ComplexSassNumber0(this._complex0$_numeratorUnits, this._complex0$_denominatorUnits, this._number1$_value, new A._Record_2(numerator, denominator)); - } - }; - A.ComplexSelector0.prototype = { - get$specificity() { - var result, _this = this, - value = _this._complex$__ComplexSelector_specificity_FI; - if (value === $) { - result = B.JSArray_methods.fold$2(_this.components, 0, new A.ComplexSelector_specificity_closure0()); - _this._complex$__ComplexSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI(); - _this._complex$__ComplexSelector_specificity_FI = result; - value = result; - } - return value; - }, - get$singleCompound() { - var _0_0, _0_4, t1, selector, _null = null; - if (this.leadingCombinators.length !== 0) - return _null; - _0_0 = this.components; - $label0$0: { - if (_0_0.length === 1) { - _0_4 = _0_0[0]; - t1 = _0_4; - selector = t1.selector; - t1 = _0_4.combinators.length <= 0; - } else { - selector = _null; - t1 = false; - } - if (t1) { - t1 = selector; - break $label0$0; - } - t1 = _null; - break $label0$0; - } - return t1; - }, - accept$1$1(visitor) { - return visitor.visitComplexSelector$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - isSuperselector$1(other) { - return this.leadingCombinators.length === 0 && other.leadingCombinators.length === 0 && A.complexIsSuperselector0(this.components, other.components); - }, - withAdditionalCombinators$1(combinators) { - var _0_0, _0_1, t1, initial, last, _this = this; - if (combinators.length === 0) - return _this; - _0_0 = _this.components; - $label0$0: { - _0_1 = _0_0.length; - if (_0_1 >= 1) { - t1 = _0_1 - 1; - initial = B.JSArray_methods.sublist$2(_0_0, 0, t1); - last = _0_0[t1]; - t1 = A.List_List$of(initial, true, type$.ComplexSelectorComponent_2); - t1.push(last.withAdditionalCombinators$1(combinators)); - t1 = A.ComplexSelector$0(_this.leadingCombinators, t1, _this.span, _this.lineBreak); - break $label0$0; - } - if (_0_1 <= 0) { - t1 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator_2); - B.JSArray_methods.addAll$1(t1, combinators); - t1 = A.ComplexSelector$0(t1, B.List_empty13, _this.span, _this.lineBreak); - break $label0$0; - } - throw A.wrapException(A.ReachabilityError$(string$.None_o)); - } - return t1; - }, - concatenate$3$forceLineBreak(child, span, forceLineBreak) { - var t2, _0_1, initial, last, _this = this, - t1 = child.leadingCombinators, - _0_0 = _this.components; - if (t1.length === 0) { - t1 = A.List_List$of(_0_0, true, type$.ComplexSelectorComponent_2); - B.JSArray_methods.addAll$1(t1, child.components); - t2 = _this.lineBreak || child.lineBreak || forceLineBreak; - return A.ComplexSelector$0(_this.leadingCombinators, t1, span, t2); - } else { - _0_1 = _0_0.length; - if (_0_1 >= 1) { - t2 = _0_1 - 1; - initial = B.JSArray_methods.sublist$2(_0_0, 0, t2); - last = _0_0[t2]; - t2 = A.List_List$of(initial, true, type$.ComplexSelectorComponent_2); - t2.push(last.withAdditionalCombinators$1(t1)); - B.JSArray_methods.addAll$1(t2, child.components); - t1 = _this.lineBreak || child.lineBreak || forceLineBreak; - return A.ComplexSelector$0(_this.leadingCombinators, t2, span, t1); - } else { - t2 = A.List_List$of(_this.leadingCombinators, true, type$.CssValue_Combinator_2); - B.JSArray_methods.addAll$1(t2, t1); - t1 = _this.lineBreak || child.lineBreak || forceLineBreak; - return A.ComplexSelector$0(t2, child.components, span, t1); - } - } - }, - concatenate$2(child, span) { - return this.concatenate$3$forceLineBreak(child, span, false); - }, - get$hashCode(_) { - return B.C_ListEquality0.hash$1(this.leadingCombinators) ^ B.C_ListEquality0.hash$1(this.components); - }, - $eq(_, other) { - if (other == null) - return false; - return other instanceof A.ComplexSelector0 && B.C_ListEquality.equals$2(0, this.leadingCombinators, other.leadingCombinators) && B.C_ListEquality.equals$2(0, this.components, other.components); - } - }; - A.ComplexSelector_specificity_closure0.prototype = { - call$2(sum, component) { - return sum + component.selector.get$specificity(); - }, - $signature: 409 - }; - A.ComplexSelectorComponent0.prototype = { - withAdditionalCombinators$1(combinators) { - var t1, t2, _this = this; - if (combinators.length === 0) - t1 = _this; - else { - t1 = type$.CssValue_Combinator_2; - t2 = A.List_List$of(_this.combinators, true, t1); - B.JSArray_methods.addAll$1(t2, combinators); - t1 = new A.ComplexSelectorComponent0(_this.selector, A.List_List$unmodifiable(t2, t1), _this.span); - } - return t1; - }, - get$hashCode(_) { - return B.C_ListEquality0.hash$1(this.selector.components) ^ B.C_ListEquality0.hash$1(this.combinators); - }, - $eq(_, other) { - var t1; - if (other == null) - return false; - if (other instanceof A.ComplexSelectorComponent0) { - t1 = B.C_ListEquality.equals$2(0, this.selector.components, other.selector.components); - t1 = t1 && B.C_ListEquality.equals$2(0, this.combinators, other.combinators); - } else - t1 = false; - return t1; - }, - toString$0(_) { - var t1 = this.combinators; - return A.serializeSelector0(this.selector, true) + new A.MappedListIterable(t1, new A.ComplexSelectorComponent_toString_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$1(0, ""); - } - }; - A.ComplexSelectorComponent_toString_closure0.prototype = { - call$1(combinator) { - return " " + combinator.toString$0(0); - }, - $signature: 410 - }; - A.CompoundSelector0.prototype = { - get$specificity() { - var result, _this = this, - value = _this._compound$__CompoundSelector_specificity_FI; - if (value === $) { - result = B.JSArray_methods.fold$2(_this.components, 0, new A.CompoundSelector_specificity_closure0()); - _this._compound$__CompoundSelector_specificity_FI !== $ && A.throwUnnamedLateFieldADI(); - _this._compound$__CompoundSelector_specificity_FI = result; - value = result; - } - return value; - }, - accept$1$1(visitor) { - return visitor.visitCompoundSelector$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - get$hashCode(_) { - return B.C_ListEquality0.hash$1(this.components); - }, - $eq(_, other) { - if (other == null) - return false; - return other instanceof A.CompoundSelector0 && B.C_ListEquality.equals$2(0, this.components, other.components); - } - }; - A.CompoundSelector_specificity_closure0.prototype = { - call$2(sum, component) { - return sum + component.get$specificity(); - }, - $signature: 411 - }; - A.Configuration0.prototype = { - throughForward$1($forward) { - var _0_0, _1_0, _2_0, t1, hiddenVariables, - newValues = this._configuration0$_values; - if (newValues.get$isEmpty(newValues)) - return B.Configuration_Map_empty_null0; - _0_0 = $forward.prefix; - if (_0_0 != null) - newValues = new A.UnprefixedMapView0(newValues, _0_0, type$.UnprefixedMapView_ConfiguredValue_2); - _1_0 = $forward.shownVariables; - if (_1_0 != null) - newValues = new A.LimitedMapView0(newValues, _1_0._base.intersection$1(new A.MapKeySet(newValues, type$.MapKeySet_nullable_Object)), type$.LimitedMapView_String_ConfiguredValue_2); - else { - _2_0 = $forward.hiddenVariables; - if (_2_0 != null) { - t1 = _2_0._base.get$isNotEmpty(0); - hiddenVariables = _2_0; - } else { - hiddenVariables = null; - t1 = false; - } - if (t1) - newValues = A.LimitedMapView$blocklist0(newValues, hiddenVariables, type$.String, type$.ConfiguredValue_2); - } - return this._configuration0$_withValues$1(newValues); - }, - _configuration0$_withValues$1(values) { - var t1 = this._configuration0$__originalConfiguration; - return new A.Configuration0(values, t1 == null ? this : t1); - }, - toString$0(_) { - var t2, t3, - t1 = A._setArrayType([], type$.JSArray_String); - for (t2 = A.MapExtensions_get_pairs0(new A.UnmodifiableMapView(this._configuration0$_values, type$.UnmodifiableMapView_String_ConfiguredValue_2), type$.String, type$.ConfiguredValue_2), t2 = t2.get$iterator(t2); t2.moveNext$0();) { - t3 = t2.get$current(t2); - t1.push("$" + t3._0 + ": " + t3._1.toString$0(0)); - } - return "(" + B.JSArray_methods.join$1(t1, ",") + ")"; - } - }; - A.ExplicitConfiguration0.prototype = { - _configuration0$_withValues$1(values) { - var t1 = this._configuration0$__originalConfiguration; - if (t1 == null) - t1 = this; - return new A.ExplicitConfiguration0(this.nodeWithSpan, values, t1); - } - }; - A.ConfiguredValue0.prototype = { - toString$0(_) { - return A.serializeValue0(this.value, true, true); - } - }; - A.ConfiguredVariable0.prototype = { - toString$0(_) { - var t1 = this.expression.toString$0(0), - t2 = this.isGuarded ? " !default" : ""; - return "$" + this.name + ": " + t1 + t2; - }, - $isAstNode0: 1, - get$span(receiver) { - return this.span; - } - }; - A.ContentBlock0.prototype = { - accept$1$1(visitor) { - return visitor.visitContentBlock$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - toString$0(_) { - var t2, - t1 = this.$arguments; - t1 = t1.$arguments.length === 0 && t1.restArgument == null ? "" : " using (" + t1.toString$0(0) + ")"; - t2 = this.children; - return t1 + (" {" + (t2 && B.JSArray_methods).join$1(t2, " ") + "}"); - } - }; - A.ContentRule0.prototype = { - accept$1$1(visitor) { - return visitor.visitContentRule$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - toString$0(_) { - var t1 = this.$arguments; - return t1.get$isEmpty(0) ? "@content;" : "@content(" + t1.toString$0(0) + ");"; - }, - $isAstNode0: 1, - $isStatement0: 1, - get$span(receiver) { - return this.span; - } - }; - A._disallowedFunctionNames_closure0.prototype = { - call$1($function) { - return $function.name; - }, - $signature: 412 - }; - A.CssParser0.prototype = { - get$plainCss() { - return true; - }, - silentComment$0() { - var t1, t2, _this = this; - if (_this._stylesheet0$_inExpression) - return false; - t1 = _this.scanner; - t2 = t1._string_scanner$_position; - _this.super$Parser$silentComment0(); - _this.error$2(0, string$.Silent, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); - }, - atRule$2$root(child, root) { - var $name, _0_0, _this = this, - t1 = _this.scanner, - start = new A._SpanScannerState(t1, t1._string_scanner$_position); - t1.expectChar$1(64); - $name = _this.interpolatedIdentifier$0(); - _this.whitespace$0(); - _0_0 = $name.get$asPlain(); - $label0$0: { - if ("at-root" === _0_0 || "content" === _0_0 || "debug" === _0_0 || "each" === _0_0 || "error" === _0_0 || "extend" === _0_0 || "for" === _0_0 || "function" === _0_0 || "if" === _0_0 || "include" === _0_0 || "mixin" === _0_0 || "return" === _0_0 || "warn" === _0_0 || "while" === _0_0) - _this._css$_forbiddenAtRoot$1(start); - if ("import" === _0_0) { - t1 = _this._css$_cssImportRule$1(start); - break $label0$0; - } - if ("media" === _0_0) { - t1 = _this.mediaRule$1(start); - break $label0$0; - } - if ("-moz-document" === _0_0) { - t1 = _this.mozDocumentRule$2(start, $name); - break $label0$0; - } - if ("supports" === _0_0) { - t1 = _this.supportsRule$1(start); - break $label0$0; - } - t1 = _this.unknownAtRule$2(start, $name); - break $label0$0; - } - return t1; - }, - _css$_forbiddenAtRoot$1(start) { - this.almostAnyValue$0(); - this.error$2(0, "This at-rule isn't allowed in plain CSS.", this.scanner.spanFrom$1(start)); - }, - _css$_cssImportRule$1(start) { - var t2, urlSpan, modifiers, _this = this, - t1 = _this.scanner, - urlStart = new A._SpanScannerState(t1, t1._string_scanner$_position), - _0_0 = t1.peekChar$0(); - $label0$0: { - if (117 === _0_0 || 85 === _0_0) { - t2 = _this.dynamicUrl$0(); - break $label0$0; - } - t2 = new A.StringExpression0(_this.interpolatedString$0().asInterpolation$1$static(true), false); - break $label0$0; - } - urlSpan = t1.spanFrom$1(urlStart); - _this.whitespace$0(); - modifiers = _this.tryImportModifiers$0(); - _this.expectStatementSeparator$1("@import rule"); - t2 = A._setArrayType([new A.StaticImport0(A.Interpolation$0(A._setArrayType([t2], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(urlStart))], type$.JSArray_Import_2); - t1 = t1.spanFrom$1(start); - return new A.ImportRule0(A.List_List$unmodifiable(t2, type$.Import_2), t1); - }, - parentheses$0() { - var expression, - t1 = this.scanner, - t2 = t1._string_scanner$_position; - t1.expectChar$1(40); - this.whitespace$0(); - expression = this.expressionUntilComma$0(); - t1.expectChar$1(41); - return new A.ParenthesizedExpression0(expression, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); - }, - identifierLike$0() { - var t2, allowEmptySecondArg, $arguments, t3, t4, _this = this, - t1 = _this.scanner, - start = new A._SpanScannerState(t1, t1._string_scanner$_position), - identifier = _this.interpolatedIdentifier$0(), - plain = identifier.get$asPlain(), - lower = plain.toLowerCase(), - _0_0 = _this.trySpecialFunction$2(lower, start); - if (_0_0 != null) - return _0_0; - t2 = t1._string_scanner$_position; - if (t1.scanChar$1(46)) - return _this.namespacedExpression$2(plain, start); - if (!t1.scanChar$1(40)) - return new A.StringExpression0(identifier, false); - allowEmptySecondArg = lower === "var"; - $arguments = A._setArrayType([], type$.JSArray_Expression_2); - if (!t1.scanChar$1(41)) { - do { - _this.whitespace$0(); - if (allowEmptySecondArg && $arguments.length === 1 && t1.peekChar$0() === 41) { - t3 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); - t4 = t3.offset; - t4 = A._FileSpan$(t3.file, t4, t4); - $arguments.push(new A.StringExpression0(A.Interpolation$0(A._setArrayType([""], type$.JSArray_Object), t4), false)); - break; - } - $arguments.push(_this.expressionUntilComma$1$singleEquals(true)); - _this.whitespace$0(); - } while (t1.scanChar$1(44)); - t1.expectChar$1(41); - } - if ($.$get$_disallowedFunctionNames0().contains$1(0, plain)) - _this.error$2(0, string$.This_f, t1.spanFrom$1(start)); - t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2)); - t3 = type$.Expression_2; - t4 = A.List_List$unmodifiable($arguments, t3); - t3 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t3); - t1 = t1.spanFrom$1(start); - return new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(plain, "_", "-"), plain, new A.ArgumentInvocation0(t4, t3, null, null, t2), t1); - }, - namespacedExpression$2(namespace, start) { - var expression = this.super$StylesheetParser$namespacedExpression0(namespace, start); - this.error$2(0, string$.Modulen, expression.get$span(expression)); - } - }; - A.DebugRule0.prototype = { - accept$1$1(visitor) { - return visitor.visitDebugRule$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - toString$0(_) { - return "@debug " + this.expression.toString$0(0) + ";"; - }, - $isAstNode0: 1, - $isStatement0: 1, - get$span(receiver) { - return this.span; - } - }; - A.ModifiableCssDeclaration0.prototype = { - accept$1$1(visitor) { - return visitor.visitCssDeclaration$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - toString$0(_) { - return this.name.toString$0(0) + ": " + this.value.toString$0(0) + ";"; - }, - get$span(receiver) { - return this.span; - } - }; - A.Declaration0.prototype = { - accept$1$1(visitor) { - return visitor.visitDeclaration$1(this); - }, - accept$1(visitor) { - return this.accept$1$1(visitor, type$.dynamic); - }, - toString$0(_) { - var t3, _0_0, - buffer = new A.StringBuffer(""), - t1 = this.name, - t2 = "" + t1.toString$0(0); - buffer._contents = t2; - t2 = buffer._contents = t2 + A.Primitives_stringFromCharCode(58); - t3 = this.value; - if (t3 != null) { - t1 = !B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--") ? buffer._contents = t2 + A.Primitives_stringFromCharCode(32) : t2; - buffer._contents = t1 + t3.toString$0(0); - } - _0_0 = this.children; - if (_0_0 != null) - return buffer.toString$0(0) + " {" + B.JSArray_methods.join$1(_0_0, " ") + "}"; - else - return buffer.toString$0(0) + ";"; - }, - get$span(receiver) { - return this.span; - } - }; - A.SupportsDeclaration0.prototype = { - get$isCustomProperty() { - var t1, - _0_0 = this.name; - $label0$0: { - if (_0_0 instanceof A.StringExpression0 && !_0_0.hasQuotes) { - t1 = B.JSString_methods.startsWith$1(_0_0.text.get$initialPlain(), "--"); - break $label0$0; - } - t1 = false; - break $label0$0; - } - return t1; - }, - toString$0(_) { - return "(" + this.name.toString$0(0) + ": " + this.value.toString$0(0) + ")"; - }, - $isAstNode0: 1, - get$span(receiver) { - return this.span; - } - }; - A.Deprecation0.prototype = { - _enumToString$0() { - return "Deprecation." + this._name; - }, - get$deprecatedIn(_) { - return A.NullableExtension_andThen0(this._deprecation$_deprecatedIn, A.version_Version___parse_tearOff$closure()); - }, - get$obsoleteIn(_) { - return null; - }, - toString$0(_) { - return this.id; - } - }; - A.Deprecation_fromId_closure0.prototype = { - call$1(deprecation) { - return deprecation.id === this.id; - }, - $signature: 413 - }; - A.DeprecationProcessingLogger0.prototype = { - DeprecationProcessingLogger$5$fatalDeprecations$futureDeprecations$limitRepetition$silenceDeprecations0(_inner, fatalDeprecations, futureDeprecations, limitRepetition, silenceDeprecations) { - var t1, t2, t3, t4, t5, t6, _1_7, _this = this, _null = null; - for (t1 = _this.fatalDeprecations, t1 = A._LinkedHashSetIterator$(t1, t1._modifications, A._instanceType(t1)._precomputed1), t2 = _this.silenceDeprecations, t3 = t1.$ti._precomputed1, t4 = _this.futureDeprecations; t1.moveNext$0();) { - t5 = t1._collection$_current; - if (t5 == null) - t5 = t3._as(t5); - if (t5.isFuture && !t4.contains$1(0, t5)) { - t5 = t5.toString$0(0); - _this.internalWarn$4$deprecation$span$trace("Future " + t5 + string$.x20deprex20m, _null, _null, _null); - continue; - } - t6 = t2.contains$1(0, t5); - if (t6) { - t5 = t5.toString$0(0); - _this.internalWarn$4$deprecation$span$trace("Ignoring setting to silence " + t5 + string$.x20deprex2c, _null, _null, _null); - continue; - } - } - for (t1 = A._LinkedHashSetIterator$(t2, t2._modifications, A._instanceType(t2)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { - t3 = t1._collection$_current; - if (t3 == null) - t3 = t2._as(t3); - if (B.Deprecation_oty === t3) { - _this.internalWarn$4$deprecation$span$trace(string$.User_a, _null, _null, _null); - continue; - } - _1_7 = t3.isFuture; - if (_1_7 && t4.contains$1(0, t3)) { - t3 = t3.toString$0(0); - _this.internalWarn$4$deprecation$span$trace("Conflicting options for future " + t3 + " deprecation cancel each other out.", _null, _null, _null); - continue; - } - if (_1_7) { - t3 = t3.toString$0(0); - _this.internalWarn$4$deprecation$span$trace("Future " + t3 + string$.x20deprex20i, _null, _null, _null); - continue; - } - } - for (t1 = A._LinkedHashSetIterator$(t4, t4._modifications, A._instanceType(t4)._precomputed1), t2 = t1.$ti._precomputed1; t1.moveNext$0();) { - t3 = t1._collection$_current; - if (t3 == null) - t3 = t2._as(t3); - if (!t3.isFuture) { - t3 = t3.toString$0(0); - _this.internalWarn$4$deprecation$span$trace(t3 + string$.x20is_noaf, _null, _null, _null); - } - } - }, - internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) { - if (deprecation != null) - this._deprecation_processing$_handleDeprecation$4$span$trace(deprecation, message, span, trace); - else - this._deprecation_processing$_inner.warn$3$span$trace(0, message, span, trace); - }, - _deprecation_processing$_handleDeprecation$4$span$trace(deprecation, message, span, trace) { - var _0_3_isSet, span0, t1, _0_3, t2, count, _1_0, _this = this, _null = null; - if (deprecation.isFuture && !_this.futureDeprecations.contains$1(0, deprecation)) - return; - if (_this.fatalDeprecations.contains$1(0, deprecation)) { - message += string$.x0a_This + deprecation.toString$0(0) + string$.x20deprex20t; - $label0$0: { - _0_3_isSet = span != null; - if (_0_3_isSet) { - span0 = span == null ? type$.FileSpan._as(span) : span; - t1 = trace != null; - _0_3 = trace; - } else { - span0 = _null; - _0_3 = span0; - t1 = false; - } - if (t1) { - if (_0_3_isSet) - trace = _0_3; - t1 = A.SassRuntimeException$0(message, span0, trace == null ? type$.Trace._as(trace) : trace, _null); - break $label0$0; - } - if (span != null) - t1 = (_0_3_isSet ? _0_3 : trace) == null; - else { - span = _null; - t1 = false; - } - if (t1) { - t1 = A.SassException$0(message, span, _null); - break $label0$0; - } - t1 = A.SassScriptException$0(message, _null); - break $label0$0; - } - throw A.wrapException(t1); - } - if (_this.silenceDeprecations.contains$1(0, deprecation)) - return; - if (_this.limitRepetition) { - t1 = _this._deprecation_processing$_warningCounts; - t2 = t1.$index(0, deprecation); - count = (t2 == null ? 0 : t2) + 1; - t1.$indexSet(0, deprecation, count); - if (count > 5) - return; - } - _1_0 = _this._deprecation_processing$_inner; - if (_1_0 instanceof A.LoggerWithDeprecationType) - _1_0.internalWarn$4$deprecation$span$trace(message, deprecation, span, trace); - else - _1_0.warn$4$deprecation$span$trace(0, message, true, span, trace); - }, - debug$2(_, message, span) { - return this._deprecation_processing$_inner.debug$2(0, message, span); - }, - summarize$1$js(js) { - var t1 = this._deprecation_processing$_warningCounts.get$values(0), - t2 = A._instanceType(t1), - total = A.IterableIntegerExtension_get_sum(new A.MappedIterable(new A.WhereIterable(t1, new A.DeprecationProcessingLogger_summarize_closure1(), t2._eval$1("WhereIterable")), new A.DeprecationProcessingLogger_summarize_closure2(), t2._eval$1("MappedIterable"))); - if (total > 0) { - t1 = js ? "" : string$.x0aRun_i; - this._deprecation_processing$_inner.warn$1(0, "" + total + string$.x20repet + t1); - } - } - }; - A.DeprecationProcessingLogger_summarize_closure1.prototype = { - call$1(count) { - return count > 5; - }, - $signature: 45 - }; - A.DeprecationProcessingLogger_summarize_closure2.prototype = { - call$1(count) { - return count - 5; - }, - $signature: 151 - }; - A.Deprecation1.prototype = {}; - A.deprecations_closure.prototype = { - call$0() { - var t1, _0_8_isSet, _0_8, - _0_0 = this.deprecation; - $label0$0: { - if (_0_0.isFuture) { - t1 = "future"; - break $label0$0; - } - _0_8_isSet = A.NullableExtension_andThen0(_0_0._deprecation$_deprecatedIn, A.version_Version___parse_tearOff$closure()) == null; - if (_0_8_isSet) { - _0_8 = _0_0.get$obsoleteIn(0) == null; - t1 = _0_8; - } else { - _0_8 = null; - t1 = false; - } - if (t1) { - t1 = "user"; - break $label0$0; - } - if (_0_8_isSet ? _0_8 : _0_0.get$obsoleteIn(0) == null) { - t1 = "active"; - break $label0$0; - } - t1 = "obsolete"; - break $label0$0; - } - return t1; - }, - $signature: 25 + $signature: 440 }; A.versionClass_closure.prototype = { call$0() { @@ -93438,7 +99714,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(A.Version_Version(0, 0, 0, null).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.versionClass__closure.prototype = { call$4($self, major, minor, patch) { @@ -93446,7 +99722,7 @@ self.util = _cliPkgRequires.util; }, "call*": "call$4", $requiredArgCount: 4, - $signature: 414 + $signature: 441 }; A.versionClass__closure0.prototype = { call$1(version) { @@ -93455,7 +99731,54 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.FormatException$("Build identifiers and prerelease versions not supported.", null, null)); return v; }, - $signature: 199 + $signature: 219 + }; + A.DisplayP3ColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + return A.srgbAndDisplayP3ToLinear0(channel); + }, + fromLinear$1(channel) { + return A.srgbAndDisplayP3FromLinear0(channel); + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$linearDisplayP3ToLinearSrgb0(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$linearDisplayP3ToLinearA98Rgb0(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$linearDisplayP3ToLinearProphotoRgb0(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$linearDisplayP3ToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$linearDisplayP3ToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$linearDisplayP3ToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$linearDisplayP3ToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } }; A.DynamicImport0.prototype = { toString$0(_) { @@ -93463,13 +99786,14 @@ self.util = _cliPkgRequires.util; }, $isImport0: 1, $isAstNode0: 1, + $isSassNode: 1, get$span(receiver) { return this.span; } }; A.EachRule0.prototype = { accept$1$1(visitor) { - return visitor.visitEachRule$1(this); + return visitor.visitEachRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -93487,7 +99811,7 @@ self.util = _cliPkgRequires.util; call$1(variable) { return "$" + variable; }, - $signature: 5 + $signature: 6 }; A.EmptyExtensionStore0.prototype = { get$_extension_store$_extensions() { @@ -93503,7 +99827,7 @@ self.util = _cliPkgRequires.util; return B.C_EmptyUnmodifiableSet0; }, extensionsWhereTarget$1(callback) { - return B.List_empty17; + return B.List_empty18; }, addSelector$2(selector, mediaContext) { throw A.wrapException(A.UnsupportedError$("addSelector() can't be called for a const ExtensionStore.")); @@ -93583,7 +99907,7 @@ self.util = _cliPkgRequires.util; } }, importForwards$1(module) { - var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, _length, _list, _this = this, + var forwardedModules, t1, t2, t3, t4, node, t5, t6, t7, t8, t9, t10, _i, t11, shadowed, t12, _length, _list, _this = this, forwarded = module._environment0$_environment._environment0$_forwardedModules; if (forwarded == null) return; @@ -93628,6 +99952,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { t5.remove$1(0, module); t11 = shadowed.variables; + t12 = false; if (t11.get$isEmpty(t11)) { t11 = shadowed.functions; if (t11.get$isEmpty(t11)) { @@ -93637,11 +99962,11 @@ self.util = _cliPkgRequires.util; t11 = t11.get$css(t11); t11 = J.get$isEmpty$asx(t11.get$children(t11)); } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; } else - t11 = false; + t11 = t12; if (!t11) t5.$indexSet(0, shadowed, node); } @@ -93654,6 +99979,7 @@ self.util = _cliPkgRequires.util; if (shadowed != null) { forwardedModules.remove$1(0, module); t8 = shadowed.variables; + t9 = false; if (t8.get$isEmpty(t8)) { t8 = shadowed.functions; if (t8.get$isEmpty(t8)) { @@ -93663,11 +99989,11 @@ self.util = _cliPkgRequires.util; t8 = t8.get$css(t8); t8 = J.get$isEmpty$asx(t8.get$children(t8)); } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; } else - t8 = false; + t8 = t9; if (!t8) forwardedModules.$indexSet(0, shadowed, node); } @@ -94018,7 +100344,7 @@ self.util = _cliPkgRequires.util; return A._EnvironmentModule__EnvironmentModule1(this, css, preModuleComments, extensionStore, A.NullableExtension_andThen0(this._environment0$_forwardedModules, new A.Environment_toModule_closure0())); }, toDummyModule$0() { - return A._EnvironmentModule__EnvironmentModule1(this, new A.CssStylesheet0(new A.UnmodifiableListView(B.List_empty16, type$.UnmodifiableListView_CssNode_2), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty9, B.C_EmptyExtensionStore0, A.NullableExtension_andThen0(this._environment0$_forwardedModules, new A.Environment_toDummyModule_closure0())); + return A._EnvironmentModule__EnvironmentModule1(this, new A.CssStylesheet0(new A.UnmodifiableListView(B.List_empty17, type$.UnmodifiableListView_CssNode_2), A.SourceFile$decoded(B.List_empty4, "").span$1(0, 0)), B.Map_empty9, B.C_EmptyExtensionStore0, A.NullableExtension_andThen0(this._environment0$_forwardedModules, new A.Environment_toDummyModule_closure0())); }, _environment0$_getModule$1(namespace) { var _0_0 = this._environment0$_modules.$index(0, namespace); @@ -94076,7 +100402,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().$index(0, this.name); }, - $signature: 417 + $signature: 444 }; A.Environment_setVariable_closure2.prototype = { call$0() { @@ -94090,7 +100416,7 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables().containsKey$1(this.name) ? module : null; }, - $signature: 418 + $signature: 445 }; A.Environment_setVariable_closure4.prototype = { call$0() { @@ -94104,25 +100430,25 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$functions(module).$index(0, this.name); }, - $signature: 197 + $signature: 221 }; A.Environment__getMixinFromGlobalModule_closure0.prototype = { call$1(module) { return module.get$mixins().$index(0, this.name); }, - $signature: 197 + $signature: 221 }; A.Environment_toModule_closure0.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable_2); }, - $signature: 243 + $signature: 222 }; A.Environment_toDummyModule_closure0.prototype = { call$1(modules) { return new A.MapKeySet(modules, type$.MapKeySet_Module_Callable_2); }, - $signature: 243 + $signature: 222 }; A._EnvironmentModule1.prototype = { get$url(_) { @@ -94204,41 +100530,41 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$variables(); }, - $signature: 421 + $signature: 672 }; A._EnvironmentModule__EnvironmentModule_closure12.prototype = { call$1(module) { return module.get$variableNodes(); }, - $signature: 422 + $signature: 449 }; A._EnvironmentModule__EnvironmentModule_closure13.prototype = { call$1(module) { return module.get$functions(module); }, - $signature: 196 + $signature: 223 }; A._EnvironmentModule__EnvironmentModule_closure14.prototype = { call$1(module) { return module.get$mixins(); }, - $signature: 196 + $signature: 223 }; A._EnvironmentModule__EnvironmentModule_closure15.prototype = { call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 123 + $signature: 127 }; A._EnvironmentModule__EnvironmentModule_closure16.prototype = { call$1(module) { return module.get$transitivelyContainsExtensions(); }, - $signature: 123 + $signature: 127 }; A.ErrorRule0.prototype = { accept$1$1(visitor) { - return visitor.visitErrorRule$1(this); + return visitor.visitErrorRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -94246,8 +100572,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@error " + this.expression.toString$0(0) + ";"; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -94262,20 +100586,23 @@ self.util = _cliPkgRequires.util; metaFunctions = A._setArrayType([A.BuiltInCallable$function0("global-variable-exists", _s20_, new A._EvaluateVisitor_closure25(_this), _s9_), A.BuiltInCallable$function0("variable-exists", "$name", new A._EvaluateVisitor_closure26(_this), _s9_), A.BuiltInCallable$function0("function-exists", _s20_, new A._EvaluateVisitor_closure27(_this), _s9_), A.BuiltInCallable$function0("mixin-exists", _s20_, new A._EvaluateVisitor_closure28(_this), _s9_), A.BuiltInCallable$function0("content-exists", "", new A._EvaluateVisitor_closure29(_this), _s9_), A.BuiltInCallable$function0("module-variables", _s7_, new A._EvaluateVisitor_closure30(_this), _s9_), A.BuiltInCallable$function0("module-functions", _s7_, new A._EvaluateVisitor_closure31(_this), _s9_), A.BuiltInCallable$function0("module-mixins", _s7_, new A._EvaluateVisitor_closure32(_this), _s9_), A.BuiltInCallable$function0("get-function", "$name, $css: false, $module: null", new A._EvaluateVisitor_closure33(_this), _s9_), A.BuiltInCallable$function0("get-mixin", _s20_, new A._EvaluateVisitor_closure34(_this), _s9_), A.BuiltInCallable$function0("call", "$function, $args...", new A._EvaluateVisitor_closure35(_this), _s9_)], t1), metaMixins = A._setArrayType([A.BuiltInCallable$mixin0("load-css", "$url, $with: null", new A._EvaluateVisitor_closure36(_this), false, _s9_), A.BuiltInCallable$mixin0("apply", "$mixin, $args...", new A._EvaluateVisitor_closure37(_this), true, _s9_)], t1); t1 = type$.BuiltInCallable_2; - t2 = A.List_List$of($.$get$global6(), true, t1); - B.JSArray_methods.addAll$1(t2, $.$get$local0()); + t2 = A.List_List$of($.$get$moduleFunctions0(), true, t1); B.JSArray_methods.addAll$1(t2, metaFunctions); metaModule = A.BuiltInModule$0("meta", t2, metaMixins, null, t1); for (t1 = A.List_List$of($.$get$coreModules0(), true, type$.BuiltInModule_Callable_2), t1.push(metaModule), t2 = t1.length, t3 = _this._evaluate0$_builtInModules, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { module = t1[_i]; t3.$indexSet(0, module.url, module); } - t1 = A._setArrayType([], type$.JSArray_Callable_2); - B.JSArray_methods.addAll$1(t1, functions); - B.JSArray_methods.addAll$1(t1, $.$get$globalFunctions0()); - B.JSArray_methods.addAll$1(t1, metaFunctions); - for (t2 = t1.length, t3 = _this._evaluate0$_builtInFunctions, _i = 0; _i < t1.length; t1.length === t2 || (0, A.throwConcurrentModificationError)(t1), ++_i) { - $function = t1[_i]; + t1 = type$.JSArray_Callable_2; + t2 = A._setArrayType([], t1); + B.JSArray_methods.addAll$1(t2, functions); + B.JSArray_methods.addAll$1(t2, $.$get$globalFunctions0()); + t1 = A._setArrayType([], t1); + for (_i = 0; _i < 11; ++_i) + t1.push(metaFunctions[_i].withDeprecationWarning$1("meta")); + B.JSArray_methods.addAll$1(t2, t1); + for (t1 = t2.length, t3 = _this._evaluate0$_builtInFunctions, _i = 0; _i < t2.length; t2.length === t1 || (0, A.throwConcurrentModificationError)(t2), ++_i) { + $function = t2[_i]; t4 = J.get$name$x($function); t3.$indexSet(0, A.stringReplaceAllUnchecked(t4, "_", "-"), $function); } @@ -94468,17 +100795,23 @@ self.util = _cliPkgRequires.util; } return lastImport + 1; }, - visitStylesheet$1(node) { - var t1, t2, _i; + visitStylesheet$1(_, node) { + var t1, t2, warning, _i; + for (t1 = node.parseTimeWarnings, t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { + warning = t1.__internal$_current; + if (warning == null) + warning = t2._as(warning); + this._evaluate0$_warn$3(warning._1, warning._2, warning._0); + } for (t1 = node.children, t2 = t1.length, _i = 0; _i < t2; ++_i) t1[_i].accept$1(this); return null; }, - visitAtRootRule$1(node) { - var t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _this = this, + visitAtRootRule$1(_, node) { + var t1, _2_0, root, first, rest, innerCopy, outerCopy, _i, copy, _this = this, _null = null, _s8_ = "__parent", _0_0 = node.query, - query = _0_0 != null ? A.AtRootQueryParser$0(_this._evaluate0$_performInterpolationWithMap$2$warnForColor(_0_0, true)._0, _this._evaluate0$_logger, null).parse$0() : B.AtRootQuery_n2q0, + query = _0_0 != null ? new A.AtRootQueryParser0(A.SpanScanner$(_this._evaluate0$_performInterpolationWithMap$2$warnForColor(_0_0, true)._0, _null), _null).parse$0(0) : B.AtRootQuery_n2q0, $parent = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_), included = A._setArrayType([], type$.JSArray_ModifiableCssParentNode_2); for (t1 = type$.CssStylesheet_2; !t1._is($parent); $parent = _2_0) { @@ -94491,7 +100824,7 @@ self.util = _cliPkgRequires.util; root = _this._evaluate0$_trimIncluded$1(included); if (root === _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_)) { _this._evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitAtRootRule_closure3(_this, node), node.hasDeclarations, type$.Null); - return null; + return _null; } if (included.length >= 1) { first = included[0]; @@ -94505,7 +100838,7 @@ self.util = _cliPkgRequires.util; } else innerCopy = root; _this._evaluate0$_scopeForAtRoot$4(node, innerCopy, query, included).call$1(new A._EvaluateVisitor_visitAtRootRule_closure4(_this, node)); - return null; + return _null; }, _evaluate0$_trimIncluded$1(nodes) { var $parent, t1, innermostContiguous, i, t2, _0_0, _1_0, root, _this = this, _null = null, _s5_ = "_root", @@ -94544,61 +100877,98 @@ self.util = _cliPkgRequires.util; scope = new A._EvaluateVisitor__scopeForAtRoot_closure14(_this, scope); return _this._evaluate0$_inUnknownAtRule && !B.JSArray_methods.any$1(included, new A._EvaluateVisitor__scopeForAtRoot_closure15()) ? new A._EvaluateVisitor__scopeForAtRoot_closure16(_this, scope) : scope; }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return A.throwExpression(A.UnsupportedError$(string$.Evalua)); }, - visitContentRule$1(node) { + visitContentRule$1(_, node) { var $content = this._evaluate0$_environment._environment0$_content; if ($content == null) return null; this._evaluate0$_runUserDefinedCallable$1$4(node.$arguments, $content, node, new A._EvaluateVisitor_visitContentRule_closure1(this, $content), type$.Null); return null; }, - visitDebugRule$1(node) { + visitDebugRule$1(_, node) { var value = node.expression.accept$1(this), t1 = value instanceof A.SassString0 ? value._string0$_text : A.serializeValue0(value, true, true); this._evaluate0$_logger.debug$2(0, t1, node.span); return null; }, - visitDeclaration$1(node) { - var t2, $name, _0_0, _1_0, value, t3, t4, t5, _2_0, oldDeclarationName, _this = this, _null = null, t1 = {}; + visitDeclaration$1(_, node) { + var siblings, interleavedRules, t1, t2, t3, t4, t5, t6, rule, rule0, $name, _1_0, _2_0, value, _3_0, oldDeclarationName, _this = this, _null = null, + _s8_ = "__parent", + _box_0 = {}; if ((_this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot) == null && !_this._evaluate0$_inUnknownAtRule && !_this._evaluate0$_inKeyframes) throw A.wrapException(_this._evaluate0$_exception$2(string$.Declarm, node.span)); if (_this._evaluate0$_declarationName != null && B.JSString_methods.startsWith$1(node.name.get$initialPlain(), "--")) throw A.wrapException(_this._evaluate0$_exception$2(string$.Declarw, node.span)); - t2 = node.name; - $name = _this._evaluate0$_interpolationToValue$2$warnForColor(t2, true); - _0_0 = _this._evaluate0$_declarationName; - if (_0_0 != null) - $name = new A.CssValue0(_0_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String_2); - _1_0 = node.value; - if (_1_0 != null) { - value = _1_0.accept$1(_this); - if (!value.get$isBlank() || value.get$asList().length === 0) { - t3 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, "__parent"); - t4 = _1_0.get$span(_1_0); - t2 = B.JSString_methods.startsWith$1(t2.get$initialPlain(), "--"); - if (_this._evaluate0$_sourceMap) { - t5 = A.NullableExtension_andThen0(_1_0, _this.get$_evaluate0$_expressionNode()); - t5 = t5 == null ? _null : J.get$span$z(t5); + siblings = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_)._node$_parent.children; + interleavedRules = A._setArrayType([], type$.JSArray_CssStyleRule_2); + if (siblings.get$last(siblings) !== _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_)) { + if (_this._evaluate0$_quietDeps) + if (!_this._evaluate0$_inDependency) { + t1 = _this._evaluate0$_currentCallable; + t1 = t1 == null ? _null : t1.inDependency; + t1 = t1 === true; } else - t5 = _null; - t3.addChild$1(A.ModifiableCssDeclaration$0($name, new A.CssValue0(value, t4, type$.CssValue_Value_2), node.span, t2, t5)); - } else if (J.startsWith$1$s($name.value, "--")) - throw A.wrapException(_this._evaluate0$_exception$2("Custom property values may not be empty.", _1_0.get$span(_1_0))); - } - _2_0 = node.children; - t1.children = null; + t1 = true; + else + t1 = false; + t1 = !t1; + } else + t1 = false; + if (t1) + for (t1 = A.SubListIterable$(siblings, siblings.indexOf$1(siblings, _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_)) + 1, _null, siblings.$ti._eval$1("ListBase.E")), t2 = t1.$ti, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t3 = node.span, t4 = type$.SourceSpan, t5 = type$.String, t2 = t2._eval$1("ListIterable.E"); t1.moveNext$0();) { + t6 = t1.__internal$_current; + rule = t6 == null ? t2._as(t6) : t6; + $label0$1: { + if (rule instanceof A.ModifiableCssComment0) + continue; + t6 = rule instanceof A.ModifiableCssStyleRule0; + rule0 = t6 ? rule : _null; + if (t6) { + interleavedRules.push(rule0); + break $label0$1; + } + _this._evaluate0$_warn$3(string$.Sassx27s, new A.MultiSpan0(t3, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([rule.get$span(rule), "nested rule"], t4, t5), t4, t5)), B.Deprecation_VIq); + B.JSArray_methods.clear$0(interleavedRules); + break $label0$1; + } + } + t1 = node.name; + $name = _this._evaluate0$_interpolationToValue$2$warnForColor(t1, true); + _1_0 = _this._evaluate0$_declarationName; + if (_1_0 != null) + $name = new A.CssValue0(_1_0 + "-" + A.S($name.value), $name.span, type$.CssValue_String_2); + _2_0 = node.value; if (_2_0 != null) { - t1.children = _2_0; + value = _2_0.accept$1(_this); + if (!value.get$isBlank() || value.get$asList().length === 0) { + t2 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_); + t3 = _2_0.get$span(_2_0); + t4 = node.span; + t1 = B.JSString_methods.startsWith$1(t1.get$initialPlain(), "--"); + t5 = interleavedRules.length === 0 ? _null : _this._evaluate0$_stackTrace$1(t4); + if (_this._evaluate0$_sourceMap) { + t6 = A.NullableExtension_andThen0(_2_0, _this.get$_evaluate0$_expressionNode()); + t6 = t6 == null ? _null : J.get$span$z(t6); + } else + t6 = _null; + t2.addChild$1(A.ModifiableCssDeclaration$0($name, new A.CssValue0(value, t3, type$.CssValue_Value_2), t4, interleavedRules, t1, t5, t6)); + } else if (J.startsWith$1$s($name.value, "--")) + throw A.wrapException(_this._evaluate0$_exception$2("Custom property values may not be empty.", _2_0.get$span(_2_0))); + } + _3_0 = node.children; + _box_0.children = null; + if (_3_0 != null) { + _box_0.children = _3_0; oldDeclarationName = _this._evaluate0$_declarationName; _this._evaluate0$_declarationName = $name.value; - _this._evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure1(t1, _this), node.hasDeclarations, type$.Null); + _this._evaluate0$_environment.scope$1$2$when(new A._EvaluateVisitor_visitDeclaration_closure1(_box_0, _this), node.hasDeclarations, type$.Null); _this._evaluate0$_declarationName = oldDeclarationName; } return _null; }, - visitEachRule$1(node) { + visitEachRule$1(_, node) { var _this = this, _box_0 = {}, t1 = node.list, list = t1.accept$1(_this), @@ -94628,10 +100998,10 @@ self.util = _cliPkgRequires.util; for (i = minLength; i < t1; ++i) this._evaluate0$_environment.setLocalVariable$3(variables[i], B.C__SassNull0, nodeWithSpan); }, - visitErrorRule$1(node) { + visitErrorRule$1(_, node) { throw A.wrapException(this._evaluate0$_exception$2(J.toString$0$(node.expression.accept$1(this)), node.span)); }, - visitExtendRule$1(node) { + visitExtendRule$1(_, node) { var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, _0_0, compound, _this = this, _null = null, styleRule = _this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot; if (styleRule == null || _this._evaluate0$_declarationName != null) @@ -94640,14 +101010,14 @@ self.util = _cliPkgRequires.util; complex = t1[_i]; if (!complex.accept$1(B._IsBogusVisitor_true0)) continue; - visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true); + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)); t7 = complex.accept$1(B.C__IsUselessVisitor0) ? "can't" : "shouldn't"; - _this._evaluate0$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan0(A.SpanExtensions_trimRight0(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_5pG); + _this._evaluate0$_warn$3('The selector "' + t6 + '" is invalid CSS and ' + t7 + string$.x20be_an, new A.MultiSpan0(A.SpanExtensions_trimRight0(complex.span), "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t3, "@extend rule"], t4, t5), t4, t5)), B.Deprecation_bh9); } _0_0 = _this._evaluate0$_performInterpolationWithMap$2$warnForColor(node.selector, true); - for (t1 = A.SelectorList_SelectorList$parse0(A.trimAscii0(_0_0._0, true), false, _0_0._1, _this._evaluate0$_logger, false).components, t2 = t1.length, t3 = styleRule._style_rule0$_selector._box0$_inner, _i = 0; _i < t2; ++_i) { + for (t1 = A.SelectorList_SelectorList$parse0(A.trimAscii0(_0_0._0, true), false, _0_0._1, false).components, t2 = t1.length, t3 = styleRule._style_rule0$_selector._box0$_inner, _i = 0; _i < t2; ++_i) { complex = t1[_i]; compound = complex.get$singleCompound(); if (compound == null) @@ -94660,7 +101030,7 @@ self.util = _cliPkgRequires.util; } return _null; }, - visitAtRule$1(node) { + visitAtRule$1(_, node) { var $name, value, children, wasInKeyframes, wasInUnknownAtRule, _this = this; if (_this._evaluate0$_declarationName != null) throw A.wrapException(_this._evaluate0$_exception$2(string$.At_rul, node.span)); @@ -94682,7 +101052,7 @@ self.util = _cliPkgRequires.util; _this._evaluate0$_inKeyframes = wasInKeyframes; return null; }, - visitForRule$1(node) { + visitForRule$1(_, node) { var _this = this, t1 = {}, t2 = node.from, fromNumber = _this._evaluate0$_addExceptionSpan$2(t2, new A._EvaluateVisitor_visitForRule_closure9(_this, node)), @@ -94695,7 +101065,7 @@ self.util = _cliPkgRequires.util; return null; return _this._evaluate0$_environment.scope$1$2$semiGlobal(new A._EvaluateVisitor_visitForRule_closure13(t1, _this, node, from, direction, fromNumber), true, type$.nullable_Value_2); }, - visitForwardRule$1(node) { + visitForwardRule$1(_, node) { var newConfiguration, t4, _i, variable, $name, _this = this, _s8_ = "@forward", oldConfiguration = _this._evaluate0$_configuration, @@ -94802,7 +101172,7 @@ self.util = _cliPkgRequires.util; _evaluate0$_assertConfigurationIsEmpty$1(configuration) { return this._evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, false); }, - visitFunctionRule$1(node) { + visitFunctionRule$1(_, node) { var t1 = this._evaluate0$_environment, t2 = t1.closure$0(), t3 = this._evaluate0$_inDependency, @@ -94813,7 +101183,7 @@ self.util = _cliPkgRequires.util; J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable0(node, t2, t3, type$.UserDefinedCallable_Environment_2)); return null; }, - visitIfRule$1(node) { + visitIfRule$1(_, node) { var t1, t2, _i, clauseToCheck, clause = node.lastClause; for (t1 = node.clauses, t2 = t1.length, _i = 0; _i < t2; ++_i) { @@ -94825,7 +101195,7 @@ self.util = _cliPkgRequires.util; } return A.NullableExtension_andThen0(clause, new A._EvaluateVisitor_visitIfRule_closure1(this)); }, - visitImportRule$1(node) { + visitImportRule$1(_, node) { var t1, t2, t3, t4, t5, t6, _i, $import, t7, _0_0, $self, t8, _this = this, _s8_ = "__parent", _s5_ = "_root", @@ -94862,7 +101232,7 @@ self.util = _cliPkgRequires.util; return this._evaluate0$_withStackFrame$3("@import", $import, new A._EvaluateVisitor__visitDynamicImport_closure1(this, $import)); }, _evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, baseUrl, forImport) { - var _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, _3_0, result, error, stackTrace, error0, stackTrace0, message, t1, t2, t3, t4, exception, message0, _this = this, + var _0_0, importCache, _1_0, importer, canonicalUrl, originalUrl, isDependency, _2_0, stylesheet, _3_0, result, error, stackTrace, error0, stackTrace0, t1, t2, exception, _this = this, _s11_ = "_stylesheet"; baseUrl = baseUrl; try { @@ -94881,13 +101251,11 @@ self.util = _cliPkgRequires.util; importer = _1_0._0; canonicalUrl = _1_0._1; originalUrl = _1_0._2; + if (canonicalUrl.get$scheme() === "") + A.WarnForDeprecation_warnForDeprecation0(_this._evaluate0$_logger, B.Deprecation_fXI, "Importer " + A.S(importer) + " canonicalized " + url + " to " + A.S(canonicalUrl) + string$.x2e_Rela, null, null); _this._evaluate0$_loadedUrls.add$1(0, canonicalUrl); isDependency = _this._evaluate0$_inDependency || !J.$eq$(importer, _this._evaluate0$_importer); - t1 = importCache; - t2 = importer; - t3 = canonicalUrl; - t4 = originalUrl; - _2_0 = t1.importCanonical$4$originalUrl$quiet(t2, t3, t4, _this._evaluate0$_quietDeps && isDependency); + _2_0 = importCache.importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl); stylesheet = null; if (_2_0 != null) { stylesheet = _2_0; @@ -94925,14 +101293,7 @@ self.util = _cliPkgRequires.util; } else { error0 = t1; stackTrace0 = A.getTraceFromException(exception); - message = null; - try { - message = A._asString(J.get$message$x(error0)); - } catch (exception) { - message0 = J.toString$0$(error0); - message = message0; - } - A.throwWithTrace0(_this._evaluate0$_exception$1(message), error0, stackTrace0); + A.throwWithTrace0(_this._evaluate0$_exception$1(_this._evaluate0$_getErrorMessage$1(error0)), error0, stackTrace0); } } finally { _this._evaluate0$_importSpan = null; @@ -94945,11 +101306,11 @@ self.util = _cliPkgRequires.util; return this._evaluate0$_loadStylesheet$4$baseUrl$forImport(url, span, null, forImport); }, _importLikeNode$3(originalUrl, previous, forImport) { - var isDependency, url, t2, _this = this, - t1 = _this._nodeImporter, + var isDependency, url, + t1 = this._nodeImporter, result = t1.loadRelative$3(originalUrl, previous, forImport); if (result != null) - isDependency = _this._evaluate0$_inDependency; + isDependency = this._evaluate0$_inDependency; else { result = t1.load$3(0, originalUrl, previous, forImport); if (result == null) @@ -94958,11 +101319,10 @@ self.util = _cliPkgRequires.util; } url = result._1; t1 = B.JSString_methods.startsWith$1(url, "file") ? A.Syntax_forPath0(url) : B.Syntax_SCSS_scss0; - t2 = _this._evaluate0$_quietDeps && isDependency ? $.$get$Logger_quiet0() : _this._evaluate0$_logger; - return new A._Record_3_importer_isDependency(A.Stylesheet_Stylesheet$parse0(result._0, t1, t2, url), null, isDependency); + return new A._Record_3_importer_isDependency(A.Stylesheet_Stylesheet$parse0(result._0, t1, url), null, isDependency); }, _evaluate0$_applyMixin$5(mixin, contentCallable, $arguments, nodeWithSpan, nodeWithSpanWithoutContent) { - var t1, _0_0, _1_8, t2, _this = this, + var t1, _0_0, t2, _1_8, _this = this, _s37_ = "Mixin doesn't accept a content block.", _s10_ = "invocation"; $label0$0: { @@ -94979,14 +101339,12 @@ self.util = _cliPkgRequires.util; break $label0$0; } t1 = type$.UserDefinedCallable_Environment_2._is(mixin); + t2 = false; if (t1) { _1_8 = mixin.declaration; if (_1_8 instanceof A.MixinRule0) t2 = !type$.MixinRule_2._as(_1_8).get$hasContent() && contentCallable != null; - else - t2 = false; - } else - t2 = false; + } if (t2) throw A.wrapException(A.MultiSpanSassRuntimeException$0(_s37_, nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent), _s10_, A.LinkedHashMap_LinkedHashMap$_literal([mixin.declaration.$arguments.get$spanWithName(), "declaration"], type$.FileSpan, type$.String), _this._evaluate0$_stackTrace$1(nodeWithSpanWithoutContent.get$span(nodeWithSpanWithoutContent)), null)); if (t1) { @@ -94996,15 +101354,15 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.UnsupportedError$("Unknown callable type " + mixin.toString$0(0) + ".")); } }, - visitIncludeRule$1(node) { + visitIncludeRule$1(_, node) { var _this = this, mixin = _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitIncludeRule_closure5(_this, node)); if (B.JSString_methods.startsWith$1(node.originalName, "--") && mixin instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(mixin.declaration.originalName, "--")) - _this._evaluate0$_warn$3(string$.Sass__m, node.get$nameSpan(), B.Deprecation_qBS); + _this._evaluate0$_warn$3(string$.Sassx20_m, node.get$nameSpan(), B.Deprecation_omC); _this._evaluate0$_applyMixin$5(mixin, A.NullableExtension_andThen0(node.content, new A._EvaluateVisitor_visitIncludeRule_closure6(_this)), node.$arguments, node, new A._FakeAstNode0(new A._EvaluateVisitor_visitIncludeRule_closure7(node))); return null; }, - visitMixinRule$1(node) { + visitMixinRule$1(_, node) { var t1 = this._evaluate0$_environment, t2 = t1.closure$0(), t3 = this._evaluate0$_inDependency, @@ -95015,8 +101373,8 @@ self.util = _cliPkgRequires.util; J.$indexSet$ax(t4[index], t5, new A.UserDefinedCallable0(node, t2, t3, type$.UserDefinedCallable_Environment_2)); return null; }, - visitLoudComment$1(node) { - var t1, _this = this, + visitLoudComment$1(_, node) { + var t1, text, _this = this, _s8_ = "__parent", _s13_ = "_endOfImports"; if (_this._evaluate0$_inFunction) @@ -95024,15 +101382,18 @@ self.util = _cliPkgRequires.util; if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_) === _this._evaluate0$_assertInModule$2(_this._evaluate0$__root, "_root") && _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) === J.get$length$asx(_this._evaluate0$_assertInModule$2(_this._evaluate0$__root, "_root").children._collection$_source)) _this._evaluate0$__endOfImports = _this._evaluate0$_assertInModule$2(_this._evaluate0$__endOfImports, _s13_) + 1; t1 = node.text; - _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(new A.ModifiableCssComment0(_this._evaluate0$_performInterpolation$1(t1), t1.span)); + text = _this._evaluate0$_performInterpolation$1(t1); + if (!B.JSString_methods.endsWith$1(text, "*/")) + text += " */"; + _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(new A.ModifiableCssComment0(text, t1.span)); return null; }, - visitMediaRule$1(node) { + visitMediaRule$1(_, node) { var _0_0, queries, mergedQueries, t1, mergedSources, t2, t3, _this = this; if (_this._evaluate0$_declarationName != null) throw A.wrapException(_this._evaluate0$_exception$2(string$.Media_, node.span)); _0_0 = _this._evaluate0$_performInterpolationWithMap$2$warnForColor(node.query, true); - queries = A.CssMediaQuery_parseList0(_0_0._0, _0_0._1, _this._evaluate0$_logger); + queries = new A.MediaQueryParser0(A.SpanScanner$(_0_0._0, null), _0_0._1).parse$0(0); mergedQueries = A.NullableExtension_andThen0(_this._evaluate0$_mediaQueries, new A._EvaluateVisitor_visitMediaRule_closure5(_this, queries)); t1 = mergedQueries == null; if (!t1 && J.get$isEmpty$asx(mergedQueries)) @@ -95074,15 +101435,15 @@ self.util = _cliPkgRequires.util; } return queries; }, - visitReturnRule$1(node) { + visitReturnRule$1(_, node) { var t1 = node.expression; return this._evaluate0$_withoutSlash$2(t1.accept$1(this), t1); }, - visitSilentComment$1(node) { + visitSilentComment$1(_, node) { return null; }, - visitStyleRule$1(node) { - var t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, t4, t5, complex, visitor, t6, t7, t8, t9, _this = this, _null = null, + visitStyleRule$1(_, node) { + var t1, _0_0, selectorText, selectorMap, parsedSelector, nest, t2, _i, _1_0, first, t3, rule, oldAtRootExcludingStyleRule, _this = this, _null = null, _s8_ = "__parent", _s11_ = "_stylesheet"; if (_this._evaluate0$_declarationName != null) @@ -95094,10 +101455,10 @@ self.util = _cliPkgRequires.util; selectorText = _0_0._0; selectorMap = _0_0._1; if (_this._evaluate0$_inKeyframes) { - _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(new A.CssValue0(A.List_List$unmodifiable(A.KeyframeSelectorParser$0(selectorText, selectorMap, _this._evaluate0$_logger).parse$0(), type$.String), t1.span, type$.CssValue_List_String_2), node.span), new A._EvaluateVisitor_visitStyleRule_closure9(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure10(), type$.ModifiableCssKeyframeBlock_2, type$.Null); + _this._evaluate0$_withParent$2$4$scopeWhen$through(A.ModifiableCssKeyframeBlock$0(new A.CssValue0(A.List_List$unmodifiable(new A.KeyframeSelectorParser0(A.SpanScanner$(selectorText, _null), selectorMap).parse$0(0), type$.String), t1.span, type$.CssValue_List_String_2), node.span), new A._EvaluateVisitor_visitStyleRule_closure7(_this, node), node.hasDeclarations, new A._EvaluateVisitor_visitStyleRule_closure8(), type$.ModifiableCssKeyframeBlock_2, type$.Null); return _null; } - parsedSelector = A.SelectorList_SelectorList$parse0(selectorText, true, selectorMap, _this._evaluate0$_logger, _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss); + parsedSelector = A.SelectorList_SelectorList$parse0(selectorText, true, selectorMap, _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss); t1 = _this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot; t1 = t1 == null ? _null : t1.fromPlainCss; nest = t1 !== true; @@ -95122,27 +101483,40 @@ self.util = _cliPkgRequires.util; } rule = A.ModifiableCssStyleRule$0(_this._evaluate0$_assertInModule$2(_this._evaluate0$__extensionStore, "_extensionStore").addSelector$2(parsedSelector, _this._evaluate0$_mediaQueries), node.span, _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss, parsedSelector); oldAtRootExcludingStyleRule = _this._evaluate0$_atRootExcludingStyleRule; - _this._evaluate0$_atRootExcludingStyleRule = false; - t1 = nest ? new A._EvaluateVisitor_visitStyleRule_closure11() : _null; - _this._evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure12(_this, rule, node), node.hasDeclarations, t1, type$.ModifiableCssStyleRule_2, type$.Null); + t1 = _this._evaluate0$_atRootExcludingStyleRule = false; + t2 = nest ? new A._EvaluateVisitor_visitStyleRule_closure9() : _null; + _this._evaluate0$_withParent$2$4$scopeWhen$through(rule, new A._EvaluateVisitor_visitStyleRule_closure10(_this, rule, node), node.hasDeclarations, t2, type$.ModifiableCssStyleRule_2, type$.Null); _this._evaluate0$_atRootExcludingStyleRule = oldAtRootExcludingStyleRule; + _this._evaluate0$_warnForBogusCombinators$1(rule); + if ((_this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot) == null) { + t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children; + t1 = !t1.get$isEmpty(t1); + } + if (t1) { + t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children; + t1.get$last(t1).isGroupEnd = true; + } + return _null; + }, + _evaluate0$_warnForBogusCombinators$1(rule) { + var t1, t2, t3, t4, t5, _i, complex, visitor, t6, t7, t8, t9, _this = this, _null = null; if (!rule.accept$1(B._IsInvisibleVisitor_false_false0)) - for (t1 = parsedSelector.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { + for (t1 = rule._style_rule0$_selector._box0$_inner.value.components, t2 = t1.length, t3 = type$.SourceSpan, t4 = type$.String, t5 = rule.children, _i = 0; _i < t2; ++_i) { complex = t1[_i]; if (!complex.accept$1(B._IsBogusVisitor_true0)) continue; if (complex.accept$1(B.C__IsUselessVisitor0)) { - visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true); + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); - _this._evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG); + _this._evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix20, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_bh9); } else if (complex.leadingCombinators.length !== 0) { - if (!_this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, _s11_).plainCss) { - visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true); + if (!_this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, "_stylesheet").plainCss) { + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); - _this._evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_5pG); + _this._evaluate0$_warn$3('The selector "' + B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)) + string$.x22x20is_ix0a, A.SpanExtensions_trimRight0(complex.span), B.Deprecation_bh9); } } else { - visitor = A._SerializeVisitor$0(_null, true, _null, true, false, _null, true); + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); complex.accept$1(visitor); t6 = B.JSString_methods.trim$0(visitor._serialize0$_buffer.toString$0(0)); t7 = complex.accept$1(B._IsBogusVisitor_false0) ? string$.x20It_wi : ""; @@ -95150,21 +101524,11 @@ self.util = _cliPkgRequires.util; if (t5.get$length(0) === 0) A.throwExpression(A.IterableElementError_noElement()); t9 = J.get$span$z(t5.$index(0, 0)); - _this._evaluate0$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan0(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor_visitStyleRule_closure13()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_5pG); + _this._evaluate0$_warn$3('The selector "' + t6 + string$.x22x20is_o + t7 + string$.x0aThis_, new A.MultiSpan0(t8, "invalid selector", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([t9, "this is not a style rule" + (t5.every$1(t5, new A._EvaluateVisitor__warnForBogusCombinators_closure1()) ? "\n(try converting to a //-style comment)" : "")], t3, t4), t3, t4)), B.Deprecation_bh9); } } - if ((_this._evaluate0$_atRootExcludingStyleRule ? _null : _this._evaluate0$_styleRuleIgnoringAtRoot) == null) { - t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children; - t1 = !t1.get$isEmpty(t1); - } else - t1 = false; - if (t1) { - t1 = _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).children; - t1.get$last(t1).isGroupEnd = true; - } - return _null; }, - visitSupportsRule$1(node) { + visitSupportsRule$1(_, node) { var t1, _this = this; if (_this._evaluate0$_declarationName != null) throw A.wrapException(_this._evaluate0$_exception$2(string$.Suppor, node.span)); @@ -95237,7 +101601,7 @@ self.util = _cliPkgRequires.util; _evaluate0$_parenthesize$1(condition) { return this._evaluate0$_parenthesize$2(condition, null); }, - visitVariableDeclaration$1(node) { + visitVariableDeclaration$1(_, node) { var t2, value, _this = this, _null = null, t1 = {}; if (node.isGuarded) { if (node.namespace == null && _this._evaluate0$_environment._environment0$_variables.length === 1) { @@ -95260,13 +101624,13 @@ self.util = _cliPkgRequires.util; } if (node.isGlobal && !_this._evaluate0$_environment.globalVariableExists$1(node.name)) { t1 = _this._evaluate0$_environment._environment0$_variables.length === 1 ? string$.As_of_S : string$.As_of_R + A.declarationName0(node.span) + ": null` at the stylesheet root."; - _this._evaluate0$_warn$3(t1, node.span, B.Deprecation_W6Z); + _this._evaluate0$_warn$3(t1, node.span, B.Deprecation_MT8); } t1 = node.expression; _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableDeclaration_closure7(_this, node, _this._evaluate0$_withoutSlash$2(t1.accept$1(_this), t1))); return _null; }, - visitUseRule$1(node) { + visitUseRule$1(_, node) { var values, _i, variable, t3, variableNodeWithSpan, configuration, _this = this, t1 = node.configuration, t2 = t1.length; @@ -95285,17 +101649,17 @@ self.util = _cliPkgRequires.util; _this._evaluate0$_assertConfigurationIsEmpty$1(configuration); return null; }, - visitWarnRule$1(node) { + visitWarnRule$1(_, node) { var _this = this, value = _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitWarnRule_closure1(_this, node)), t1 = value instanceof A.SassString0 ? value._string0$_text : _this._evaluate0$_serialize$2(value, node.expression); _this._evaluate0$_logger.warn$2$trace(0, t1, _this._evaluate0$_stackTrace$1(node.span)); return null; }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this._evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitWhileRule_closure1(this, node), true, node.hasDeclarations, type$.nullable_Value_2); }, - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { var t1, _this = this; if (_this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, "_stylesheet").plainCss) { t1 = node.operator; @@ -95307,29 +101671,25 @@ self.util = _cliPkgRequires.util; return _this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitBinaryOperationExpression_closure1(_this, node)); }, _evaluate0$_slash$3(left, right, node) { - var t1, right0, _1_2, _1_1, _null = null, + var t2, _1_1, result = left.dividedBy$1(right), - _1_2_isSet = left instanceof A.SassNumber0; + _1_2_isSet = left instanceof A.SassNumber0, + _1_2 = null, right0 = null, + t1 = false; if (_1_2_isSet) { - t1 = type$.SassNumber_2; - t1._as(left); + t2 = type$.SassNumber_2; + t2._as(left); if (right instanceof A.SassNumber0) { - t1._as(right); + t2._as(right); t1 = node.allowsSlash && this._evaluate0$_operandAllowsSlash$1(node.left) && this._evaluate0$_operandAllowsSlash$1(node.right); right0 = right; _1_2 = right0; - } else { - right0 = _null; + } else _1_2 = right; - t1 = false; - } _1_1 = left; } else { - right0 = _null; - _1_2 = right0; _1_1 = left; - left = _1_2; - t1 = false; + left = null; } if (t1) return type$.SassNumber_2._as(result).withSlash$2(left, right0); @@ -95338,7 +101698,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) { - this._evaluate0$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation1().call$1(node)) + " or " + A.expressionToCalc0(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_E8a); + this._evaluate0$_warn$3(string$.Using__o + A.S(new A._EvaluateVisitor__slash_recommendation1().call$1(node)) + " or " + A.expressionToCalc0(node).toString$0(0) + string$.x0a_Morex20, node.get$span(0), B.Deprecation_q39); return result; } return result; @@ -95355,22 +101715,22 @@ self.util = _cliPkgRequires.util; t1 = true; return t1; }, - visitValueExpression$1(node) { + visitValueExpression$1(_, node) { return node.value; }, - visitVariableExpression$1(node) { + visitVariableExpression$1(_, node) { var result = this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitVariableExpression_closure1(this, node)); if (result != null) return result; throw A.wrapException(this._evaluate0$_exception$2("Undefined variable.", node.span)); }, - visitUnaryOperationExpression$1(node) { + visitUnaryOperationExpression$1(_, node) { return this._evaluate0$_addExceptionSpan$2(node, new A._EvaluateVisitor_visitUnaryOperationExpression_closure1(node, node.operand.accept$1(this))); }, - visitBooleanExpression$1(node) { + visitBooleanExpression$1(_, node) { return node.value ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - visitIfExpression$1(node) { + visitIfExpression$1(_, node) { var condition, t1, ifTrue, ifFalse, result, _this = this, _0_0 = _this._evaluate0$_evaluateMacroArguments$1(node), positional = _0_0._0, @@ -95397,24 +101757,24 @@ self.util = _cliPkgRequires.util; result = condition.accept$1(_this).get$isTruthy() ? ifTrue : ifFalse; return _this._evaluate0$_withoutSlash$2(result.accept$1(_this), _this._evaluate0$_expressionNode$1(result)); }, - visitNullExpression$1(node) { + visitNullExpression$1(_, node) { return B.C__SassNull0; }, - visitNumberExpression$1(node) { + visitNumberExpression$1(_, node) { return A.SassNumber_SassNumber0(node.value, node.unit); }, - visitParenthesizedExpression$1(node) { + visitParenthesizedExpression$1(_, node) { var _this = this; return _this._evaluate0$_assertInModule$2(_this._evaluate0$__stylesheet, "_stylesheet").plainCss ? A.throwExpression(_this._evaluate0$_exception$2("Parentheses aren't allowed in plain CSS.", node.span)) : node.expression.accept$1(_this); }, - visitColorExpression$1(node) { + visitColorExpression$1(_, node) { return node.value; }, - visitListExpression$1(node) { + visitListExpression$1(_, node) { var t1 = node.contents; return A.SassList$0(new A.MappedListIterable(t1, new A._EvaluateVisitor_visitListExpression_closure1(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), node.separator, node.hasBrackets); }, - visitMapExpression$1(node) { + visitMapExpression$1(_, node) { var t2, t3, _i, t4, key, value, keyValue, valueValue, oldValueSpan, t1 = type$.Value_2, map = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1), @@ -95439,7 +101799,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(map, t1, t1)); }, - visitFunctionExpression$1(node) { + visitFunctionExpression$1(_, node) { var t2, _0_0, t3, t4, oldInFunction, result, _this = this, _s11_ = "_stylesheet", t1 = {}, @@ -95465,7 +101825,7 @@ self.util = _cliPkgRequires.util; } else t2 = $function; if (B.JSString_methods.startsWith$1(node.originalName, "--") && t2 instanceof A.UserDefinedCallable0 && !B.JSString_methods.startsWith$1(t2.declaration.originalName, "--")) - _this._evaluate0$_warn$3(string$.Sass__ff, node.get$nameSpan(), B.Deprecation_qBS); + _this._evaluate0$_warn$3(string$.Sassx20_ff, node.get$nameSpan(), B.Deprecation_omC); oldInFunction = _this._evaluate0$_inFunction; _this._evaluate0$_inFunction = true; result = _this._evaluate0$_addErrorSpan$2(node, new A._EvaluateVisitor_visitFunctionExpression_closure7(t1, _this, node)); @@ -95661,7 +102021,7 @@ self.util = _cliPkgRequires.util; result = _this._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(inner, inLegacySassFunction); return result instanceof A.SassString0 ? new A.SassString0("(" + result._string0$_text + ")", false) : result; } - if (node instanceof A.StringExpression0 && node.accept$1(new A._IsCalculationSafeVisitor0())) { + if (node instanceof A.StringExpression0 && node.accept$1(B.C_IsCalculationSafeVisitor0)) { t1 = node.text; t2 = t1.get$asPlain(); _0_0 = t2 == null ? _null : t2.toLowerCase(); @@ -95826,7 +102186,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(this._evaluate0$_exception$2("Missing math operator.", previousNode.get$span(previousNode).expand$1(0, currentNode.get$span(currentNode)))); } }, - visitInterpolatedFunctionExpression$1(node) { + visitInterpolatedFunctionExpression$1(_, node) { var result, _this = this, t1 = _this._evaluate0$_performInterpolation$1(node.name), oldInFunction = _this._evaluate0$_inFunction; @@ -95899,7 +102259,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.ArgumentError$("Unknown callable type " + J.get$runtimeType$(callable).toString$0(0) + ".", null)); }, _evaluate0$_runBuiltInCallable$3($arguments, callable, nodeWithSpan) { - var result, error, stackTrace, message, namedSet, _0_0, declaredArguments, i, t1, argument, t2, t3, rest, argumentList, exception, message0, _this = this, _box_0 = {}, + var result, error, stackTrace, namedSet, _0_0, declaredArguments, i, t1, argument, t2, t3, rest, argumentList, exception, _this = this, _box_0 = {}, evaluated = _this._evaluate0$_evaluateArguments$1($arguments), oldCallableNode = _this._evaluate0$_callableNode; _this._evaluate0$_callableNode = nodeWithSpan; @@ -95925,7 +102285,7 @@ self.util = _cliPkgRequires.util; rest = B.JSArray_methods.sublist$1(evaluated._values[2], t1); B.JSArray_methods.removeRange$2(evaluated._values[2], t1, evaluated._values[2].length); } else - rest = B.List_empty19; + rest = B.List_empty20; t1 = evaluated._values[0]; argumentList = A.SassArgumentList$0(rest, t1, evaluated._values[4] === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : evaluated._values[4]); evaluated._values[2].push(argumentList); @@ -95941,14 +102301,7 @@ self.util = _cliPkgRequires.util; else { error = t1; stackTrace = A.getTraceFromException(exception); - message = null; - try { - message = A._asString(J.get$message$x(error)); - } catch (exception) { - message0 = J.toString$0$(error); - message = message0; - } - A.throwWithTrace0(_this._evaluate0$_exception$2(message, nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); + A.throwWithTrace0(_this._evaluate0$_exception$2(_this._evaluate0$_getErrorMessage$1(error), nodeWithSpan.get$span(nodeWithSpan)), error, stackTrace); } } _this._evaluate0$_callableNode = oldCallableNode; @@ -96065,45 +102418,45 @@ self.util = _cliPkgRequires.util; _evaluate0$_verifyArguments$4(positional, named, $arguments, nodeWithSpan) { return this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__verifyArguments_closure1($arguments, positional, named)); }, - visitSelectorExpression$1(node) { + visitSelectorExpression$1(_, node) { var t1 = this._evaluate0$_styleRuleIgnoringAtRoot; t1 = t1 == null ? null : t1.originalSelector.get$asSassList(); return t1 == null ? B.C__SassNull0 : t1; }, - visitStringExpression$1(node) { - var t1, t2, t3, t4, _i, value, t5, _0_0, text, _this = this, + visitStringExpression$1(_, node) { + var t1, t2, t3, _i, value, t4, _0_0, text, _this = this, oldInSupportsDeclaration = _this._evaluate0$_inSupportsDeclaration; _this._evaluate0$_inSupportsDeclaration = false; t1 = A._setArrayType([], type$.JSArray_String); - for (t2 = node.text.contents, t3 = t2.length, t4 = type$.Expression_2, _i = 0; _i < t3; ++_i) { + for (t2 = node.text.contents, t3 = t2.length, _i = 0; _i < t3; ++_i) { value = t2[_i]; $label0$0: { if (typeof value == "string") { - t5 = value; + t4 = value; break $label0$0; } - if (t4._is(value)) { + if (value instanceof A.Expression0) { _0_0 = value.accept$1(_this); $label1$1: { if (_0_0 instanceof A.SassString0) { text = _0_0._string0$_text; - t5 = text; + t4 = text; break $label1$1; } - t5 = _this._evaluate0$_serialize$3$quote(_0_0, value, false); + t4 = _this._evaluate0$_serialize$3$quote(_0_0, value, false); break $label1$1; } break $label0$0; } - t5 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); + t4 = A.throwExpression(A.UnsupportedError$("Unknown interpolation value " + A.S(value))); } - t1.push(t5); + t1.push(t4); } t1 = B.JSArray_methods.join$0(t1); _this._evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration; return new A.SassString0(t1, node.hasQuotes); }, - visitSupportsExpression$1(expression) { + visitSupportsExpression$1(_, expression) { return new A.SassString0(this._evaluate0$_visitSupportsCondition$1(expression.condition), false); }, visitCssAtRule$1(node) { @@ -96134,7 +102487,7 @@ self.util = _cliPkgRequires.util; _this._evaluate0$_assertInModule$2(_this._evaluate0$__parent, _s8_).addChild$1(new A.ModifiableCssComment0(node.text, node.span)); }, visitCssDeclaration$1(node) { - this._evaluate0$_assertInModule$2(this._evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$0(node.name, node.value, node.span, node.parsedAsCustomProperty, node.valueSpanForMap)); + this._evaluate0$_assertInModule$2(this._evaluate0$__parent, "__parent").addChild$1(A.ModifiableCssDeclaration$0(node.name, node.value, node.span, null, node.parsedAsCustomProperty, null, node.valueSpanForMap)); }, visitCssImport$1(node) { var t1, _this = this, @@ -96274,35 +102627,32 @@ self.util = _cliPkgRequires.util; return new A._Record_2(_0_0._0, map); }, _evaluate0$_performInterpolationHelper$3$sourceMap$warnForColor(interpolation, sourceMap, warnForColor) { - var t1, t2, t3, t4, t5, t6, t7, first, _i, t8, value, result, t9, result0, _this = this, _null = null, + var t1, t2, t3, t4, t5, t6, first, _i, t7, value, result, result0, t8, _this = this, _null = null, targetLocations = sourceMap ? A._setArrayType([], type$.JSArray_SourceLocation) : _null, oldInSupportsDeclaration = _this._evaluate0$_inSupportsDeclaration; _this._evaluate0$_inSupportsDeclaration = false; - for (t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression_2, t4 = targetLocations == null, t5 = type$.JSArray_Object, t6 = interpolation.span, t7 = type$.Object, first = true, _i = 0, t8 = ""; _i < t2; ++_i, first = false) { + for (t1 = interpolation.contents, t2 = t1.length, t3 = type$.Expression_2, t4 = targetLocations == null, t5 = interpolation.span, t6 = type$.Object, first = true, _i = 0, t7 = ""; _i < t2; ++_i, first = false) { value = t1[_i]; if (!first) if (!t4) - targetLocations.push(A.SourceLocation$(t8.length, _null, _null, _null)); + targetLocations.push(A.SourceLocation$(t7.length, _null, _null, _null)); if (typeof value == "string") { - t8 += value; + t7 += value; continue; } t3._as(value); result = value.accept$1(_this); if (warnForColor && $.$get$namesByColor0().containsKey$1(result)) { - t9 = A._setArrayType([""], t5); - result0 = A.List_List$from(t9, false, t7); + result0 = A.List_List$from([""], false, t6); result0.fixed$length = Array; result0.immutable$list = Array; - result0 = new A.Interpolation0(result0, t6); - result0.Interpolation$20(t9, t6); - t9 = $.$get$namesByColor0(); - _this._evaluate0$_warn$2(string$.You_pr + A.S(t9.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t9.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression0(B.BinaryOperator_u150, new A.StringExpression0(result0, true), value, false).toString$0(0) + "'.", value.get$span(value)); + t8 = $.$get$namesByColor0(); + _this._evaluate0$_warn$2(string$.You_pr + A.S(t8.$index(0, result)) + string$.x20in_in + result.toString$0(0) + string$.x2c_whicw + A.S(t8.$index(0, result)) + string$.x22x29__If + new A.BinaryOperationExpression0(B.BinaryOperator_u150, new A.StringExpression0(new A.Interpolation0(result0, B.List_null, t5), true), value, false).toString$0(0) + "'.", value.get$span(value)); } - t8 += _this._evaluate0$_serialize$3$quote(result, value, false); + t7 += _this._evaluate0$_serialize$3$quote(result, value, false); } _this._evaluate0$_inSupportsDeclaration = oldInSupportsDeclaration; - return new A._Record_2(t8.charCodeAt(0) == 0 ? t8 : t8, A.NullableExtension_andThen0(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure1(interpolation))); + return new A._Record_2(t7.charCodeAt(0) == 0 ? t7 : t7, A.NullableExtension_andThen0(targetLocations, new A._EvaluateVisitor__performInterpolationHelper_closure1(interpolation))); }, _evaluate0$_serialize$3$quote(value, nodeWithSpan, quote) { return this._evaluate0$_addExceptionSpan$2(nodeWithSpan, new A._EvaluateVisitor__serialize_closure1(value, quote)); @@ -96404,7 +102754,7 @@ self.util = _cliPkgRequires.util; else t1 = false; if (t1) - this._evaluate0$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation1().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_E8a); + this._evaluate0$_warn$3(string$.Using__i + A.S(new A._EvaluateVisitor__withoutSlash_recommendation1().call$1(value)) + string$.x0a_Morex20, nodeForSpan.get$span(nodeForSpan), B.Deprecation_q39); return value.withoutSlash$0(); }, _evaluate0$_stackFrame$2(member, span) { @@ -96533,7 +102883,21 @@ self.util = _cliPkgRequires.util; }, _evaluate0$_addErrorSpan$2(nodeWithSpan, callback) { return this._evaluate0$_addErrorSpan$1$2(nodeWithSpan, callback, type$.dynamic); - } + }, + _evaluate0$_getErrorMessage$1(error) { + var t1, exception; + if (type$.Error._is(error)) + return error.toString$0(0); + try { + t1 = A._asString(J.get$message$x(error)); + return t1; + } catch (exception) { + t1 = J.toString$0$(error); + return t1; + } + }, + $isExpressionVisitor: 1, + $isStatementVisitor: 1 }; A._EvaluateVisitor_closure25.prototype = { call$1($arguments) { @@ -96546,7 +102910,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-"); return t1.globalVariableExists$2$namespace(t2, module == null ? null : module._string0$_text) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure26.prototype = { call$1($arguments) { @@ -96554,7 +102918,7 @@ self.util = _cliPkgRequires.util; t1 = this.$this._evaluate0$_environment; return t1.getVariable$1(A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-")) != null ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure27.prototype = { call$1($arguments) { @@ -96569,7 +102933,7 @@ self.util = _cliPkgRequires.util; t4 = A.stringReplaceAllUnchecked(t3, "_", "-"); return t2.getFunction$2$namespace(t4, module == null ? null : module._string0$_text) != null || t1._evaluate0$_builtInFunctions.containsKey$1(t3) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure28.prototype = { call$1($arguments) { @@ -96582,7 +102946,7 @@ self.util = _cliPkgRequires.util; t2 = A.stringReplaceAllUnchecked(variable._string0$_text, "_", "-"); return t1.getMixin$2$namespace(t2, module == null ? null : module._string0$_text) != null ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure29.prototype = { call$1($arguments) { @@ -96591,7 +102955,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$0(string$.conten, null)); return t1._environment0$_content != null ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._EvaluateVisitor_closure30.prototype = { call$1($arguments) { @@ -96608,7 +102972,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._EvaluateVisitor_closure31.prototype = { call$1($arguments) { @@ -96625,7 +102989,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._EvaluateVisitor_closure32.prototype = { call$1($arguments) { @@ -96642,7 +103006,7 @@ self.util = _cliPkgRequires.util; } return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._EvaluateVisitor_closure33.prototype = { call$1($arguments) { @@ -96665,7 +103029,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Function not found: " + $name.toString$0(0)); return new A.SassFunction0(callable); }, - $signature: 137 + $signature: 169 }; A._EvaluateVisitor__closure10.prototype = { call$0() { @@ -96679,7 +103043,7 @@ self.util = _cliPkgRequires.util; return local; return t1._evaluate0$_builtInFunctions.$index(0, normalizedName); }, - $signature: 88 + $signature: 109 }; A._EvaluateVisitor_closure34.prototype = { call$1($arguments) { @@ -96696,7 +103060,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException("Mixin not found: " + $name.toString$0(0)); return new A.SassMixin0(callable); }, - $signature: 241 + $signature: 171 }; A._EvaluateVisitor__closure9.prototype = { call$0() { @@ -96705,7 +103069,7 @@ self.util = _cliPkgRequires.util; t3 = this.module; return t1.getMixin$2$namespace(t2, t3 == null ? null : t3._string0$_text); }, - $signature: 88 + $signature: 109 }; A._EvaluateVisitor_closure35.prototype = { call$1($arguments) { @@ -96736,11 +103100,11 @@ self.util = _cliPkgRequires.util; } invocation = new A.ArgumentInvocation0(A.List_List$unmodifiable(t3, t5), A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_empty(t4, t5), t4, t5), new A.ValueExpression0(args, t7), t2, t6); if ($function instanceof A.SassString0) { - A.warnForDeprecation0(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_MMc); + A.warnForDeprecation0(string$.Passina + $function.toString$0(0) + "))", B.Deprecation_U43); callableNode = t1._evaluate0$_callableNode; t2 = $function._string0$_text; t3 = callableNode.get$span(callableNode); - return t1.visitFunctionExpression$1(new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); + return t1.visitFunctionExpression$1(0, new A.FunctionExpression0(null, A.stringReplaceAllUnchecked(t2, "_", "-"), t2, invocation, t3)); } callable = $function.assertFunction$1("function").callable; if (type$.Callable_2._is(callable)) { @@ -96772,7 +103136,7 @@ self.util = _cliPkgRequires.util; t1._evaluate0$_loadModule$7$baseUrl$configuration$namesInErrors(url, "load-css()", t2, new A._EvaluateVisitor__closure8(t1), t3.get$sourceUrl(t3), configuration, true); t1._evaluate0$_assertConfigurationIsEmpty$2$nameInError(configuration, true); }, - $signature: 192 + $signature: 226 }; A._EvaluateVisitor__closure7.prototype = { call$2(variable, value) { @@ -96783,14 +103147,14 @@ self.util = _cliPkgRequires.util; throw A.wrapException("The variable $" + $name + " was configured twice."); t1.$indexSet(0, $name, new A.ConfiguredValue0(value, this.span, this.callableNode)); }, - $signature: 94 + $signature: 97 }; A._EvaluateVisitor__closure8.prototype = { call$2(module, _) { var t1 = this.$this; return t1._evaluate0$_combineCss$2$clone(module, true).accept$1(t1); }, - $signature: 87 + $signature: 93 }; A._EvaluateVisitor_closure37.prototype = { call$1($arguments) { @@ -96803,7 +103167,7 @@ self.util = _cliPkgRequires.util; t2 = callableNode.get$span(callableNode); t3 = callableNode.get$span(callableNode); t4 = type$.Expression_2; - t5 = A.List_List$unmodifiable(B.List_empty20, t4); + t5 = A.List_List$unmodifiable(B.List_empty21, t4); t4 = A.ConstantMap_ConstantMap$from(B.Map_empty14, type$.String, t4); callable = mixin.assertMixin$1("mixin").callable; $content = t1._evaluate0$_environment._environment0$_content; @@ -96812,7 +103176,7 @@ self.util = _cliPkgRequires.util; else throw A.wrapException(A.SassScriptException$0("The mixin " + callable.get$name(callable) + string$.x20is_as, null)); }, - $signature: 192 + $signature: 226 }; A._EvaluateVisitor_run_closure1.prototype = { call$0() { @@ -96831,13 +103195,13 @@ self.util = _cliPkgRequires.util; module = t2._evaluate0$_addExceptionTrace$1(new A._EvaluateVisitor_run__closure1(t2, _this.importer, t1)); return new A._Record_2_loadedUrls_stylesheet(t2._evaluate0$_loadedUrls, t2._evaluate0$_combineCss$1(module)); }, - $signature: 429 + $signature: 456 }; A._EvaluateVisitor_run__closure1.prototype = { call$0() { return this.$this._evaluate0$_execute$2(this.importer, this.node); }, - $signature: 430 + $signature: 457 }; A._EvaluateVisitor__loadModule_closure3.prototype = { call$0() { @@ -96887,7 +103251,7 @@ self.util = _cliPkgRequires.util; call$1(previousLoad) { return this.$this._evaluate0$_multiSpanException$3(this.message, "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 95 + $signature: 98 }; A._EvaluateVisitor__loadModule__closure4.prototype = { call$0() { @@ -96926,7 +103290,7 @@ self.util = _cliPkgRequires.util; t6 = _this.configuration; if (t6 != null) t1._evaluate0$_configuration = t6; - t1.visitStylesheet$1(t3); + t1.visitStylesheet$1(0, t3); t3 = t1._evaluate0$_outOfOrderImports == null ? t5 : new A.CssStylesheet0(new A.UnmodifiableListView(t1._evaluate0$_addOutOfOrderImports$0(), type$.UnmodifiableListView_CssNode_2), t4); _this.css.__late_helper$_value = t3; _this.preModuleComments.__late_helper$_value = t1._evaluate0$_preModuleComments; @@ -96952,13 +103316,13 @@ self.util = _cliPkgRequires.util; call$1(module) { return module.get$transitivelyContainsCss(); }, - $signature: 123 + $signature: 127 }; A._EvaluateVisitor__combineCss_closure4.prototype = { call$1(target) { return !this.selectors.contains$1(0, target); }, - $signature: 15 + $signature: 14 }; A._EvaluateVisitor__combineCss_visitModule1.prototype = { call$1(module) { @@ -96984,19 +103348,19 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t4, t1.getRange$2(statements, 0, index)); B.JSArray_methods.addAll$1(t3, t1.getRange$2(statements, index, t1.get$length(statements))); }, - $signature: 431 + $signature: 458 }; A._EvaluateVisitor__extendModules_closure3.prototype = { call$1(target) { return !this.originalSelectors.contains$1(0, target); }, - $signature: 15 + $signature: 14 }; A._EvaluateVisitor__extendModules_closure4.prototype = { call$0() { return A._setArrayType([], type$.JSArray_ExtensionStore_2); }, - $signature: 234 + $signature: 167 }; A._EvaluateVisitor_visitAtRootRule_closure3.prototype = { call$0() { @@ -97060,7 +103424,7 @@ self.util = _cliPkgRequires.util; call$1($parent) { return $parent instanceof A.ModifiableCssAtRule0; }, - $signature: 232 + $signature: 175 }; A._EvaluateVisitor__scopeForAtRoot_closure16.prototype = { call$1(callback) { @@ -97095,13 +103459,13 @@ self.util = _cliPkgRequires.util; t2 = this.nodeWithSpan; return t1._evaluate0$_environment.setLocalVariable$3(this._box_0.variable, t1._evaluate0$_withoutSlash$2(value, t2), t2); }, - $signature: 63 + $signature: 61 }; A._EvaluateVisitor_visitEachRule_closure6.prototype = { call$1(value) { return this.$this._evaluate0$_setMultipleVariables$3(this._box_0.variables, value, this.nodeWithSpan); }, - $signature: 63 + $signature: 61 }; A._EvaluateVisitor_visitEachRule_closure7.prototype = { call$0() { @@ -97109,7 +103473,7 @@ self.util = _cliPkgRequires.util; t1 = _this.$this; return t1._evaluate0$_handleReturn$2(_this.list.get$asList(), new A._EvaluateVisitor_visitEachRule__closure1(t1, _this.setVariables, _this.node)); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitEachRule__closure1.prototype = { call$1(element) { @@ -97118,19 +103482,19 @@ self.util = _cliPkgRequires.util; t1 = this.$this; return t1._evaluate0$_handleReturn$2(this.node.children, new A._EvaluateVisitor_visitEachRule___closure1(t1)); }, - $signature: 190 + $signature: 228 }; A._EvaluateVisitor_visitEachRule___closure1.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 83 + $signature: 91 }; A._EvaluateVisitor_visitAtRule_closure5.prototype = { call$1(value) { return this.$this._evaluate0$_interpolationToValue$3$trim$warnForColor(value, true, true); }, - $signature: 434 + $signature: 461 }; A._EvaluateVisitor_visitAtRule_closure6.prototype = { call$0() { @@ -97163,13 +103527,13 @@ self.util = _cliPkgRequires.util; call$0() { return this.node.from.accept$1(this.$this).assertNumber$0(); }, - $signature: 240 + $signature: 230 }; A._EvaluateVisitor_visitForRule_closure10.prototype = { call$0() { return this.node.to.accept$1(this.$this).assertNumber$0(); }, - $signature: 240 + $signature: 230 }; A._EvaluateVisitor_visitForRule_closure11.prototype = { call$0() { @@ -97200,13 +103564,13 @@ self.util = _cliPkgRequires.util; } return null; }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitForRule__closure1.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 83 + $signature: 91 }; A._EvaluateVisitor_visitForwardRule_closure3.prototype = { call$2(module, firstLoad) { @@ -97214,7 +103578,7 @@ self.util = _cliPkgRequires.util; this.$this._evaluate0$_registerCommentsForModule$1(module); this.$this._evaluate0$_environment.forwardModule$2(module, this.node); }, - $signature: 87 + $signature: 93 }; A._EvaluateVisitor_visitForwardRule_closure4.prototype = { call$2(module, firstLoad) { @@ -97222,33 +103586,33 @@ self.util = _cliPkgRequires.util; this.$this._evaluate0$_registerCommentsForModule$1(module); this.$this._evaluate0$_environment.forwardModule$2(module, this.node); }, - $signature: 87 + $signature: 93 }; A._EvaluateVisitor__registerCommentsForModule_closure1.prototype = { call$0() { return A._setArrayType([], type$.JSArray_CssComment_2); }, - $signature: 228 + $signature: 182 }; A._EvaluateVisitor_visitIfRule_closure1.prototype = { call$1(clause) { var t1 = this.$this; return t1._evaluate0$_environment.scope$1$3$semiGlobal$when(new A._EvaluateVisitor_visitIfRule__closure1(t1, clause), true, clause.hasDeclarations, type$.nullable_Value_2); }, - $signature: 436 + $signature: 463 }; A._EvaluateVisitor_visitIfRule__closure1.prototype = { call$0() { var t1 = this.$this; return t1._evaluate0$_handleReturn$2(this.clause.children, new A._EvaluateVisitor_visitIfRule___closure1(t1)); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitIfRule___closure1.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 83 + $signature: 91 }; A._EvaluateVisitor__visitDynamicImport_closure1.prototype = { call$0() { @@ -97280,7 +103644,7 @@ self.util = _cliPkgRequires.util; t1._evaluate0$_importer = importer; t1._evaluate0$__stylesheet = stylesheet; t1._evaluate0$_inDependency = isDependency; - t1.visitStylesheet$1(stylesheet); + t1.visitStylesheet$1(0, stylesheet); t1._evaluate0$_importer = oldImporter; t1._evaluate0$__stylesheet = t2; t1._evaluate0$_inDependency = oldInDependency; @@ -97326,19 +103690,19 @@ self.util = _cliPkgRequires.util; call$1(previousLoad) { return this.$this._evaluate0$_multiSpanException$3("This file is already being loaded.", "new load", A.LinkedHashMap_LinkedHashMap$_literal([previousLoad.get$span(previousLoad), "original load"], type$.FileSpan, type$.String)); }, - $signature: 95 + $signature: 98 }; A._EvaluateVisitor__visitDynamicImport__closure8.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 227 + $signature: 183 }; A._EvaluateVisitor__visitDynamicImport__closure9.prototype = { call$1(rule) { return rule.url.get$scheme() !== "sass"; }, - $signature: 226 + $signature: 184 }; A._EvaluateVisitor__visitDynamicImport__closure10.prototype = { call$0() { @@ -97368,7 +103732,7 @@ self.util = _cliPkgRequires.util; t7 = new A.UnmodifiableListView(t6.stylesheet._stylesheet1$_forwards, type$.UnmodifiableListView_ForwardRule_2); if (!t7.get$isEmpty(t7)) t1._evaluate0$_configuration = _this.environment.toImplicitConfiguration$0(); - t1.visitStylesheet$1(t6.stylesheet); + t1.visitStylesheet$1(0, t6.stylesheet); t6 = t8 ? t1._evaluate0$_addOutOfOrderImports$0() : A._setArrayType([], type$.JSArray_ModifiableCssNode_2); _this.children.__late_helper$_value = t6; t1._evaluate0$_importer = oldImporter; @@ -97426,33 +103790,33 @@ self.util = _cliPkgRequires.util; call$0() { return this.statement.accept$1(this.$this); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitIncludeRule_closure5.prototype = { call$0() { var t1 = this.node; return this.$this._evaluate0$_environment.getMixin$2$namespace(t1.name, t1.namespace); }, - $signature: 88 + $signature: 109 }; A._EvaluateVisitor_visitIncludeRule_closure6.prototype = { call$1($content) { var t1 = this.$this; return new A.UserDefinedCallable0($content, t1._evaluate0$_environment.closure$0(), t1._evaluate0$_inDependency, type$.UserDefinedCallable_Environment_2); }, - $signature: 437 + $signature: 464 }; A._EvaluateVisitor_visitIncludeRule_closure7.prototype = { call$0() { return this.node.get$spanWithoutContent(); }, - $signature: 26 + $signature: 29 }; A._EvaluateVisitor_visitMediaRule_closure5.prototype = { call$1(mediaQueries) { return this.$this._evaluate0$_mergeMediaQueries$2(mediaQueries, this.queries); }, - $signature: 101 + $signature: 105 }; A._EvaluateVisitor_visitMediaRule_closure6.prototype = { call$0() { @@ -97498,7 +103862,7 @@ self.util = _cliPkgRequires.util; }, $signature: 8 }; - A._EvaluateVisitor_visitStyleRule_closure9.prototype = { + A._EvaluateVisitor_visitStyleRule_closure7.prototype = { call$0() { var t1, t2, t3, _i; for (t1 = this.node.children, t2 = t1.length, t3 = this.$this, _i = 0; _i < t2; ++_i) @@ -97506,13 +103870,13 @@ self.util = _cliPkgRequires.util; }, $signature: 1 }; - A._EvaluateVisitor_visitStyleRule_closure10.prototype = { + A._EvaluateVisitor_visitStyleRule_closure8.prototype = { call$1(node) { return node instanceof A.ModifiableCssStyleRule0; }, $signature: 8 }; - A._EvaluateVisitor_visitStyleRule_closure12.prototype = { + A._EvaluateVisitor_visitStyleRule_closure10.prototype = { call$0() { var t1 = this.$this; t1._evaluate0$_withStyleRule$2(this.rule, new A._EvaluateVisitor_visitStyleRule__closure1(t1, this.node)); @@ -97527,17 +103891,17 @@ self.util = _cliPkgRequires.util; }, $signature: 1 }; - A._EvaluateVisitor_visitStyleRule_closure11.prototype = { + A._EvaluateVisitor_visitStyleRule_closure9.prototype = { call$1(node) { return node instanceof A.ModifiableCssStyleRule0; }, $signature: 8 }; - A._EvaluateVisitor_visitStyleRule_closure13.prototype = { + A._EvaluateVisitor__warnForBogusCombinators_closure1.prototype = { call$1(child) { return child instanceof A.ModifiableCssComment0; }, - $signature: 108 + $signature: 8 }; A._EvaluateVisitor_visitSupportsRule_closure3.prototype = { call$0() { @@ -97577,7 +103941,7 @@ self.util = _cliPkgRequires.util; t2 = t2.declaration.value; return "(" + t3 + ":" + t4 + t1._evaluate0$_serialize$3$quote(t2.accept$1(t1), t2, true) + ")"; }, - $signature: 25 + $signature: 31 }; A._EvaluateVisitor_visitVariableDeclaration_closure5.prototype = { call$0() { @@ -97592,7 +103956,7 @@ self.util = _cliPkgRequires.util; var t1 = this.node; return this.$this._evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitVariableDeclaration_closure7.prototype = { call$0() { @@ -97631,13 +103995,13 @@ self.util = _cliPkgRequires.util; t1._environment0$_allModules.push(module); } }, - $signature: 87 + $signature: 93 }; A._EvaluateVisitor_visitWarnRule_closure1.prototype = { call$0() { return this.node.expression.accept$1(this.$this); }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor_visitWhileRule_closure1.prototype = { call$0() { @@ -97649,13 +104013,13 @@ self.util = _cliPkgRequires.util; } return null; }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitWhileRule__closure1.prototype = { call$1(child) { return child.accept$1(this.$this); }, - $signature: 83 + $signature: 91 }; A._EvaluateVisitor_visitBinaryOperationExpression_closure1.prototype = { call$0() { @@ -97711,7 +104075,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor__slash_recommendation1.prototype = { call$1(expression) { @@ -97730,14 +104094,14 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 135 + $signature: 112 }; A._EvaluateVisitor_visitVariableExpression_closure1.prototype = { call$0() { var t1 = this.node; return this.$this._evaluate0$_environment.getVariable$2$namespace(t1.name, t1.namespace); }, - $signature: 40 + $signature: 44 }; A._EvaluateVisitor_visitUnaryOperationExpression_closure1.prototype = { call$0() { @@ -97760,33 +104124,33 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor_visitListExpression_closure1.prototype = { call$1(expression) { return expression.accept$1(this.$this); }, - $signature: 438 + $signature: 465 }; A._EvaluateVisitor_visitFunctionExpression_closure5.prototype = { call$0() { var t1 = this.node; return this.$this._evaluate0$_environment.getFunction$2$namespace(t1.name, t1.namespace); }, - $signature: 88 + $signature: 109 }; A._EvaluateVisitor_visitFunctionExpression_closure6.prototype = { call$1(argument) { - return argument.accept$1(new A._IsCalculationSafeVisitor0()); + return argument.accept$1(B.C_IsCalculationSafeVisitor0); }, - $signature: 107 + $signature: 137 }; A._EvaluateVisitor_visitFunctionExpression_closure7.prototype = { call$0() { var t1 = this.node; return this.$this._evaluate0$_runFunctionCallable$3(t1.$arguments, this._box_0.$function, t1); }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor__checkCalculationArguments_check1.prototype = { call$1(maxArgs) { @@ -97800,7 +104164,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.call$1(null); }, - $signature: 96 + $signature: 99 }; A._EvaluateVisitor__visitCalculationExpression_closure1.prototype = { call$0() { @@ -97810,14 +104174,14 @@ self.util = _cliPkgRequires.util; t3 = _this.inLegacySassFunction; return A.SassCalculation_operateInternal0(t1._evaluate0$_binaryOperatorToCalculationOperator$2(t2.operator, _this.node), t1._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2.left, t3), t1._evaluate0$_visitCalculationExpression$2$inLegacySassFunction(t2.right, t3), t3, !t1._evaluate0$_inSupportsDeclaration); }, - $signature: 80 + $signature: 83 }; A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure1.prototype = { call$0() { var t1 = this.node; return this.$this._evaluate0$_runFunctionCallable$3(t1.$arguments, this.$function, t1); }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor__runUserDefinedCallable_closure1.prototype = { call$0() { @@ -97848,23 +104212,23 @@ self.util = _cliPkgRequires.util; t2 = _this.evaluated._values, t3 = _this.callable.declaration.$arguments, t4 = _this.nodeWithSpan; - t1._evaluate0$_verifyArguments$4(J.get$length$asx(t2[2]), t2[0], t3, t4); + t1._evaluate0$_verifyArguments$4(t2[2].length, t2[0], t3, t4); declaredArguments = t3.$arguments; t5 = declaredArguments.length; - minLength = Math.min(J.get$length$asx(t2[2]), t5); + minLength = Math.min(t2[2].length, t5); for (i = 0; i < minLength; ++i) - t1._evaluate0$_environment.setLocalVariable$3(declaredArguments[i].name, J.$index$asx(t2[2], i), J.$index$asx(t2[3], i)); - for (i = J.get$length$asx(t2[2]); i < t5; ++i) { + t1._evaluate0$_environment.setLocalVariable$3(declaredArguments[i].name, t2[2][i], t2[3][i]); + for (i = t2[2].length; i < t5; ++i) { argument = declaredArguments[i]; t6 = t2[0]; t7 = argument.name; - value = J.remove$1$z(t6, t7); + value = t6.remove$1(0, t7); if (value == null) { t6 = argument.defaultValue; value = t1._evaluate0$_withoutSlash$2(t6.accept$1(t1), t1._evaluate0$_expressionNode$1(t6)); } t6 = t1._evaluate0$_environment; - t8 = J.$index$asx(t2[1], t7); + t8 = t2[1].$index(0, t7); if (t8 == null) { t8 = argument.defaultValue; t8.toString; @@ -97874,7 +104238,8 @@ self.util = _cliPkgRequires.util; } restArgument = t3.restArgument; if (restArgument != null) { - rest = J.get$length$asx(t2[2]) > t5 ? J.sublist$1$ax(t2[2], t5) : B.List_empty19; + t6 = t2[2]; + rest = t6.length > t5 ? B.JSArray_methods.sublist$1(t6, t5) : B.List_empty20; t5 = t2[0]; t6 = t2[4]; argumentList = A.SassArgumentList$0(rest, t5, t6 === B.ListSeparator_undecided_null_undecided0 ? B.ListSeparator_ECn0 : t6); @@ -97902,7 +104267,7 @@ self.util = _cliPkgRequires.util; call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__runFunctionCallable_closure1.prototype = { call$0() { @@ -97914,11 +104279,11 @@ self.util = _cliPkgRequires.util; } throw A.wrapException(t4._evaluate0$_exception$2("Function finished without @return.", t1.span)); }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor__runBuiltInCallable_closure5.prototype = { call$0() { - return this._box_0.overload.verify$2(J.get$length$asx(this.evaluated._values[2]), this.namedSet); + return this._box_0.overload.verify$2(this.evaluated._values[2].length, this.namedSet); }, $signature: 0 }; @@ -97926,25 +104291,25 @@ self.util = _cliPkgRequires.util; call$0() { return this._box_0.callback.call$1(this.evaluated._values[2]); }, - $signature: 43 + $signature: 48 }; A._EvaluateVisitor__runBuiltInCallable_closure7.prototype = { call$1($name) { return "$" + $name; }, - $signature: 5 + $signature: 6 }; A._EvaluateVisitor__evaluateArguments_closure7.prototype = { call$1(value) { return value; }, - $signature: 41 + $signature: 43 }; A._EvaluateVisitor__evaluateArguments_closure8.prototype = { call$1(value) { return this.$this._evaluate0$_withoutSlash$2(value, this.restNodeForSpan); }, - $signature: 41 + $signature: 43 }; A._EvaluateVisitor__evaluateArguments_closure9.prototype = { call$2(key, value) { @@ -97953,27 +104318,27 @@ self.util = _cliPkgRequires.util; _this.named.$indexSet(0, key, _this.$this._evaluate0$_withoutSlash$2(value, t1)); _this.namedNodes.$indexSet(0, key, t1); }, - $signature: 100 + $signature: 108 }; A._EvaluateVisitor__evaluateArguments_closure10.prototype = { call$1(value) { return value; }, - $signature: 41 + $signature: 43 }; A._EvaluateVisitor__evaluateMacroArguments_closure7.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression0(value, t1.get$span(t1)); }, - $signature: 61 + $signature: 66 }; A._EvaluateVisitor__evaluateMacroArguments_closure8.prototype = { call$1(value) { var t1 = this.restArgs; return new A.ValueExpression0(this.$this._evaluate0$_withoutSlash$2(value, this.restNodeForSpan), t1.get$span(t1)); }, - $signature: 61 + $signature: 66 }; A._EvaluateVisitor__evaluateMacroArguments_closure9.prototype = { call$2(key, value) { @@ -97981,14 +104346,14 @@ self.util = _cliPkgRequires.util; t1 = _this.restArgs; _this.named.$indexSet(0, key, new A.ValueExpression0(_this.$this._evaluate0$_withoutSlash$2(value, _this.restNodeForSpan), t1.get$span(t1))); }, - $signature: 100 + $signature: 108 }; A._EvaluateVisitor__evaluateMacroArguments_closure10.prototype = { call$1(value) { var t1 = this.keywordRestArgs; return new A.ValueExpression0(this.$this._evaluate0$_withoutSlash$2(value, this.keywordRestNodeForSpan), t1.get$span(t1)); }, - $signature: 61 + $signature: 66 }; A._EvaluateVisitor__addRestMap_closure1.prototype = { call$2(key, value) { @@ -98001,7 +104366,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(t1._evaluate0$_exception$2(string$.Variab_ + key.toString$0(0) + " is not a string in " + _this.map.toString$0(0) + ".", t2.get$span(t2))); } }, - $signature: 94 + $signature: 97 }; A._EvaluateVisitor__verifyArguments_closure1.prototype = { call$0() { @@ -98045,7 +104410,7 @@ self.util = _cliPkgRequires.util; call$1(mediaQueries) { return this.$this._evaluate0$_mergeMediaQueries$2(mediaQueries, this.node.queries); }, - $signature: 101 + $signature: 105 }; A._EvaluateVisitor_visitCssMediaRule_closure6.prototype = { call$0() { @@ -98153,30 +104518,29 @@ self.util = _cliPkgRequires.util; call$1(targetLocations) { return A.InterpolationMap$0(this.interpolation, targetLocations); }, - $signature: 219 + $signature: 194 }; A._EvaluateVisitor__serialize_closure1.prototype = { call$0() { return A.serializeValue0(this.value, false, this.quote); }, - $signature: 25 + $signature: 31 }; A._EvaluateVisitor__expressionNode_closure1.prototype = { call$0() { var t1 = this.expression; return this.$this._evaluate0$_environment.getVariableNode$2$namespace(t1.name, t1.namespace); }, - $signature: 218 + $signature: 195 }; A._EvaluateVisitor__withoutSlash_recommendation1.prototype = { call$1(number) { - var t1, before, after, + var before, after, t1, _1_0 = number.asSlash; $label0$0: { if (type$.Record_2_nullable_Object_and_nullable_Object._is(_1_0)) { - t1 = type$.SassNumber_2; - before = t1._as(_1_0._0); - after = t1._as(_1_0._1); + before = _1_0._0; + after = _1_0._1; t1 = "math.div(" + A.S(this.call$1(before)) + ", " + A.S(this.call$1(after)) + ")"; break $label0$0; } @@ -98185,7 +104549,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 217 + $signature: 196 }; A._EvaluateVisitor__stackFrame_closure1.prototype = { call$1(url) { @@ -98193,7 +104557,7 @@ self.util = _cliPkgRequires.util; t1 = t1 == null ? null : t1.humanize$1(url); return t1 == null ? url : t1; }, - $signature: 46 + $signature: 50 }; A._ImportedCssVisitor1.prototype = { visitCssAtRule$1(node) { @@ -98365,19 +104729,19 @@ self.util = _cliPkgRequires.util; A.LinkedHashMap_LinkedHashMap$_literal(["sassMessage", new A.exceptionClass__closure(), "sassStack", new A.exceptionClass__closure0(), "span", new A.exceptionClass__closure1()], type$.String, type$.Function).forEach$1(0, A.JSClassExtension_get_defineGetter(jsClass)); return jsClass; }, - $signature: 13 + $signature: 16 }; A.exceptionClass__closure.prototype = { call$1(exception) { return J.get$_dartException$x(exception)._span_exception$_message; }, - $signature: 262 + $signature: 231 }; A.exceptionClass__closure0.prototype = { call$1(exception) { return J.get$trace$z(J.get$_dartException$x(exception)).toString$0(0); }, - $signature: 262 + $signature: 231 }; A.exceptionClass__closure1.prototype = { call$1(exception) { @@ -98385,7 +104749,7 @@ self.util = _cliPkgRequires.util; t2 = J.getInterceptor$z(t1); return A.SourceSpanException.prototype.get$span.call(t2, t1); }, - $signature: 440 + $signature: 467 }; A.SassException0.prototype = { get$trace(_) { @@ -98555,97 +104919,64 @@ self.util = _cliPkgRequires.util; }; A.Exports.prototype = {}; A.LoggerNamespace.prototype = {}; - A._IsCalculationSafeVisitor0.prototype = { - visitBinaryOperationExpression$1(node) { - var t1; - if (B.Set_mqKz0.contains$1(0, node.operator)) - t1 = node.left.accept$1(this) || node.right.accept$1(this); - else - t1 = false; - return t1; + A.Expression0.prototype = {$isAstNode0: 1, $isSassNode: 1}; + A.JSExpressionVisitor.prototype = { + visitBinaryOperationExpression$1(_, node) { + return J.visitBinaryOperationExpression$1$x(this._expression$_inner, node); }, - visitBooleanExpression$1(node) { - return false; + visitBooleanExpression$1(_, node) { + return J.visitBooleanExpression$1$x(this._expression$_inner, node); }, - visitColorExpression$1(node) { - return false; + visitColorExpression$1(_, node) { + return J.visitColorExpression$1$x(this._expression$_inner, node); }, - visitFunctionExpression$1(node) { - return true; + visitInterpolatedFunctionExpression$1(_, node) { + return J.visitInterpolatedFunctionExpression$1$x(this._expression$_inner, node); }, - visitInterpolatedFunctionExpression$1(node) { - return true; + visitFunctionExpression$1(_, node) { + return J.visitFunctionExpression$1$x(this._expression$_inner, node); }, - visitIfExpression$1(node) { - return true; + visitIfExpression$1(_, node) { + return J.visitIfExpression$1$x(this._expression$_inner, node); }, - visitListExpression$1(node) { - var t1; - if (node.separator === B.ListSeparator_nbm0) - if (!node.hasBrackets) { - t1 = node.contents; - t1 = t1.length > 1 && B.JSArray_methods.every$1(t1, new A._IsCalculationSafeVisitor_visitListExpression_closure0(this)); - } else - t1 = false; - else - t1 = false; - return t1; + visitListExpression$1(_, node) { + return J.visitListExpression$1$x(this._expression$_inner, node); }, - visitMapExpression$1(node) { - return false; + visitMapExpression$1(_, node) { + return J.visitMapExpression$1$x(this._expression$_inner, node); }, - visitNullExpression$1(node) { - return false; + visitNullExpression$1(_, node) { + return J.visitNullExpression$1$x(this._expression$_inner, node); }, - visitNumberExpression$1(node) { - return true; + visitNumberExpression$1(_, node) { + return J.visitNumberExpression$1$x(this._expression$_inner, node); }, - visitParenthesizedExpression$1(node) { - return node.expression.accept$1(this); + visitParenthesizedExpression$1(_, node) { + return J.visitParenthesizedExpression$1$x(this._expression$_inner, node); }, - visitSelectorExpression$1(node) { - return false; + visitSelectorExpression$1(_, node) { + return J.visitSelectorExpression$1$x(this._expression$_inner, node); }, - visitStringExpression$1(node) { - var text, t1, t2; - if (node.hasQuotes) - return false; - text = node.text.get$initialPlain(); - if (!B.JSString_methods.startsWith$1(text, "!")) - if (!B.JSString_methods.startsWith$1(text, "#")) { - t1 = text.length; - if ((1 >= t1 ? null : text.charCodeAt(1)) !== 43) { - t2 = (3 >= t1 ? null : text.charCodeAt(3)) !== 40; - t1 = t2; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; - return t1; + visitStringExpression$1(_, node) { + return J.visitStringExpression$1$x(this._expression$_inner, node); }, - visitSupportsExpression$1(node) { - return false; + visitSupportsExpression$1(_, node) { + return J.visitSupportsExpression$1$x(this._expression$_inner, node); }, - visitUnaryOperationExpression$1(node) { - return false; + visitUnaryOperationExpression$1(_, node) { + return J.visitUnaryOperationExpression$1$x(this._expression$_inner, node); }, - visitValueExpression$1(node) { - return false; + visitValueExpression$1(_, node) { + return J.visitValueExpression$1$x(this._expression$_inner, node); }, - visitVariableExpression$1(node) { - return true; - } - }; - A._IsCalculationSafeVisitor_visitListExpression_closure0.prototype = { - call$1(expression) { - return expression.accept$1(this.$this); - }, - $signature: 107 + visitVariableExpression$1(_, node) { + return J.visitVariableExpression$1$x(this._expression$_inner, node); + }, + $isExpressionVisitor: 1 }; + A.JSExpressionVisitorObject.prototype = {}; A._MakeExpressionCalculationSafe0.prototype = { - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { var t1, t2, t3, t4; if (node.operator === B.BinaryOperator_KNx0) { t1 = A._setArrayType([node], type$.JSArray_Expression_2); @@ -98656,13 +104987,13 @@ self.util = _cliPkgRequires.util; t4 = node.get$span(0); t1 = new A.FunctionExpression0("math", A.stringReplaceAllUnchecked("max", "_", "-"), "max", new A.ArgumentInvocation0(t1, t3, null, null, t2), t4); } else - t1 = this.super$ReplaceExpressionVisitor$visitBinaryOperationExpression0(node); + t1 = this.super$ReplaceExpressionVisitor$visitBinaryOperationExpression0(0, node); return t1; }, - visitInterpolatedFunctionExpression$1(node) { + visitInterpolatedFunctionExpression$1(_, node) { return node; }, - visitUnaryOperationExpression$1(node) { + visitUnaryOperationExpression$1(_, node) { var t1, _0_0 = node.operator; $label0$0: { @@ -98674,16 +105005,17 @@ self.util = _cliPkgRequires.util; t1 = new A.BinaryOperationExpression0(B.BinaryOperator_2No0, new A.NumberExpression0(-1, null, node.span), node.operand, false); break $label0$0; } - t1 = this.super$ReplaceExpressionVisitor$visitUnaryOperationExpression0(node); + t1 = this.super$ReplaceExpressionVisitor$visitUnaryOperationExpression0(0, node); break $label0$0; } return t1; - } + }, + $isExpressionVisitor: 1 }; A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0.prototype = {}; A.ExtendRule0.prototype = { accept$1$1(visitor) { - return visitor.visitExtendRule$1(this); + return visitor.visitExtendRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -98693,8 +105025,6 @@ self.util = _cliPkgRequires.util; t2 = this.isOptional ? " !optional" : ""; return "@extend " + t1 + t2 + ";"; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -99393,10 +105723,8 @@ self.util = _cliPkgRequires.util; return A._setArrayType([pseudo.withSelector$1(A.SelectorList$0(complexes, selector.span))], type$.JSArray_PseudoSelector_2); }, _extension_store$_trim$2(selectors, isOriginal) { - var result, i, t1, t2, numOriginals, _box_0, complex1, j, t3, t4, _i, t5, maxSpecificity; - if (selectors.length > 100) - return selectors; - result = A.QueueList$(null, type$.ComplexSelector_2); + var i, t1, t2, numOriginals, _box_0, complex1, j, t3, t4, _i, t5, maxSpecificity, + result = A.QueueList$(null, type$.ComplexSelector_2); $label0$0: for (i = selectors.length - 1, t1 = A._arrayInstanceType(selectors), t2 = t1._precomputed1, t1 = t1._eval$1("SubListIterable<1>"), numOriginals = 0; i >= 0; --i) { _box_0 = {}; @@ -99461,25 +105789,25 @@ self.util = _cliPkgRequires.util; call$1(extension) { return !extension.isOptional; }, - $signature: 441 + $signature: 468 }; A.ExtensionStore__registerSelector_closure0.prototype = { call$0() { return A.LinkedHashSet_LinkedHashSet$_empty(type$.ModifiableBox_SelectorList_2); }, - $signature: 442 + $signature: 469 }; A.ExtensionStore_addExtension_closure2.prototype = { call$0() { return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector_2, type$.Extension_2); }, - $signature: 127 + $signature: 131 }; A.ExtensionStore_addExtension_closure3.prototype = { call$0() { return A._setArrayType([], type$.JSArray_Extension_2); }, - $signature: 251 + $signature: 233 }; A.ExtensionStore_addExtension_closure4.prototype = { call$0() { @@ -99491,26 +105819,26 @@ self.util = _cliPkgRequires.util; call$0() { return A._setArrayType([], type$.JSArray_Extension_2); }, - $signature: 251 + $signature: 233 }; A.ExtensionStore__extendExistingExtensions_closure2.prototype = { call$0() { return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector_2, type$.Extension_2); }, - $signature: 127 + $signature: 131 }; A.ExtensionStore_addExtensions_closure0.prototype = { call$0() { return A.LinkedHashMap_LinkedHashMap$_empty(type$.ComplexSelector_2, type$.Extension_2); }, - $signature: 127 + $signature: 131 }; A.ExtensionStore__extendComplex_closure0.prototype = { call$1(path) { var t1 = this.complex; return J.map$1$1$ax(A.weave0(path, t1.span, t1.lineBreak), new A.ExtensionStore__extendComplex__closure0(this._box_0, this.$this, t1), type$.ComplexSelector_2); }, - $signature: 445 + $signature: 472 }; A.ExtensionStore__extendComplex__closure0.prototype = { call$1(outputComplex) { @@ -99521,25 +105849,25 @@ self.util = _cliPkgRequires.util; t1.first = false; return outputComplex; }, - $signature: 56 + $signature: 59 }; A.ExtensionStore__extendCompound_closure2.prototype = { call$1(extender) { return B.JSArray_methods.get$last(extender.selector.components).selector.components; }, - $signature: 447 + $signature: 474 }; A.ExtensionStore__extendCompound_closure3.prototype = { call$1(_) { return false; }, - $signature: 18 + $signature: 20 }; A.ExtensionStore__extendCompound_closure4.prototype = { call$1(complex) { return complex.$eq(0, this.original); }, - $signature: 18 + $signature: 20 }; A.ExtensionStore__extendSimple_withoutPseudo0.prototype = { call$1(simple) { @@ -99558,38 +105886,38 @@ self.util = _cliPkgRequires.util; t1.push(t2.get$current(t2).extender); return t1; }, - $signature: 448 + $signature: 475 }; A.ExtensionStore__extendSimple_closure1.prototype = { call$1(pseudo) { var t1 = this.withoutPseudo.call$1(pseudo); return t1 == null ? A._setArrayType([this.$this._extension_store$_extenderForSimple$1(pseudo)], type$.JSArray_Extender_2) : t1; }, - $signature: 449 + $signature: 476 }; A.ExtensionStore__extendSimple_closure2.prototype = { call$1(result) { return A._setArrayType([result], type$.JSArray_List_Extender_2); }, - $signature: 450 + $signature: 477 }; A.ExtensionStore__extendPseudo_closure4.prototype = { call$1(complex) { return complex.components.length > 1; }, - $signature: 18 + $signature: 20 }; A.ExtensionStore__extendPseudo_closure5.prototype = { call$1(complex) { return complex.components.length === 1; }, - $signature: 18 + $signature: 20 }; A.ExtensionStore__extendPseudo_closure6.prototype = { call$1(complex) { return complex.components.length <= 1; }, - $signature: 18 + $signature: 20 }; A.ExtensionStore__extendPseudo_closure7.prototype = { call$1(complex) { @@ -99633,25 +105961,25 @@ self.util = _cliPkgRequires.util; return A._setArrayType([], type$.JSArray_ComplexSelector_2); } }, - $signature: 451 + $signature: 478 }; A.ExtensionStore__extendPseudo_closure8.prototype = { call$1(complex) { return this.pseudo.withSelector$1(A.SelectorList$0(A._setArrayType([complex], type$.JSArray_ComplexSelector_2), this.selector.span)); }, - $signature: 452 + $signature: 479 }; A.ExtensionStore__trim_closure1.prototype = { call$1(complex2) { return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1); }, - $signature: 18 + $signature: 20 }; A.ExtensionStore__trim_closure2.prototype = { call$1(complex2) { return complex2.get$specificity() >= this._box_0.maxSpecificity && complex2.isSuperselector$1(this.complex1); }, - $signature: 18 + $signature: 20 }; A.ExtensionStore_clone_closure0.prototype = { call$2(simple, selectors) { @@ -99669,7 +105997,7 @@ self.util = _cliPkgRequires.util; t6.$indexSet(0, newSelector, _0_0); } }, - $signature: 453 + $signature: 480 }; A.FiberClass.prototype = {}; A.Fiber.prototype = {}; @@ -99705,7 +106033,7 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this._file0$_findFileUrl.call$2(this.url.toString$0(0), A.canonicalizeContext0()); }, - $signature: 31 + $signature: 37 }; A.FilesystemImporter0.prototype = { canonicalize$1(_, url) { @@ -99717,7 +106045,7 @@ self.util = _cliPkgRequires.util; else { resolved = A.resolveImportPath0(A.join(this._filesystem$_loadPath, $.$get$context().style.pathFromUri$1(A._parseUri(url)), null)); if (resolved != null && this._filesystem$_loadPathDeprecated) - A.warnForDeprecation0(string$.Using_t, B.Deprecation_kmo); + A.warnForDeprecation0(string$.Using_t, B.Deprecation_cI8); } return A.NullableExtension_andThen0(resolved, new A.FilesystemImporter_canonicalize_closure0()); }, @@ -99753,11 +106081,11 @@ self.util = _cliPkgRequires.util; } return t2.toUri$1(t1); }, - $signature: 142 + $signature: 128 }; A.ForRule0.prototype = { accept$1$1(visitor) { - return visitor.visitForRule$1(this); + return visitor.visitForRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -99775,7 +106103,7 @@ self.util = _cliPkgRequires.util; }; A.ForwardRule0.prototype = { accept$1$1(visitor) { - return visitor.visitForwardRule$1(this); + return visitor.visitForwardRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -99810,8 +106138,6 @@ self.util = _cliPkgRequires.util; t1.push("$" + t2.get$current(0)); return B.JSArray_methods.join$1(t1, ", "); }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -99910,7 +106236,7 @@ self.util = _cliPkgRequires.util; return A.SpanExtensions_initialIdentifier0(A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier0(this.span), 1, null)); }, accept$1$1(visitor) { - return visitor.visitFunctionExpression$1(this); + return visitor.visitFunctionExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -99921,18 +106247,39 @@ self.util = _cliPkgRequires.util; t1 += this.originalName + this.$arguments.toString$0(0); return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } }; A.JSFunction0.prototype = {}; A.SupportsFunction0.prototype = { + toInterpolation$0() { + var t4, t5, + t1 = new A.StringBuffer(""), + t2 = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), + t3 = this.name; + t2.addInterpolation$1(t3); + t4 = this.$arguments; + t5 = t4.span; + t3 = A.SpanExtensions_between(t3.span, t5); + t3 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t3.file._decodedChars, t3._file$_start, t3._end), 0, null); + t1._contents += t3; + t2.addInterpolation$1(t4); + t4 = this.span; + t5 = A.SpanExtensions_after(t4, t5); + t5 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t5.file._decodedChars, t5._file$_start, t5._end), 0, null); + t1._contents += t5; + return t2.interpolation$1(t4); + }, + withSpan$1(span) { + return new A.SupportsFunction0(this.name, this.$arguments, span); + }, toString$0(_) { return this.name.toString$0(0) + "(" + this.$arguments.toString$0(0) + ")"; }, $isAstNode0: 1, + $isSassNode: 1, + $isSupportsCondition: 1, get$span(receiver) { return this.span; } @@ -99944,7 +106291,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(new A.SassFunction0(A.BuiltInCallable$function0("f", "", new A.functionClass__closure0(), null)).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.functionClass__closure.prototype = { call$3($self, signature, callback) { @@ -99955,7 +106302,7 @@ self.util = _cliPkgRequires.util; }, "call*": "call$3", $requiredArgCount: 3, - $signature: 454 + $signature: 481 }; A.functionClass__closure0.prototype = { call$1(_) { @@ -99993,7 +106340,7 @@ self.util = _cliPkgRequires.util; }; A.FunctionRule0.prototype = { accept$1$1(visitor) { - return visitor.visitFunctionRule$1(this); + return visitor.visitFunctionRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -100007,7 +106354,7 @@ self.util = _cliPkgRequires.util; call$1(complex) { return complex.lineBreak; }, - $signature: 18 + $signature: 20 }; A._weaveParents_closure3.prototype = { call$2(group1, group2) { @@ -100030,31 +106377,31 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 455 + $signature: 482 }; A._weaveParents_closure4.prototype = { call$1(sequence) { return A._complexIsParentSuperselector0(sequence.get$first(sequence), this.group); }, - $signature: 250 + $signature: 235 }; A._weaveParents_closure5.prototype = { call$1(sequence) { return sequence.get$length(0) === 0; }, - $signature: 250 + $signature: 235 }; A._weaveParents_closure6.prototype = { call$1(choice) { return J.get$isNotEmpty$asx(choice); }, - $signature: 457 + $signature: 484 }; A._mustUnify_closure0.prototype = { call$1(component) { return B.JSArray_methods.any$1(component.selector.components, new A._mustUnify__closure0(this.uniqueSelectors)); }, - $signature: 51 + $signature: 55 }; A._mustUnify__closure0.prototype = { call$1(simple) { @@ -100065,7 +106412,7 @@ self.util = _cliPkgRequires.util; t1 = true; return t1 && this.uniqueSelectors.contains$1(0, simple); }, - $signature: 15 + $signature: 14 }; A.paths_closure0.prototype = { call$2(paths, choice) { @@ -100100,25 +106447,25 @@ self.util = _cliPkgRequires.util; call$1(complex1) { return B.JSArray_methods.any$1(this.list1, new A.listIsSuperselector__closure0(complex1)); }, - $signature: 18 + $signature: 20 }; A.listIsSuperselector__closure0.prototype = { call$1(complex2) { return complex2.isSuperselector$1(this.complex1); }, - $signature: 18 + $signature: 20 }; A.complexIsSuperselector_closure1.prototype = { call$1($parent) { return $parent.combinators.length > 1; }, - $signature: 51 + $signature: 55 }; A.complexIsSuperselector_closure2.prototype = { call$1(component) { return A._isSupercombinator0(this.combinator1, A.IterableExtension_get_firstOrNull(component.combinators)); }, - $signature: 51 + $signature: 55 }; A._compatibleWithPreviousCombinator_closure0.prototype = { call$1(component) { @@ -100131,13 +106478,19 @@ self.util = _cliPkgRequires.util; t1 = true; return t1; }, - $signature: 51 + $signature: 55 + }; + A.compoundIsSuperselector_closure0.prototype = { + call$1(simple1) { + return B.JSArray_methods.any$1(this.compound2.components, simple1.get$isSuperselector()); + }, + $signature: 14 }; A._selectorPseudoIsSuperselector_closure6.prototype = { call$1(selector2) { return A.listIsSuperselector0(this.selector1.components, selector2.components); }, - $signature: 70 + $signature: 73 }; A._selectorPseudoIsSuperselector_closure7.prototype = { call$1(complex1) { @@ -100154,19 +106507,19 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 18 + $signature: 20 }; A._selectorPseudoIsSuperselector_closure8.prototype = { call$1(selector2) { return A.listIsSuperselector0(this.selector1.components, selector2.components); }, - $signature: 70 + $signature: 73 }; A._selectorPseudoIsSuperselector_closure9.prototype = { call$1(selector2) { return A.listIsSuperselector0(this.selector1.components, selector2.components); }, - $signature: 70 + $signature: 73 }; A._selectorPseudoIsSuperselector_closure10.prototype = { call$1(complex) { @@ -100174,11 +106527,11 @@ self.util = _cliPkgRequires.util; return false; return B.JSArray_methods.any$1(this.compound2.components, new A._selectorPseudoIsSuperselector__closure0(complex, this.pseudo1)); }, - $signature: 18 + $signature: 20 }; A._selectorPseudoIsSuperselector__closure0.prototype = { call$1(simple2) { - var t1, _0_4, selector2, _this = this; + var t1, selector2, _0_4, _this = this; $label0$1: { if (simple2 instanceof A.TypeSelector0) { t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure1(simple2)); @@ -100188,18 +106541,14 @@ self.util = _cliPkgRequires.util; t1 = B.JSArray_methods.any$1(B.JSArray_methods.get$last(_this.complex.components).selector.components, new A._selectorPseudoIsSuperselector___closure2(simple2)); break $label0$1; } + selector2 = null; + t1 = false; if (simple2 instanceof A.PseudoSelector0) { _0_4 = simple2.selector; if (_0_4 != null) { selector2 = _0_4 == null ? type$.SelectorList_2._as(_0_4) : _0_4; t1 = simple2.name === _this.pseudo1.name; - } else { - selector2 = null; - t1 = false; } - } else { - selector2 = null; - t1 = false; } if (t1) { t1 = A.listIsSuperselector0(selector2.components, A._setArrayType([_this.complex], type$.JSArray_ComplexSelector_2)); @@ -100210,7 +106559,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 15 + $signature: 14 }; A._selectorPseudoIsSuperselector___closure1.prototype = { call$1(simple1) { @@ -100222,7 +106571,7 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 15 + $signature: 14 }; A._selectorPseudoIsSuperselector___closure2.prototype = { call$1(simple1) { @@ -100234,14 +106583,14 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 15 + $signature: 14 }; A._selectorPseudoIsSuperselector_closure11.prototype = { call$1(selector2) { var t1 = B.C_ListEquality.equals$2(0, this.selector1.components, selector2.components); return t1; }, - $signature: 70 + $signature: 73 }; A._selectorPseudoIsSuperselector_closure12.prototype = { call$1(pseudo2) { @@ -100258,19 +106607,19 @@ self.util = _cliPkgRequires.util; return false; return A.listIsSuperselector0(this.selector1.components, selector2.components); }, - $signature: 15 + $signature: 14 }; A._selectorPseudoArgs_closure1.prototype = { call$1(pseudo) { return pseudo.isClass === this.isClass && pseudo.name === this.name; }, - $signature: 459 + $signature: 486 }; A._selectorPseudoArgs_closure2.prototype = { call$1(pseudo) { return pseudo.selector; }, - $signature: 460 + $signature: 487 }; A.globalFunctions_closure0.prototype = { call$1($arguments) { @@ -100279,6 +106628,65 @@ self.util = _cliPkgRequires.util; }, $signature: 3 }; + A.GamutMapMethod0.prototype = { + toString$0(_) { + return this.name; + } + }; + A.HslColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + get$isLegacyInternal() { + return true; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, hue, saturation, lightness, alpha) { + var t1 = hue == null, + scaledHue = B.JSNumber_methods.$mod((t1 ? 0 : hue) / 360, 1), + t2 = saturation == null, + scaledSaturation = (t2 ? 0 : saturation) / 100, + t3 = lightness == null, + scaledLightness = (t3 ? 0 : lightness) / 100, + m2 = scaledLightness <= 0.5 ? scaledLightness * (scaledSaturation + 1) : scaledLightness + scaledSaturation - scaledLightness * scaledSaturation, + m1 = scaledLightness * 2 - m2; + return B.SrgbColorSpace_AD40.convert$8$missingChroma$missingHue$missingLightness(dest, A.hueToRgb0(m1, m2, scaledHue + 0.3333333333333333), A.hueToRgb0(m1, m2, scaledHue), A.hueToRgb0(m1, m2, scaledHue - 0.3333333333333333), alpha, t2, t1, t3); + } + }; + A.HwbColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + get$isLegacyInternal() { + return true; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, hue, whiteness, blackness, alpha) { + var t3, t1 = {}, + t2 = hue == null, + scaledHue = B.JSNumber_methods.$mod(t2 ? 0 : hue, 360) / 360, + scaledWhiteness = t1.scaledWhiteness = (whiteness == null ? 0 : whiteness) / 100, + scaledBlackness = (blackness == null ? 0 : blackness) / 100, + sum = scaledWhiteness + scaledBlackness; + if (sum > 1) { + t3 = t1.scaledWhiteness = scaledWhiteness / sum; + scaledBlackness /= sum; + } else + t3 = scaledWhiteness; + t3 = new A.HwbColorSpace_convert_toRgb0(t1, 1 - t3 - scaledBlackness); + return B.SrgbColorSpace_AD40.convert$6$missingHue(dest, t3.call$1(scaledHue + 0.3333333333333333), t3.call$1(scaledHue), t3.call$1(scaledHue - 0.3333333333333333), alpha, t2); + } + }; + A.HwbColorSpace_convert_toRgb0.prototype = { + call$1(hue) { + return A.hueToRgb0(0, 1, hue) * this.factor + this._box_0.scaledWhiteness; + }, + $signature: 15 + }; A.IDSelector0.prototype = { get$specificity() { return A._asInt(Math.pow(A.SimpleSelector0.prototype.get$specificity.call(this), 2)); @@ -100315,11 +106723,11 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 15 + $signature: 14 }; A.IfExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitIfExpression$1(this); + return visitor.visitIfExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -100327,15 +106735,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "if" + this.$arguments.toString$0(0); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } }; A.IfRule0.prototype = { accept$1$1(visitor) { - return visitor.visitIfRule$1(this); + return visitor.visitIfRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -100345,8 +106751,6 @@ self.util = _cliPkgRequires.util; lastClause = this.lastClause; return lastClause != null ? result + (" " + lastClause.toString$0(0)) : result; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -100356,7 +106760,7 @@ self.util = _cliPkgRequires.util; var t1 = index === 0 ? "if" : "else if"; return "@" + t1 + " " + clause.expression.toString$0(0) + " {" + B.JSArray_methods.join$1(clause.children, " ") + "}"; }, - $signature: 461 + $signature: 488 }; A.IfRuleClause0.prototype = {}; A.IfRuleClause$__closure0.prototype = { @@ -100376,13 +106780,13 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 249 + $signature: 237 }; A.IfRuleClause$___closure0.prototype = { call$1($import) { return $import instanceof A.DynamicImport0; }, - $signature: 245 + $signature: 238 }; A.IfClause0.prototype = { toString$0(_) { @@ -100402,7 +106806,7 @@ self.util = _cliPkgRequires.util; }, "call*": "call$3", $requiredArgCount: 3, - $signature: 464 + $signature: 491 }; A.NodeImporter.prototype = { loadRelative$3(url, previous, forImport) { @@ -100596,26 +107000,26 @@ self.util = _cliPkgRequires.util; var _this = this; return J.apply$2$x(_this.importer, _this.$this._renderContext$1(_this.forImport), A._setArrayType([_this.url, _this.previousString], type$.JSArray_Object)); }, - $signature: 31 + $signature: 37 }; A.NodeImporter__tryPath_closure.prototype = { call$0() { return A.resolveImportPath0(this.path); }, - $signature: 44 + $signature: 46 }; A.NodeImporter__tryPath_closure0.prototype = { call$1(resolved) { return new A._Record_2(A.readFile0(resolved), $.$get$context().toUri$1(resolved).toString$0(0)); }, - $signature: 465 + $signature: 492 }; A.NodeImporter__callImporterAsync_closure.prototype = { call$0() { var _this = this; return J.apply$2$x(_this.importer, _this.$this._renderContext$1(_this.forImport), A._setArrayType([_this.url, _this.previousString, A.allowInterop(_this.completer.get$complete())], type$.JSArray_Object)); }, - $signature: 31 + $signature: 37 }; A.ModifiableCssImport0.prototype = { accept$1$1(visitor) { @@ -100630,7 +107034,7 @@ self.util = _cliPkgRequires.util; }; A.ImportCache0.prototype = { canonicalize$4$baseImporter$baseUrl$forImport(_, url, baseImporter, baseUrl, forImport) { - var t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, _1_2, result, _2_0, _2_1, _2_5_isSet, _2_3, _2_5, _2_3_isSet, j, _this = this, _null = null; + var t1, resolvedUrl, key, relativeResult, t2, t3, t4, t5, t6, cacheable, i, importer, perImporterKey, t7, _1_0, _1_2_isSet, result, _1_2, _2_0, _2_1, _2_5_isSet, _2_5, _2_3, _2_3_isSet, j, _this = this, _null = null; if (A.isBrowser()) t1 = (baseImporter == null || baseImporter instanceof A.NoOpImporter0) && _this._import_cache$_importers.length === 0; else @@ -100659,17 +107063,16 @@ self.util = _cliPkgRequires.util; } else _1_0 = _null; _1_2_isSet = t3._is(_1_0); + result = _null; if (_1_2_isSet) { _1_2 = _1_0._0; t7 = _1_2 != null; if (t7) { t6._as(_1_2); result = _1_2; - } else - result = _null; + } } else { - result = _null; - _1_2 = result; + _1_2 = _null; t7 = false; } if (t7) @@ -100684,18 +107087,17 @@ self.util = _cliPkgRequires.util; _2_0 = _this._import_cache$_canonicalize$4(importer, url, baseUrl, forImport); _2_1 = _2_0._0; _2_5_isSet = _2_1 != null; + _2_5 = _null; + _2_3 = _null; + t7 = false; if (_2_5_isSet) { result = _2_1 == null ? t6._as(_2_1) : _2_1; _2_3 = _2_0._1; t7 = _2_3; _2_5 = t7; t7 = t7 && cacheable; - } else { + } else result = _null; - _2_3 = result; - _2_5 = _2_3; - t7 = false; - } if (t7) { t1.$indexSet(0, key, result); return result; @@ -100732,34 +107134,28 @@ self.util = _cliPkgRequires.util; return _null; }, _import_cache$_canonicalize$4(importer, url, baseUrl, forImport) { - var passContainingUrl, canonicalizeContext, t1, result, cacheable, _null = null; + var passContainingUrl, canonicalizeContext, t1, result, cacheable; if (baseUrl != null) passContainingUrl = url.get$scheme() === "" || importer.isNonCanonicalScheme$1(url.get$scheme()); else passContainingUrl = false; - canonicalizeContext = new A.CanonicalizeContext0(forImport, passContainingUrl ? baseUrl : _null); + canonicalizeContext = new A.CanonicalizeContext0(forImport, passContainingUrl ? baseUrl : null); t1 = type$.nullable_Object; result = A.runZoned(new A.ImportCache__canonicalize_closure0(importer, url), A.LinkedHashMap_LinkedHashMap$_literal([B.Symbol__canonicalizeContext, canonicalizeContext], t1, t1), type$.nullable_Uri); cacheable = !passContainingUrl || !canonicalizeContext._canonicalize_context$_wasContainingUrlAccessed; if (result == null) - return new A._Record_2(_null, cacheable); - if (result.get$scheme() === "") - A.WarnForDeprecation_warnForDeprecation0(this._import_cache$_logger, B.Deprecation_Ssf, "Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2e_Rela, _null, _null); - else if (importer.isNonCanonicalScheme$1(result.get$scheme())) + return new A._Record_2(null, cacheable); + if (result.get$scheme() !== "" && importer.isNonCanonicalScheme$1(result.get$scheme())) throw A.wrapException("Importer " + importer.toString$0(0) + " canonicalized " + url.toString$0(0) + " to " + result.toString$0(0) + string$.x2c_whicu); return new A._Record_2(new A._Record_3_originalUrl(importer, result, url), cacheable); }, - importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, quiet) { - return this._import_cache$_importCache.putIfAbsent$2(canonicalUrl, new A.ImportCache_importCanonical_closure0(this, importer, canonicalUrl, originalUrl, quiet)); - }, importCanonical$3$originalUrl(importer, canonicalUrl, originalUrl) { - return this.importCanonical$4$originalUrl$quiet(importer, canonicalUrl, originalUrl, false); + return this._import_cache$_importCache.putIfAbsent$2(canonicalUrl, new A.ImportCache_importCanonical_closure0(this, importer, canonicalUrl, originalUrl)); }, humanize$1(canonicalUrl) { - var t1 = A.IterableNullableExtension_whereNotNull(this._import_cache$_canonicalizeCache.get$values(0), type$.Record_3_Importer_and_Uri_and_Uri_originalUrl_2), - t2 = t1.$ti; - t2 = A.NullableExtension_andThen0(A.minBy(new A.MappedIterable(new A.WhereIterable(t1, new A.ImportCache_humanize_closure3(canonicalUrl), t2._eval$1("WhereIterable")), new A.ImportCache_humanize_closure4(), t2._eval$1("MappedIterable")), new A.ImportCache_humanize_closure5()), new A.ImportCache_humanize_closure6(canonicalUrl)); - return t2 == null ? canonicalUrl : t2; + var t1 = type$.NonNullsIterable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2; + t1 = A.NullableExtension_andThen0(A.minBy(new A.MappedIterable(new A.WhereIterable(new A.NonNullsIterable(this._import_cache$_canonicalizeCache.get$values(0), t1), new A.ImportCache_humanize_closure3(canonicalUrl), t1._eval$1("WhereIterable")), new A.ImportCache_humanize_closure4(), t1._eval$1("MappedIterable")), new A.ImportCache_humanize_closure5()), new A.ImportCache_humanize_closure6(canonicalUrl)); + return t1 == null ? canonicalUrl : t1; }, sourceMapUrl$1(_, canonicalUrl) { var t1 = this._import_cache$_resultsCache.$index(0, canonicalUrl); @@ -100777,47 +107173,46 @@ self.util = _cliPkgRequires.util; t1._import_cache$_nonCanonicalRelativeUrls.$indexSet(0, _this.key, _this.url); return _0_0._0; }, - $signature: 630 + $signature: 493 }; A.ImportCache__canonicalize_closure0.prototype = { call$0() { return this.importer.canonicalize$1(0, this.url); }, - $signature: 141 + $signature: 239 }; A.ImportCache_importCanonical_closure0.prototype = { call$0() { - var t2, t3, t4, _this = this, + var t2, t3, _this = this, t1 = _this.canonicalUrl, result = _this.importer.load$1(0, t1); if (result == null) return null; - t2 = _this.$this; - t2._import_cache$_resultsCache.$indexSet(0, t1, result); - t3 = result.contents; - t4 = result.syntax; + _this.$this._import_cache$_resultsCache.$indexSet(0, t1, result); + t2 = result.contents; + t3 = result.syntax; t1 = _this.originalUrl.resolveUri$1(t1); - return A.Stylesheet_Stylesheet$parse0(t3, t4, _this.quiet ? $.$get$Logger_quiet0() : t2._import_cache$_logger, t1); + return A.Stylesheet_Stylesheet$parse0(t2, t3, t1); }, - $signature: 467 + $signature: 494 }; A.ImportCache_humanize_closure3.prototype = { call$1(result) { - return J.$eq$(result._1, this.canonicalUrl); + return result._1.$eq(0, this.canonicalUrl); }, - $signature: 468 + $signature: 495 }; A.ImportCache_humanize_closure4.prototype = { call$1(result) { return result._2; }, - $signature: 469 + $signature: 496 }; A.ImportCache_humanize_closure5.prototype = { call$1(url) { return url.get$path(url).length; }, - $signature: 85 + $signature: 87 }; A.ImportCache_humanize_closure6.prototype = { call$1(url) { @@ -100825,11 +107220,11 @@ self.util = _cliPkgRequires.util; t2 = this.canonicalUrl; return url.resolve$1(0, A.ParsedPath_ParsedPath$parse(t2.get$path(t2), t1.style).get$basename()); }, - $signature: 46 + $signature: 50 }; A.ImportRule0.prototype = { accept$1$1(visitor) { - return visitor.visitImportRule$1(this); + return visitor.visitImportRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -100837,8 +107232,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@import " + B.JSArray_methods.join$1(this.imports, ", ") + ";"; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -100880,7 +107273,7 @@ self.util = _cliPkgRequires.util; return A.SpanExtensions_initialIdentifier0(this.namespace != null ? A.FileSpanExtension_subspan(A.SpanExtensions_withoutInitialIdentifier0(startSpan), 1, _null) : startSpan); }, accept$1$1(visitor) { - return visitor.visitIncludeRule$1(this); + return visitor.visitIncludeRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -100897,15 +107290,13 @@ self.util = _cliPkgRequires.util; t1 += t2 == null ? ";" : " " + t2.toString$0(0); return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } }; A.InterpolatedFunctionExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitInterpolatedFunctionExpression$1(this); + return visitor.visitInterpolatedFunctionExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -100913,15 +107304,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return this.name.toString$0(0) + this.$arguments.toString$0(0); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } }; A.Interpolation0.prototype = { get$asPlain() { - var _0_1, t1, _0_6_isSet, _0_6, first, _null = null, + var _0_1, t1, _0_6_isSet, _0_6, _0_60, first, _0_0 = this.contents; $label0$0: { _0_1 = _0_0.length; @@ -100930,37 +107319,37 @@ self.util = _cliPkgRequires.util; break $label0$0; } _0_6_isSet = _0_1 === 1; + _0_6 = null; if (_0_6_isSet) { - _0_6 = _0_0[0]; - t1 = _0_6; + _0_60 = _0_0[0]; + t1 = _0_60; + _0_6 = t1; t1 = typeof t1 == "string"; - } else { - _0_6 = _null; + } else t1 = false; - } if (t1) { first = A._asString(_0_6_isSet ? _0_6 : _0_0[0]); t1 = first; break $label0$0; } - t1 = _null; + t1 = null; break $label0$0; } return t1; }, get$initialPlain() { - var _0_4_isSet, _0_4, t1, first, + var _0_4_isSet, _0_4, _0_40, t1, first, _0_0 = this.contents; $label0$0: { _0_4_isSet = _0_0.length >= 1; + _0_4 = null; if (_0_4_isSet) { - _0_4 = _0_0[0]; - t1 = _0_4; + _0_40 = _0_0[0]; + t1 = _0_40; + _0_4 = t1; t1 = typeof t1 == "string"; - } else { - _0_4 = null; + } else t1 = false; - } if (t1) { first = A._asString(_0_4_isSet ? _0_4 : _0_0[0]); t1 = first; @@ -100971,16 +107360,53 @@ self.util = _cliPkgRequires.util; } return t1; }, - Interpolation$20(contents, span) { - var t1, t2, t3, i, t4, t5, + spanForElement$1(index) { + var t1, t2, t3, t4, _this = this; + $label0$0: { + if (typeof _this.contents[index] == "string") { + t1 = _this.span; + t2 = t1.get$file(t1); + if (index === 0) + t3 = t1.get$start(t1); + else { + t3 = _this.spans[index - 1]; + t3.toString; + t3 = J.get$end$z(t3); + } + t4 = _this.spans; + if (index === t4.length) + t1 = t1.get$end(t1); + else { + t1 = t4[index + 1]; + t1.toString; + t1 = J.get$start$z(t1); + } + t1 = t2.span$2(0, t3.offset, t1.offset); + break $label0$0; + } + t1 = _this.spans[index]; + t1.toString; + break $label0$0; + } + return t1; + }, + Interpolation$30(contents, spans, span) { + var t1, t2, t3, t4, i, t5, isString, _s5_ = "spans", _s8_ = "contents"; - for (t1 = this.contents, t2 = t1.length, t3 = type$.Expression_2, i = 0; i < t2; ++i) { - t4 = t1[i]; - t5 = typeof t4 == "string"; - if (!t5 && !t3._is(t4)) - throw A.wrapException(A.ArgumentError$value(t1, _s8_, string$.May_on)); - if (i !== 0 && typeof t1[i - 1] == "string" && t5) - throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings.")); + if (spans.length !== J.get$length$asx(contents)) + throw A.wrapException(A.ArgumentError$value(this.spans, _s5_, "Must be the same length as contents.")); + for (t1 = this.contents, t2 = t1.length, t3 = spans.length, t4 = this.spans, i = 0; i < t2; ++i) { + t5 = t1[i]; + isString = typeof t5 == "string"; + if (!isString && !(t5 instanceof A.Expression0)) + throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May only contain Strings or Expressions.")); + else if (isString) { + if (i !== 0 && typeof t1[i - 1] == "string") + throw A.wrapException(A.ArgumentError$value(t1, _s8_, "May not contain adjacent Strings.")); + else if (i < t3 && t4[i] != null) + throw A.wrapException(A.ArgumentError$value(t4, _s5_, string$.May_no + i + ").")); + } else if (i >= t3 || t4[i] == null) + throw A.wrapException(A.ArgumentError$value(t4, _s5_, string$.Must_n + i + ").")); } }, toString$0(_) { @@ -100988,6 +107414,7 @@ self.util = _cliPkgRequires.util; return new A.MappedListIterable(t1, new A.Interpolation_toString_closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,String>")).join$0(0); }, $isAstNode0: 1, + $isSassNode: 1, get$span(receiver) { return this.span; } @@ -100996,13 +107423,22 @@ self.util = _cliPkgRequires.util; call$1(value) { return typeof value == "string" ? value : "#{" + A.S(value) + "}"; }, - $signature: 117 + $signature: 120 }; A.SupportsInterpolation0.prototype = { + toInterpolation$0() { + var t1 = this.span; + return A.Interpolation$0(A._setArrayType([this.expression], type$.JSArray_Object), A._setArrayType([t1], type$.JSArray_nullable_FileSpan), t1); + }, + withSpan$1(span) { + return new A.SupportsInterpolation0(this.expression, span); + }, toString$0(_) { return "#{" + this.expression.toString$0(0) + "}"; }, $isAstNode0: 1, + $isSassNode: 1, + $isSupportsCondition: 1, get$span(receiver) { return this.span; } @@ -101014,35 +107450,45 @@ self.util = _cliPkgRequires.util; t1._contents += t2; return null; }, + add$2(_, expression, span) { + this._interpolation_buffer0$_flushText$0(); + this._interpolation_buffer0$_contents.push(expression); + this._interpolation_buffer0$_spans.push(span); + }, addInterpolation$1(interpolation) { - var _0_4_isSet, _0_4, first, rest, t2, _this = this, + var spansToAdd, _0_4_isSet, _0_4, _0_40, first, rest, t2, t3, _this = this, toAdd = interpolation.contents, t1 = toAdd.length; if (t1 === 0) return; + spansToAdd = interpolation.spans; _0_4_isSet = t1 >= 1; + _0_4 = null; if (_0_4_isSet) { - _0_4 = toAdd[0]; - t1 = _0_4; + _0_40 = toAdd[0]; + t1 = _0_40; + _0_4 = t1; t1 = typeof t1 == "string"; - } else { - _0_4 = null; + } else t1 = false; - } if (t1) { first = A._asString(_0_4_isSet ? _0_4 : toAdd[0]); rest = B.JSArray_methods.sublist$1(toAdd, 1); t1 = _this._interpolation_buffer0$_text; t1._contents += first; + spansToAdd = A.SubListIterable$(spansToAdd, 1, null, A._arrayInstanceType(spansToAdd)._precomputed1); toAdd = rest; } _this._interpolation_buffer0$_flushText$0(); t1 = _this._interpolation_buffer0$_contents; B.JSArray_methods.addAll$1(t1, toAdd); + t2 = _this._interpolation_buffer0$_spans; + B.JSArray_methods.addAll$1(t2, spansToAdd); if (typeof B.JSArray_methods.get$last(t1) == "string") { - t2 = _this._interpolation_buffer0$_text; + t3 = _this._interpolation_buffer0$_text; t1 = A.S(t1.pop()); - t2._contents += t1; + t3._contents += t1; + t2.pop(); } }, _interpolation_buffer0$_flushText$0() { @@ -101051,14 +107497,19 @@ self.util = _cliPkgRequires.util; if (t2.length === 0) return; this._interpolation_buffer0$_contents.push(t2.charCodeAt(0) == 0 ? t2 : t2); + this._interpolation_buffer0$_spans.push(null); t1._contents = ""; }, interpolation$1(span) { var t1 = A.List_List$of(this._interpolation_buffer0$_contents, true, type$.Object), - t2 = this._interpolation_buffer0$_text._contents; - if (t2.length !== 0) - t1.push(t2.charCodeAt(0) == 0 ? t2 : t2); - return A.Interpolation$0(t1, span); + t2 = this._interpolation_buffer0$_text, + t3 = t2._contents; + if (t3.length !== 0) + t1.push(t3.charCodeAt(0) == 0 ? t3 : t3); + t3 = A.List_List$of(this._interpolation_buffer0$_spans, true, type$.nullable_FileSpan); + if (t2._contents.length !== 0) + t3.push(null); + return A.Interpolation$0(t1, t3, span); }, toString$0(_) { var t1, t2, _i, t3, element; @@ -101096,6 +107547,8 @@ self.util = _cliPkgRequires.util; _0_10 = _0_1; t1 = type$.FileSpan; _0_2_isSet = t1._is(_0_1); + _0_20 = _null; + t2 = false; if (_0_2_isSet) { t1._as(_0_10); _0_20 = _0_2; @@ -101104,14 +107557,13 @@ self.util = _cliPkgRequires.util; _0_1 = start; } else { start = _null; - _0_20 = start; _0_1 = _0_10; - t2 = false; } if (t2) { t1 = start.expand$1(0, t1._as(_0_2_isSet ? _0_20 : _0_2)); break $label0$0; } + t2 = false; if (t1._is(_0_1)) { if (_0_2_isSet) t2 = _0_20; @@ -101122,10 +107574,8 @@ self.util = _cliPkgRequires.util; } t2 = t2 instanceof A.FileLocation; start = _0_1; - } else { + } else start = _null; - t2 = false; - } if (t2) { t1 = _0_2_isSet ? _0_20 : _0_2; type$.FileLocation._as(t1); @@ -101133,6 +107583,7 @@ self.util = _cliPkgRequires.util; t1 = t2.get$file(t2).span$2(0, _this._interpolation_map$_expandInterpolationSpanLeft$1(start.get$start(start)), t1.offset); break $label0$0; } + t2 = false; if (_0_1 instanceof A.FileLocation) { if (_0_2_isSet) t2 = _0_20; @@ -101143,16 +107594,15 @@ self.util = _cliPkgRequires.util; } t2 = t1._is(t2); start = _0_1; - } else { + } else start = _null; - t2 = false; - } if (t2) { end = t1._as(_0_2_isSet ? _0_20 : _0_2); t1 = _this._interpolation_map$_interpolation.span; t1 = t1.get$file(t1).span$2(0, start.offset, _this._interpolation_map$_expandInterpolationSpanRight$1(end.get$end(end))); break $label0$0; } + t1 = false; if (_0_1 instanceof A.FileLocation) { if (_0_2_isSet) t1 = _0_20; @@ -101163,10 +107613,8 @@ self.util = _cliPkgRequires.util; } t1 = t1 instanceof A.FileLocation; start = _0_1; - } else { + } else start = _null; - t1 = false; - } if (t1) { t1 = _0_2_isSet ? _0_20 : _0_2; type$.FileLocation._as(t1); @@ -101179,25 +107627,24 @@ self.util = _cliPkgRequires.util; return t1; }, _interpolation_map$_mapLocation$1(target) { - var t4, previousLocation, _this = this, + var t3, previousLocation, _this = this, index = _this._interpolation_map$_indexInContents$1(target), t1 = _this._interpolation_map$_interpolation, t2 = t1.contents, - _0_0 = t2[index], - t3 = type$.Expression_2; - if (t3._is(_0_0)) + _0_0 = t2[index]; + if (_0_0 instanceof A.Expression0) return _0_0.get$span(_0_0); - t4 = index === 0; + t3 = index === 0; t1 = t1.span; - if (t4) + if (t3) previousLocation = t1.get$start(t1); else { t1 = t1.get$file(t1); - t2 = t3._as(t2[index - 1]); + t2 = type$.Expression_2._as(t2[index - 1]); t2 = t2.get$span(t2); previousLocation = A.FileLocation$_(t1, _this._interpolation_map$_expandInterpolationSpanRight$1(t2.get$end(t2))); } - t1 = t4 ? 0 : _this._interpolation_map$_targetLocations[index - 1].get$offset(); + t1 = t3 ? 0 : _this._interpolation_map$_targetLocations[index - 1].get$offset(); return A.FileLocation$_(previousLocation.file, previousLocation.offset + (target.offset - t1)); }, _interpolation_map$_indexInContents$1(target) { @@ -101304,9 +107751,21 @@ self.util = _cliPkgRequires.util; }; A.InterpolationMap_mapException_closure0.prototype = { call$1($content) { - return type$.Expression_2._is($content); + return $content instanceof A.Expression0; }, - $signature: 67 + $signature: 76 + }; + A.InterpolationMethod0.prototype = { + toString$0(_) { + var t1 = this.hue; + t1 = t1 == null ? "" : " " + t1.toString$0(0) + " hue"; + return this.space.name + t1; + } + }; + A.HueInterpolationMethod0.prototype = { + _enumToString$0() { + return "HueInterpolationMethod." + this._name; + } }; A._realCasePath_helper0.prototype = { call$1(path) { @@ -101315,7 +107774,7 @@ self.util = _cliPkgRequires.util; return path; return $._realCaseCache0.putIfAbsent$2(path, new A._realCasePath_helper_closure0(this, dirname, path)); }, - $signature: 5 + $signature: 6 }; A._realCasePath_helper_closure0.prototype = { call$0() { @@ -101346,13 +107805,95 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 25 + $signature: 31 }; A._realCasePath_helper__closure0.prototype = { call$1(realPath) { return A.equalsIgnoreCase0(A.ParsedPath_ParsedPath$parse(realPath, $.$get$context().style).get$basename(), this.basename); }, - $signature: 4 + $signature: 5 + }; + A.IsCalculationSafeVisitor0.prototype = { + visitBinaryOperationExpression$1(_, node) { + var t1; + if (B.Set_mqKz0.contains$1(0, node.operator)) + t1 = node.left.accept$1(this) || node.right.accept$1(this); + else + t1 = false; + return t1; + }, + visitBooleanExpression$1(_, node) { + return false; + }, + visitColorExpression$1(_, node) { + return false; + }, + visitFunctionExpression$1(_, node) { + return true; + }, + visitInterpolatedFunctionExpression$1(_, node) { + return true; + }, + visitIfExpression$1(_, node) { + return true; + }, + visitListExpression$1(_, node) { + var t1 = false; + if (node.separator === B.ListSeparator_nbm0) + if (!node.hasBrackets) { + t1 = node.contents; + t1 = t1.length > 1 && B.JSArray_methods.every$1(t1, new A.IsCalculationSafeVisitor_visitListExpression_closure0(this)); + } + return t1; + }, + visitMapExpression$1(_, node) { + return false; + }, + visitNullExpression$1(_, node) { + return false; + }, + visitNumberExpression$1(_, node) { + return true; + }, + visitParenthesizedExpression$1(_, node) { + return node.expression.accept$1(this); + }, + visitSelectorExpression$1(_, node) { + return false; + }, + visitStringExpression$1(_, node) { + var text, t1, t2; + if (node.hasQuotes) + return false; + text = node.text.get$initialPlain(); + t1 = false; + if (!B.JSString_methods.startsWith$1(text, "!")) + if (!B.JSString_methods.startsWith$1(text, "#")) { + t2 = text.length; + if ((1 >= t2 ? null : text.charCodeAt(1)) !== 43) + t1 = (3 >= t2 ? null : text.charCodeAt(3)) !== 40; + } + return t1; + }, + visitSupportsExpression$1(_, node) { + return false; + }, + visitUnaryOperationExpression$1(_, node) { + return false; + }, + visitValueExpression$1(_, node) { + return false; + }, + visitVariableExpression$1(_, node) { + return true; + }, + $isExpressionVisitor: 1 + }; + A.IsCalculationSafeVisitor_visitListExpression_closure0.prototype = { + call$1(expression) { + return expression.accept$1(this.$this); + }, + $signature: 137 }; A.FileSystemException0.prototype = { toString$0(_) { @@ -101367,7 +107908,7 @@ self.util = _cliPkgRequires.util; call$0() { return J.readFileSync$2$x(A.fs(), this.path, this.encoding); }, - $signature: 62 + $signature: 65 }; A.fileExists_closure0.prototype = { call$0() { @@ -101386,7 +107927,7 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 30 + $signature: 24 }; A.dirExists_closure0.prototype = { call$0() { @@ -101405,7 +107946,7 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 30 + $signature: 24 }; A.listDir_closure0.prototype = { call$0() { @@ -101415,42 +107956,42 @@ self.util = _cliPkgRequires.util; else return new A.listDir_closure_list0().call$1(t1); }, - $signature: 146 + $signature: 157 }; A.listDir__closure1.prototype = { call$1(child) { return A.join(this.path, A._asString(child), null); }, - $signature: 125 + $signature: 130 }; A.listDir__closure2.prototype = { call$1(child) { return !A.dirExists0(child); }, - $signature: 4 + $signature: 5 }; A.listDir_closure_list0.prototype = { call$1($parent) { return J.expand$1$1$ax(J.readdirSync$1$x(A.fs(), $parent), new A.listDir__list_closure0($parent, this), type$.String); }, - $signature: 147 + $signature: 158 }; A.listDir__list_closure0.prototype = { call$1(child) { var path = A.join(this.parent, A._asString(child), null); return A.dirExists0(path) ? this.list.call$1(path) : A._setArrayType([path], type$.JSArray_String); }, - $signature: 148 + $signature: 139 }; A.main_closure.prototype = { call$2(_, __) { }, - $signature: 470 + $signature: 497 }; A.main_closure0.prototype = { call$2(_, __) { }, - $signature: 471 + $signature: 498 }; A.JSToDartLogger.prototype = { internalWarn$4$deprecation$span$trace(message, deprecation, span, trace) { @@ -101520,7 +108061,7 @@ self.util = _cliPkgRequires.util; } }; A.KeyframeSelectorParser0.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.KeyframeSelectorParser_parse_closure0(this)); }, _keyframe_selector$_percentage$0() { @@ -101584,7 +108125,40 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); return selectors; }, - $signature: 126 + $signature: 132 + }; + A.LabColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, missingChroma, missingHue) { + var powerlessAB, t1, missingLightness, f1, t2, t3, t4; + switch (dest) { + case B.LabColorSpace_IF20: + powerlessAB = lightness == null || A.fuzzyEquals0(lightness, 0); + t1 = a == null || powerlessAB ? null : a; + return A.SassColor$_forSpace0(B.LabColorSpace_IF20, lightness, t1, b == null || powerlessAB ? null : b, alpha, null); + case B.LchColorSpace_wv80: + return A.labToLch0(dest, lightness, a, b, alpha, false, false); + default: + missingLightness = lightness == null; + if (missingLightness) + lightness = 0; + f1 = (lightness + 16) / 116; + t1 = a == null; + t2 = this._lab$_convertFToXorZ$1((t1 ? 0 : a) / 500 + f1); + t3 = lightness > 8 ? Math.pow(f1, 3) : lightness / 903.2962962962963; + t4 = b == null; + return B.XyzD50ColorSpace_2No0.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, t2 * 0.9642956764295677, t3, this._lab$_convertFToXorZ$1(f1 - (t4 ? 0 : b) / 200) * 0.8251046025104602, alpha, t1, t4, missingChroma, missingHue, missingLightness); + } + }, + convert$5(dest, lightness, a, b, alpha) { + return this.convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, false, false); + }, + _lab$_convertFToXorZ$1(component) { + var cubed = Math.pow(component, 3) + 0; + return cubed > 0.008856451679035631 ? cubed : (116 * component - 16) / 903.2962962962963; + } }; A.LazyFileSpan0.prototype = { get$span(_) { @@ -101638,6 +108212,23 @@ self.util = _cliPkgRequires.util; $isSourceSpan: 1, $isSourceSpanWithContext: 1 }; + A.LchColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, lightness, chroma, hue, alpha) { + var t1 = hue == null, + hueRadians = (t1 ? 0 : hue) * 3.141592653589793 / 180, + t2 = chroma == null, + t3 = t2 ? 0 : chroma, + t4 = Math.cos(hueRadians), + t5 = t2 ? 0 : chroma; + return B.LabColorSpace_IF20.convert$7$missingChroma$missingHue(dest, lightness, t3 * t4, t5 * Math.sin(hueRadians), alpha, t2, t1); + } + }; A.render_closure.prototype = { call$0() { var error, exception; @@ -101655,7 +108246,7 @@ self.util = _cliPkgRequires.util; call$1(result) { this.callback.call$2(null, result); }, - $signature: 472 + $signature: 499 }; A.render_closure1.prototype = { call$2(error, stackTrace) { @@ -101669,7 +108260,7 @@ self.util = _cliPkgRequires.util; t1.call$2(A._newRenderError(t2, t3 == null ? stackTrace : t3, _null, _null, _null, 3), _null); } }, - $signature: 53 + $signature: 54 }; A._parseFunctions_closure.prototype = { call$2(signature, callback) { @@ -101690,7 +108281,7 @@ self.util = _cliPkgRequires.util; t1.push(A.AsyncCallable_AsyncCallable$fromSignature(B.JSString_methods.trimLeft$0(signature), new A._parseFunctions__closure1(callback, context), false)); } }, - $signature: 122 + $signature: 126 }; A._parseFunctions__closure.prototype = { call$1($arguments) { @@ -101717,7 +108308,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 104 + $signature: 86 }; A._parseFunctions____closure.prototype = { call$0() { @@ -101729,13 +108320,13 @@ self.util = _cliPkgRequires.util; call$0() { return J.apply$2$x(type$.JSFunction._as(this.callback), this.context, this.jsArguments); }, - $signature: 31 + $signature: 37 }; A._parseFunctions___closure4.prototype = { call$0() { return J.yield$0$x(this._box_0.fiber); }, - $signature: 80 + $signature: 83 }; A._parseFunctions__closure0.prototype = { call$1($arguments) { @@ -101749,7 +108340,7 @@ self.util = _cliPkgRequires.util; t2 = J.map$1$1$ax(this.$arguments, A.value0__wrapValue$closure(), type$.Object); return J.apply$2$x(t1, this.context, A.List_List$of(t2, true, t2.$ti._eval$1("ListIterable.E"))); }, - $signature: 31 + $signature: 37 }; A._parseFunctions__closure1.prototype = { call$1($arguments) { @@ -101799,7 +108390,7 @@ self.util = _cliPkgRequires.util; }); return A._asyncStartSync($async$call$1, $async$completer); }, - $signature: 89 + $signature: 107 }; A._parseFunctions___closure.prototype = { call$1(result) { @@ -101813,19 +108404,19 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 259 + $signature: 265 }; A._parseFunctions___closure0.prototype = { call$0() { return J.apply$2$x(type$.JSFunction._as(this.callback), this.context, this.jsArguments); }, - $signature: 31 + $signature: 37 }; A._parseImporter_closure.prototype = { call$1(importer) { return type$.JSFunction._as(A.allowInteropCaptureThis(new A._parseImporter__closure(this._box_0, importer))); }, - $signature: 473 + $signature: 500 }; A._parseImporter__closure.prototype = { call$4(thisArg, url, previous, _) { @@ -101843,13 +108434,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 474 + $signature: 501 }; A._parseImporter___closure.prototype = { call$1(result) { A.scheduleMicrotask(new A._parseImporter____closure(this.currentFiber, result)); }, - $signature: 475 + $signature: 502 }; A._parseImporter____closure.prototype = { call$0() { @@ -101861,7 +108452,7 @@ self.util = _cliPkgRequires.util; call$0() { return J.yield$0$x(this._box_0.fiber); }, - $signature: 80 + $signature: 83 }; A.LimitedMapView0.prototype = { get$keys(_) { @@ -101888,7 +108479,7 @@ self.util = _cliPkgRequires.util; }; A.ListExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitListExpression$1(this); + return visitor.visitListExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -101946,8 +108537,6 @@ self.util = _cliPkgRequires.util; } return t1; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -101956,13 +108545,13 @@ self.util = _cliPkgRequires.util; call$1(element) { return this.$this._list3$_elementNeedsParens$1(element) ? "(" + element.toString$0(0) + ")" : element.toString$0(0); }, - $signature: 135 + $signature: 112 }; A._length_closure2.prototype = { call$1($arguments) { return A.SassNumber_SassNumber0(J.$index$asx($arguments, 0).get$asList().length, null); }, - $signature: 12 + $signature: 22 }; A._nth_closure0.prototype = { call$1($arguments) { @@ -101985,11 +108574,11 @@ self.util = _cliPkgRequires.util; newList[list.sassIndexToListIndex$2(index, "n")] = value; return list.withListContents$1(newList); }, - $signature: 22 + $signature: 26 }; A._join_closure0.prototype = { call$1($arguments) { - var _0_1, _0_4, _0_3, t2, _0_40, separator, bracketed, _null = null, + var _0_1, _0_4, _0_3, t2, t3, _0_40, separator, bracketed, _null = null, t1 = J.getInterceptor$asx($arguments), list1 = t1.$index($arguments, 0), list2 = t1.$index($arguments, 1), @@ -102001,23 +108590,24 @@ self.util = _cliPkgRequires.util; _0_1 = list1.get$separator(list1); _0_4 = list2.get$separator(list2); $label0$0: { + t1 = _null; _0_3 = B.ListSeparator_undecided_null_undecided0 === _0_1; - t1 = _0_3; - if (t1) { - t2 = B.ListSeparator_undecided_null_undecided0 === _0_4; + t2 = _0_3; + if (t2) { + t3 = B.ListSeparator_undecided_null_undecided0 === _0_4; _0_40 = _0_4; } else { _0_40 = _null; - t2 = false; + t3 = false; } - if (t2) { + if (t3) { t1 = B.ListSeparator_nbm0; break $label0$0; } if (_0_3) - separator = t1 ? _0_40 : _0_4; + separator = t2 ? _0_40 : _0_4; else - separator = _null; + separator = t1; if (!_0_3) separator = _0_1; t1 = separator; @@ -102044,7 +108634,7 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t2, list2.get$asList()); return A.SassList$0(t2, t1, bracketed); }, - $signature: 22 + $signature: 26 }; A._append_closure2.prototype = { call$1($arguments) { @@ -102076,7 +108666,7 @@ self.util = _cliPkgRequires.util; t2.push(value); return list.withListContents$2$separator(t2, t1); }, - $signature: 22 + $signature: 26 }; A._zip_closure0.prototype = { call$1($arguments) { @@ -102097,19 +108687,19 @@ self.util = _cliPkgRequires.util; } return A.SassList$0(results, B.ListSeparator_ECn0, false); }, - $signature: 22 + $signature: 26 }; A._zip__closure2.prototype = { call$1(list) { return list.get$asList(); }, - $signature: 477 + $signature: 504 }; A._zip__closure3.prototype = { call$1(list) { return this._box_0.i !== J.get$length$asx(list); }, - $signature: 478 + $signature: 505 }; A._zip__closure4.prototype = { call$1(list) { @@ -102143,13 +108733,13 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 19 + $signature: 17 }; A._isBracketed_closure0.prototype = { call$1($arguments) { return J.$index$asx($arguments, 0).get$hasBrackets() ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._slash_closure0.prototype = { call$1($arguments) { @@ -102158,7 +108748,7 @@ self.util = _cliPkgRequires.util; throw A.wrapException(A.SassScriptException$0("At least two elements are required.", null)); return A.SassList$0(list, B.ListSeparator_cQA0, false); }, - $signature: 22 + $signature: 26 }; A.SelectorList0.prototype = { get$asSassList() { @@ -102263,7 +108853,7 @@ self.util = _cliPkgRequires.util; }; A.SelectorList_asSassList_closure0.prototype = { call$1(complex) { - var t3, t4, _i, component, t5, visitor, t6, t7, _i0, + var t3, t4, _i, component, t5, visitor, t6, t7, _i0, _null = null, t1 = type$.JSArray_Value_2, t2 = A._setArrayType([], t1); for (t3 = complex.leadingCombinators, t4 = t3.length, _i = 0; _i < t4; ++_i) @@ -102271,7 +108861,7 @@ self.util = _cliPkgRequires.util; for (t3 = complex.components, t4 = t3.length, _i = 0; _i < t4; ++_i) { component = t3[_i]; t5 = component.selector; - visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); t5.accept$1(visitor); t5 = A._setArrayType([new A.SassString0(visitor._serialize0$_buffer.toString$0(0), false)], t1); for (t6 = component.combinators, t7 = t6.length, _i0 = 0; _i0 < t7; ++_i0) @@ -102280,7 +108870,7 @@ self.util = _cliPkgRequires.util; } return A.SassList$0(t2, B.ListSeparator_nbm0, false); }, - $signature: 479 + $signature: 506 }; A.SelectorList_nestWithin_closure0.prototype = { call$1(complex) { @@ -102322,14 +108912,14 @@ self.util = _cliPkgRequires.util; } return newComplexes; }, - $signature: 480 + $signature: 507 }; A.SelectorList_nestWithin__closure1.prototype = { call$1(parentComplex) { var t1 = this.complex; return parentComplex.concatenate$2(t1, t1.span); }, - $signature: 56 + $signature: 59 }; A.SelectorList_nestWithin__closure2.prototype = { call$1(resolvedComplex) { @@ -102345,7 +108935,7 @@ self.util = _cliPkgRequires.util; } return A.ComplexSelector$0(t1, resolvedComplex.components, t2.span, resolvedComplex.lineBreak); }, - $signature: 56 + $signature: 59 }; A.SelectorList__nestWithinCompound_closure2.prototype = { call$1(simple) { @@ -102355,24 +108945,20 @@ self.util = _cliPkgRequires.util; selector = simple.selector; return selector != null && selector.accept$1(B.C__ParentSelectorVisitor0) != null; }, - $signature: 15 + $signature: 14 }; A.SelectorList__nestWithinCompound_closure3.prototype = { call$1(simple) { - var _0_2, selector, t1; + var selector, t1, _0_2; $label0$0: { + selector = null; + t1 = false; if (simple instanceof A.PseudoSelector0) { _0_2 = simple.selector; if (_0_2 != null) { selector = _0_2 == null ? type$.SelectorList_2._as(_0_2) : _0_2; t1 = selector.accept$1(B.C__ParentSelectorVisitor0) != null; - } else { - selector = null; - t1 = false; } - } else { - selector = null; - t1 = false; } if (t1) { t1 = simple.withSelector$1(selector.nestWithin$2$implicitParent(this.parent, false)); @@ -102383,7 +108969,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 481 + $signature: 508 }; A.SelectorList__nestWithinCompound_closure4.prototype = { call$1(complex) { @@ -102427,13 +109013,13 @@ self.util = _cliPkgRequires.util; throw exception; } }, - $signature: 56 + $signature: 59 }; A.SelectorList_withAdditionalCombinators_closure0.prototype = { call$1(complex) { return complex.withAdditionalCombinators$1(this.combinators); }, - $signature: 56 + $signature: 59 }; A._ParentSelectorVisitor0.prototype = { visitParentSelector$1(selector) { @@ -102449,7 +109035,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(B.SassList_k8F.constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.listClass__closure.prototype = { call$3($self, contentsOrOptions, options) { @@ -102484,7 +109070,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 482 + $signature: 509 }; A.listClass__closure0.prototype = { call$2($self, indexFloat) { @@ -102495,7 +109081,7 @@ self.util = _cliPkgRequires.util; return self.undefined; return $self.get$asList()[index]; }, - $signature: 244 + $signature: 240 }; A._ConstructorOptions.prototype = {}; A._NodeSassList.prototype = {}; @@ -102521,19 +109107,19 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 484 + $signature: 511 }; A.legacyListClass__closure.prototype = { call$1(_) { return B.C__SassNull0; }, - $signature: 239 + $signature: 241 }; A.legacyListClass_closure0.prototype = { call$2(thisArg, index) { return A.wrapValue(J.get$dartValue$x(thisArg)._list1$_contents[index]); }, - $signature: 486 + $signature: 513 }; A.legacyListClass_closure1.prototype = { call$3(thisArg, index, value) { @@ -102545,13 +109131,13 @@ self.util = _cliPkgRequires.util; }, "call*": "call$3", $requiredArgCount: 3, - $signature: 487 + $signature: 514 }; A.legacyListClass_closure2.prototype = { call$1(thisArg) { return J.get$dartValue$x(thisArg)._list1$_separator === B.ListSeparator_ECn0; }, - $signature: 488 + $signature: 515 }; A.legacyListClass_closure3.prototype = { call$2(thisArg, isComma) { @@ -102560,13 +109146,13 @@ self.util = _cliPkgRequires.util; t3 = isComma ? B.ListSeparator_ECn0 : B.ListSeparator_nbm0; t1.set$dartValue(thisArg, A.SassList$0(t2, t3, t1.get$dartValue(thisArg)._list1$_hasBrackets)); }, - $signature: 489 + $signature: 516 }; A.legacyListClass_closure4.prototype = { call$1(thisArg) { return J.get$dartValue$x(thisArg)._list1$_contents.length; }, - $signature: 490 + $signature: 517 }; A.SassList0.prototype = { get$separator(_) { @@ -102588,6 +109174,18 @@ self.util = _cliPkgRequires.util; if (this._list1$_separator === B.ListSeparator_undecided_null_undecided0 && this._list1$_contents.length > 1) throw A.wrapException(A.ArgumentError$(string$.A_list, null)); }, + toString$0(_) { + var t2, _this = this, + t1 = true; + if (!_this._list1$_hasBrackets) { + t2 = _this._list1$_contents.length; + if (t2 !== 0) + t1 = t2 === 1 && _this._list1$_separator === B.ListSeparator_ECn0; + } + if (t1) + return _this.super$Value$toString0(0); + return "(" + _this.super$Value$toString0(0) + ")"; + }, accept$1$1(visitor) { return visitor.visitList$1(this); }, @@ -102618,7 +109216,7 @@ self.util = _cliPkgRequires.util; call$1(element) { return element.get$isBlank(); }, - $signature: 49 + $signature: 56 }; A.ListSeparator0.prototype = { _enumToString$0() { @@ -102628,12 +109226,160 @@ self.util = _cliPkgRequires.util; return this._list1$_name; } }; + A.LmsColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, long, medium, short, alpha, missingA, missingB, missingChroma, missingHue, missingLightness) { + var t1, longScaled, mediumScaled, shortScaled, lightness, t2, t3, _null = null; + switch (dest) { + case B.OklabColorSpace_yrt0: + t1 = long == null ? 0 : long; + longScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = medium == null ? 0 : medium; + mediumScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = short == null ? 0 : short; + shortScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = $.$get$lmsToOklab0(); + lightness = t1[0] * longScaled + t1[1] * mediumScaled + t1[2] * shortScaled; + t2 = missingLightness ? _null : lightness; + t3 = missingA ? _null : t1[3] * longScaled + t1[4] * mediumScaled + t1[5] * shortScaled; + return A.SassColor$_forSpace0(B.OklabColorSpace_yrt0, t2, t3, missingB ? _null : t1[6] * longScaled + t1[7] * mediumScaled + t1[8] * shortScaled, alpha, _null); + case B.OklchColorSpace_li80: + t1 = long == null ? 0 : long; + longScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = medium == null ? 0 : medium; + mediumScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + t1 = short == null ? 0 : short; + shortScaled = Math.pow(Math.abs(t1), 0.3333333333333333) * J.get$sign$in(t1); + if (missingLightness) + t1 = _null; + else { + t1 = $.$get$lmsToOklab0(); + t1 = t1[0] * longScaled + t1[1] * mediumScaled + t1[2] * shortScaled; + } + t2 = $.$get$lmsToOklab0(); + return A.labToLch0(dest, t1, t2[3] * longScaled + t2[4] * mediumScaled + t2[5] * shortScaled, t2[6] * longScaled + t2[7] * mediumScaled + t2[8] * shortScaled, alpha, missingChroma, missingHue); + default: + return this.super$ColorSpace$convertLinear0(dest, long, medium, short, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + } + }, + convert$5(dest, long, medium, short, alpha) { + return this.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, long, medium, short, alpha, false, false, false, false, false); + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$lmsToLinearSrgb0(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$lmsToLinearA98Rgb0(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$lmsToLinearProphotoRgb0(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$lmsToLinearDisplayP30(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$lmsToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$lmsToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$lmsToXyzD500(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; + A.LocalMindeGamutMap0.prototype = { + map$1(_, color) { + var clipped, max, min, minInGamut, chroma, current, e, + originOklch = color.toSpace$1(B.OklchColorSpace_li80), + lightness = originOklch.channel0OrNull, + hue = originOklch.channel2OrNull, + alpha = originOklch.alphaOrNull, + t1 = lightness == null, + t2 = t1 ? 0 : lightness; + if (t2 > 1 || A.fuzzyEquals0(t2, 1)) { + t1 = color._color0$_space; + t2 = color.alphaOrNull; + return t1.get$isLegacyInternal() ? A.SassColor_SassColor$rgbInternal0(255, 255, 255, t2, null).toSpace$1(t1) : A.SassColor_SassColor$forSpaceInternal0(t1, 1, 1, 1, t2); + } else { + t1 = t1 ? 0 : lightness; + if (t1 < 0 || A.fuzzyEquals0(t1, 0)) + return A.SassColor_SassColor$rgbInternal0(0, 0, 0, color.alphaOrNull, null).toSpace$1(color._color0$_space); + } + clipped = color.get$isInGamut() ? color : B.ClipGamutMap_clip0.map$1(0, color); + if (this._local_minde$_deltaEOK$2(clipped, color) < 0.02) + return clipped; + max = originOklch.channel1OrNull; + if (max == null) + max = 0; + for (t1 = color._color0$_space, min = 0, minInGamut = true; max - min > 0.0001;) { + chroma = (min + max) / 2; + current = B.OklchColorSpace_li80.convert$5(t1, lightness, chroma, hue, alpha); + if (minInGamut && current.get$isInGamut()) { + min = chroma; + continue; + } + clipped = current.get$isInGamut() ? current : B.ClipGamutMap_clip0.map$1(0, current); + e = this._local_minde$_deltaEOK$2(clipped, current); + if (e < 0.02) { + if (0.02 - e < 0.0001) + return clipped; + min = chroma; + minInGamut = false; + } else + max = chroma; + } + return clipped; + }, + _local_minde$_deltaEOK$2(color1, color2) { + var t2, t3, t4, + lab1 = color1.toSpace$1(B.OklabColorSpace_yrt0), + lab2 = color2.toSpace$1(B.OklabColorSpace_yrt0), + t1 = lab1.channel0OrNull; + if (t1 == null) + t1 = 0; + t2 = lab2.channel0OrNull; + t1 = Math.pow(t1 - (t2 == null ? 0 : t2), 2); + t2 = lab1.channel1OrNull; + if (t2 == null) + t2 = 0; + t3 = lab2.channel1OrNull; + t2 = Math.pow(t2 - (t3 == null ? 0 : t3), 2); + t3 = lab1.channel2OrNull; + if (t3 == null) + t3 = 0; + t4 = lab2.channel2OrNull; + return Math.sqrt(t1 + t2 + Math.pow(t3 - (t4 == null ? 0 : t4), 2)); + } + }; A.JSLogger.prototype = {}; A.WarnOptions.prototype = {}; A.DebugOptions.prototype = {}; A.LoggerWithDeprecationType.prototype = { warn$4$deprecation$span$trace(_, message, deprecation, span, trace) { - this.internalWarn$4$deprecation$span$trace(message, deprecation ? B.Deprecation_oty : null, span, trace); + this.internalWarn$4$deprecation$span$trace(message, deprecation ? B.Deprecation_JeE : null, span, trace); }, warn$1(_, message) { return this.warn$4$deprecation$span$trace(0, message, false, null, null); @@ -102641,39 +109387,27 @@ self.util = _cliPkgRequires.util; warn$3$span$trace(_, message, span, trace) { return this.warn$4$deprecation$span$trace(0, message, false, span, trace); }, - warn$2$span(_, message, span) { - return this.warn$4$deprecation$span$trace(0, message, false, span, null); - }, warn$2$trace(_, message, trace) { return this.warn$4$deprecation$span$trace(0, message, false, null, trace); } }; - A._QuietLogger0.prototype = { - warn$4$deprecation$span$trace(_, message, deprecation, span, trace) { - }, - warn$2$span(_, message, span) { - return this.warn$4$deprecation$span$trace(0, message, false, span, null); - } - }; A.LoudComment0.prototype = { get$span(_) { return this.text.span; }, accept$1$1(visitor) { - return visitor.visitLoudComment$1(this); + return visitor.visitLoudComment$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { return this.text.toString$0(0); - }, - $isAstNode0: 1, - $isStatement0: 1 + } }; A.MapExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitMapExpression$1(this); + return visitor.visitMapExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -102689,8 +109423,6 @@ self.util = _cliPkgRequires.util; } return "(" + B.JSArray_methods.join$1(t1, ", ") + ")"; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -102723,7 +109455,7 @@ self.util = _cliPkgRequires.util; call$1(_) { return J.$index$asx(this.$arguments, 2); }, - $signature: 41 + $signature: 43 }; A._set_closure2.prototype = { call$1($arguments) { @@ -102753,7 +109485,7 @@ self.util = _cliPkgRequires.util; call$1(_) { return this._box_0.value; }, - $signature: 41 + $signature: 43 }; A._merge_closure1.prototype = { call$1($arguments) { @@ -102766,11 +109498,11 @@ self.util = _cliPkgRequires.util; t2.addAll$1(0, map2._map0$_contents); return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._merge_closure2.prototype = { call$1($arguments) { - var t2, keys, last, _null = null, + var last, t2, keys, _null = null, t1 = J.getInterceptor$asx($arguments), map1 = t1.$index($arguments, 0).assertMap$1("map1"), _0_0 = t1.$index($arguments, 1).get$asList(), @@ -102780,14 +109512,13 @@ self.util = _cliPkgRequires.util; if (_0_1 === 1) throw A.wrapException(A.SassScriptException$0("Expected $args to contain a map.", _null)); t1 = _0_1 >= 1; + last = _null; if (t1) { t2 = _0_1 - 1; keys = B.JSArray_methods.sublist$2(_0_0, 0, t2); last = _0_0[t2]; - } else { - last = _null; - keys = last; - } + } else + keys = _null; if (t1) return A._modify0(map1, keys, new A._merge__closure0(last.assertMap$1("map2")), true); throw A.wrapException("[BUG] Unreachable code"); @@ -102805,14 +109536,14 @@ self.util = _cliPkgRequires.util; t2.addAll$1(0, this.map2._map0$_contents); return new A.SassMap0(A.ConstantMap_ConstantMap$from(t2, t1, t1)); }, - $signature: 491 + $signature: 518 }; A._deepMerge_closure0.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return A._deepMergeImpl0(t1.$index($arguments, 0).assertMap$1("map1"), t1.$index($arguments, 1).assertMap$1("map2")); }, - $signature: 33 + $signature: 36 }; A._deepRemove_closure0.prototype = { call$1($arguments) { @@ -102843,13 +109574,13 @@ self.util = _cliPkgRequires.util; } return value; }, - $signature: 41 + $signature: 43 }; A._remove_closure1.prototype = { call$1($arguments) { return J.$index$asx($arguments, 0).assertMap$1("map"); }, - $signature: 33 + $signature: 36 }; A._remove_closure2.prototype = { call$1($arguments) { @@ -102864,21 +109595,21 @@ self.util = _cliPkgRequires.util; mutableMap.remove$1(0, t2[_i]); return new A.SassMap0(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1)); }, - $signature: 33 + $signature: 36 }; A._keys_closure0.prototype = { call$1($arguments) { var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map0$_contents; return A.SassList$0(t1.get$keys(t1), B.ListSeparator_ECn0, false); }, - $signature: 22 + $signature: 26 }; A._values_closure0.prototype = { call$1($arguments) { var t1 = J.$index$asx($arguments, 0).assertMap$1("map")._map0$_contents; return A.SassList$0(t1.get$values(t1), B.ListSeparator_ECn0, false); }, - $signature: 22 + $signature: 26 }; A._hasKey_closure0.prototype = { call$1($arguments) { @@ -102894,7 +109625,7 @@ self.util = _cliPkgRequires.util; } return map._map0$_contents.containsKey$1(B.JSArray_methods.get$last(t2)) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._modify_modifyNestedMap0.prototype = { call$1(map) { @@ -102918,7 +109649,7 @@ self.util = _cliPkgRequires.util; mutableMap.$indexSet(0, key, _this.call$1(t2 ? B.SassMap_Map_empty0 : nestedMap)); return new A.SassMap0(A.ConstantMap_ConstantMap$from(mutableMap, t1, t1)); }, - $signature: 492 + $signature: 519 }; A.MapExtensions_get_pairs_closure0.prototype = { call$1(e) { @@ -102938,7 +109669,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(B.SassMap_Map_empty0.constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.mapClass__closure.prototype = { call$2($self, contents) { @@ -102959,13 +109690,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 493 + $signature: 520 }; A.mapClass__closure0.prototype = { call$1($self) { return A.dartMapToImmutableMap($self._map0$_contents); }, - $signature: 494 + $signature: 521 }; A.mapClass__closure1.prototype = { call$2($self, indexOrKey) { @@ -102991,7 +109722,7 @@ self.util = _cliPkgRequires.util; return t1 == null ? self.undefined : t1; } }, - $signature: 495 + $signature: 522 }; A._NodeSassMap.prototype = {}; A.legacyMapClass_closure.prototype = { @@ -103017,40 +109748,40 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 496 + $signature: 523 }; A.legacyMapClass__closure.prototype = { call$1(i) { return A.SassNumber_SassNumber0(i, null); }, - $signature: 497 + $signature: 524 }; A.legacyMapClass__closure0.prototype = { call$1(_) { return B.C__SassNull0; }, - $signature: 239 + $signature: 241 }; A.legacyMapClass_closure0.prototype = { call$2(thisArg, index) { var t1 = J.get$dartValue$x(thisArg)._map0$_contents; return A.wrapValue(J.elementAt$1$ax(t1.get$keys(t1), index)); }, - $signature: 238 + $signature: 242 }; A.legacyMapClass_closure1.prototype = { call$2(thisArg, index) { var t1 = J.get$dartValue$x(thisArg)._map0$_contents; return A.wrapValue(t1.get$values(t1).elementAt$1(0, index)); }, - $signature: 238 + $signature: 242 }; A.legacyMapClass_closure2.prototype = { call$1(thisArg) { var t1 = J.get$dartValue$x(thisArg)._map0$_contents; return t1.get$length(t1); }, - $signature: 499 + $signature: 526 }; A.legacyMapClass_closure3.prototype = { call$3(thisArg, index, key) { @@ -103079,7 +109810,7 @@ self.util = _cliPkgRequires.util; }, "call*": "call$3", $requiredArgCount: 3, - $signature: 236 + $signature: 243 }; A.legacyMapClass_closure4.prototype = { call$3(thisArg, index, value) { @@ -103094,7 +109825,7 @@ self.util = _cliPkgRequires.util; }, "call*": "call$3", $requiredArgCount: 3, - $signature: 236 + $signature: 243 }; A.SassMap0.prototype = { get$separator(_) { @@ -103143,31 +109874,33 @@ self.util = _cliPkgRequires.util; }, get$hashCode(_) { var t1 = this._map0$_contents; - return t1.get$isEmpty(t1) ? B.C_ListEquality0.hash$1(B.List_empty19) : B.C_MapEquality.hash$1(t1); + return t1.get$isEmpty(t1) ? B.C_ListEquality0.hash$1(B.List_empty20) : B.C_MapEquality.hash$1(t1); } }; - A.global_closure31.prototype = { + A.global_closure43.prototype = { call$1($arguments) { var t1, number = J.$index$asx($arguments, 0).assertNumber$1("number"); if (number.hasUnit$1("%")) - A.warnForDeprecation0(string$.Passinp + number.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + number.toString$0(0) + string$.x7d__Mor, B.Deprecation_jYb); + A.warnForDeprecation0(string$.Passinp + number.toString$0(0) + ")\nTo emit a CSS abs() now: abs(#{" + number.toString$0(0) + string$.x7d__Mor, B.Deprecation_qgq); + else + A.warnForDeprecation0(string$.Globalm, B.Deprecation_Q5r); t1 = number.get$numeratorUnits(number); return A.SassNumber_SassNumber$withUnits0(Math.abs(number._number1$_value), number.get$denominatorUnits(number), t1); }, - $signature: 12 + $signature: 22 }; - A.module_closure11.prototype = { + A.module_closure26.prototype = { call$1(value) { return Math.abs(value); }, - $signature: 38 + $signature: 15 }; A._ceil_closure0.prototype = { call$1(value) { return B.JSNumber_methods.ceil$0(value); }, - $signature: 38 + $signature: 15 }; A._clamp_closure0.prototype = { call$1($arguments) { @@ -103185,13 +109918,13 @@ self.util = _cliPkgRequires.util; return max; return number; }, - $signature: 12 + $signature: 22 }; A._floor_closure0.prototype = { call$1(value) { return B.JSNumber_methods.floor$0(value); }, - $signature: 38 + $signature: 15 }; A._max_closure0.prototype = { call$1($arguments) { @@ -103205,7 +109938,7 @@ self.util = _cliPkgRequires.util; return max; throw A.wrapException(A.SassScriptException$0("At least one argument must be passed.", null)); }, - $signature: 12 + $signature: 22 }; A._min_closure0.prototype = { call$1($arguments) { @@ -103219,13 +109952,13 @@ self.util = _cliPkgRequires.util; return min; throw A.wrapException(A.SassScriptException$0("At least one argument must be passed.", null)); }, - $signature: 12 + $signature: 22 }; A._round_closure0.prototype = { call$1(number) { return B.JSNumber_methods.round$0(number); }, - $signature: 38 + $signature: 15 }; A._hypot_closure0.prototype = { call$1($arguments) { @@ -103246,13 +109979,13 @@ self.util = _cliPkgRequires.util; t4 = t3.get$numeratorUnits(t2); return A.SassNumber_SassNumber$withUnits0(t1, t3.get$denominatorUnits(t2), t4); }, - $signature: 12 + $signature: 22 }; A._hypot__closure0.prototype = { call$1(argument) { return argument.assertNumber$0(); }, - $signature: 501 + $signature: 528 }; A._log_closure0.prototype = { call$1($arguments) { @@ -103271,14 +110004,14 @@ self.util = _cliPkgRequires.util; else return A.SassNumber_SassNumber0(Math.log(number._number1$_value) / Math.log(base._number1$_value), _null); }, - $signature: 12 + $signature: 22 }; A._pow_closure0.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return A.pow1(t1.$index($arguments, 0).assertNumber$1("base"), t1.$index($arguments, 1).assertNumber$1("exponent")); }, - $signature: 12 + $signature: 22 }; A._atan2_closure0.prototype = { call$1($arguments) { @@ -103286,26 +110019,26 @@ self.util = _cliPkgRequires.util; y = t1.$index($arguments, 0).assertNumber$1("y"); return A.SassNumber_SassNumber$withUnits0(Math.atan2(y._number1$_value, t1.$index($arguments, 1).assertNumber$1("x").convertValueToMatch$3(y, "x", "y")) * 57.29577951308232, null, A._setArrayType(["deg"], type$.JSArray_String)); }, - $signature: 12 + $signature: 22 }; A._compatible_closure0.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments); return t1.$index($arguments, 0).assertNumber$1("number1").isComparableTo$1(t1.$index($arguments, 1).assertNumber$1("number2")) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._isUnitless_closure0.prototype = { call$1($arguments) { return !J.$index$asx($arguments, 0).assertNumber$1("number").get$hasUnits() ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._unit_closure0.prototype = { call$1($arguments) { return new A.SassString0(J.$index$asx($arguments, 0).assertNumber$1("number").get$unitString(), true); }, - $signature: 19 + $signature: 17 }; A._percentage_closure0.prototype = { call$1($arguments) { @@ -103313,7 +110046,7 @@ self.util = _cliPkgRequires.util; number.assertNoUnits$1("number"); return A.SassNumber_SassNumber0(number._number1$_value * 100, "%"); }, - $signature: 12 + $signature: 22 }; A._randomFunction_closure0.prototype = { call$1($arguments) { @@ -103323,13 +110056,13 @@ self.util = _cliPkgRequires.util; return A.SassNumber_SassNumber0($.$get$_random2().nextDouble$0(), null); limit = t1.$index($arguments, 0).assertNumber$1("limit"); if (limit.get$hasUnits()) - A.warnForDeprecation0(string$.math_r + limit.toString$0(0) + string$.x29x20in_a + limit.get$unitString() + ")) * 1" + limit.get$unitString() + string$.x0a_To_p + limit.get$unitString() + string$.x29x29__Mo, B.Deprecation_oCX); + A.warnForDeprecation0(string$.math_r + limit.toString$0(0) + string$.x29x20in_a + limit.get$unitString() + ")) * 1" + limit.get$unitString() + string$.x0a_To_p + limit.get$unitString() + string$.x29x29__Mo, B.Deprecation_jV0); limitScalar = limit.assertInt$1("limit"); if (limitScalar < 1) throw A.wrapException(A.SassScriptException$0("$limit: Must be greater than 0, was " + limit.toString$0(0) + ".", null)); return A.SassNumber_SassNumber0($.$get$_random2().nextInt$1(limitScalar) + 1, null); }, - $signature: 12 + $signature: 22 }; A._div_closure0.prototype = { call$1($arguments) { @@ -103346,7 +110079,7 @@ self.util = _cliPkgRequires.util; call$1($arguments) { return this.mathFunc.call$1(J.$index$asx($arguments, 0).assertNumber$1("number")); }, - $signature: 12 + $signature: 22 }; A._numberFunction_closure0.prototype = { call$1($arguments) { @@ -103355,7 +110088,7 @@ self.util = _cliPkgRequires.util; t2 = number.get$numeratorUnits(number); return A.SassNumber_SassNumber$withUnits0(t1, number.get$denominatorUnits(number), t2); }, - $signature: 12 + $signature: 22 }; A.CssMediaQuery0.prototype = { merge$1(other) { @@ -103472,7 +110205,7 @@ self.util = _cliPkgRequires.util; } }; A.MediaQueryParser0.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.MediaQueryParser_parse_closure0(this)); }, _media_query$_mediaQuery$0() { @@ -103559,7 +110292,7 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); return queries; }, - $signature: 502 + $signature: 529 }; A.ModifiableCssMediaRule0.prototype = { accept$1$1(visitor) { @@ -103580,7 +110313,7 @@ self.util = _cliPkgRequires.util; }; A.MediaRule0.prototype = { accept$1$1(visitor) { - return visitor.visitMediaRule$1(this); + return visitor.visitMediaRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -103679,7 +110412,7 @@ self.util = _cliPkgRequires.util; for (t1 = maps.length, t2 = this._merged_map_view$_mapsByKey, t3 = $K._eval$1("@<0>")._bind$1($V)._eval$1("MergedMapView0<1,2>"), _i = 0; _i < maps.length; maps.length === t1 || (0, A.throwConcurrentModificationError)(maps), ++_i) { map = maps[_i]; if (t3._is(map)) - for (t4 = map._merged_map_view$_mapsByKey.get$values(0), t5 = A._instanceType(t4), t5 = t5._eval$1("@<1>")._bind$1(t5._rest[1]), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) { + for (t4 = map._merged_map_view$_mapsByKey.get$values(0), t5 = A._instanceType(t4), t4 = new A.MappedIterator(J.get$iterator$ax(t4.__internal$_iterable), t4._f, t5._eval$1("MappedIterator<1,2>")), t5 = t5._rest[1]; t4.moveNext$0();) { t6 = t4.__internal$_current; if (t6 == null) t6 = t5._as(t6); @@ -103707,19 +110440,20 @@ self.util = _cliPkgRequires.util; return this._merged_map_view$_mapsByKey.containsKey$1(key); } }; - A.global_closure59.prototype = { + A._shared_closure3.prototype = { call$1($arguments) { + A.warnForDeprecation0(string$.The_fe, B.Deprecation_QAx); return $._features0.contains$1(0, J.$index$asx($arguments, 0).assertString$1("feature")._string0$_text) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; - A.global_closure60.prototype = { + A._shared_closure4.prototype = { call$1($arguments) { return new A.SassString0(A.serializeValue0(J.get$first$ax($arguments), true, true), false); }, - $signature: 19 + $signature: 17 }; - A.global_closure61.prototype = { + A._shared_closure5.prototype = { call$1($arguments) { var t1 = J.getInterceptor$asx($arguments), _0_0 = t1.$index($arguments, 0); @@ -103772,9 +110506,9 @@ self.util = _cliPkgRequires.util; } return new A.SassString0(t1, false); }, - $signature: 19 + $signature: 17 }; - A.global_closure62.prototype = { + A._shared_closure6.prototype = { call$1($arguments) { var t2, t3, t4, t1 = J.getInterceptor$asx($arguments), @@ -103791,28 +110525,28 @@ self.util = _cliPkgRequires.util; } else throw A.wrapException("$args: " + A.S(t1.$index($arguments, 0)) + " is not an argument list."); }, - $signature: 33 + $signature: 36 }; - A.local_closure2.prototype = { + A.moduleFunctions_closure2.prototype = { call$1($arguments) { return new A.SassString0(J.$index$asx($arguments, 0).assertCalculation$1("calc").name, true); }, - $signature: 19 + $signature: 17 }; - A.local_closure3.prototype = { + A.moduleFunctions_closure3.prototype = { call$1($arguments) { var t1 = J.$index$asx($arguments, 0).assertCalculation$1("calc").$arguments; - return A.SassList$0(new A.MappedListIterable(t1, new A.local__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), B.ListSeparator_ECn0, false); + return A.SassList$0(new A.MappedListIterable(t1, new A.moduleFunctions__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), B.ListSeparator_ECn0, false); }, - $signature: 22 + $signature: 26 }; - A.local__closure0.prototype = { + A.moduleFunctions__closure0.prototype = { call$1(argument) { return argument instanceof A.Value0 ? argument : new A.SassString0(J.toString$0$(argument), false); }, - $signature: 503 + $signature: 530 }; - A.local_closure4.prototype = { + A.moduleFunctions_closure4.prototype = { call$1($arguments) { var _0_2_isSet, _0_2, acceptsContent, t1, _0_5_isSet, _0_5, hasContent, mixin = J.$index$asx($arguments, 0).assertMixin$1("mixin"), @@ -103855,7 +110589,7 @@ self.util = _cliPkgRequires.util; } return t1 ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A.mixinClass_closure.prototype = { call$0() { @@ -103864,13 +110598,13 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(new A.SassMixin0(A.BuiltInCallable$function0("f", "", new A.mixinClass__closure0(), null)).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.mixinClass__closure.prototype = { call$1($self) { A.jsThrow(new self.Error("It is not possible to construct a SassMixin through the JavaScript API")); }, - $signature: 504 + $signature: 531 }; A.mixinClass__closure0.prototype = { call$1(_) { @@ -103919,7 +110653,7 @@ self.util = _cliPkgRequires.util; return value; }, accept$1$1(visitor) { - return visitor.visitMixinRule$1(this); + return visitor.visitMixinRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -103935,9 +110669,10 @@ self.util = _cliPkgRequires.util; } }; A._HasContentVisitor0.prototype = { - visitContentRule$1(_) { + visitContentRule$1(_, _0) { return true; - } + }, + $isStatementVisitor: 1 }; A.__HasContentVisitor_Object_StatementSearchVisitor0.prototype = {}; A.ExtendMode0.prototype = { @@ -104004,6 +110739,23 @@ self.util = _cliPkgRequires.util; $isSourceSpanWithContext: 1 }; A.SupportsNegation0.prototype = { + toInterpolation$0() { + var t1 = new A.StringBuffer(""), + t2 = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), + t3 = this.span, + t4 = this.condition, + t5 = A.SpanExtensions_before(t3, t4.get$span(t4)); + t5 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t5.file._decodedChars, t5._file$_start, t5._end), 0, null); + t1._contents += t5; + t2.addInterpolation$1(t4.toInterpolation$0()); + t4 = A.SpanExtensions_after(t3, t4.get$span(t4)); + t4 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4.file._decodedChars, t4._file$_start, t4._end), 0, null); + t1._contents += t4; + return t2.interpolation$1(t3); + }, + withSpan$1(span) { + return new A.SupportsNegation0(this.condition, span); + }, toString$0(_) { var t1 = this.condition; if (t1 instanceof A.SupportsNegation0 || t1 instanceof A.SupportsOperation0) @@ -104012,6 +110764,8 @@ self.util = _cliPkgRequires.util; return "not " + t1.toString$0(0); }, $isAstNode0: 1, + $isSassNode: 1, + $isSupportsCondition: 1, get$span(receiver) { return this.span; } @@ -104065,7 +110819,8 @@ self.util = _cliPkgRequires.util; }; A.CssNode0.prototype = { toString$0(_) { - return A.serialize0(this, true, null, true, null, false, null, true)._0; + var _null = null; + return A.serialize0(this, true, _null, true, _null, _null, false, _null, true)._0; }, $isAstNode0: 1 }; @@ -104084,6 +110839,9 @@ self.util = _cliPkgRequires.util; }; A.__IsInvisibleVisitor_Object_EveryCssVisitor0.prototype = {}; A.ModifiableCssNode0.prototype = { + get$parent(_) { + return this._node$_parent; + }, get$hasFollowingSibling() { var t2, t1 = this._node$_parent; @@ -104105,7 +110863,7 @@ self.util = _cliPkgRequires.util; call$1(sibling) { return !sibling.accept$1(B._IsInvisibleVisitor_true_false0); }, - $signature: 108 + $signature: 532 }; A.ModifiableCssParentNode0.prototype = { get$isChildless() { @@ -104179,16 +110937,11 @@ self.util = _cliPkgRequires.util; $name = parts.length !== 0 ? t1.join$2(0, $name, B.JSArray_methods.removeAt$1(parts, 0)) : $name; subpath = parts.length !== 0 ? t5.pathFromUri$1(A._parseUri(t1.joinAll$1(parts))) : _null; packageName = $name; + t1 = true; if (!J.startsWith$1$s(packageName, ".")) if (!J.contains$1$asx(packageName, "\\")) if (!J.contains$1$asx(packageName, "%")) t1 = J.startsWith$1$s(packageName, "@") && !J.contains$1$asx(packageName, t2.get$separator(t2)); - else - t1 = true; - else - t1 = true; - else - t1 = true; if (t1) return _null; packageRoot = _this._node_package$_resolvePackageRoot$2(packageName, baseDirectory); @@ -104208,7 +110961,7 @@ self.util = _cliPkgRequires.util; } _1_0 = _this._node_package$_resolvePackageExports$4(packageRoot, subpath, packageManifest, packageName); if (_1_0 != null) - if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, t5)._splitExtension$1(1)[1])) + if (B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, t5)._splitExtension$1(1)[1])) return t4.toUri$1(t4.canonicalize$1(0, _1_0)); else { t1 = subpath == null ? "root" : subpath; @@ -104240,7 +110993,7 @@ self.util = _cliPkgRequires.util; var t1, sassValue, _1_0, styleValue, _null = null, _0_0 = packageManifest.$index(0, "sass"); if (typeof _0_0 == "string") { - t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_0_0, $.$get$url().style)._splitExtension$1(1)[1]); + t1 = B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(_0_0, $.$get$url().style)._splitExtension$1(1)[1]); sassValue = _0_0; } else { sassValue = _null; @@ -104251,7 +111004,7 @@ self.util = _cliPkgRequires.util; else { _1_0 = packageManifest.$index(0, "style"); if (typeof _1_0 == "string") { - t1 = B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, $.$get$url().style)._splitExtension$1(1)[1]); + t1 = B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(_1_0, $.$get$url().style)._splitExtension$1(1)[1]); styleValue = _1_0; } else { styleValue = _null; @@ -104281,8 +111034,8 @@ self.util = _cliPkgRequires.util; var t1, matches, _1_1, path; if (type$.Map_String_dynamic._is(exports) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure3()) && J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure4())) throw A.wrapException("`exports` in " + packageName + string$.x20can_n + J.map$1$1$ax(J.get$keys$z(exports), new A.NodePackageImporter__nodePackageExportsResolve_closure5(), type$.String).join$1(0, ",") + " in " + A.join(packageRoot, "package.json", null) + "."); - t1 = A.IterableNullableExtension_whereNotNull(new A.MappedListIterable(subpathVariants, new A.NodePackageImporter__nodePackageExportsResolve_closure6(this, exports, packageRoot), A._arrayInstanceType(subpathVariants)._eval$1("MappedListIterable<1,String?>")), type$.String); - matches = A.List_List$of(t1, true, t1.$ti._eval$1("Iterable.E")); + t1 = type$.NonNullsIterable_String; + matches = A.List_List$of(new A.NonNullsIterable(new A.MappedListIterable(subpathVariants, new A.NodePackageImporter__nodePackageExportsResolve_closure6(this, exports, packageRoot), A._arrayInstanceType(subpathVariants)._eval$1("MappedListIterable<1,String?>")), t1), true, t1._eval$1("Iterable.E")); $label0$1: { _1_1 = matches.length; if (_1_1 === 1) { @@ -104389,8 +111142,9 @@ self.util = _cliPkgRequires.util; return this._node_package$_packageTargetResolve$4(subpath, exports, packageRoot, null); }, _node_package$_getMainExport$1(exports) { - var t1, t2, map, _0_4, $export; + var t1, t2, t3, map, _0_4, t4, $export; $label0$0: { + t1 = null; if (typeof exports == "string") { t1 = exports; break $label0$0; @@ -104399,38 +111153,34 @@ self.util = _cliPkgRequires.util; t1 = exports; break $label0$0; } - t1 = type$.Map_String_dynamic._is(exports); - if (t1) { - t2 = !J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__getMainExport_closure0()); + t2 = type$.Map_String_dynamic._is(exports); + if (t2) { + t3 = !J.any$1$ax(exports.get$keys(exports), new A.NodePackageImporter__getMainExport_closure0()); map = exports; } else { - map = null; - t2 = false; + map = t1; + t3 = false; } - if (t2) { + if (t3) { t1 = map; break $label0$0; } - if (t1) { + t3 = false; + if (t2) { _0_4 = exports.$index(0, "."); if (_0_4 == null) - t2 = exports.containsKey$1("."); + t4 = exports.containsKey$1("."); else - t2 = true; - if (t2) - t2 = _0_4 != null; - else - t2 = false; - } else { + t4 = true; + if (t4) + t3 = _0_4 != null; + } else _0_4 = null; - t2 = false; - } - if (t2) { - $export = t1 ? _0_4 : J.$index$asx(exports, "."); + if (t3) { + $export = t2 ? _0_4 : J.$index$asx(exports, "."); t1 = $export; break $label0$0; } - t1 = null; break $label0$0; } return t1; @@ -104446,7 +111196,7 @@ self.util = _cliPkgRequires.util; subpath = A.join(subpath, "index", null); if (subpath == null) return A._setArrayType([null], type$.JSArray_nullable_String); - if (B.Set_0.contains$1(0, A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1])) + if (B.Set_00.contains$1(0, A.ParsedPath_ParsedPath$parse(subpath, $.$get$url().style)._splitExtension$1(1)[1])) paths.push(subpath); else B.JSArray_methods.addAll$1(paths, A._setArrayType([subpath, subpath + ".scss", subpath + ".sass", subpath + ".css"], t1)); @@ -104474,19 +111224,19 @@ self.util = _cliPkgRequires.util; call$1(key) { return B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NodePackageImporter__nodePackageExportsResolve_closure4.prototype = { call$1(key) { return !B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NodePackageImporter__nodePackageExportsResolve_closure5.prototype = { call$1(key) { return '"' + key + '"'; }, - $signature: 5 + $signature: 6 }; A.NodePackageImporter__nodePackageExportsResolve_closure6.prototype = { call$1(variant) { @@ -104546,29 +111296,29 @@ self.util = _cliPkgRequires.util; } return _null; }, - $signature: 144 + $signature: 143 }; A.NodePackageImporter__nodePackageExportsResolve__closure1.prototype = { call$1(mainExport) { return this.$this._node_package$_packageTargetResolve$3(this.variant, mainExport, this.packageRoot); }, - $signature: 145 + $signature: 144 }; A.NodePackageImporter__nodePackageExportsResolve__closure2.prototype = { call$1(key) { return !B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NodePackageImporter__getMainExport_closure0.prototype = { call$1(key) { return B.JSString_methods.startsWith$1(key, "."); }, - $signature: 4 + $signature: 5 }; A.NullExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitNullExpression$1(this); + return visitor.visitNullExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -104576,8 +111326,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "null"; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -104590,7 +111338,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(B.C__SassNull0.constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.legacyNullClass__closure.prototype = { call$2(_, __) { @@ -104604,7 +111352,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 213 + $signature: 198 }; A._SassNull0.prototype = { get$isTruthy() { @@ -104630,7 +111378,7 @@ self.util = _cliPkgRequires.util; }; A.NumberExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitNumberExpression$1(this); + return visitor.visitNumberExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -104638,8 +111386,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return A.serializeValue0(A.SassNumber_SassNumber0(this.value, this.unit), true, true); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -104655,7 +111401,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(self.Object.getPrototypeOf(J.get$$prototype$x(t1._as(A.SassNumber_SassNumber0(0, null).constructor))).constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.numberClass__closure.prototype = { call$3($self, value, unitOrOptions) { @@ -104686,43 +111432,43 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 505 + $signature: 533 }; A.numberClass__closure0.prototype = { call$1($self) { return $self._number1$_value; }, - $signature: 506 + $signature: 95 }; A.numberClass__closure1.prototype = { call$1($self) { - return A.fuzzyIsInt($self._number1$_value); + return A.fuzzyIsInt0($self._number1$_value); }, - $signature: 233 + $signature: 244 }; A.numberClass__closure2.prototype = { call$1($self) { return A.fuzzyAsInt0($self._number1$_value); }, - $signature: 508 + $signature: 535 }; A.numberClass__closure3.prototype = { call$1($self) { return new self.immutable.List($self.get$numeratorUnits($self)); }, - $signature: 224 + $signature: 245 }; A.numberClass__closure4.prototype = { call$1($self) { return new self.immutable.List($self.get$denominatorUnits($self)); }, - $signature: 224 + $signature: 245 }; A.numberClass__closure5.prototype = { call$1($self) { return $self.get$hasUnits(); }, - $signature: 233 + $signature: 244 }; A.numberClass__closure6.prototype = { call$2($self, $name) { @@ -104736,7 +111482,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 510 + $signature: 537 }; A.numberClass__closure7.prototype = { call$4($self, min, max, $name) { @@ -104750,7 +111496,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 511 + $signature: 538 }; A.numberClass__closure8.prototype = { call$2($self, $name) { @@ -104765,7 +111511,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 512 + $signature: 539 }; A.numberClass__closure9.prototype = { call$3($self, unit, $name) { @@ -104780,19 +111526,19 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 513 + $signature: 540 }; A.numberClass__closure10.prototype = { call$2($self, unit) { return $self.hasUnit$1(unit); }, - $signature: 223 + $signature: 246 }; A.numberClass__closure11.prototype = { call$2($self, unit) { return $self.get$hasUnits() && $self.compatibleWithUnit$1(unit); }, - $signature: 223 + $signature: 246 }; A.numberClass__closure12.prototype = { call$4($self, numeratorUnits, denominatorUnits, $name) { @@ -104810,7 +111556,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 222 + $signature: 247 }; A.numberClass__closure13.prototype = { call$4($self, other, $name, otherName) { @@ -104827,7 +111573,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 215 + $signature: 248 }; A.numberClass__closure14.prototype = { call$4($self, numeratorUnits, denominatorUnits, $name) { @@ -104844,7 +111590,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 188 + $signature: 249 }; A.numberClass__closure15.prototype = { call$4($self, other, $name, otherName) { @@ -104861,7 +111607,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 204 + $signature: 250 }; A.numberClass__closure16.prototype = { call$4($self, numeratorUnits, denominatorUnits, $name) { @@ -104878,7 +111624,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 222 + $signature: 247 }; A.numberClass__closure17.prototype = { call$4($self, other, $name, otherName) { @@ -104895,7 +111641,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 215 + $signature: 248 }; A.numberClass__closure18.prototype = { call$4($self, numeratorUnits, denominatorUnits, $name) { @@ -104912,7 +111658,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 188 + $signature: 249 }; A.numberClass__closure19.prototype = { call$4($self, other, $name, otherName) { @@ -104929,7 +111675,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 204 + $signature: 250 }; A._ConstructorOptions0.prototype = {}; A._NodeSassNumber.prototype = {}; @@ -104954,13 +111700,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 519 + $signature: 546 }; A.legacyNumberClass_closure0.prototype = { call$1(thisArg) { return J.get$dartValue$x(thisArg)._number1$_value; }, - $signature: 520 + $signature: 547 }; A.legacyNumberClass_closure1.prototype = { call$2(thisArg, value) { @@ -104968,7 +111714,7 @@ self.util = _cliPkgRequires.util; t2 = J.get$numeratorUnits$x(t1.get$dartValue(thisArg)); t1.set$dartValue(thisArg, A.SassNumber_SassNumber$withUnits0(value, J.get$denominatorUnits$x(t1.get$dartValue(thisArg)), t2)); }, - $signature: 521 + $signature: 548 }; A.legacyNumberClass_closure2.prototype = { call$1(thisArg) { @@ -104977,26 +111723,26 @@ self.util = _cliPkgRequires.util; t3 = J.get$denominatorUnits$x(t1.get$dartValue(thisArg)).length === 0 ? "" : "/"; return t2 + t3 + B.JSArray_methods.join$1(J.get$denominatorUnits$x(t1.get$dartValue(thisArg)), "*"); }, - $signature: 522 + $signature: 549 }; A.legacyNumberClass_closure3.prototype = { call$2(thisArg, unit) { var t1 = J.getInterceptor$x(thisArg); t1.set$dartValue(thisArg, A._parseNumber(t1.get$dartValue(thisArg)._number1$_value, unit)); }, - $signature: 523 + $signature: 550 }; A._parseNumber_closure.prototype = { call$1(unit) { return unit.length === 0; }, - $signature: 4 + $signature: 5 }; A._parseNumber_closure0.prototype = { call$1(unit) { return unit.length === 0; }, - $signature: 4 + $signature: 5 }; A.SassNumber0.prototype = { get$unitString() { @@ -105222,10 +111968,17 @@ self.util = _cliPkgRequires.util; return this._number1$_coerceUnits$1$2(other, operation, type$.dynamic); }, multiplyUnits$3(value, otherNumerators, otherDenominators) { - var t1, _0_1, _0_2, _0_3, _0_6, _0_7_isSet, _0_7, _0_9, t2, _0_9_isSet, denominators_case_0, _0_11_isSet, _0_11, _0_13_isSet, _0_10, _0_13, numerators_case_0, t4, t3, numerators_case_1, denominators_case_1, t0, newNumerators, mutableOtherDenominators, _i, numerator, mutableDenominatorUnits, _this = this, _null = null, _box_0 = {}; + var t1, _0_1, _0_6, _0_3, _0_9, _0_9_isSet, _0_7, _0_7_isSet, t2, _0_2, denominators_case_0, _0_11_isSet, _0_11, _0_13, _0_13_isSet, _0_10, numerators_case_0, t4, t3, t5, t6, t7, numerators_case_1, denominators_case_1, t0, newNumerators, mutableOtherDenominators, _i, numerator, mutableDenominatorUnits, _this = this, _null = null, _box_0 = {}; _box_0.value = value; t1 = [_this.get$numeratorUnits(_this), _this.get$denominatorUnits(_this), otherNumerators, otherDenominators]; _0_1 = t1[0]; + _0_6 = _null; + _0_3 = _null; + _0_9 = _null; + _0_9_isSet = false; + _0_7 = _null; + _0_7_isSet = false; + t2 = false; _0_2 = t1[1]; _0_3 = t1[2]; _0_6 = _0_3.length <= 0; @@ -105234,14 +111987,12 @@ self.util = _cliPkgRequires.util; _0_7 = t1[3]; _0_9 = _0_7.length <= 0; t2 = _0_9; - } else { - _0_7 = _null; - _0_9 = _0_7; - t2 = false; } _0_9_isSet = _0_7_isSet; denominators_case_0 = _0_2; _0_11_isSet = !t2; + _0_11 = _null; + _0_13 = _null; if (_0_11_isSet) { _0_11 = _0_1.length <= 0; _0_13_isSet = _0_11; @@ -105262,14 +112013,11 @@ self.util = _cliPkgRequires.util; numerators_case_0 = _0_1; } else { numerators_case_0 = _0_1; - _0_13 = _null; t2 = false; } _0_1 = _0_10; } else { numerators_case_0 = _0_1; - _0_13 = _null; - _0_11 = _0_13; _0_13_isSet = false; t2 = true; } @@ -105281,13 +112029,16 @@ self.util = _cliPkgRequires.util; t3 = t4; } if (!t2) { + t2 = _null; + t5 = _null; if (_0_11_isSet) - t2 = _0_11; + t6 = _0_11; else { _0_11 = _0_1.length <= 0; - t2 = _0_11; + t6 = _0_11; } - if (t2) { + t7 = false; + if (t6) { if (_0_9_isSet) t2 = _0_9; else { @@ -105304,23 +112055,24 @@ self.util = _cliPkgRequires.util; numerators_case_1 = _0_3; denominators_case_1 = _0_2; } else { - numerators_case_1 = _null; - denominators_case_1 = numerators_case_1; - t2 = false; + numerators_case_1 = t2; + t2 = t7; + denominators_case_1 = t5; } if (!t2) { + t2 = false; if (_0_13_isSet) - t2 = _0_13; + t5 = _0_13; else { _0_13 = _0_2.length <= 0; - t2 = _0_13; + t5 = _0_13; } - if (t2) { + if (t5) { if (_0_6) denominators_case_1 = _0_7_isSet ? _0_7 : t1[3]; t1 = _0_6; } else - t1 = false; + t1 = t2; numerators_case_1 = _0_1; } else t1 = true; @@ -105369,46 +112121,87 @@ self.util = _cliPkgRequires.util; return B.JSArray_methods.any$1(units1, new A.SassNumber__areAnyConvertible_closure0(units2)); }, _number1$_unitString$2(numerators, denominators) { - var _0_4, _0_6, t1, _0_7, _0_5, _null = null; + var _0_4, _0_7, _0_6, _0_5, t1, _0_9, _0_6_isSet, _0_5_isSet, _0_10, denominator, _null = null; $label0$0: { _0_4 = J.get$length$asx(numerators) <= 0; + _0_7 = _null; + _0_6 = _null; + _0_5 = _null; if (_0_4) { _0_6 = J.get$length$asx(denominators); t1 = _0_6; _0_7 = t1 <= 0; t1 = _0_7; _0_5 = denominators; - } else { - _0_5 = _null; - _0_6 = _0_5; - _0_7 = _0_6; + } else t1 = false; - } if (t1) { t1 = "no units"; break $label0$0; } - if (_0_4) - t1 = _0_6 === 1; - else + _0_9 = _null; + if (_0_4) { + _0_9 = _0_6 === 1; + t1 = _0_9; + _0_6_isSet = true; + _0_5_isSet = true; + } else { + _0_5_isSet = _0_4; + _0_6_isSet = _0_5_isSet; t1 = false; + } if (t1) { - t1 = J.$index$asx(_0_4 ? _0_5 : denominators, 0) + "^-1"; + _0_10 = J.$index$asx(_0_5_isSet ? _0_5 : denominators, 0); + denominator = _0_10; + t1 = denominator + "^-1"; break $label0$0; } if (_0_4) { t1 = "(" + J.join$1$ax(denominators, "*") + ")^-1"; break $label0$0; } - _0_6 = J.get$length$asx(denominators); - t1 = _0_6; + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_5; + else { + t1 = denominators; + _0_5 = t1; + _0_5_isSet = true; + } + _0_6 = J.get$length$asx(t1); + t1 = _0_6; + _0_6_isSet = true; + } _0_7 = t1 <= 0; t1 = _0_7; if (t1) { t1 = J.join$1$ax(numerators, "*"); break $label0$0; } - t1 = J.join$1$ax(numerators, "*") + "/" + J.join$1$ax(denominators, "*"); + if (_0_6_isSet) + t1 = _0_6; + else { + if (_0_5_isSet) + t1 = _0_5; + else { + t1 = denominators; + _0_5 = t1; + _0_5_isSet = true; + } + _0_6 = J.get$length$asx(t1); + t1 = _0_6; + } + _0_9 = t1 === 1; + t1 = _0_9; + if (t1) { + _0_10 = J.$index$asx(_0_5_isSet ? _0_5 : denominators, 0); + denominator = _0_10; + t1 = J.join$1$ax(numerators, "*") + "/" + denominator; + break $label0$0; + } + t1 = J.join$1$ax(numerators, "*") + "/(" + J.join$1$ax(denominators, "*") + ")"; break $label0$0; } return t1; @@ -105526,7 +112319,7 @@ self.util = _cliPkgRequires.util; return new A.SassScriptException0(t1 == null ? t3 : "$" + t1 + ": " + t3); } }, - $signature: 524 + $signature: 551 }; A.SassNumber__coerceOrConvertValue_closure3.prototype = { call$1(oldNumerator) { @@ -105536,7 +112329,7 @@ self.util = _cliPkgRequires.util; this._box_0.value *= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber__coerceOrConvertValue_closure4.prototype = { call$0() { @@ -105552,7 +112345,7 @@ self.util = _cliPkgRequires.util; this._box_0.value /= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber__coerceOrConvertValue_closure6.prototype = { call$0() { @@ -105564,13 +112357,13 @@ self.util = _cliPkgRequires.util; call$2(num1, num2) { return num1 + num2; }, - $signature: 55 + $signature: 62 }; A.SassNumber_minus_closure0.prototype = { call$2(num1, num2) { return num1 - num2; }, - $signature: 55 + $signature: 62 }; A.SassNumber_multiplyUnits_closure3.prototype = { call$1(denominator) { @@ -105580,7 +112373,7 @@ self.util = _cliPkgRequires.util; this._box_0.value /= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber_multiplyUnits_closure4.prototype = { call$0() { @@ -105596,7 +112389,7 @@ self.util = _cliPkgRequires.util; this._box_0.value /= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SassNumber_multiplyUnits_closure6.prototype = { call$0() { @@ -105618,7 +112411,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 4 + $signature: 5 }; A.SassNumber__canonicalizeUnitList_closure0.prototype = { call$1(unit) { @@ -105633,27 +112426,90 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 5 + $signature: 6 }; A.SassNumber__canonicalMultiplier_closure0.prototype = { call$2(multiplier, unit) { return multiplier * this.$this.canonicalMultiplierForUnit$1(unit); }, - $signature: 163 + $signature: 187 }; A.SassNumber_unitSuggestion_closure1.prototype = { call$1(unit) { return " * 1" + unit; }, - $signature: 5 + $signature: 6 }; A.SassNumber_unitSuggestion_closure2.prototype = { call$1(unit) { return " / 1" + unit; }, - $signature: 5 + $signature: 6 + }; + A.OklabColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, missingChroma, missingHue) { + var missingLightness, missingA, missingB, t1; + if (dest === B.OklchColorSpace_li80) + return A.labToLch0(dest, lightness, a, b, alpha, missingChroma, missingHue); + missingLightness = lightness == null; + missingA = a == null; + missingB = b == null; + if (missingLightness) + lightness = 0; + if (missingA) + a = 0; + if (missingB) + b = 0; + t1 = $.$get$oklabToLms0(); + return B.LmsColorSpace_8I80.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, Math.pow(t1[0] * lightness + t1[1] * a + t1[2] * b, 3) + 0, Math.pow(t1[3] * lightness + t1[4] * a + t1[5] * b, 3) + 0, Math.pow(t1[6] * lightness + t1[7] * a + t1[8] * b, 3) + 0, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + }, + convert$5(dest, lightness, a, b, alpha) { + return this.convert$7$missingChroma$missingHue(dest, lightness, a, b, alpha, false, false); + } + }; + A.OklchColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + get$isPolarInternal() { + return true; + }, + convert$5(dest, lightness, chroma, hue, alpha) { + var t1 = hue == null, + hueRadians = (t1 ? 0 : hue) * 3.141592653589793 / 180, + t2 = chroma == null, + t3 = t2 ? 0 : chroma, + t4 = Math.cos(hueRadians), + t5 = t2 ? 0 : chroma; + return B.OklabColorSpace_yrt0.convert$7$missingChroma$missingHue(dest, lightness, t3 * t4, t5 * Math.sin(hueRadians), alpha, t2, t1); + } }; A.SupportsOperation0.prototype = { + toInterpolation$0() { + var t1 = new A.StringBuffer(""), + t2 = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), + t3 = this.span, + t4 = this.left, + t5 = A.SpanExtensions_before(t3, t4.get$span(t4)); + t5 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t5.file._decodedChars, t5._file$_start, t5._end), 0, null); + t1._contents += t5; + t2.addInterpolation$1(t4.toInterpolation$0()); + t5 = this.right; + t4 = A.SpanExtensions_between(t4.get$span(t4), t5.get$span(t5)); + t4 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4.file._decodedChars, t4._file$_start, t4._end), 0, null); + t1._contents += t4; + t2.addInterpolation$1(t5.toInterpolation$0()); + t5 = A.SpanExtensions_after(t3, t5.get$span(t5)); + t5 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t5.file._decodedChars, t5._file$_start, t5._end), 0, null); + t1._contents += t5; + return t2.interpolation$1(t3); + }, + withSpan$1(span) { + return A.SupportsOperation$0(this.left, this.right, this.operator, span); + }, toString$0(_) { var _this = this; return _this._operation0$_parenthesize$1(_this.left) + " " + _this.operator + " " + _this._operation0$_parenthesize$1(_this.right); @@ -105667,10 +112523,15 @@ self.util = _cliPkgRequires.util; return t1 ? "(" + condition.toString$0(0) + ")" : condition.toString$0(0); }, $isAstNode0: 1, + $isSassNode: 1, + $isSupportsCondition: 1, get$span(receiver) { return this.span; } }; + A.ParcelWatcherSubscription0.prototype = {}; + A.ParcelWatcherEvent0.prototype = {}; + A.ParcelWatcher0.prototype = {}; A.ParentSelector0.prototype = { accept$1$1(visitor) { return visitor.visitParentSelector$1(this); @@ -105682,7 +112543,7 @@ self.util = _cliPkgRequires.util; return A.throwExpression(A.UnsupportedError$("& doesn't support unification.")); } }; - A.ParentStatement0.prototype = {$isAstNode0: 1, $isStatement0: 1}; + A.ParentStatement0.prototype = {}; A.ParentStatement_closure0.prototype = { call$1(child) { var t1; @@ -105700,17 +112561,17 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 249 + $signature: 237 }; A.ParentStatement__closure0.prototype = { call$1($import) { return $import instanceof A.DynamicImport0; }, - $signature: 245 + $signature: 238 }; A.ParenthesizedExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitParenthesizedExpression$1(this); + return visitor.visitParenthesizedExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -105718,14 +112579,75 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "(" + this.expression.toString$0(0) + ")"; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } }; + A.ParserExports.prototype = {}; + A.loadParserExports_closure.prototype = { + call$1(inner) { + return new A.JSExpressionVisitor(inner); + }, + $signature: 552 + }; + A.loadParserExports_closure0.prototype = { + call$1(inner) { + return new A.JSStatementVisitor(inner); + }, + $signature: 553 + }; + A._updateAstPrototypes_closure.prototype = { + call$3($self, start, end) { + return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2($self._decodedChars, start, end), 0, null); + }, + call$2($self, start) { + return this.call$3($self, start, null); + }, + "call*": "call$3", + $requiredArgCount: 2, + $defaultValues() { + return [null]; + }, + $signature: 554 + }; + A._updateAstPrototypes_closure0.prototype = { + call$1($self) { + return $self._decodedChars; + }, + $signature: 555 + }; + A._updateAstPrototypes_closure1.prototype = { + call$1($self) { + return $self.get$asPlain(); + }, + $signature: 556 + }; + A._updateAstPrototypes_closure2.prototype = { + call$2($self, visitor) { + return $self.accept$1(visitor); + }, + $signature: 557 + }; + A._updateAstPrototypes_closure3.prototype = { + call$2($self, visitor) { + return $self.accept$1(visitor); + }, + $signature: 558 + }; + A._updateAstPrototypes_closure4.prototype = { + call$1($self) { + return $self.get$span($self); + }, + $signature: 559 + }; + A._addSupportsConditionToInterpolation_closure.prototype = { + call$1($self) { + return $self.toInterpolation$0(); + }, + $signature: 560 + }; A.Parser1.prototype = { - _parser0$_parseIdentifier$0() { + _parser1$_parseIdentifier$0() { return this.wrapSpanFormatException$1(new A.Parser__parseIdentifier_closure0(this)); }, whitespace$0() { @@ -105830,7 +112752,7 @@ self.util = _cliPkgRequires.util; t2 = text._contents = "" + A.Primitives_stringFromCharCode(45); if (t1.scanChar$1(45)) { text._contents = t2 + A.Primitives_stringFromCharCode(45); - _this._parser0$_identifierBody$3$normalize$unit(text, normalize, unit); + _this._parser1$_identifierBody$3$normalize$unit(text, normalize, unit); t1 = text._contents; return t1.charCodeAt(0) == 0 ? t1 : t1; } @@ -105855,7 +112777,7 @@ self.util = _cliPkgRequires.util; } t1.error$1(0, _s20_); } - _this._parser0$_identifierBody$3$normalize$unit(text, normalize, unit); + _this._parser1$_identifierBody$3$normalize$unit(text, normalize, unit); t1 = text._contents; return t1.charCodeAt(0) == 0 ? t1 : t1; }, @@ -105868,7 +112790,7 @@ self.util = _cliPkgRequires.util; identifier$1$unit(unit) { return this.identifier$2$normalize$unit(false, unit); }, - _parser0$_identifierBody$3$normalize$unit(text, normalize, unit) { + _parser1$_identifierBody$3$normalize$unit(text, normalize, unit) { var t1, _1_0, _0_0, t2; for (t1 = this.scanner; true;) { _1_0 = t1.peekChar$0(); @@ -105917,8 +112839,8 @@ self.util = _cliPkgRequires.util; break; } }, - _parser0$_identifierBody$1(text) { - return this._parser0$_identifierBody$3$normalize$unit(text, false, false); + _parser1$_identifierBody$1(text) { + return this._parser1$_identifierBody$3$normalize$unit(text, false, false); }, string$0() { var buffer, _0_0, t2, @@ -105953,17 +112875,18 @@ self.util = _cliPkgRequires.util; return t1.charCodeAt(0) == 0 ? t1 : t1; }, declarationValue$1$allowEmpty(allowEmpty) { - var t1, t2, wroteNewline, next, t3, start, end, _0_0, _this = this, + var t1, t2, wroteNewline, next, wroteNewline0, t3, start, end, _0_0, _this = this, buffer = new A.StringBuffer(""), brackets = A._setArrayType([], type$.JSArray_int); for (t1 = _this.scanner, t2 = _this.get$string(), wroteNewline = false; true;) { next = t1.peekChar$0(); if (next == null) break; + wroteNewline0 = false; if (92 === next) { t3 = _this.escape$1$identifierStart(true); buffer._contents += t3; - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (34 === next || 39 === next) { @@ -105971,7 +112894,7 @@ self.util = _cliPkgRequires.util; t2.call$0(); end = t1._string_scanner$_position; buffer._contents += B.JSString_methods.substring$2(t1.string, start, end); - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (47 === next) { @@ -105985,7 +112908,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t3; } - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (32 === next || 9 === next) { @@ -106013,7 +112936,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(next); buffer._contents += t3; brackets.push(A.opposite0(t1.readChar$0())); - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (41 === next || 125 === next || 93 === next) { @@ -106022,7 +112945,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(next); buffer._contents += t3; t1.expectChar$1(brackets.pop()); - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (59 === next) { @@ -106040,7 +112963,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t3; } - wroteNewline = false; + wroteNewline = wroteNewline0; continue; } if (_this.lookingAtIdentifier$0()) { @@ -106050,7 +112973,7 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t3; } - wroteNewline = false; + wroteNewline = wroteNewline0; } if (brackets.length !== 0) t1.expectChar$1(B.JSArray_methods.get$last(brackets)); @@ -106084,16 +113007,11 @@ self.util = _cliPkgRequires.util; buffer._contents += t2; continue; } + t2 = true; if (37 !== _0_0) if (38 !== _0_0) if (35 !== _0_0) t2 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128; - else - t2 = true; - else - t2 = true; - else - t2 = true; if (t2) { t2 = A.Primitives_stringFromCharCode(t1.readChar$0()); buffer._contents += t2; @@ -106136,13 +113054,10 @@ self.util = _cliPkgRequires.util; for (i = 0; i < 6; ++i) { next = t1.peekChar$0(); if (next != null) { + t2 = true; if (!(next >= 48 && next <= 57)) if (!(next >= 97 && next <= 102)) t2 = next >= 65 && next <= 70; - else - t2 = true; - else - t2 = true; t2 = !t2; } else t2 = true; @@ -106177,6 +113092,7 @@ self.util = _cliPkgRequires.util; throw exception; } else { + t1 = true; if (!(value <= 31)) if (!J.$eq$(value, 127)) if (identifierStart) { @@ -106184,10 +113100,6 @@ self.util = _cliPkgRequires.util; t1 = t1 >= 48 && t1 <= 57; } else t1 = false; - else - t1 = true; - else - t1 = true; if (t1) { t1 = "" + A.Primitives_stringFromCharCode(92); if (value > 15) @@ -106296,7 +113208,7 @@ self.util = _cliPkgRequires.util; return false; t1 = _this.scanner; t2 = t1._string_scanner$_position; - if (_this._parser0$_consumeIdentifier$2(text, caseSensitive) && !_this.lookingAtIdentifierBody$0()) + if (_this._parser1$_consumeIdentifier$2(text, caseSensitive) && !_this.lookingAtIdentifierBody$0()) return true; else { t1.set$state(new A._SpanScannerState(t1, t2)); @@ -106306,7 +113218,7 @@ self.util = _cliPkgRequires.util; scanIdentifier$1(text) { return this.scanIdentifier$2$caseSensitive(text, false); }, - _parser0$_consumeIdentifier$2(text, caseSensitive) { + _parser1$_consumeIdentifier$2(text, caseSensitive) { var t1, t2, t3; for (t1 = new A.CodeUnits(text), t2 = type$.CodeUnits, t1 = new A.ListIterator(t1, t1.get$length(0), t2._eval$1("ListIterator")), t2 = t2._eval$1("ListBase.E"); t1.moveNext$0();) { t3 = t1.__internal$_current; @@ -106342,7 +113254,7 @@ self.util = _cliPkgRequires.util; }, spanFrom$1(state) { var span = this.scanner.spanFrom$1(state); - return this._parser0$_interpolationMap == null ? span : new A.LazyFileSpan0(new A.Parser_spanFrom_closure0(this, span)); + return this._parser1$_interpolationMap == null ? span : new A.LazyFileSpan0(new A.Parser_spanFrom_closure0(this, span)); }, error$3(_, message, span, trace) { var exception = new A.StringScannerException(this.scanner.string, message, span); @@ -106374,7 +113286,7 @@ self.util = _cliPkgRequires.util; return this.withErrorMessage$1$2(message, callback, type$.dynamic); }, wrapSpanFormatException$1$1(callback) { - var error, stackTrace, map, error0, stackTrace0, span, error1, stackTrace1, span0, secondarySpans, t1, t2, span1, description, _0_0, t3, exception, t4, _this = this, + var error, stackTrace, map, error0, stackTrace0, span, secondarySpans, t1, t2, span0, description, _0_0, error1, stackTrace1, span1, t3, exception, t4, _this = this, _s8_ = "expected"; try { try { @@ -106385,7 +113297,7 @@ self.util = _cliPkgRequires.util; if (type$.SourceSpanFormatException._is(t3)) { error = t3; stackTrace = A.getTraceFromException(exception); - map = _this._parser0$_interpolationMap; + map = _this._parser1$_interpolationMap; if (map == null) throw exception; A.throwWithTrace0(map.mapException$1(error), error, stackTrace); @@ -106394,37 +113306,37 @@ self.util = _cliPkgRequires.util; } } catch (exception) { t3 = A.unwrapException(exception); - if (type$.SourceSpanFormatException._is(t3)) { + if (type$.MultiSourceSpanFormatException._is(t3)) { error0 = t3; stackTrace0 = A.getTraceFromException(exception); span = J.get$span$z(error0); - if (A.startsWithIgnoreCase0(error0._span_exception$_message, _s8_)) - span = _this._parser0$_adjustExceptionSpan$1(span); - t1 = error0._span_exception$_message; - t2 = span; - A.throwWithTrace0(new A.SassFormatException0(B.Set_empty, t1, t2), error0, stackTrace0); - } else if (type$.MultiSourceSpanFormatException._is(t3)) { - error1 = t3; - stackTrace1 = A.getTraceFromException(exception); - span0 = J.get$span$z(error1); t3 = type$.FileSpan; t4 = type$.String; - secondarySpans = error1.get$secondarySpans().cast$2$0(0, t3, t4); - if (A.startsWithIgnoreCase0(error1._span_exception$_message, _s8_)) { - span0 = _this._parser0$_adjustExceptionSpan$1(span0); + secondarySpans = error0.get$secondarySpans().cast$2$0(0, t3, t4); + if (A.startsWithIgnoreCase0(error0._span_exception$_message, _s8_)) { + span = _this._parser1$_adjustExceptionSpan$1(span); t1 = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4); for (t3 = A.MapExtensions_get_pairs0(secondarySpans, t3, t4), t3 = t3.get$iterator(t3); t3.moveNext$0();) { t2 = t3.get$current(t3); - span1 = null; + span0 = null; description = null; _0_0 = t2; - span1 = _0_0._0; + span0 = _0_0._0; description = _0_0._1; - J.$indexSet$ax(t1, _this._parser0$_adjustExceptionSpan$1(span1), description); + J.$indexSet$ax(t1, _this._parser1$_adjustExceptionSpan$1(span0), description); } secondarySpans = t1; } - A.throwWithTrace0(A.MultiSpanSassFormatException$0(error1._span_exception$_message, span0, error1.get$primaryLabel(), secondarySpans, null), error1, stackTrace1); + A.throwWithTrace0(A.MultiSpanSassFormatException$0(error0._span_exception$_message, span, error0.get$primaryLabel(), secondarySpans, null), error0, stackTrace0); + } else if (type$.SourceSpanFormatException._is(t3)) { + error1 = t3; + stackTrace1 = A.getTraceFromException(exception); + span1 = J.get$span$z(error1); + if (A.startsWithIgnoreCase0(error1._span_exception$_message, _s8_)) + span1 = _this._parser1$_adjustExceptionSpan$1(span1); + t1 = error1._span_exception$_message; + t2 = span1; + A.throwWithTrace0(new A.SassFormatException0(B.Set_empty, t1, t2), error1, stackTrace1); } else throw exception; } @@ -106432,11 +113344,11 @@ self.util = _cliPkgRequires.util; wrapSpanFormatException$1(callback) { return this.wrapSpanFormatException$1$1(callback, type$.dynamic); }, - _parser0$_adjustExceptionSpan$1(span) { + _parser1$_adjustExceptionSpan$1(span) { var start, t1; if (span.get$length(span) > 0) return span; - start = this._parser0$_firstNewlineBefore$1(span.get$start(span)); + start = this._parser1$_firstNewlineBefore$1(span.get$start(span)); if (start.$eq(0, span.get$start(span))) t1 = span; else { @@ -106445,7 +113357,7 @@ self.util = _cliPkgRequires.util; } return t1; }, - _parser0$_firstNewlineBefore$1($location) { + _parser1$_firstNewlineBefore$1($location) { var lastNewline, codeUnit, t1 = $location.file, t2 = $location.offset, @@ -106477,26 +113389,26 @@ self.util = _cliPkgRequires.util; t1.scanner.expectDone$0(); return result; }, - $signature: 25 + $signature: 31 }; A.Parser_escape_closure0.prototype = { call$1(char) { return char === 32 || char === 9 || char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.Parser_scanIdentChar_matches0.prototype = { call$1(actual) { var t1 = this.char; return this.caseSensitive ? actual === t1 : A.characterEqualsIgnoreCase0(t1, actual); }, - $signature: 45 + $signature: 47 }; A.Parser_spanFrom_closure0.prototype = { call$0() { - return this.$this._parser0$_interpolationMap.mapSpan$1(this.span); + return this.$this._parser1$_interpolationMap.mapSpan$1(this.span); }, - $signature: 26 + $signature: 29 }; A.PlaceholderSelector0.prototype = { accept$1$1(visitor) { @@ -106573,12 +113485,64 @@ self.util = _cliPkgRequires.util; call$1(key) { return this.$this._prefixed_map_view0$_view._prefixed_map_view0$_prefix + key; }, - $signature: 5 + $signature: 6 + }; + A.ProphotoRgbColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + var abs = Math.abs(channel); + return abs <= 0.03125 ? channel / 16 : J.get$sign$in(channel) * Math.pow(abs, 1.8); + }, + fromLinear$1(channel) { + var abs = Math.abs(channel); + return abs >= 0.001953125 ? J.get$sign$in(channel) * Math.pow(abs, 0.5555555555555556) : 16 * channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$linearProphotoRgbToLinearSrgb0(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$linearProphotoRgbToLinearA98Rgb0(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$linearProphotoRgbToLinearDisplayP30(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$linearProphotoRgbToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$linearProphotoRgbToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$linearProphotoRgbToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$linearProphotoRgbToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } }; A.PseudoSelector0.prototype = { get$isHostContext() { return this.isClass && this.name === "host-context" && this.selector != null; }, + get$hasComplicatedSuperselectorSemantics() { + return !this.isClass || this.selector != null; + }, get$specificity() { var result, _this = this, value = _this._pseudo$__PseudoSelector_specificity_FI; @@ -106607,19 +113571,16 @@ self.util = _cliPkgRequires.util; if (!B.JSArray_methods.every$1(compound, new A.PseudoSelector_unify_closure0())) return null; } else { + t1 = false; if (compound.length === 1) { other = compound[0]; - if (!(other instanceof A.UniversalSelector0)) + if (!(other instanceof A.UniversalSelector0)) { if (other instanceof A.PseudoSelector0) t1 = other.isClass && other.name === "host" || other.get$isHostContext(); - else - t1 = false; - else + } else t1 = true; - } else { + } else other = null; - t1 = false; - } if (t1) return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector_2)); } @@ -106707,13 +113668,13 @@ self.util = _cliPkgRequires.util; call$1(component) { return component.get$specificity(); }, - $signature: 203 + $signature: 251 }; A.PseudoSelector_specificity__closure2.prototype = { call$1(component) { return component.get$specificity(); }, - $signature: 203 + $signature: 251 }; A.PseudoSelector_unify_closure0.prototype = { call$1(simple) { @@ -106724,12 +113685,12 @@ self.util = _cliPkgRequires.util; t1 = false; return t1; }, - $signature: 15 + $signature: 14 }; A.PublicMemberMapView0.prototype = { get$keys(_) { var t1 = this._public_member_map_view0$_inner; - return J.where$1$ax(t1.get$keys(t1), A.utils0__isPublic$closure()); + return J.where$1$ax(t1.get$keys(t1), A.utils1__isPublic$closure()); }, containsKey$1(key) { return typeof key == "string" && A.isPublic0(key) && this._public_member_map_view0$_inner.containsKey$1(key); @@ -106755,6 +113716,55 @@ self.util = _cliPkgRequires.util; return t1 == null ? t2 : t1 + "|" + t2; } }; + A.Rec2020ColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + toLinear$1(channel) { + var abs = Math.abs(channel); + return abs < 0.08124285829863151 ? channel / 4.5 : J.get$sign$in(channel) * Math.pow((abs + 1.09929682680944 - 1) / 1.09929682680944, 2.2222222222222223); + }, + fromLinear$1(channel) { + var abs = Math.abs(channel); + return abs > 0.018053968510807 ? J.get$sign$in(channel) * (1.09929682680944 * Math.pow(abs, 0.45) - 0.09929682680944008) : 4.5 * channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$linearRec2020ToLinearSrgb0(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$linearRec2020ToLinearA98Rgb0(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$linearRec2020ToLinearDisplayP30(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$linearRec2020ToLinearProphotoRgb0(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$linearRec2020ToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$linearRec2020ToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$linearRec2020ToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; A.JSClass0.prototype = {}; A.JSClassExtension_setCustomInspect_closure.prototype = { call$4($self, _, __, ___) { @@ -106768,28 +113778,28 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 526 + $signature: 562 }; A.JSClassExtension_get_defineStaticMethod_closure.prototype = { call$2($name, body) { this._this[$name] = A.allowInteropNamed($name, body); return null; }, - $signature: 131 + $signature: 135 }; A.JSClassExtension_get_defineMethod_closure.prototype = { call$2($name, body) { J.get$$prototype$x(this._this)[$name] = A.allowInteropCaptureThisNamed($name, body); return null; }, - $signature: 131 + $signature: 135 }; A.JSClassExtension_get_defineGetter_closure.prototype = { call$2($name, body) { A.defineGetter(J.get$$prototype$x(this._this), $name, body, null); return null; }, - $signature: 131 + $signature: 135 }; A.RenderContext0.prototype = {}; A.RenderContextOptions0.prototype = {}; @@ -106799,31 +113809,31 @@ self.util = _cliPkgRequires.util; A.RenderResult.prototype = {}; A.RenderResultStats.prototype = {}; A.ReplaceExpressionVisitor0.prototype = { - visitBinaryOperationExpression$1(node) { + visitBinaryOperationExpression$1(_, node) { return new A.BinaryOperationExpression0(node.operator, node.left.accept$1(this), node.right.accept$1(this), false); }, - visitBooleanExpression$1(node) { + visitBooleanExpression$1(_, node) { return node; }, - visitColorExpression$1(node) { + visitColorExpression$1(_, node) { return node; }, - visitFunctionExpression$1(node) { + visitFunctionExpression$1(_, node) { var t1 = node.originalName, t2 = this.visitArgumentInvocation$1(node.$arguments); return new A.FunctionExpression0(node.namespace, A.stringReplaceAllUnchecked(t1, "_", "-"), t1, t2, node.span); }, - visitInterpolatedFunctionExpression$1(node) { + visitInterpolatedFunctionExpression$1(_, node) { return new A.InterpolatedFunctionExpression0(this.visitInterpolation$1(node.name), this.visitArgumentInvocation$1(node.$arguments), node.span); }, - visitIfExpression$1(node) { + visitIfExpression$1(_, node) { return new A.IfExpression0(this.visitArgumentInvocation$1(node.$arguments), node.span); }, - visitListExpression$1(node) { + visitListExpression$1(_, node) { var t1 = node.contents; return new A.ListExpression0(A.List_List$unmodifiable(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitListExpression_closure0(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Expression0>")), type$.Expression_2), node.separator, node.hasBrackets, node.span); }, - visitMapExpression$1(node) { + visitMapExpression$1(_, node) { var t2, t3, _i, t4, key, value, t1 = A._setArrayType([], type$.JSArray_Record_2_Expression_and_Expression_2); for (t2 = node.pairs, t3 = t2.length, _i = 0; _i < t3; ++_i) { @@ -106834,31 +113844,31 @@ self.util = _cliPkgRequires.util; } return new A.MapExpression0(A.List_List$unmodifiable(t1, type$.Record_2_Expression_and_Expression_2), node.span); }, - visitNullExpression$1(node) { + visitNullExpression$1(_, node) { return node; }, - visitNumberExpression$1(node) { + visitNumberExpression$1(_, node) { return node; }, - visitParenthesizedExpression$1(node) { + visitParenthesizedExpression$1(_, node) { return new A.ParenthesizedExpression0(node.expression.accept$1(this), node.span); }, - visitSelectorExpression$1(node) { + visitSelectorExpression$1(_, node) { return node; }, - visitStringExpression$1(node) { + visitStringExpression$1(_, node) { return new A.StringExpression0(this.visitInterpolation$1(node.text), node.hasQuotes); }, - visitSupportsExpression$1(node) { + visitSupportsExpression$1(_, node) { return new A.SupportsExpression0(this.visitSupportsCondition$1(node.condition)); }, - visitUnaryOperationExpression$1(node) { + visitUnaryOperationExpression$1(_, node) { return new A.UnaryOperationExpression0(node.operator, node.operand.accept$1(this), node.span); }, - visitValueExpression$1(node) { + visitValueExpression$1(_, node) { return node; }, - visitVariableExpression$1(node) { + visitVariableExpression$1(_, node) { return node; }, visitArgumentInvocation$1(invocation) { @@ -106892,26 +113902,26 @@ self.util = _cliPkgRequires.util; }, visitInterpolation$1(interpolation) { var t1 = interpolation.contents; - return A.Interpolation$0(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitInterpolation_closure0(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>")), interpolation.span); + return A.Interpolation$0(new A.MappedListIterable(t1, new A.ReplaceExpressionVisitor_visitInterpolation_closure0(this), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Object>")), interpolation.spans, interpolation.span); } }; A.ReplaceExpressionVisitor_visitListExpression_closure0.prototype = { call$1(item) { return item.accept$1(this.$this); }, - $signature: 202 + $signature: 253 }; A.ReplaceExpressionVisitor_visitArgumentInvocation_closure0.prototype = { call$1(expression) { return expression.accept$1(this.$this); }, - $signature: 202 + $signature: 253 }; A.ReplaceExpressionVisitor_visitInterpolation_closure0.prototype = { call$1(node) { - return type$.Expression_2._is(node) ? node.accept$1(this.$this) : node; + return node instanceof A.Expression0 ? node.accept$1(this.$this) : node; }, - $signature: 64 + $signature: 79 }; A.ImporterResult0.prototype = { get$sourceMapUrl(_) { @@ -106921,7 +113931,7 @@ self.util = _cliPkgRequires.util; }; A.ReturnRule0.prototype = { accept$1$1(visitor) { - return visitor.visitReturnRule$1(this); + return visitor.visitReturnRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -106929,12 +113939,29 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@return " + this.expression.toString$0(0) + ";"; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } }; + A.RgbColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + get$isLegacyInternal() { + return true; + }, + convert$5(dest, red, green, blue, alpha) { + var t1 = red == null ? null : red / 255, + t2 = green == null ? null : green / 255; + return B.SrgbColorSpace_AD40.convert$5(dest, t1, t2, blue == null ? null : blue / 255, alpha); + }, + toLinear$1(channel) { + return A.srgbAndDisplayP3ToLinear0(channel / 255); + }, + fromLinear$1(channel) { + return A.srgbAndDisplayP3FromLinear0(channel) * 255; + } + }; A.SassParser0.prototype = { get$currentIndentation() { return this._sass0$_currentIndentation; @@ -106947,7 +113974,7 @@ self.util = _cliPkgRequires.util; t1 = this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); do { buffer.addInterpolation$1(this.almostAnyValue$1$omitComments(true)); t4 = A.Primitives_stringFromCharCode(10); @@ -106999,16 +114026,11 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position); next = t1.peekChar$0(); while (true) { + t2 = false; if (next != null) if (next !== 44) if (next !== 59) t2 = !(next === 10 || next === 13 || next === 12); - else - t2 = false; - else - t2 = false; - else - t2 = false; if (!t2) break; t1.readChar$0(); @@ -107017,7 +114039,7 @@ self.util = _cliPkgRequires.util; url = t1.substring$1(0, start.position); span = t1.spanFrom$1(start); if (_this.isPlainImportUrl$1(url)) - return new A.StaticImport0(A.Interpolation$0(A._setArrayType([A.serializeValue0(new A.SassString0(url, true), true, true)], type$.JSArray_Object), span), null, span); + return new A.StaticImport0(new A.Interpolation0(A.List_List$unmodifiable([A.serializeValue0(new A.SassString0(url, true), true, true)], type$.Object), B.List_null, span), null, span); else try { t1 = _this.parseImportUrl$1(url); @@ -107149,14 +114171,15 @@ self.util = _cliPkgRequires.util; return _this.lastSilentComment = new A.SilentComment0(t3.charCodeAt(0) == 0 ? t3 : t3, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); }, _sass0$_loudComment$0() { - var t3, t4, buffer, parentIndentation, t5, t6, first, beginningOfComment, t7, end, i, _0_0, _this = this, + var t2, t3, t4, buffer, parentIndentation, t5, t6, first, beginningOfComment, t7, end, i, _1_0, _0_0, endPosition, span, _this = this, t1 = _this.scanner, - t2 = t1._string_scanner$_position; + start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expect$1("/*"); - t3 = new A.StringBuffer(""); - t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t3, t4); - t3._contents = "" + "/*"; + t2 = new A.StringBuffer(""); + t3 = A._setArrayType([], type$.JSArray_Object); + t4 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer0(t2, t3, t4); + t2._contents = "" + "/*"; parentIndentation = _this._sass0$_currentIndentation; for (t5 = t1.string, t6 = t5.length, first = true; true; first = false) { if (first) { @@ -107166,50 +114189,95 @@ self.util = _cliPkgRequires.util; if (t7 === 10 || t7 === 13 || t7 === 12) { _this._sass0$_readIndentation$0(); t7 = A.Primitives_stringFromCharCode(32); - t3._contents += t7; + t2._contents += t7; } else { end = t1._string_scanner$_position; - t3._contents += B.JSString_methods.substring$2(t5, beginningOfComment, end); + t2._contents += B.JSString_methods.substring$2(t5, beginningOfComment, end); } } else { - t7 = t3._contents += "\n"; - t3._contents = t7 + " * "; + t7 = t2._contents += "\n"; + t2._contents = t7 + " * "; } for (i = 3; i < _this._sass0$_currentIndentation - parentIndentation; ++i) { t7 = A.Primitives_stringFromCharCode(32); - t3._contents += t7; + t2._contents += t7; } for (; t1._string_scanner$_position !== t6;) { - _0_0 = t1.peekChar$0(); - if (10 === _0_0 || 13 === _0_0 || 12 === _0_0) + _1_0 = t1.peekChar$0(); + if (10 === _1_0 || 13 === _1_0 || 12 === _1_0) break; - if (35 === _0_0) { + if (35 === _1_0) { if (t1.peekChar$1(1) === 123) { - t7 = _this.singleInterpolation$0(); + _0_0 = _this.singleInterpolation$0(); buffer._interpolation_buffer0$_flushText$0(); - t4.push(t7); + t3.push(_0_0._0); + t4.push(_0_0._1); } else { t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t7; + t2._contents += t7; + } + continue; + } + if (42 === _1_0) { + if (t1.peekChar$1(1) === 47) { + t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t3; + t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t3; + endPosition = t1._string_scanner$_position; + t2 = t1._sourceFile; + t3 = start.position; + span = new A._FileSpan(t2, t3, endPosition); + span._FileSpan$3(t2, t3, endPosition); + _this.whitespace$0(); + while (true) { + t2 = t1.peekChar$0(); + if (!((t2 === 10 || t2 === 13 || t2 === 12) && _this._sass0$_peekIndentation$0() > parentIndentation)) + break; + for (; _this._sass0$_lookingAtDoubleNewline$0();) + _this._sass0$_expectNewline$0(); + _this._sass0$_readIndentation$0(); + _this.whitespace$0(); + } + if (t1._string_scanner$_position !== t6) { + t2 = t1.peekChar$0(); + t2 = !(t2 === 10 || t2 === 13 || t2 === 12); + } else + t2 = false; + if (t2) { + t2 = t1._string_scanner$_position; + while (true) { + if (t1._string_scanner$_position !== t6) { + t3 = t1.peekChar$0(); + t3 = !(t3 === 10 || t3 === 13 || t3 === 12); + } else + t3 = false; + if (!t3) + break; + t1.readChar$0(); + } + throw A.wrapException(A.MultiSpanSassFormatException$0("Unexpected text after end of comment", t1.spanFrom$1(new A._SpanScannerState(t1, t2)), "extra text", A.LinkedHashMap_LinkedHashMap$_literal([span, "comment"], type$.FileSpan, type$.String), null)); + } else + return new A.LoudComment0(buffer.interpolation$1(span)); + } else { + t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t7; } continue; } t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t7; + t2._contents += t7; } if (_this._sass0$_peekIndentation$0() <= parentIndentation) break; for (; _this._sass0$_lookingAtDoubleNewline$0();) { _this._sass0$_expectNewline$0(); - t7 = t3._contents += "\n"; - t3._contents = t7 + " *"; + t7 = t2._contents += "\n"; + t2._contents = t7 + " *"; } _this._sass0$_readIndentation$0(); } - t4 = t3._contents; - if (!B.JSString_methods.endsWith$1(B.JSString_methods.trimRight$0(t4.charCodeAt(0) == 0 ? t4 : t4), "*/")) - t3._contents += " */"; - return new A.LoudComment0(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2)))); + return new A.LoudComment0(buffer.interpolation$1(t1.spanFrom$1(start))); }, whitespaceWithoutComments$0() { var t1, t2, next; @@ -107255,10 +114323,11 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "expected newline."); }, _sass0$_lookingAtDoubleNewline$0() { - var _0_0, + var t2, _0_0, t1 = this.scanner, _1_0 = t1.peekChar$0(); $label1$1: { + t2 = false; if (13 === _1_0) { _0_0 = t1.peekChar$1(1); $label0$0: { @@ -107271,7 +114340,7 @@ self.util = _cliPkgRequires.util; t1 = true; break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } break $label1$1; @@ -107281,7 +114350,7 @@ self.util = _cliPkgRequires.util; t1 = t1 === 10 || t1 === 13 || t1 === 12; break $label1$1; } - t1 = false; + t1 = t2; break $label1$1; } return t1; @@ -107395,7 +114464,7 @@ self.util = _cliPkgRequires.util; call$1(char) { return char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.SassParser_children_closure0.prototype = { call$0() { @@ -107409,26 +114478,26 @@ self.util = _cliPkgRequires.util; call$1(char) { return char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A.SassParser__peekIndentation_closure2.prototype = { call$1(char) { return char === 10 || char === 13 || char === 12; }, - $signature: 28 + $signature: 32 }; A._Exports.prototype = {}; A._wrapMain_closure.prototype = { call$1(_) { return A._translateReturnValue(this.main.call$0()); }, - $signature: 105 + $signature: 110 }; A._wrapMain_closure0.prototype = { call$1(args) { return A._translateReturnValue(this.main.call$1(A.List_List$from(type$.List_dynamic._as(args), true, type$.String))); }, - $signature: 105 + $signature: 110 }; A.ScssParser0.prototype = { get$indented() { @@ -107471,7 +114540,7 @@ self.util = _cliPkgRequires.util; if (_this.scanIdentifier$2$caseSensitive("else", true)) return true; if (_this.scanIdentifier$2$caseSensitive("elseif", true)) { - A.WarnForDeprecation_warnForDeprecation0(_this.logger, B.Deprecation_xw8, string$.x40elsei, t1.spanFrom$1(new A._SpanScannerState(t1, t3)), null); + _this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_YKG, string$.x40elsei, t1.spanFrom$1(new A._SpanScannerState(t1, t3)))); t1.set$position(t1._string_scanner$_position - 2); return true; } @@ -107576,65 +114645,57 @@ self.util = _cliPkgRequires.util; return _this.lastSilentComment = new A.SilentComment0(t1.substring$1(0, start.position), t1.spanFrom$1(start)); }, _scss0$_loudComment$0() { - var t3, t4, buffer, t5, endPosition, t6, result, + var t3, t4, t5, buffer, _0_0, t6, endPosition, t1 = this.scanner, t2 = t1._string_scanner$_position; t1.expect$1("/*"); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer0(t3, t4, t5); t3._contents = "" + "/*"; $label0$1: for (; true;) switch (t1.peekChar$0()) { case 35: if (t1.peekChar$1(1) === 123) { - t5 = this.singleInterpolation$0(); + _0_0 = this.singleInterpolation$0(); buffer._interpolation_buffer0$_flushText$0(); - t4.push(t5); + t4.push(_0_0._0); + t5.push(_0_0._1); } else { - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; } break; case 42: - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; if (t1.peekChar$0() !== 47) continue $label0$1; - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t4 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t4; endPosition = t1._string_scanner$_position; - t5 = t1._sourceFile; - t6 = new A._SpanScannerState(t1, t2).position; - t1 = new A._FileSpan(t5, t6, endPosition); - t1._FileSpan$3(t5, t6, endPosition); - t6 = type$.Object; - t5 = A.List_List$of(t4, true, t6); - t2 = t3._contents; - if (t2.length !== 0) - t5.push(t2.charCodeAt(0) == 0 ? t2 : t2); - result = A.List_List$from(t5, false, t6); - result.fixed$length = Array; - result.immutable$list = Array; - t2 = new A.Interpolation0(result, t1); - t2.Interpolation$20(t5, t1); - return new A.LoudComment0(t2); + t3 = t1._sourceFile; + t4 = new A._SpanScannerState(t1, t2).position; + t1 = new A._FileSpan(t3, t4, endPosition); + t1._FileSpan$3(t3, t4, endPosition); + return new A.LoudComment0(buffer.interpolation$1(t1)); case 13: t1.readChar$0(); if (t1.peekChar$0() !== 10) { - t5 = A.Primitives_stringFromCharCode(10); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(10); + t3._contents += t6; } break; case 12: t1.readChar$0(); - t5 = A.Primitives_stringFromCharCode(10); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(10); + t3._contents += t6; break; default: - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; } } }; @@ -107642,10 +114703,11 @@ self.util = _cliPkgRequires.util; assertNotBogus$1$name($name) { if (!this.accept$1(B._IsBogusVisitor_true0)) return; - A.warnForDeprecation0("$" + $name + ": " + (this.toString$0(0) + string$.x20is_nov), B.Deprecation_5pG); + A.warnForDeprecation0("$" + $name + ": " + (this.toString$0(0) + string$.x20is_nov), B.Deprecation_bh9); }, toString$0(_) { - var visitor = A._SerializeVisitor$0(null, true, null, true, false, null, true); + var _null = null, + visitor = A._SerializeVisitor$0(_null, true, _null, _null, true, false, _null, true); this.accept$1(visitor); return visitor._serialize0$_buffer.toString$0(0); }, @@ -107704,7 +114766,7 @@ self.util = _cliPkgRequires.util; call$1(component) { return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector); }, - $signature: 51 + $signature: 55 }; A._IsUselessVisitor0.prototype = { visitComplexSelector$1(complex) { @@ -107718,14 +114780,14 @@ self.util = _cliPkgRequires.util; call$1(component) { return component.combinators.length > 1 || this.$this.visitCompoundSelector$1(component.selector); }, - $signature: 51 + $signature: 55 }; A.__IsBogusVisitor_Object_AnySelectorVisitor0.prototype = {}; A.__IsInvisibleVisitor_Object_AnySelectorVisitor0.prototype = {}; A.__IsUselessVisitor_Object_AnySelectorVisitor0.prototype = {}; A.SelectorExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitSelectorExpression$1(this); + return visitor.visitSelectorExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -107733,8 +114795,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "&"; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -107748,7 +114808,7 @@ self.util = _cliPkgRequires.util; t1.first = true; return new A.MappedListIterable(selectors, new A._nest__closure1(t1), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList0>")).reduce$1(0, new A._nest__closure2()).get$asSassList(); }, - $signature: 22 + $signature: 26 }; A._nest__closure1.prototype = { call$1(selector) { @@ -107757,13 +114817,13 @@ self.util = _cliPkgRequires.util; t1.first = false; return result; }, - $signature: 195 + $signature: 254 }; A._nest__closure2.prototype = { call$2($parent, child) { return child.nestWithin$1($parent); }, - $signature: 214 + $signature: 255 }; A._append_closure1.prototype = { call$1($arguments) { @@ -107774,13 +114834,13 @@ self.util = _cliPkgRequires.util; t1 = A.EvaluationContext_currentOrNull0(); return new A.MappedListIterable(selectors, new A._append__closure1(), A._arrayInstanceType(selectors)._eval$1("MappedListIterable<1,SelectorList0>")).reduce$1(0, new A._append__closure2((t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan())).get$asSassList(); }, - $signature: 22 + $signature: 26 }; A._append__closure1.prototype = { call$1(selector) { return A.SassApiValue_assertSelector0(selector, false, null); }, - $signature: 195 + $signature: 254 }; A._append__closure2.prototype = { call$2($parent, child) { @@ -107788,7 +114848,7 @@ self.util = _cliPkgRequires.util; t2 = this.span; return A.SelectorList$0(new A.MappedListIterable(t1, new A._append___closure0($parent, t2), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,ComplexSelector0>")), t2).nestWithin$1($parent); }, - $signature: 214 + $signature: 255 }; A._append___closure0.prototype = { call$1(complex) { @@ -107814,7 +114874,7 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t2, rest); return A.ComplexSelector$0(B.List_empty14, t2, t1, false); }, - $signature: 56 + $signature: 59 }; A._extend_closure0.prototype = { call$1($arguments) { @@ -107832,7 +114892,7 @@ self.util = _cliPkgRequires.util; t1 = A.EvaluationContext_currentOrNull0(); return A.ExtensionStore__extendOrReplace0(selector, source, target, B.ExtendMode_allTargets_allTargets0, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList(); }, - $signature: 22 + $signature: 26 }; A._replace_closure0.prototype = { call$1($arguments) { @@ -107850,7 +114910,7 @@ self.util = _cliPkgRequires.util; t1 = A.EvaluationContext_currentOrNull0(); return A.ExtensionStore__extendOrReplace0(selector, source, target, B.ExtendMode_replace_replace0, (t1 == null ? A.throwExpression(A.StateError$(string$.No_Sass)) : t1).get$currentCallableSpan()).get$asSassList(); }, - $signature: 22 + $signature: 26 }; A._unify_closure0.prototype = { call$1($arguments) { @@ -107878,29 +114938,29 @@ self.util = _cliPkgRequires.util; selector2.assertNotBogus$1$name("sub"); return A.listIsSuperselector0(selector1.components, selector2.components) ? B.SassBoolean_true0 : B.SassBoolean_false0; }, - $signature: 21 + $signature: 12 }; A._simpleSelectors_closure0.prototype = { call$1($arguments) { var t1 = A.SassApiValue_assertCompoundSelector0(J.$index$asx($arguments, 0), "selector").components; return A.SassList$0(new A.MappedListIterable(t1, new A._simpleSelectors__closure0(), A._arrayInstanceType(t1)._eval$1("MappedListIterable<1,Value0>")), B.ListSeparator_ECn0, false); }, - $signature: 22 + $signature: 26 }; A._simpleSelectors__closure0.prototype = { call$1(simple) { return new A.SassString0(A.serializeSelector0(simple, true), false); }, - $signature: 531 + $signature: 567 }; A._parse_closure0.prototype = { call$1($arguments) { return A.SassApiValue_assertSelector0(J.$index$asx($arguments, 0), false, "selector").get$asSassList(); }, - $signature: 22 + $signature: 26 }; A.SelectorParser0.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.SelectorParser_parse_closure0(this)); }, parseCompoundSelector$0() { @@ -107960,6 +115020,7 @@ self.util = _cliPkgRequires.util; } if (_0_0 == null) break; + t5 = true; if (91 !== _0_0) if (46 !== _0_0) if (35 !== _0_0) @@ -107969,22 +115030,6 @@ self.util = _cliPkgRequires.util; if (42 !== _0_0) if (124 !== _0_0) t5 = _this.lookingAtIdentifier$0(); - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; if (t5) { if (lastCompound != null) { t5 = _this.spanFrom$1(componentStart); @@ -108061,7 +115106,7 @@ self.util = _cliPkgRequires.util; t1.expectChar$1(38); if (_this.lookingAtIdentifierBody$0()) { text = new A.StringBuffer(""); - _this._parser0$_identifierBody$1(text); + _this._parser1$_identifierBody$1(text); if (text._contents.length === 0) t1.error$1(0, "Expected identifier body."); t3 = text._contents; @@ -108142,7 +115187,7 @@ self.util = _cliPkgRequires.util; } }, _selector$_pseudoSelector$0() { - var element, $name, unvendored, selector, argument, t2, _this = this, _null = null, + var element, $name, unvendored, argument, selector, t2, _this = this, _null = null, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expectChar$1(58); @@ -108152,18 +115197,16 @@ self.util = _cliPkgRequires.util; return A.PseudoSelector$0($name, _this.spanFrom$1(start), _null, element, _null); _this.whitespace$0(); unvendored = A.unvendor0($name); + argument = _null; + selector = _null; if (element) - if ($._selectorPseudoElements0.contains$1(0, unvendored)) { + if ($._selectorPseudoElements0.contains$1(0, unvendored)) selector = _this._selector$_selectorList$0(); - argument = _null; - } else { + else argument = _this.declarationValue$1$allowEmpty(true); - selector = _null; - } - else if ($._selectorPseudoClasses0.contains$1(0, unvendored)) { + else if ($._selectorPseudoClasses0.contains$1(0, unvendored)) selector = _this._selector$_selectorList$0(); - argument = _null; - } else if (unvendored === "nth-child" || unvendored === "nth-last-child") { + else if (unvendored === "nth-child" || unvendored === "nth-last-child") { argument = _this._selector$_aNPlusB$0(); _this.whitespace$0(); t2 = t1.peekChar$1(-1); @@ -108172,12 +115215,9 @@ self.util = _cliPkgRequires.util; argument += " of"; _this.whitespace$0(); selector = _this._selector$_selectorList$0(); - } else - selector = _null; - } else { + } + } else argument = B.JSString_methods.trimRight$0(_this.declarationValue$1$allowEmpty(true)); - selector = _null; - } t1.expectChar$1(41); return A.PseudoSelector$0($name, _this.spanFrom$1(start), argument, element, selector); }, @@ -108271,7 +115311,7 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "expected selector."); return selector; }, - $signature: 532 + $signature: 568 }; A.SelectorParser_parseCompoundSelector_closure0.prototype = { call$0() { @@ -108282,7 +115322,7 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "expected selector."); return compound; }, - $signature: 533 + $signature: 569 }; A.SelectorSearchVisitor0.prototype = { visitAttributeSelector$1(attribute) { @@ -108339,7 +115379,7 @@ self.util = _cliPkgRequires.util; call$1(codeUnit) { return codeUnit > 127; }, - $signature: 45 + $signature: 47 }; A._SerializeVisitor0.prototype = { visitCssStylesheet$1(node) { @@ -108476,7 +115516,21 @@ self.util = _cliPkgRequires.util; _this._serialize0$_visitChildren$1(node); }, visitCssDeclaration$1(node) { - var error, stackTrace, error0, stackTrace0, t1, t2, exception, _this = this; + var error, stackTrace, error0, stackTrace0, t3, declSpecificities, t4, t5, t6, t7, _i, rule, ruleSpecificities, exception, _this = this, + t1 = node.interleavedRules, + t2 = t1.length; + if (t2 !== 0) { + t3 = node._node$_parent; + t3.toString; + declSpecificities = _this._serialize0$_specificities$1(t3); + for (t3 = _this._serialize0$_logger, t4 = node.span, t5 = type$.SourceSpan, t6 = type$.String, t7 = node.trace, _i = 0; _i < t2; ++_i) { + rule = t1[_i]; + ruleSpecificities = _this._serialize0$_specificities$1(rule); + if (!declSpecificities.any$1(0, ruleSpecificities.get$contains(ruleSpecificities))) + continue; + A.WarnForDeprecation_warnForDeprecation0(t3, B.Deprecation_VIq, string$.Sassx27s, new A.MultiSpan0(t4, "declaration", A.ConstantMap_ConstantMap$from(A.LinkedHashMap_LinkedHashMap$_literal([rule.span, "nested rule"], t5, t6), t5, t6)), t7); + } + } _this._serialize0$_writeIndentation$0(); t1 = node.name; _this._serialize0$_write$1(t1); @@ -108505,6 +115559,23 @@ self.util = _cliPkgRequires.util; } } }, + _serialize0$_specificities$1(node) { + var $parent, t2, t3, _i, + t1 = this.get$_serialize0$_specificities(); + if (node instanceof A.ModifiableCssStyleRule0) { + t1 = A.NullableExtension_andThen0(node._node$_parent, t1); + $parent = t1 == null ? null : A.IterableIntegerExtension_get_max(t1); + if ($parent == null) + $parent = 0; + t1 = A.LinkedHashSet_LinkedHashSet$_empty(type$.int); + for (t2 = node._style_rule0$_selector._box0$_inner.value.components, t3 = t2.length, _i = 0; _i < t3; ++_i) + t1.add$1(0, $parent + t2[_i].get$specificity()); + return t1; + } else { + t1 = A.NullableExtension_andThen0(node.get$parent(node), t1); + return t1 == null ? B.Set_0 : t1; + } + }, _serialize0$_writeFoldedValue$1(node) { var t1, t2, next, t3, scanner = A.StringScanner$(type$.SassString_2._as(node.value.value)._string0$_text, null, null); @@ -108638,7 +115709,7 @@ self.util = _cliPkgRequires.util; t1.writeCharCode$1(41); }, _serialize0$_writeCalculationValue$1(value) { - var _2_4_isSet, _2_4, t1, _0_0, _1_0, first, rest, operator, left, right, parenthesizeLeft, operatorWhitespace, t2, parenthesizeRight, _this = this, _null = null; + var _2_4_isSet, _2_4, t1, _0_0, _1_0, first, rest, left, right, operator, parenthesizeLeft, operatorWhitespace, parenthesizeRight, t2, _this = this, _null = null; $label1$1: { _2_4_isSet = value instanceof A.SassNumber0; if (_2_4_isSet) { @@ -108690,16 +115761,15 @@ self.util = _cliPkgRequires.util; break $label1$1; } t1 = value instanceof A.CalculationOperation0; + left = _null; + right = _null; if (t1) { operator = value._calculation0$_operator; left = value._calculation0$_left; right = value._calculation0$_right; right = right; - } else { - right = _null; - left = right; - operator = left; - } + } else + operator = _null; if (t1) { parenthesizeLeft = left instanceof A.CalculationOperation0 && left._calculation0$_operator.precedence < operator.precedence; if (parenthesizeLeft) @@ -108714,16 +115784,16 @@ self.util = _cliPkgRequires.util; t1.write$1(0, operator.operator); if (operatorWhitespace) t1.writeCharCode$1(32); - if (!(right instanceof A.CalculationOperation0 && _this._serialize0$_parenthesizeCalculationRhs$2(operator, right._calculation0$_operator))) + if (!(right instanceof A.CalculationOperation0 && _this._serialize0$_parenthesizeCalculationRhs$2(operator, right._calculation0$_operator))) { + parenthesizeRight = false; if (operator === B.CalculationOperator_Qf10) { if (right instanceof A.SassNumber0) t2 = isFinite(right._number1$_value) ? right.get$hasComplexUnits() : right.get$hasUnits(); else - t2 = false; + t2 = parenthesizeRight; parenthesizeRight = t2; - } else - parenthesizeRight = false; - else + } + } else parenthesizeRight = true; if (parenthesizeRight) t1.writeCharCode$1(40); @@ -108773,128 +115843,475 @@ self.util = _cliPkgRequires.util; return t1; }, visitColor$1(value) { - var hexLength, _0_0, t1, $name, _1_0, opaque, t2, _3_0, _this = this; - if (_this._serialize0$_style === B.OutputStyle_10) - if (!A.fuzzyEquals0(value._color1$_alpha, 1)) - _this._serialize0$_writeRgb$1(value); - else { - hexLength = _this._serialize0$_canUseShortHex$1(value) ? 4 : 7; - _0_0 = $.$get$namesByColor0().$index(0, value); - if (_0_0 != null) { - t1 = _0_0.length <= hexLength; - $name = _0_0; - } else { - $name = null; - t1 = false; - } - if (t1) - _this._serialize0$_buffer.write$1(0, $name); - else { - t1 = _this._serialize0$_buffer; - if (_this._serialize0$_canUseShortHex$1(value)) { - t1.writeCharCode$1(35); - t1.writeCharCode$1(A.hexCharFor0(value.get$red(0) & 15)); - t1.writeCharCode$1(A.hexCharFor0(value.get$green(0) & 15)); - t1.writeCharCode$1(A.hexCharFor0(value.get$blue(0) & 15)); - } else { - t1.writeCharCode$1(35); - _this._serialize0$_writeHexComponent$1(value.get$red(0)); - _this._serialize0$_writeHexComponent$1(value.get$green(0)); - _this._serialize0$_writeHexComponent$1(value.get$blue(0)); - } + var _0_0, _0_2, _0_6, t1, _0_4, _0_6_isSet, t2, _0_10_isSet, _0_10, _0_12_isSet, _0_14, _0_12, _0_14_isSet, t3, _0_10_isSet0, polar, t4, t5, _this = this, _null = null; + $label0$0: { + _0_0 = value._color0$_space; + _0_2 = B.RgbColorSpace_mlz0 === _0_0; + _0_6 = _null; + t1 = true; + if (!_0_2) { + _0_4 = B.HslColorSpace_gsm0 === _0_0; + _0_6_isSet = !_0_4; + if (_0_6_isSet) { + _0_6 = B.HwbColorSpace_06z0 === _0_0; + t1 = _0_6; } + } else { + _0_4 = _null; + _0_6_isSet = false; } - else { - _1_0 = value.format; - if (_1_0 != null) - $label0$0: { - if (B._ColorFormatEnum_rgbFunction0 === _1_0) { - _this._serialize0$_writeRgb$1(value); - break $label0$0; - } - if (B._ColorFormatEnum_hslFunction0 === _1_0) { - t1 = value._color1$_alpha; - opaque = A.fuzzyEquals0(t1, 1); - t2 = _this._serialize0$_buffer; - t2.write$1(0, opaque ? "hsl(" : "hsla("); - _this._serialize0$_writeNumber$1(value.get$hue(0)); - t2.write$1(0, ", "); - _this._serialize0$_writeNumber$1(value.get$saturation(0)); - t2.writeCharCode$1(37); - t2.write$1(0, ", "); - _this._serialize0$_writeNumber$1(value.get$lightness(0)); - t2.writeCharCode$1(37); - if (!opaque) { - t2.write$1(0, ", "); - _this._serialize0$_writeNumber$1(t1); - } - t2.writeCharCode$1(41); - break $label0$0; - } - if (_1_0 instanceof A.SpanColorFormat0) { - _this._serialize0$_buffer.write$1(0, _1_0._color1$_span.get$text()); - break $label0$0; - } - } - else { - _3_0 = $.$get$namesByColor0().$index(0, value); - if (_3_0 != null) { - t1 = !A.fuzzyEquals0(value._color1$_alpha, 0); - $name = _3_0; - } else { - $name = null; - t1 = false; - } - if (t1) - _this._serialize0$_buffer.write$1(0, $name); - else if (A.fuzzyEquals0(value._color1$_alpha, 1)) { - _this._serialize0$_buffer.writeCharCode$1(35); - _this._serialize0$_writeHexComponent$1(value.get$red(0)); - _this._serialize0$_writeHexComponent$1(value.get$green(0)); - _this._serialize0$_writeHexComponent$1(value.get$blue(0)); + if (t1 && value.channel0OrNull != null && value.channel1OrNull != null && value.channel2OrNull != null && value.alphaOrNull != null) { + _this._serialize0$_writeLegacyColor$1(value); + break $label0$0; + } + if (_0_2) { + t1 = _this._serialize0$_buffer; + t1.write$1(0, "rgb("); + _this._serialize0$_writeChannel$1(value.channel0OrNull); + t1.writeCharCode$1(32); + _this._serialize0$_writeChannel$1(value.channel1OrNull); + t1.writeCharCode$1(32); + _this._serialize0$_writeChannel$1(value.channel2OrNull); + _this._serialize0$_maybeWriteSlashAlpha$1(value); + t1.writeCharCode$1(41); + break $label0$0; + } + if (!_0_4) + t1 = _0_6_isSet ? _0_6 : B.HwbColorSpace_06z0 === _0_0; + else + t1 = true; + if (t1) { + t1 = _this._serialize0$_buffer; + t1.write$1(0, _0_0); + t1.writeCharCode$1(40); + t2 = _this._serialize0$_style === B.OutputStyle_10 ? _null : "deg"; + _this._serialize0$_writeChannel$2(value.channel0OrNull, t2); + t1.writeCharCode$1(32); + _this._serialize0$_writeChannel$2(value.channel1OrNull, "%"); + t1.writeCharCode$1(32); + _this._serialize0$_writeChannel$2(value.channel2OrNull, "%"); + _this._serialize0$_maybeWriteSlashAlpha$1(value); + t1.writeCharCode$1(41); + break $label0$0; + } + _0_10_isSet = B.LabColorSpace_IF20 !== _0_0; + if (_0_10_isSet) { + _0_10 = B.LchColorSpace_wv80 === _0_0; + t1 = _0_10; + } else { + _0_10 = _null; + t1 = true; + } + t2 = false; + if (t1) + if (!_this._serialize0$_inspect) { + t1 = value.channel0OrNull; + if (t1 == null) + t1 = 0; + if (t1 > 0 || A.fuzzyEquals0(t1, 0)) + t1 = t1 < 100 || A.fuzzyEquals0(t1, 100); + else + t1 = false; + t1 = !t1 && value.channel1OrNull != null && value.channel2OrNull != null; } else - _this._serialize0$_writeRgb$1(value); + t1 = t2; + else + t1 = t2; + _0_12_isSet = !t1; + _0_14 = _null; + if (_0_12_isSet) { + _0_12 = B.OklabColorSpace_yrt0 === _0_0; + t1 = false; + _0_14_isSet = !_0_12; + if (_0_14_isSet) { + _0_14 = B.OklchColorSpace_li80 === _0_0; + t2 = _0_14; + } else + t2 = true; + t3 = false; + if (t2) + if (!_this._serialize0$_inspect) { + t2 = value.channel0OrNull; + if (t2 == null) + t2 = 0; + if (t2 > 0 || A.fuzzyEquals0(t2, 0)) + t2 = t2 < 1 || A.fuzzyEquals0(t2, 1); + else + t2 = false; + t2 = !t2 && value.channel1OrNull != null && value.channel2OrNull != null; + } else + t2 = t3; + else + t2 = t3; + if (!t2) { + if (_0_10_isSet) { + t2 = _0_10; + _0_10_isSet0 = _0_10_isSet; + } else { + _0_10 = B.LchColorSpace_wv80 === _0_0; + t2 = _0_10; + _0_10_isSet0 = true; + } + if (!t2) + if (_0_14_isSet) + t2 = _0_14; + else { + _0_14 = B.OklchColorSpace_li80 === _0_0; + t2 = _0_14; + _0_14_isSet = true; + } + else + t2 = true; + if (t2) + if (!_this._serialize0$_inspect) { + t1 = value.channel1OrNull; + t2 = t1 == null; + if (t2) + t1 = 0; + t1 = t1 < 0 && !A.fuzzyEquals0(t1, 0) && value.channel0OrNull != null && !t2; + } + } else { + _0_10_isSet0 = _0_10_isSet; + t1 = true; + } + } else { + _0_12 = _null; + _0_10_isSet0 = _0_10_isSet; + _0_14_isSet = false; + t1 = true; + } + if (t1) { + t1 = _this._serialize0$_buffer; + t1.write$1(0, "color-mix(in "); + t1.write$1(0, _0_0); + t2 = _this._serialize0$_style === B.OutputStyle_10; + t1.write$1(0, t2 ? "," : ", "); + _this._serialize0$_writeColorFunction$1(value.toSpace$1(B.XyzD65ColorSpace_4CA0)); + if (!t2) + t1.writeCharCode$1(32); + t1.write$1(0, "100%"); + t1.write$1(0, t2 ? "," : ", "); + t1.write$1(0, t2 ? "red" : "black"); + t1.writeCharCode$1(41); + break $label0$0; + } + t1 = true; + if (_0_10_isSet) + if (!(_0_12_isSet ? _0_12 : B.OklabColorSpace_yrt0 === _0_0)) + if (!(_0_10_isSet0 ? _0_10 : B.LchColorSpace_wv80 === _0_0)) + t1 = _0_14_isSet ? _0_14 : B.OklchColorSpace_li80 === _0_0; + if (t1) { + t1 = _this._serialize0$_buffer; + t1.write$1(0, _0_0); + t1.writeCharCode$1(40); + t2 = _0_0._space$_channels; + polar = t2[2].isPolarAngle; + t3 = false; + if (!_this._serialize0$_inspect) { + t4 = value.channel0OrNull; + if (t4 == null) + t4 = 0; + if (t4 > 0 || A.fuzzyEquals0(t4, 0)) + t4 = t4 < 100 || A.fuzzyEquals0(t4, 100); + else + t4 = false; + if (t4) { + if (polar) { + t3 = value.channel1OrNull; + if (t3 == null) + t3 = 0; + t3 = t3 < 0 && !A.fuzzyEquals0(t3, 0); + } + } else + t3 = true; + } + if (t3) { + t1.write$1(0, "from "); + t1.write$1(0, _this._serialize0$_style === B.OutputStyle_10 ? "red" : "black"); + t1.writeCharCode$1(32); + } + t3 = _this._serialize0$_style !== B.OutputStyle_10; + t4 = t3 && value.channel0OrNull != null; + t5 = value.channel0OrNull; + if (t4) { + t2 = type$.LinearChannel_2._as(t2[0]); + _this._serialize0$_writeNumber$1((t5 == null ? 0 : t5) * 100 / t2.max); + t1.writeCharCode$1(37); + } else + _this._serialize0$_writeChannel$1(t5); + t1.writeCharCode$1(32); + _this._serialize0$_writeChannel$1(value.channel1OrNull); + t1.writeCharCode$1(32); + t2 = polar && t3 ? "deg" : _null; + _this._serialize0$_writeChannel$2(value.channel2OrNull, t2); + _this._serialize0$_maybeWriteSlashAlpha$1(value); + t1.writeCharCode$1(41); + break $label0$0; + } + _this._serialize0$_writeColorFunction$1(value); + } + }, + _serialize0$_writeChannel$2(channel, unit) { + var _this = this; + if (channel == null) + _this._serialize0$_buffer.write$1(0, "none"); + else if (isFinite(channel)) { + _this._serialize0$_writeNumber$1(channel); + if (unit != null) + _this._serialize0$_buffer.write$1(0, unit); + } else + _this.visitNumber$1(A.SassNumber_SassNumber0(channel, unit)); + }, + _serialize0$_writeChannel$1(channel) { + return this._serialize0$_writeChannel$2(channel, null); + }, + _serialize0$_writeLegacyColor$1(color) { + var rgb, t3, red, green, blue, hsl, hue, saturation, lightness, hwb, _0_0, format, _1_0, _this = this, + t1 = color.alphaOrNull, + t2 = t1 == null, + opaque = A.fuzzyEquals0(t2 ? 0 : t1, 1); + if (!color.get$isInGamut() && !_this._serialize0$_inspect) { + _this._serialize0$_writeHsl$1(color); + return; + } + if (_this._serialize0$_style === B.OutputStyle_10) { + rgb = color.toSpace$1(B.RgbColorSpace_mlz0); + if (opaque && _this._serialize0$_tryIntegerRgb$1(rgb)) + return; + t3 = rgb.channel0OrNull; + red = _this._serialize0$_writeNumberToString$1(t3 == null ? 0 : t3); + t3 = rgb.channel1OrNull; + green = _this._serialize0$_writeNumberToString$1(t3 == null ? 0 : t3); + t3 = rgb.channel2OrNull; + blue = _this._serialize0$_writeNumberToString$1(t3 == null ? 0 : t3); + hsl = color.toSpace$1(B.HslColorSpace_gsm0); + t3 = hsl.channel0OrNull; + hue = _this._serialize0$_writeNumberToString$1(t3 == null ? 0 : t3); + t3 = hsl.channel1OrNull; + saturation = _this._serialize0$_writeNumberToString$1(t3 == null ? 0 : t3); + t3 = hsl.channel2OrNull; + lightness = _this._serialize0$_writeNumberToString$1(t3 == null ? 0 : t3); + t3 = _this._serialize0$_buffer; + if (red.length + green.length + blue.length <= hue.length + saturation.length + lightness.length + 2) { + t3.write$1(0, opaque ? "rgb(" : "rgba("); + t3.write$1(0, red); + t3.writeCharCode$1(44); + t3.write$1(0, green); + t3.writeCharCode$1(44); + t3.write$1(0, blue); + } else { + t3.write$1(0, opaque ? "hsl(" : "hsla("); + t3.write$1(0, hue); + t3.writeCharCode$1(44); + t3.write$1(0, saturation); + t3.write$1(0, "%,"); + t3.write$1(0, lightness); + t3.writeCharCode$1(37); + } + if (!opaque) { + t3.writeCharCode$1(44); + _this._serialize0$_writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + return; + } + t3 = color._color0$_space; + if (t3 === B.HslColorSpace_gsm0) { + _this._serialize0$_writeHsl$1(color); + return; + } else if (_this._serialize0$_inspect && t3 === B.HwbColorSpace_06z0) { + t3 = _this._serialize0$_buffer; + t3.write$1(0, "hwb("); + hwb = color.toSpace$1(B.HwbColorSpace_06z0); + _this._serialize0$_writeNumber$1(hwb.channel$1(0, "hue")); + t3.writeCharCode$1(32); + _this._serialize0$_writeNumber$1(hwb.channel$1(0, "whiteness")); + t3.writeCharCode$1(37); + t3.writeCharCode$1(32); + _this._serialize0$_writeNumber$1(hwb.channel$1(0, "blackness")); + t3.writeCharCode$1(37); + if (!A.fuzzyEquals0(t2 ? 0 : t1, 1)) { + t3.write$1(0, " / "); + _this._serialize0$_writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + return; + } + _0_0 = color.format; + if (B.C__ColorFormatEnum0 === _0_0) { + _this._serialize0$_writeRgb$1(color); + return; + } + t1 = _0_0 instanceof A.SpanColorFormat0; + format = t1 ? _0_0 : null; + if (t1) { + _this._serialize0$_buffer.write$1(0, format._color0$_span.get$text()); + return; + } + if (opaque) { + rgb = color.toSpace$1(B.RgbColorSpace_mlz0); + _1_0 = $.$get$namesByColor0().$index(0, rgb); + if (_1_0 != null) { + _this._serialize0$_buffer.write$1(0, _1_0); + return; + } + if (_this._serialize0$_canUseHex$1(rgb)) { + _this._serialize0$_buffer.writeCharCode$1(35); + t1 = rgb.channel0OrNull; + _this._serialize0$_writeHexComponent$1(B.JSNumber_methods.round$0(t1 == null ? 0 : t1)); + t1 = rgb.channel1OrNull; + _this._serialize0$_writeHexComponent$1(B.JSNumber_methods.round$0(t1 == null ? 0 : t1)); + t1 = rgb.channel2OrNull; + _this._serialize0$_writeHexComponent$1(B.JSNumber_methods.round$0(t1 == null ? 0 : t1)); + return; } } + if (t3 === B.HwbColorSpace_06z0) + _this._serialize0$_writeHsl$1(color); + else + _this._serialize0$_writeRgb$1(color); }, - _serialize0$_writeRgb$1(value) { - var t3, - t1 = value._color1$_alpha, - opaque = A.fuzzyEquals0(t1, 1), - t2 = this._serialize0$_buffer; - t2.write$1(0, opaque ? "rgb(" : "rgba("); - t2.write$1(0, value.get$red(0)); - t3 = this._serialize0$_style === B.OutputStyle_10; - t2.write$1(0, t3 ? "," : ", "); - t2.write$1(0, value.get$green(0)); - t2.write$1(0, t3 ? "," : ", "); - t2.write$1(0, value.get$blue(0)); - if (!opaque) { - t2.write$1(0, t3 ? "," : ", "); - this._serialize0$_writeNumber$1(t1); - } - t2.writeCharCode$1(41); - }, - _serialize0$_canUseShortHex$1(color) { - var t1 = color.get$red(0); - if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) { - t1 = color.get$green(0); - if ((t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4)) { - t1 = color.get$blue(0); - t1 = (t1 & 15) === B.JSInt_methods._shrOtherPositive$1(t1, 4); - } else - t1 = false; + _serialize0$_tryIntegerRgb$1(rgb) { + var t1, redInt, greenInt, blueInt, shortHex, _0_0, t2, t3, $name, _this = this; + if (!_this._serialize0$_canUseHex$1(rgb)) + return false; + t1 = rgb.channel0OrNull; + redInt = B.JSNumber_methods.round$0(t1 == null ? 0 : t1); + t1 = rgb.channel1OrNull; + greenInt = B.JSNumber_methods.round$0(t1 == null ? 0 : t1); + t1 = rgb.channel2OrNull; + blueInt = B.JSNumber_methods.round$0(t1 == null ? 0 : t1); + t1 = redInt & 15; + shortHex = t1 === B.JSInt_methods._shrOtherPositive$1(redInt, 4) && (greenInt & 15) === B.JSInt_methods._shrOtherPositive$1(greenInt, 4) && (blueInt & 15) === B.JSInt_methods._shrOtherPositive$1(blueInt, 4); + _0_0 = $.$get$namesByColor0().$index(0, rgb); + t2 = false; + if (_0_0 != null) { + t3 = _0_0.length; + t2 = t3 <= (shortHex ? 4 : 7); + $name = _0_0; } else + $name = null; + if (t2) + _this._serialize0$_buffer.write$1(0, $name); + else { + t2 = _this._serialize0$_buffer; + if (shortHex) { + t2.writeCharCode$1(35); + t2.writeCharCode$1(A.hexCharFor0(t1)); + t2.writeCharCode$1(A.hexCharFor0(greenInt & 15)); + t2.writeCharCode$1(A.hexCharFor0(blueInt & 15)); + } else { + t2.writeCharCode$1(35); + _this._serialize0$_writeHexComponent$1(redInt); + _this._serialize0$_writeHexComponent$1(greenInt); + _this._serialize0$_writeHexComponent$1(blueInt); + } + } + return true; + }, + _serialize0$_canUseHex$1(rgb) { + var t2, + t1 = rgb.channel0OrNull; + if (t1 == null) + t1 = 0; + if (A.fuzzyIsInt0(t1)) + t1 = (t1 > 0 || A.fuzzyEquals0(t1, 0)) && t1 < 256 && !A.fuzzyEquals0(t1, 256); + else t1 = false; + t2 = false; + if (t1) { + t1 = rgb.channel1OrNull; + if (t1 == null) + t1 = 0; + if (A.fuzzyIsInt0(t1)) + t1 = (t1 > 0 || A.fuzzyEquals0(t1, 0)) && t1 < 256 && !A.fuzzyEquals0(t1, 256); + else + t1 = false; + if (t1) { + t1 = rgb.channel2OrNull; + if (t1 == null) + t1 = 0; + if (A.fuzzyIsInt0(t1)) + t1 = (t1 > 0 || A.fuzzyEquals0(t1, 0)) && t1 < 256 && !A.fuzzyEquals0(t1, 256); + else + t1 = t2; + } else + t1 = t2; + } else + t1 = t2; return t1; }, + _serialize0$_writeRgb$1(color) { + var t4, _this = this, + t1 = color.alphaOrNull, + t2 = t1 == null, + opaque = A.fuzzyEquals0(t2 ? 0 : t1, 1), + rgb = color.toSpace$1(B.RgbColorSpace_mlz0), + t3 = _this._serialize0$_buffer; + t3.write$1(0, opaque ? "rgb(" : "rgba("); + _this._serialize0$_writeNumber$1(rgb.channel$1(0, "red")); + t4 = _this._serialize0$_style === B.OutputStyle_10; + t3.write$1(0, t4 ? "," : ", "); + _this._serialize0$_writeNumber$1(rgb.channel$1(0, "green")); + t3.write$1(0, t4 ? "," : ", "); + _this._serialize0$_writeNumber$1(rgb.channel$1(0, "blue")); + if (!opaque) { + t3.write$1(0, t4 ? "," : ", "); + _this._serialize0$_writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + }, + _serialize0$_writeHsl$1(color) { + var t4, _this = this, + t1 = color.alphaOrNull, + t2 = t1 == null, + opaque = A.fuzzyEquals0(t2 ? 0 : t1, 1), + hsl = color.toSpace$1(B.HslColorSpace_gsm0), + t3 = _this._serialize0$_buffer; + t3.write$1(0, opaque ? "hsl(" : "hsla("); + _this._serialize0$_writeChannel$1(hsl.channel$1(0, "hue")); + t4 = _this._serialize0$_style === B.OutputStyle_10; + t3.write$1(0, t4 ? "," : ", "); + _this._serialize0$_writeChannel$2(hsl.channel$1(0, "saturation"), "%"); + t3.write$1(0, t4 ? "," : ", "); + _this._serialize0$_writeChannel$2(hsl.channel$1(0, "lightness"), "%"); + if (!opaque) { + t3.write$1(0, t4 ? "," : ", "); + _this._serialize0$_writeNumber$1(t2 ? 0 : t1); + } + t3.writeCharCode$1(41); + }, + _serialize0$_writeColorFunction$1(color) { + var _this = this, + t1 = _this._serialize0$_buffer; + t1.write$1(0, "color("); + t1.write$1(0, color._color0$_space); + t1.writeCharCode$1(32); + _this._serialize0$_writeBetween$3(color.get$channelsOrNull(), " ", _this.get$_serialize0$_writeChannel()); + _this._serialize0$_maybeWriteSlashAlpha$1(color); + t1.writeCharCode$1(41); + }, _serialize0$_writeHexComponent$1(color) { var t1 = this._serialize0$_buffer; t1.writeCharCode$1(A.hexCharFor0(B.JSInt_methods._shrOtherPositive$1(color, 4))); t1.writeCharCode$1(A.hexCharFor0(color & 15)); }, + _serialize0$_maybeWriteSlashAlpha$1(color) { + var t2, t3, _this = this, + t1 = color.alphaOrNull; + if (A.fuzzyEquals0(t1 == null ? 0 : t1, 1)) + return; + t2 = _this._serialize0$_style !== B.OutputStyle_10; + if (t2) + _this._serialize0$_buffer.writeCharCode$1(32); + t3 = _this._serialize0$_buffer; + t3.writeCharCode$1(47); + if (t2) + t3.writeCharCode$1(32); + _this._serialize0$_writeChannel$1(t1); + }, visitList$1(value) { - var t2, t3, singleton, t4, t5, _this = this, + var t2, singleton, t3, t4, t5, _this = this, t1 = value._list1$_hasBrackets; if (t1) _this._serialize0$_buffer.writeCharCode$1(91); @@ -108905,15 +116322,13 @@ self.util = _cliPkgRequires.util; return; } t2 = _this._serialize0$_inspect; + singleton = false; if (t2) if (value._list1$_contents.length === 1) { t3 = value._list1$_separator; t3 = t3 === B.ListSeparator_ECn0 || t3 === B.ListSeparator_cQA0; singleton = t3; - } else - singleton = false; - else - singleton = false; + } if (singleton && !t1) _this._serialize0$_buffer.writeCharCode$1(40); t3 = value._list1$_contents; @@ -109019,21 +116434,30 @@ self.util = _cliPkgRequires.util; _this._serialize0$_buffer.write$1(0, _1_0[0]); } }, - _serialize0$_writeNumber$1(number) { - var text, _this = this, - _0_0 = A.fuzzyAsInt0(number); + _serialize0$_writeNumberToString$1(number) { + var t1 = new A.StringBuffer(""); + this._serialize0$_writeNumber$2(number, new A.NoSourceMapBuffer0(t1)); + t1 = t1._contents; + return t1.charCodeAt(0) == 0 ? t1 : t1; + }, + _serialize0$_writeNumber$2(number, buffer) { + var _0_0, text, _this = this; + if (buffer == null) + buffer = _this._serialize0$_buffer; + _0_0 = A.fuzzyAsInt0(number); if (_0_0 != null) { - _this._serialize0$_buffer.write$1(0, _this._serialize0$_removeExponent$1(B.JSInt_methods.toString$0(_0_0))); + buffer.write$1(0, _this._serialize0$_removeExponent$1(B.JSInt_methods.toString$0(_0_0))); return; } text = _this._serialize0$_removeExponent$1(B.JSNumber_methods.toString$0(number)); if (text.length < 12) { - if (_this._serialize0$_style === B.OutputStyle_10 && text.charCodeAt(0) === 48) - text = B.JSString_methods.substring$1(text, 1); - _this._serialize0$_buffer.write$1(0, text); + buffer.write$1(0, _this._serialize0$_style === B.OutputStyle_10 && text.charCodeAt(0) === 48 ? B.JSString_methods.substring$1(text, 1) : text); return; } - _this._serialize0$_writeRounded$1(text); + _this._serialize0$_writeRounded$2(text, buffer); + }, + _serialize0$_writeNumber$1(number) { + return this._serialize0$_writeNumber$2(number, null); }, _serialize0$_removeExponent$1(text) { var buffer, t2, t3, additionalZeroes, @@ -109097,10 +116521,10 @@ self.util = _cliPkgRequires.util; return t2.charCodeAt(0) == 0 ? t2 : t2; } }, - _serialize0$_writeRounded$1(text) { - var t1, digits, negative, textIndex, digitsIndex, textIndex0, codeUnit, digitsIndex0, indexAfterPrecision, digitsIndex1, newDigit, writtenIndex, t2, _this = this; + _serialize0$_writeRounded$2(text, buffer) { + var t1, digits, negative, textIndex, digitsIndex, textIndex0, codeUnit, digitsIndex0, indexAfterPrecision, digitsIndex1, newDigit, writtenIndex; if (B.JSString_methods.endsWith$1(text, ".0")) { - _this._serialize0$_buffer.write$1(0, B.JSString_methods.substring$2(text, 0, text.length - 2)); + buffer.write$1(0, B.JSString_methods.substring$2(text, 0, text.length - 2)); return; } t1 = text.length; @@ -109109,7 +116533,7 @@ self.util = _cliPkgRequires.util; textIndex = negative ? 1 : 0; for (digitsIndex = 1; true; textIndex = textIndex0, digitsIndex = digitsIndex0) { if (textIndex === t1) { - _this._serialize0$_buffer.write$1(0, text); + buffer.write$1(0, text); return; } textIndex0 = textIndex + 1; @@ -109123,7 +116547,7 @@ self.util = _cliPkgRequires.util; } indexAfterPrecision = textIndex + 10; if (indexAfterPrecision >= t1) { - _this._serialize0$_buffer.write$1(0, text); + buffer.write$1(0, text); return; } for (digitsIndex0 = digitsIndex; textIndex < indexAfterPrecision; textIndex = textIndex0, digitsIndex0 = digitsIndex1) { @@ -109148,21 +116572,21 @@ self.util = _cliPkgRequires.util; --digitsIndex0; } if (digitsIndex0 === 2 && digits[0] === 0 && digits[1] === 0) { - _this._serialize0$_buffer.writeCharCode$1(48); + buffer.writeCharCode$1(48); return; } if (negative) - _this._serialize0$_buffer.writeCharCode$1(45); + buffer.writeCharCode$1(45); if (digits[0] === 0) - writtenIndex = _this._serialize0$_style === B.OutputStyle_10 && digits[1] === 0 ? 2 : 1; + writtenIndex = this._serialize0$_style === B.OutputStyle_10 && digits[1] === 0 ? 2 : 1; else writtenIndex = 0; - for (t2 = _this._serialize0$_buffer; writtenIndex < digitsIndex; ++writtenIndex) - t2.writeCharCode$1(48 + digits[writtenIndex]); + for (; writtenIndex < digitsIndex; ++writtenIndex) + buffer.writeCharCode$1(48 + digits[writtenIndex]); if (t1) { - t2.writeCharCode$1(46); + buffer.writeCharCode$1(46); for (; writtenIndex < digitsIndex0; ++writtenIndex) - t2.writeCharCode$1(48 + digits[writtenIndex]); + buffer.writeCharCode$1(48 + digits[writtenIndex]); } }, _serialize0$_visitQuotedString$2$forceDoubleQuote(string, forceDoubleQuote) { @@ -109261,7 +116685,7 @@ self.util = _cliPkgRequires.util; } if (codeUnit >>> 7 === 439 && string.length > i + 1) { t1 = i + 1; - this._serialize0$_writeEscape$4(buffer, 65536 + ((codeUnit & 1023) << 10) + (string.charCodeAt(t1) & 1023), string, t1); + this._serialize0$_writeEscape$4(buffer, A.combineSurrogates(codeUnit, string.charCodeAt(t1)), string, t1); return t1; } return null; @@ -109380,16 +116804,14 @@ self.util = _cliPkgRequires.util; t1.write$1(0, placeholder.name); }, visitPseudoSelector$1(pseudo) { - var _0_4, t2, t3, - t1 = pseudo.name; + var _0_4, t3, + t1 = pseudo.name, + t2 = false; if ("not" === t1) { _0_4 = pseudo.selector; if (_0_4 instanceof A.SelectorList0) t2 = (_0_4 == null ? type$.SelectorList_2._as(_0_4) : _0_4).accept$1(B._IsInvisibleVisitor_true0); - else - t2 = false; - } else - t2 = false; + } if (t2) return; t2 = this._serialize0$_buffer; @@ -109591,17 +117013,13 @@ self.util = _cliPkgRequires.util; t3 = this.node.queries; firstQuery = B.JSArray_methods.get$first(t3); t4 = t1._serialize0$_style === B.OutputStyle_10; + t5 = true; if (t4) if (firstQuery.modifier == null) if (firstQuery.type == null) { t5 = firstQuery.conditions; t5 = t5.length === 1 && J.startsWith$1$s(B.JSArray_methods.get$first(t5), "(not "); - } else - t5 = true; - else - t5 = true; - else - t5 = true; + } if (t5) t2.writeCharCode$1(32); t2 = t4 ? "," : ", "; @@ -109682,7 +117100,7 @@ self.util = _cliPkgRequires.util; call$1(element) { return !element.get$isBlank(); }, - $signature: 49 + $signature: 56 }; A._SerializeVisitor_visitList_closure3.prototype = { call$1(element) { @@ -109694,13 +117112,13 @@ self.util = _cliPkgRequires.util; if (needsParens) t1._serialize0$_buffer.writeCharCode$1(41); }, - $signature: 63 + $signature: 61 }; A._SerializeVisitor_visitList_closure4.prototype = { call$1(element) { element.accept$1(this.$this); }, - $signature: 63 + $signature: 61 }; A._SerializeVisitor_visitMap_closure0.prototype = { call$1(entry) { @@ -109709,13 +117127,13 @@ self.util = _cliPkgRequires.util; t1._serialize0$_buffer.write$1(0, ": "); t1._serialize0$_writeMapElement$1(entry.value); }, - $signature: 536 + $signature: 573 }; A._SerializeVisitor_visitSelectorList_closure0.prototype = { call$1(complex) { return !complex.accept$1(B._IsInvisibleVisitor_true0); }, - $signature: 18 + $signature: 20 }; A._SerializeVisitor__write_closure0.prototype = { call$0() { @@ -109782,32 +117200,28 @@ self.util = _cliPkgRequires.util; return this._shadowed_view0$_inner.variableIdentity$1($name); }, $eq(_, other) { - var t1, t2, _this = this; + var t1, t2, t3, _this = this; if (other == null) return false; + t1 = false; if (other instanceof A.ShadowedModuleView0) if (_this._shadowed_view0$_inner.$eq(0, other._shadowed_view0$_inner)) { - t1 = _this.variables; - t1 = t1.get$keys(t1); - t2 = other.variables; - if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) { - t1 = _this.functions; - t1 = t1.get$keys(t1); - t2 = other.functions; - if (B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2))) { + t2 = _this.variables; + t2 = t2.get$keys(t2); + t3 = other.variables; + if (B.C_IterableEquality.equals$2(0, t2, t3.get$keys(t3))) { + t2 = _this.functions; + t2 = t2.get$keys(t2); + t3 = other.functions; + if (B.C_IterableEquality.equals$2(0, t2, t3.get$keys(t3))) { t1 = _this.mixins; t1 = t1.get$keys(t1); t2 = other.mixins; t2 = B.C_IterableEquality.equals$2(0, t1, t2.get$keys(t2)); t1 = t2; - } else - t1 = false; - } else - t1 = false; - } else - t1 = false; - else - t1 = false; + } + } + } return t1; }, get$hashCode(_) { @@ -109837,7 +117251,7 @@ self.util = _cliPkgRequires.util; }; A.SilentComment0.prototype = { accept$1$1(visitor) { - return visitor.visitSilentComment$1(this); + return visitor.visitSilentComment$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -109845,8 +117259,6 @@ self.util = _cliPkgRequires.util; toString$0(_) { return this.text; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -109855,24 +117267,24 @@ self.util = _cliPkgRequires.util; get$specificity() { return 1000; }, + get$hasComplicatedSuperselectorSemantics() { + return false; + }, addSuffix$1(suffix) { return A.throwExpression(A.MultiSpanSassException$0('Selector "' + this.toString$0(0) + "\" can't have a suffix", this.span, "outer selector", A.LinkedHashMap_LinkedHashMap$_empty(type$.FileSpan, type$.String), null)); }, unify$1(compound) { - var other, t1, result, addedThis, _i, simple, _this = this; + var other, result, addedThis, _i, simple, _this = this, + t1 = false; if (compound.length === 1) { other = compound[0]; - if (!(other instanceof A.UniversalSelector0)) + if (!(other instanceof A.UniversalSelector0)) { if (other instanceof A.PseudoSelector0) t1 = other.isClass && other.name === "host" || other.get$isHostContext(); - else - t1 = false; - else + } else t1 = true; - } else { + } else other = null; - t1 = false; - } if (t1) return other.unify$1(A._setArrayType([_this], type$.JSArray_SimpleSelector_2)); if (B.JSArray_methods.contains$1(compound, _this)) @@ -109907,13 +117319,13 @@ self.util = _cliPkgRequires.util; var t1 = complex.components; return t1.length !== 0 && B.JSArray_methods.any$1(B.JSArray_methods.get$last(t1).selector.components, new A.SimpleSelector_isSuperselector__closure0(this.$this)); }, - $signature: 18 + $signature: 20 }; A.SimpleSelector_isSuperselector__closure0.prototype = { call$1(simple) { return this.$this.isSuperselector$1(simple); }, - $signature: 15 + $signature: 14 }; A.SingleUnitSassNumber0.prototype = { get$numeratorUnits(_) { @@ -110039,13 +117451,13 @@ self.util = _cliPkgRequires.util; call$1(factor) { return new A.SingleUnitSassNumber0(this.unit, this.$this._number1$_value * factor, null); }, - $signature: 537 + $signature: 574 }; A.SingleUnitSassNumber__coerceValueToUnit_closure0.prototype = { call$1(factor) { return this.$this._number1$_value * factor; }, - $signature: 38 + $signature: 15 }; A.SingleUnitSassNumber_multiplyUnits_closure1.prototype = { call$1(denominator) { @@ -110055,7 +117467,7 @@ self.util = _cliPkgRequires.util; this._box_0.value *= factor; return true; }, - $signature: 4 + $signature: 5 }; A.SingleUnitSassNumber_multiplyUnits_closure2.prototype = { call$0() { @@ -110066,6 +117478,219 @@ self.util = _cliPkgRequires.util; }, $signature: 0 }; + A.SourceInterpolationVisitor.prototype = { + visitBinaryOperationExpression$1(_, node) { + return this.buffer = null; + }, + visitBooleanExpression$1(_, node) { + return this.buffer = null; + }, + visitColorExpression$1(_, node) { + var t2, + t1 = this.buffer; + if (t1 != null) { + t2 = node.span.get$text(); + t1 = t1._interpolation_buffer0$_text; + t1._contents += t2; + } + return null; + }, + visitFunctionExpression$1(_, node) { + return this.buffer = null; + }, + visitInterpolatedFunctionExpression$1(_, node) { + var t1 = this.buffer; + if (t1 != null) + t1.addInterpolation$1(node.name); + this._visitArguments$1(node.$arguments); + }, + _visitArguments$1($arguments) { + var t2, t3, _this = this, + t1 = $arguments.named; + if (t1.get$isNotEmpty(t1) || $arguments.rest != null) + return; + t1 = $arguments.positional; + if (t1.length === 0) { + t1 = _this.buffer; + if (t1 != null) { + t2 = $arguments.span.get$text(); + t1 = t1._interpolation_buffer0$_text; + t1._contents += t2; + } + return; + } + t2 = _this.buffer; + if (t2 != null) { + t3 = A.SpanExtensions_before($arguments.span, J.get$span$z(B.JSArray_methods.get$first(t1))); + t3 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t3.file._decodedChars, t3._file$_start, t3._end), 0, null); + t2 = t2._interpolation_buffer0$_text; + t2._contents += t3; + } + _this._writeListAndBetween$2(t1, null); + t2 = _this.buffer; + if (t2 != null) { + t1 = A.SpanExtensions_after($arguments.span, J.get$span$z(B.JSArray_methods.get$last(t1))); + t1 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null); + t2 = t2._interpolation_buffer0$_text; + t2._contents += t1; + } + }, + visitIfExpression$1(_, node) { + return this.buffer = null; + }, + visitListExpression$1(_, node) { + var t3, t4, _this = this, + t1 = node.contents, + t2 = t1.length; + if (t2 <= 1 && !node.hasBrackets) { + _this.buffer = null; + return; + } + t3 = node.hasBrackets; + if (t3 && t2 === 0) { + t1 = _this.buffer; + if (t1 != null) { + t2 = node.span.get$text(); + t1 = t1._interpolation_buffer0$_text; + t1._contents += t2; + } + return; + } + if (t3) { + t2 = _this.buffer; + if (t2 != null) { + t4 = A.SpanExtensions_before(node.span, J.get$span$z(B.JSArray_methods.get$first(t1))); + t4 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t4.file._decodedChars, t4._file$_start, t4._end), 0, null); + t2 = t2._interpolation_buffer0$_text; + t2._contents += t4; + } + } + _this._writeListAndBetween$1(t1); + if (t3) { + t2 = _this.buffer; + if (t2 != null) { + t1 = A.SpanExtensions_after(node.span, J.get$span$z(B.JSArray_methods.get$last(t1))); + t1 = A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null); + t2 = t2._interpolation_buffer0$_text; + t2._contents += t1; + } + } + }, + visitMapExpression$1(_, node) { + return this.buffer = null; + }, + visitNullExpression$1(_, node) { + return this.buffer = null; + }, + visitNumberExpression$1(_, node) { + var t2, + t1 = this.buffer; + if (t1 != null) { + t2 = node.span.get$text(); + t1 = t1._interpolation_buffer0$_text; + t1._contents += t2; + } + return null; + }, + visitParenthesizedExpression$1(_, node) { + return this.buffer = null; + }, + visitSelectorExpression$1(_, node) { + return this.buffer = null; + }, + visitStringExpression$1(_, node) { + var t2, t3, t4, t5, i, span, _0_0, t6, expression, t7, t8, t9, _this = this, + t1 = node.text; + if (t1.get$asPlain() != null) { + t2 = _this.buffer; + if (t2 != null) { + t1 = t1.span.get$text(); + t2 = t2._interpolation_buffer0$_text; + t2._contents += t1; + } + return; + } + for (t2 = t1.contents, t3 = t2.length, t4 = t3 - 1, t5 = t1.span, i = 0; i < t3; ++i) { + span = t1.spanForElement$1(i); + _0_0 = t2[i]; + t6 = _0_0 instanceof A.Expression0; + expression = t6 ? _0_0 : null; + if (t6) { + if (i === 0) { + t6 = _this.buffer; + if (t6 != null) { + t7 = A.SpanExtensions_before(t5, span); + t8 = t7._file$_start; + t9 = t7.file._decodedChars; + t9 = A.String_String$fromCharCodes(new Uint32Array(t9.subarray(t8, A._checkValidRange(t8, t7._end, t9.length))), 0, null); + t6 = t6._interpolation_buffer0$_text; + t6._contents += t9; + } + } + t6 = _this.buffer; + if (t6 != null) { + t6._interpolation_buffer0$_flushText$0(); + t6._interpolation_buffer0$_contents.push(expression); + t6._interpolation_buffer0$_spans.push(span); + } + if (i === t4) { + t6 = _this.buffer; + if (t6 != null) { + t7 = A.SpanExtensions_after(t5, span); + t8 = t7._file$_start; + t9 = t7.file._decodedChars; + t9 = A.String_String$fromCharCodes(new Uint32Array(t9.subarray(t8, A._checkValidRange(t8, t7._end, t9.length))), 0, null); + t6 = t6._interpolation_buffer0$_text; + t6._contents += t9; + } + } + continue; + } + t6 = _this.buffer; + if (t6 != null) { + t6 = t6._interpolation_buffer0$_text; + t7 = span.toString$0(0); + t6._contents += t7; + } + } + }, + visitSupportsExpression$1(_, node) { + return this.buffer = null; + }, + visitUnaryOperationExpression$1(_, node) { + return this.buffer = null; + }, + visitValueExpression$1(_, node) { + return this.buffer = null; + }, + visitVariableExpression$1(_, node) { + return this.buffer = null; + }, + _writeListAndBetween$2(expressions, visitor) { + var t1, lastExpression, _i, expression, t2, t3, t4, t5; + for (t1 = expressions.length, lastExpression = null, _i = 0; _i < t1; ++_i, lastExpression = expression) { + expression = expressions[_i]; + if (lastExpression != null) { + t2 = this.buffer; + if (t2 != null) { + t3 = A.SpanExtensions_between(lastExpression.get$span(lastExpression), J.get$span$z(expression)); + t4 = t3._file$_start; + t5 = t3.file._decodedChars; + t5 = A.String_String$fromCharCodes(new Uint32Array(t5.subarray(t4, A._checkValidRange(t4, t3._end, t5.length))), 0, null); + t2 = t2._interpolation_buffer0$_text; + t2._contents += t5; + } + } + expression.accept$1(this); + if (this.buffer == null) + return; + } + }, + _writeListAndBetween$1(expressions) { + return this._writeListAndBetween$2(expressions, null); + }, + $isExpressionVisitor: 1 + }; A.SourceMapBuffer0.prototype = { get$_source_map_buffer0$_targetLocation() { var t1 = this._source_map_buffer0$_buffer._contents, @@ -110165,137 +117790,475 @@ self.util = _cliPkgRequires.util; t3 = t2 === 0 ? t3.prefixColumn : 0; return new A.Entry(entry.source, A.SourceLocation$(t1.offset + this.prefixLength, t1.column + t3, t2 + t4, null), entry.identifierName); }, - $signature: 160 + $signature: 185 }; A.updateSourceSpanPrototype_closure.prototype = { call$0() { return this.span; }, - $signature: 26 + $signature: 29 }; A.updateSourceSpanPrototype_closure0.prototype = { call$1(span) { return span.get$start(span); }, - $signature: 220 + $signature: 256 }; A.updateSourceSpanPrototype_closure1.prototype = { call$1(span) { return span.get$end(span); }, - $signature: 220 + $signature: 256 }; A.updateSourceSpanPrototype_closure2.prototype = { call$1(span) { - return A.NullableExtension_andThen0(span.get$sourceUrl(span), A.utils1__dartToJSUrl$closure()); + return A.NullableExtension_andThen0(span.get$sourceUrl(span), new A.updateSourceSpanPrototype__closure()); }, - $signature: 539 + $signature: 576 + }; + A.updateSourceSpanPrototype__closure.prototype = { + call$1(url) { + var t1, _null = null; + if (url.get$scheme() === "") { + t1 = $.$get$context(); + t1 = t1.toUri$1(A.absolute(t1.style.pathFromUri$1(A._parseUri(url)), _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null)); + } else + t1 = url; + return new self.URL(t1.toString$0(0)); + }, + $signature: 257 }; A.updateSourceSpanPrototype_closure3.prototype = { call$1(span) { return span.get$text(); }, - $signature: 212 + $signature: 258 }; A.updateSourceSpanPrototype_closure4.prototype = { call$1(span) { return span.get$context(span); }, - $signature: 212 + $signature: 258 }; A.updateSourceSpanPrototype_closure5.prototype = { call$1($location) { return $location.get$line(); }, - $signature: 211 + $signature: 259 }; A.updateSourceSpanPrototype_closure6.prototype = { call$1($location) { return $location.get$column(); }, - $signature: 211 + $signature: 259 }; + A.ColorSpace0.prototype = { + get$isLegacyInternal() { + return false; + }, + get$isPolarInternal() { + return false; + }, + convert$5(dest, channel0, channel1, channel2, alpha) { + return this.convertLinear$5(dest, channel0, channel1, channel2, alpha); + }, + convertLinear$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, missingA, missingB, missingChroma, missingHue, missingLightness) { + var t1, t2, transformedBlue, transformedGreen, transformedRed, linearRed, linearGreen, linearBlue, matrix, _this = this; + $label0$0: { + t1 = B.HslColorSpace_gsm0 !== dest; + if (!t1 || B.HwbColorSpace_06z0 === dest) { + t2 = B.SrgbColorSpace_AD40; + break $label0$0; + } + if (B.LabColorSpace_IF20 === dest || B.LchColorSpace_wv80 === dest) { + t2 = B.XyzD50ColorSpace_2No0; + break $label0$0; + } + if (B.OklabColorSpace_yrt0 === dest || B.OklchColorSpace_li80 === dest) { + t2 = B.LmsColorSpace_8I80; + break $label0$0; + } + t2 = dest; + break $label0$0; + } + if (t2 === _this) { + transformedBlue = blue; + transformedGreen = green; + transformedRed = red; + } else { + linearRed = _this.toLinear$1(red == null ? 0 : red); + linearGreen = _this.toLinear$1(green == null ? 0 : green); + linearBlue = _this.toLinear$1(blue == null ? 0 : blue); + matrix = _this.transformationMatrix$1(t2); + transformedRed = t2.fromLinear$1(matrix[0] * linearRed + matrix[1] * linearGreen + matrix[2] * linearBlue); + transformedGreen = t2.fromLinear$1(matrix[3] * linearRed + matrix[4] * linearGreen + matrix[5] * linearBlue); + transformedBlue = t2.fromLinear$1(matrix[6] * linearRed + matrix[7] * linearGreen + matrix[8] * linearBlue); + } + $label1$1: { + if (!t1 || B.HwbColorSpace_06z0 === dest) { + t1 = B.SrgbColorSpace_AD40.convert$8$missingChroma$missingHue$missingLightness(dest, transformedRed, transformedGreen, transformedBlue, alpha, missingChroma, missingHue, missingLightness); + break $label1$1; + } + if (B.LabColorSpace_IF20 === dest || B.LchColorSpace_wv80 === dest) { + t1 = B.XyzD50ColorSpace_2No0.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, transformedRed, transformedGreen, transformedBlue, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + break $label1$1; + } + if (B.OklabColorSpace_yrt0 === dest || B.OklchColorSpace_li80 === dest) { + t1 = B.LmsColorSpace_8I80.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, transformedRed, transformedGreen, transformedBlue, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + break $label1$1; + } + t1 = red == null ? null : transformedRed; + t2 = green == null ? null : transformedGreen; + t1 = A.SassColor_SassColor$forSpaceInternal0(dest, t1, t2, blue == null ? null : transformedBlue, alpha); + break $label1$1; + } + return t1; + }, + convertLinear$5(dest, red, green, blue, alpha) { + return this.convertLinear$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, false, false, false, false, false); + }, + toLinear$1(channel) { + return A.throwExpression(A.UnimplementedError$("[BUG] Color space " + this.toString$0(0) + " doesn't support linear conversions.")); + }, + fromLinear$1(channel) { + return A.throwExpression(A.UnimplementedError$("[BUG] Color space " + this.toString$0(0) + " doesn't support linear conversions.")); + }, + transformationMatrix$1(dest) { + return A.throwExpression(A.UnimplementedError$("[BUG] Color space conversion from " + this.toString$0(0) + " to " + dest.toString$0(0) + " not implemented.")); + }, + toString$0(_) { + return this.name; + } + }; + A.SrgbColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + convert$8$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, missingChroma, missingHue, missingLightness) { + var max, min, delta, hue, lightness, saturation, t1, t2, whiteness, blackness, _null = null; + if (B.HslColorSpace_gsm0 === dest || B.HwbColorSpace_06z0 === dest) { + if (red == null) + red = 0; + if (green == null) + green = 0; + if (blue == null) + blue = 0; + max = Math.max(Math.max(red, green), blue); + min = Math.min(Math.min(red, green), blue); + delta = max - min; + if (max === min) + hue = 0; + else if (max === red) + hue = 60 * (green - blue) / delta + 360; + else + hue = max === green ? 60 * (blue - red) / delta + 120 : 60 * (red - green) / delta + 240; + if (dest === B.HslColorSpace_gsm0) { + lightness = (min + max) / 2; + saturation = lightness === 0 || lightness === 1 ? 0 : 100 * (max - lightness) / Math.min(lightness, 1 - lightness); + if (saturation < 0) { + hue += 180; + saturation = Math.abs(saturation); + } + t1 = missingHue || A.fuzzyEquals0(saturation, 0) ? _null : B.JSNumber_methods.$mod(hue, 360); + t2 = missingChroma ? _null : saturation; + return A.SassColor_SassColor$forSpaceInternal0(dest, t1, t2, missingLightness ? _null : lightness * 100, alpha); + } else { + whiteness = min * 100; + blackness = 100 - max * 100; + if (!missingHue) { + t1 = whiteness + blackness; + t1 = t1 > 100 || A.fuzzyEquals0(t1, 100); + } else + t1 = true; + return A.SassColor_SassColor$forSpaceInternal0(dest, t1 ? _null : B.JSNumber_methods.$mod(hue, 360), whiteness, blackness, alpha); + } + } + if (B.RgbColorSpace_mlz0 === dest) { + t1 = red == null ? _null : red * 255; + t2 = green == null ? _null : green * 255; + return A.SassColor_SassColor$rgbInternal0(t1, t2, blue == null ? _null : blue * 255, alpha, _null); + } + if (B.SrgbLinearColorSpace_sEs0 === dest) { + t1 = this.get$toLinear(); + return A.SassColor_SassColor$forSpaceInternal0(dest, A.NullableExtension_andThen0(red, t1), A.NullableExtension_andThen0(green, t1), A.NullableExtension_andThen0(blue, t1), alpha); + } + return this.super$ColorSpace$convertLinear0(dest, red, green, blue, alpha, false, false, missingChroma, missingHue, missingLightness); + }, + convert$5(dest, red, green, blue, alpha) { + return this.convert$8$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, false, false, false); + }, + convert$6$missingHue(dest, red, green, blue, alpha, missingHue) { + return this.convert$8$missingChroma$missingHue$missingLightness(dest, red, green, blue, alpha, false, missingHue, false); + }, + toLinear$1(channel) { + return A.srgbAndDisplayP3ToLinear0(channel); + }, + fromLinear$1(channel) { + return A.srgbAndDisplayP3FromLinear0(channel); + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$linearSrgbToLinearDisplayP30(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$linearSrgbToLinearA98Rgb0(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$linearSrgbToLinearProphotoRgb0(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$linearSrgbToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$linearSrgbToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$linearSrgbToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$linearSrgbToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; + A.SrgbLinearColorSpace0.prototype = { + get$isBoundedInternal() { + return true; + }, + convert$5(dest, red, green, blue, alpha) { + var t1; + $label0$0: { + if (B.RgbColorSpace_mlz0 === dest || B.HslColorSpace_gsm0 === dest || B.HwbColorSpace_06z0 === dest || B.SrgbColorSpace_AD40 === dest) { + t1 = B.SrgbColorSpace_AD40.convert$5(dest, A.NullableExtension_andThen0(red, A.utils2__srgbAndDisplayP3FromLinear$closure()), A.NullableExtension_andThen0(green, A.utils2__srgbAndDisplayP3FromLinear$closure()), A.NullableExtension_andThen0(blue, A.utils2__srgbAndDisplayP3FromLinear$closure()), alpha); + break $label0$0; + } + t1 = this.super$ColorSpace$convert0(dest, red, green, blue, alpha); + break $label0$0; + } + return t1; + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$linearSrgbToLinearDisplayP30(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$linearSrgbToLinearA98Rgb0(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$linearSrgbToLinearProphotoRgb0(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$linearSrgbToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$linearSrgbToXyzD650(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$linearSrgbToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$linearSrgbToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; + A.Statement0.prototype = {$isAstNode0: 1, $isSassNode: 1}; + A.JSStatementVisitor.prototype = { + visitAtRootRule$1(_, node) { + return J.visitAtRootRule$1$x(this._statement$_inner, node); + }, + visitAtRule$1(_, node) { + return J.visitAtRule$1$x(this._statement$_inner, node); + }, + visitContentBlock$1(_, node) { + return J.visitContentBlock$1$x(this._statement$_inner, node); + }, + visitContentRule$1(_, node) { + return J.visitContentRule$1$x(this._statement$_inner, node); + }, + visitDebugRule$1(_, node) { + return J.visitDebugRule$1$x(this._statement$_inner, node); + }, + visitDeclaration$1(_, node) { + return J.visitDeclaration$1$x(this._statement$_inner, node); + }, + visitEachRule$1(_, node) { + return J.visitEachRule$1$x(this._statement$_inner, node); + }, + visitErrorRule$1(_, node) { + return J.visitErrorRule$1$x(this._statement$_inner, node); + }, + visitExtendRule$1(_, node) { + return J.visitExtendRule$1$x(this._statement$_inner, node); + }, + visitForRule$1(_, node) { + return J.visitForRule$1$x(this._statement$_inner, node); + }, + visitForwardRule$1(_, node) { + return J.visitForwardRule$1$x(this._statement$_inner, node); + }, + visitFunctionRule$1(_, node) { + return J.visitFunctionRule$1$x(this._statement$_inner, node); + }, + visitIfRule$1(_, node) { + return J.visitIfRule$1$x(this._statement$_inner, node); + }, + visitImportRule$1(_, node) { + return J.visitImportRule$1$x(this._statement$_inner, node); + }, + visitIncludeRule$1(_, node) { + return J.visitIncludeRule$1$x(this._statement$_inner, node); + }, + visitLoudComment$1(_, node) { + return J.visitLoudComment$1$x(this._statement$_inner, node); + }, + visitMediaRule$1(_, node) { + return J.visitMediaRule$1$x(this._statement$_inner, node); + }, + visitMixinRule$1(_, node) { + return J.visitMixinRule$1$x(this._statement$_inner, node); + }, + visitReturnRule$1(_, node) { + return J.visitReturnRule$1$x(this._statement$_inner, node); + }, + visitSilentComment$1(_, node) { + return J.visitSilentComment$1$x(this._statement$_inner, node); + }, + visitStyleRule$1(_, node) { + return J.visitStyleRule$1$x(this._statement$_inner, node); + }, + visitStylesheet$1(_, node) { + return J.visitStylesheet$1$x(this._statement$_inner, node); + }, + visitSupportsRule$1(_, node) { + return J.visitSupportsRule$1$x(this._statement$_inner, node); + }, + visitUseRule$1(_, node) { + return J.visitUseRule$1$x(this._statement$_inner, node); + }, + visitVariableDeclaration$1(_, node) { + return J.visitVariableDeclaration$1$x(this._statement$_inner, node); + }, + visitWarnRule$1(_, node) { + return J.visitWarnRule$1$x(this._statement$_inner, node); + }, + visitWhileRule$1(_, node) { + return J.visitWhileRule$1$x(this._statement$_inner, node); + }, + $isStatementVisitor: 1 + }; + A.JSStatementVisitorObject.prototype = {}; A.StatementSearchVisitor0.prototype = { - visitAtRootRule$1(node) { + visitAtRootRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitAtRule$1(node) { + visitAtRule$1(_, node) { return A.NullableExtension_andThen0(node.children, this.get$visitChildren()); }, - visitContentBlock$1(node) { + visitContentBlock$1(_, node) { return this.visitChildren$1(node.children); }, - visitContentRule$1(node) { + visitContentRule$1(_, node) { return null; }, - visitDebugRule$1(node) { + visitDebugRule$1(_, node) { return null; }, - visitDeclaration$1(node) { + visitDeclaration$1(_, node) { return A.NullableExtension_andThen0(node.children, this.get$visitChildren()); }, - visitEachRule$1(node) { + visitEachRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitErrorRule$1(node) { + visitErrorRule$1(_, node) { return null; }, - visitExtendRule$1(node) { + visitExtendRule$1(_, node) { return null; }, - visitForRule$1(node) { + visitForRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitForwardRule$1(node) { + visitForwardRule$1(_, node) { return null; }, - visitFunctionRule$1(node) { + visitFunctionRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitIfRule$1(node) { + visitIfRule$1(_, node) { var t1 = A.IterableExtension_search0(node.clauses, new A.StatementSearchVisitor_visitIfRule_closure1(this)); return t1 == null ? A.NullableExtension_andThen0(node.lastClause, new A.StatementSearchVisitor_visitIfRule_closure2(this)) : t1; }, - visitImportRule$1(node) { + visitImportRule$1(_, node) { return null; }, - visitIncludeRule$1(node) { - return A.NullableExtension_andThen0(node.content, this.get$visitContentBlock()); + visitIncludeRule$1(_, node) { + return A.NullableExtension_andThen0(node.content, this.get$visitContentBlock(this)); }, - visitLoudComment$1(node) { + visitLoudComment$1(_, node) { return null; }, - visitMediaRule$1(node) { + visitMediaRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitMixinRule$1(node) { + visitMixinRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitReturnRule$1(node) { + visitReturnRule$1(_, node) { return null; }, - visitSilentComment$1(node) { + visitSilentComment$1(_, node) { return null; }, - visitStyleRule$1(node) { + visitStyleRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitStylesheet$1(node) { + visitStylesheet$1(_, node) { return this.visitChildren$1(node.children); }, - visitSupportsRule$1(node) { + visitSupportsRule$1(_, node) { return this.visitChildren$1(node.children); }, - visitUseRule$1(node) { + visitUseRule$1(_, node) { return null; }, - visitVariableDeclaration$1(node) { + visitVariableDeclaration$1(_, node) { return null; }, - visitWarnRule$1(node) { + visitWarnRule$1(_, node) { return null; }, - visitWhileRule$1(node) { + visitWhileRule$1(_, node) { return this.visitChildren$1(node.children); }, visitChildren$1(children) { @@ -110350,6 +118313,7 @@ self.util = _cliPkgRequires.util; }, $isImport0: 1, $isAstNode0: 1, + $isSassNode: 1, get$span(receiver) { return this.span; } @@ -110383,9 +118347,6 @@ self.util = _cliPkgRequires.util; warn$3$span$trace(_, message, span, trace) { return this.warn$4$deprecation$span$trace(0, message, false, span, trace); }, - warn$2$span(_, message, span) { - return this.warn$4$deprecation$span$trace(0, message, false, span, null); - }, warn$2$trace(_, message, trace) { return this.warn$4$deprecation$span$trace(0, message, false, null, trace); }, @@ -110413,13 +118374,13 @@ self.util = _cliPkgRequires.util; return this.text.span; }, accept$1$1(visitor) { - return visitor.visitStringExpression$1(this); + return visitor.visitStringExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, asInterpolation$1$static($static) { - var t1, t2, quote, t3, t4, buffer, t5, t6, _i, value; + var t1, t2, quote, t3, t4, t5, buffer, t6, i, value, t7; if (!this.hasQuotes) return this.text; t1 = this.text; @@ -110427,14 +118388,17 @@ self.util = _cliPkgRequires.util; quote = A.StringExpression__bestQuote0(new A.WhereTypeIterable(t2, type$.WhereTypeIterable_String)); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t3, t4); - t5 = A.Primitives_stringFromCharCode(quote); - t3._contents += t5; - for (t5 = t2.length, t6 = type$.Expression_2, _i = 0; _i < t5; ++_i) { - value = t2[_i]; - if (t6._is(value)) { + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer0(t3, t4, t5); + t6 = A.Primitives_stringFromCharCode(quote); + t3._contents += t6; + for (t6 = t2.length, i = 0; i < t6; ++i) { + value = t2[i]; + if (value instanceof A.Expression0) { + t7 = t1.spanForElement$1(i); buffer._interpolation_buffer0$_flushText$0(); t4.push(value); + t5.push(t7); continue; } if (typeof value == "string") @@ -110449,11 +118413,9 @@ self.util = _cliPkgRequires.util; }, toString$0(_) { return this.asInterpolation$0().toString$0(0); - }, - $isExpression0: 1, - $isAstNode0: 1 + } }; - A.module_closure10.prototype = { + A.module_closure25.prototype = { call$1($arguments) { var limit, t2, chunks, i, lastEnd, match, t3, t1 = J.getInterceptor$asx($arguments), @@ -110469,7 +118431,7 @@ self.util = _cliPkgRequires.util; else { t2 = separator._string0$_text; if (t2.length === 0) - return A.SassList$0(A.MappedIterable_MappedIterable(new A.Runes(t1), new A.module__closure2(string), type$.Runes._eval$1("Iterable.E"), type$.Value_2), B.ListSeparator_ECn0, true); + return A.SassList$0(A.MappedIterable_MappedIterable(new A.Runes(t1), new A.module__closure3(string), type$.Runes._eval$1("Iterable.E"), type$.Value_2), B.ListSeparator_ECn0, true); } chunks = A._setArrayType([], type$.JSArray_String); for (t2 = B.JSString_methods.allMatches$1(t2, t1), t2 = new A._StringAllMatchesIterator(t2._input, t2._pattern, t2.__js_helper$_index), i = 0, lastEnd = 0; t2.moveNext$0();) { @@ -110482,21 +118444,21 @@ self.util = _cliPkgRequires.util; break; } chunks.push(B.JSString_methods.substring$1(t1, lastEnd)); - return A.SassList$0(new A.MappedListIterable(chunks, new A.module__closure3(string), type$.MappedListIterable_String_Value_2), B.ListSeparator_ECn0, true); + return A.SassList$0(new A.MappedListIterable(chunks, new A.module__closure4(string), type$.MappedListIterable_String_Value_2), B.ListSeparator_ECn0, true); }, - $signature: 22 + $signature: 26 }; - A.module__closure2.prototype = { + A.module__closure3.prototype = { call$1(rune) { return new A.SassString0(A.Primitives_stringFromCharCode(rune), this.string._string0$_hasQuotes); }, - $signature: 542 + $signature: 580 }; - A.module__closure3.prototype = { + A.module__closure4.prototype = { call$1(chunk) { return new A.SassString0(chunk, this.string._string0$_hasQuotes); }, - $signature: 543 + $signature: 581 }; A._unquote_closure0.prototype = { call$1($arguments) { @@ -110505,7 +118467,7 @@ self.util = _cliPkgRequires.util; return string; return new A.SassString0(string._string0$_text, false); }, - $signature: 19 + $signature: 17 }; A._quote_closure0.prototype = { call$1($arguments) { @@ -110514,13 +118476,13 @@ self.util = _cliPkgRequires.util; return string; return new A.SassString0(string._string0$_text, true); }, - $signature: 19 + $signature: 17 }; A._length_closure1.prototype = { call$1($arguments) { return A.SassNumber_SassNumber0(J.$index$asx($arguments, 0).assertString$1("string").get$_string0$_sassLength(), null); }, - $signature: 12 + $signature: 22 }; A._insert_closure0.prototype = { call$1($arguments) { @@ -110537,7 +118499,7 @@ self.util = _cliPkgRequires.util; codeUnitIndex = A.codepointIndexToCodeUnitIndex0(t1, A._codepointForIndex0(indexInt, string.get$_string0$_sassLength(), false)); return new A.SassString0(B.JSString_methods.replaceRange$3(t1, codeUnitIndex, codeUnitIndex, insert._string0$_text), string._string0$_hasQuotes); }, - $signature: 19 + $signature: 17 }; A._index_closure1.prototype = { call$1($arguments) { @@ -110573,7 +118535,7 @@ self.util = _cliPkgRequires.util; t1 = string._string0$_text; return new A.SassString0(B.JSString_methods.substring$2(t1, A.codepointIndexToCodeUnitIndex0(t1, startCodepoint), A.codepointIndexToCodeUnitIndex0(t1, endCodepoint + 1)), string._string0$_hasQuotes); }, - $signature: 19 + $signature: 17 }; A._toUpperCase_closure0.prototype = { call$1($arguments) { @@ -110585,7 +118547,7 @@ self.util = _cliPkgRequires.util; } return new A.SassString0(t3.charCodeAt(0) == 0 ? t3 : t3, string._string0$_hasQuotes); }, - $signature: 19 + $signature: 17 }; A._toLowerCase_closure0.prototype = { call$1($arguments) { @@ -110597,7 +118559,7 @@ self.util = _cliPkgRequires.util; } return new A.SassString0(t3.charCodeAt(0) == 0 ? t3 : t3, string._string0$_hasQuotes); }, - $signature: 19 + $signature: 17 }; A._uniqueId_closure0.prototype = { call$1($arguments) { @@ -110607,7 +118569,42 @@ self.util = _cliPkgRequires.util; $._previousUniqueId0 = B.JSInt_methods.$mod($.$get$_previousUniqueId0(), A._asInt(Math.pow(36, 6))); return new A.SassString0("u" + B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1($.$get$_previousUniqueId0(), 36), 6, "0"), false); }, - $signature: 19 + $signature: 17 + }; + A.StringExtension_toCssIdentifier_writeEscape.prototype = { + call$1(character) { + var _0_0, + t1 = this.buffer, + t2 = A.Primitives_stringFromCharCode(92); + t1._contents += t2; + t2 = B.JSInt_methods.toRadixString$1(character, 16); + t1._contents += t2; + _0_0 = this.scanner.peekChar$0(); + if (A._isInt(_0_0) && A.CharacterExtension_get_isHex0(_0_0)) { + t2 = A.Primitives_stringFromCharCode(32); + t1._contents += t2; + } + }, + $signature: 260 + }; + A.StringExtension_toCssIdentifier_consumeSurrogatePair.prototype = { + call$1(character) { + var t2, t3, + t1 = this.scanner, + _1_0 = t1.peekChar$1(1); + if (_1_0 == null || _1_0 >>> 10 !== 55) + t1.error$2$length(0, "An individual surrogates can't be represented as a CSS identifier.", 1); + else if (character >>> 7 === 439) + this.writeEscape.call$1(A.combineSurrogates(t1.readChar$0(), t1.readChar$0())); + else { + t2 = this.buffer; + t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t3; + t1 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t1; + } + }, + $signature: 260 }; A.stringClass_closure.prototype = { call$0() { @@ -110620,7 +118617,7 @@ self.util = _cliPkgRequires.util; A.JSClassExtension_injectSuperclass(t1._as(t2.constructor), jsClass); return jsClass; }, - $signature: 13 + $signature: 16 }; A.stringClass__closure.prototype = { call$3($self, textOrOptions, options) { @@ -110646,25 +118643,25 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null, null]; }, - $signature: 544 + $signature: 583 }; A.stringClass__closure0.prototype = { call$1($self) { return $self._string0$_text; }, - $signature: 545 + $signature: 584 }; A.stringClass__closure1.prototype = { call$1($self) { return $self._string0$_hasQuotes; }, - $signature: 546 + $signature: 585 }; A.stringClass__closure2.prototype = { call$1($self) { return $self.get$_string0$_sassLength(); }, - $signature: 547 + $signature: 586 }; A.stringClass__closure3.prototype = { call$3($self, sassIndex, $name) { @@ -110685,7 +118682,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 548 + $signature: 587 }; A._ConstructorOptions1.prototype = {}; A._NodeSassString.prototype = {}; @@ -110707,19 +118704,19 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 549 + $signature: 588 }; A.legacyStringClass_closure0.prototype = { call$1(thisArg) { return J.get$dartValue$x(thisArg)._string0$_text; }, - $signature: 550 + $signature: 589 }; A.legacyStringClass_closure1.prototype = { call$2(thisArg, value) { J.set$dartValue$x(thisArg, new A.SassString0(value, false)); }, - $signature: 551 + $signature: 590 }; A.SassString0.prototype = { get$_string0$_sassLength() { @@ -110734,7 +118731,7 @@ self.util = _cliPkgRequires.util; return value; }, get$isSpecialNumber() { - var t1, _2_0, _0_0, _1_0; + var t1, _2_0, t2, _0_0, _1_0; if (this._string0$_hasQuotes) return false; t1 = this._string0$_text; @@ -110742,6 +118739,7 @@ self.util = _cliPkgRequires.util; return false; _2_0 = t1.charCodeAt(0); $label1$1: { + t2 = false; if (99 === _2_0 || 67 === _2_0) { _0_0 = t1.charCodeAt(1); $label0$0: { @@ -110753,7 +118751,7 @@ self.util = _cliPkgRequires.util; t1 = (t1.charCodeAt(2) | 32) === 108 && (t1.charCodeAt(3) | 32) === 99 && t1.charCodeAt(4) === 40; break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } break $label1$1; @@ -110777,12 +118775,12 @@ self.util = _cliPkgRequires.util; t1 = (t1.charCodeAt(2) | 32) === 110 && t1.charCodeAt(3) === 40; break $label2$2; } - t1 = false; + t1 = t2; break $label2$2; } break $label1$1; } - t1 = false; + t1 = t2; break $label1$1; } return t1; @@ -110798,6 +118796,19 @@ self.util = _cliPkgRequires.util; get$isBlank() { return !this._string0$_hasQuotes && this._string0$_text.length === 0; }, + assertQuoted$1($name) { + if (this._string0$_hasQuotes) + return; + throw A.wrapException(A.SassScriptException$0("Expected " + this.toString$0(0) + " to be a quoted string.", $name)); + }, + assertUnquoted$1($name) { + if (!this._string0$_hasQuotes) + return; + throw A.wrapException(A.SassScriptException$0("Expected " + this.toString$0(0) + " to be an unquoted string.", $name)); + }, + assertUnquoted$0() { + return this.assertUnquoted$1(null); + }, accept$1$1(visitor) { var t1 = visitor._serialize0$_quote && this._string0$_hasQuotes, t2 = this._string0$_text; @@ -110846,13 +118857,14 @@ self.util = _cliPkgRequires.util; copyWithoutChildren$0() { return A.ModifiableCssStyleRule$0(this._style_rule0$_selector, this.span, false, this.originalSelector); }, + $isCssStyleRule0: 1, get$span(receiver) { return this.span; } }; A.StyleRule0.prototype = { accept$1$1(visitor) { - return visitor.visitStyleRule$1(this); + return visitor.visitStyleRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -110866,6 +118878,9 @@ self.util = _cliPkgRequires.util; } }; A.CssStylesheet0.prototype = { + get$parent(_) { + return null; + }, get$isGroupEnd() { return false; }, @@ -110904,7 +118919,7 @@ self.util = _cliPkgRequires.util; } }; A.StylesheetParser0.prototype = { - parse$0() { + parse$0(_) { return this.wrapSpanFormatException$1(new A.StylesheetParser_parse_closure0(this)); }, parseArgumentDeclaration$0() { @@ -110960,14 +118975,14 @@ self.util = _cliPkgRequires.util; if (t1) _this._stylesheet0$_assertPublic$2($name, new A.StylesheetParser_variableDeclarationWithoutNamespace_closure1(_this, start)); if (_this.get$plainCss()) - _this.error$2(0, string$.Sass_v, _this.scanner.spanFrom$1(start)); + _this.error$2(0, string$.Sassx20v, _this.scanner.spanFrom$1(start)); _this.whitespace$0(); t2 = _this.scanner; t2.expectChar$1(58); _this.whitespace$0(); value = _this._stylesheet0$_expression$0(); flagStart = new A._SpanScannerState(t2, t2._string_scanner$_position); - for (t3 = _this.logger, guarded = false, global = false; t2.scanChar$1(33);) { + for (t3 = _this.warnings, guarded = false, global = false; t2.scanChar$1(33);) { $label0$0: { _0_0 = _this.identifier$0(); if ("default" === _0_0) { @@ -110977,7 +118992,7 @@ self.util = _cliPkgRequires.util; t5 = flagStart.position; t6 = new A._FileSpan(t4, t5, endPosition); t6._FileSpan$3(t4, t5, endPosition); - A.WarnForDeprecation_warnForDeprecation0(t3, B.Deprecation_iXE, string$.x21defau, t6, null); + t3.push(new A._Record_3_deprecation_message_span(B.Deprecation_VqL, string$.x21defau, t6)); } guarded = true; break $label0$0; @@ -110996,7 +119011,7 @@ self.util = _cliPkgRequires.util; t5 = flagStart.position; t6 = new A._FileSpan(t4, t5, endPosition); t6._FileSpan$3(t4, t5, endPosition); - A.WarnForDeprecation_warnForDeprecation0(t3, B.Deprecation_iXE, string$.x21globas, t6, null); + t3.push(new A._Record_3_deprecation_message_span(B.Deprecation_VqL, string$.x21globas, t6)); } global = true; break $label0$0; @@ -111034,7 +119049,7 @@ self.util = _cliPkgRequires.util; if (variableOrInterpolation instanceof A.VariableDeclaration0) t1 = variableOrInterpolation; else { - t3 = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)); + t3 = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t3.addInterpolation$1(type$.Interpolation_2._as(variableOrInterpolation)); t2 = _this._stylesheet0$_styleRule$2(t3, new A._SpanScannerState(t1, t2)); t1 = t2; @@ -111048,13 +119063,13 @@ self.util = _cliPkgRequires.util; t1 = _this.scanner; t2 = t1._string_scanner$_position; declarationOrBuffer = _this._stylesheet0$_declarationOrBuffer$0(); - return type$.Statement_2._is(declarationOrBuffer) ? declarationOrBuffer : _this._stylesheet0$_styleRule$2(type$.InterpolationBuffer_2._as(declarationOrBuffer), new A._SpanScannerState(t1, t2)); + return declarationOrBuffer instanceof A.Statement0 ? declarationOrBuffer : _this._stylesheet0$_styleRule$2(type$.InterpolationBuffer_2._as(declarationOrBuffer), new A._SpanScannerState(t1, t2)); }, _stylesheet0$_declarationOrBuffer$0() { var midBuffer, couldBeSelector, beforeDeclaration, value, additional, t2, t3, variableOrInterpolation, t4, t5, $name, postColonWhitespace, _0_0, exception, _1_0, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position), - nameBuffer = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)), + nameBuffer = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), startsWithPunctuation = _this._stylesheet0$_lookingAtPotentialPropertyHack$0(); if (startsWithPunctuation) { t2 = t1.readChar$0(); @@ -111097,7 +119112,7 @@ self.util = _cliPkgRequires.util; t2._contents += t5; $name = nameBuffer.interpolation$1(t1.spanFrom$2(start, new A._SpanScannerState(t1, t4))); if (B.JSString_methods.startsWith$1($name.get$initialPlain(), "--")) { - t2 = _this._stylesheet0$_interpolatedDeclarationValue$0(); + t2 = _this._stylesheet0$_interpolatedDeclarationValue$1$silentComments(false); _this.expectStatementSeparator$1("custom property"); return A.Declaration$0($name, new A.StringExpression0(t2, false), t1.spanFrom$1(start)); } @@ -111167,7 +119182,7 @@ self.util = _cliPkgRequires.util; return _this.variableDeclarationWithoutNamespace$2(identifier, start); } else { t2 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t2._contents = "" + identifier; if (_this._stylesheet0$_lookingAtInterpolatedIdentifierBody$0()) buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); @@ -111203,7 +119218,7 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position); if (_this._stylesheet0$_lookingAtPotentialPropertyHack$0()) { t2 = new A.StringBuffer(""); - nameBuffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object)); + nameBuffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); t2._contents += t3; t3 = _this.rawText$1(_this.get$whitespace()); @@ -111250,7 +119265,6 @@ self.util = _cliPkgRequires.util; }, atRule$2$root(child, root) { var $name, wasUseAllowed, value, optional, url, namespace, configuration, span, _this = this, - _s9_ = "@use rule", t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expectChar$2$name(64, "@-rule"); @@ -111276,8 +119290,10 @@ self.util = _cliPkgRequires.util; _this.error$2(0, string$.x40exten, t1.spanFrom$1(start)); value = _this.almostAnyValue$0(); optional = t1.scanChar$1(33); - if (optional) + if (optional) { _this.expectIdentifier$1("optional"); + _this.whitespace$0(); + } _this.expectStatementSeparator$1("@extend rule"); return new A.ExtendRule0(value, optional, t1.spanFrom$1(start)); case "for": @@ -111314,12 +119330,12 @@ self.util = _cliPkgRequires.util; namespace = _this._stylesheet0$_useNamespace$2(url, start); _this.whitespace$0(); configuration = _this._stylesheet0$_configuration$0(); - _this.expectStatementSeparator$1(_s9_); + _this.whitespace$0(); span = t1.spanFrom$1(start); if (!_this._stylesheet0$_isUseAllowed) _this.error$2(0, string$.x40use_r, span); - _this.expectStatementSeparator$1(_s9_); - t1 = new A.UseRule0(url, namespace, configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2), span); + _this.expectStatementSeparator$1("@use rule"); + t1 = new A.UseRule0(url, namespace, configuration == null ? B.List_empty22 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2), span); t1.UseRule$4$configuration0(url, namespace, span, configuration); return t1; case "warn": @@ -111461,29 +119477,24 @@ self.util = _cliPkgRequires.util; return $name; }, _stylesheet0$_atRootRule$1(start) { - var t2, t3, t4, buffer, t5, query, _this = this, + var t2, t3, buffer, t4, query, _this = this, t1 = _this.scanner; if (t1.peekChar$0() === 40) { t2 = t1._string_scanner$_position; t3 = new A.StringBuffer(""); - t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t3, t4); + buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t1.expectChar$1(40); - t5 = A.Primitives_stringFromCharCode(40); - t3._contents += t5; + t4 = A.Primitives_stringFromCharCode(40); + t3._contents += t4; _this.whitespace$0(); - t5 = _this._stylesheet0$_expression$0(); - buffer._interpolation_buffer0$_flushText$0(); - t4.push(t5); + _this._stylesheet0$_addOrInject$2(buffer, _this._stylesheet0$_expression$0()); if (t1.scanChar$1(58)) { _this.whitespace$0(); - t5 = A.Primitives_stringFromCharCode(58); - t3._contents += t5; - t5 = A.Primitives_stringFromCharCode(32); - t3._contents += t5; - t5 = _this._stylesheet0$_expression$0(); - buffer._interpolation_buffer0$_flushText$0(); - t4.push(t5); + t4 = A.Primitives_stringFromCharCode(58); + t3._contents += t4; + t4 = A.Primitives_stringFromCharCode(32); + t3._contents += t4; + _this._stylesheet0$_addOrInject$2(buffer, _this._stylesheet0$_expression$0()); } t1.expectChar$1(41); _this.whitespace$0(); @@ -111492,23 +119503,30 @@ self.util = _cliPkgRequires.util; query = buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))); _this.whitespace$0(); return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__atRootRule_closure1(query)); - } else if (_this.lookingAtChildren$0()) - return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__atRootRule_closure2()); - else - return A.AtRootRule$0(A._setArrayType([_this._stylesheet0$_styleRule$0()], type$.JSArray_Statement_2), t1.spanFrom$1(start), null); + } else { + if (!_this.lookingAtChildren$0()) + t2 = _this.get$indented() && _this.atEndOfStatement$0(); + else + t2 = true; + if (t2) + return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__atRootRule_closure2()); + else + return A.AtRootRule$0(A._setArrayType([_this._stylesheet0$_styleRule$0()], type$.JSArray_Statement_2), t1.spanFrom$1(start), null); + } }, _stylesheet0$_contentRule$1(start) { - var t1, $arguments, t2, t3, _this = this; + var t1, beforeWhitespace, $arguments, t2, _this = this; if (!_this._stylesheet0$_inMixin) _this.error$2(0, string$.x40conte, _this.scanner.spanFrom$1(start)); - _this.whitespace$0(); t1 = _this.scanner; - if (t1.peekChar$0() === 40) + beforeWhitespace = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); + _this.whitespace$0(); + if (t1.peekChar$0() === 40) { $arguments = _this._stylesheet0$_argumentInvocation$1$mixin(true); - else { - t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); - t3 = t2.offset; - $arguments = A.ArgumentInvocation$empty0(A._FileSpan$(t2.file, t3, t3)); + _this.whitespace$0(); + } else { + t2 = beforeWhitespace.offset; + $arguments = A.ArgumentInvocation$empty0(A._FileSpan$(beforeWhitespace.file, t2, t2)); } _this.expectStatementSeparator$1("@content rule"); return new A.ContentRule0($arguments, t1.spanFrom$1(start)); @@ -111547,7 +119565,7 @@ self.util = _cliPkgRequires.util; t2 = t1._string_scanner$_position; $name = _this.identifier$0(); if (B.JSString_methods.startsWith$1($name, "--")) - A.WarnForDeprecation_warnForDeprecation0(_this.logger, B.Deprecation_qBS, string$.Sass__fm, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null); + _this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_omC, string$.Sassx20_fm, t1.spanFrom$1(new A._SpanScannerState(t1, t2)))); _this.whitespace$0(); $arguments = _this._stylesheet0$_argumentDeclaration$0(); if (_this._stylesheet0$_inMixin || _this._stylesheet0$_inContentBlock) @@ -111576,7 +119594,7 @@ self.util = _cliPkgRequires.util; return _this._stylesheet0$_withChildren$3(child, start, new A.StylesheetParser__forRule_closure2(t1, _this, wasInControlDirective, variable, from, _this._stylesheet0$_expression$0())); }, _stylesheet0$_forwardRule$1(start) { - var prefix, _0_0, shownMixinsAndFunctions, shownVariables, hiddenVariables, hiddenMixinsAndFunctions, _1_0, configuration, span, t1, t2, t3, t4, _this = this, _null = null, + var prefix, hiddenMixinsAndFunctions, hiddenVariables, _0_0, shownMixinsAndFunctions, shownVariables, _1_0, configuration, span, t1, t2, t3, t4, _this = this, _null = null, url = _this._stylesheet0$_urlString$0(); _this.whitespace$0(); if (_this.scanIdentifier$1("as")) { @@ -111586,25 +119604,23 @@ self.util = _cliPkgRequires.util; _this.whitespace$0(); } else prefix = _null; + hiddenMixinsAndFunctions = _null; + hiddenVariables = _null; if (_this.scanIdentifier$1("show")) { _0_0 = _this._stylesheet0$_memberList$0(); shownMixinsAndFunctions = _0_0._0; shownVariables = _0_0._1; - hiddenVariables = _null; - hiddenMixinsAndFunctions = hiddenVariables; } else { if (_this.scanIdentifier$1("hide")) { _1_0 = _this._stylesheet0$_memberList$0(); hiddenMixinsAndFunctions = _1_0._0; hiddenVariables = _1_0._1; - } else { - hiddenVariables = _null; - hiddenMixinsAndFunctions = hiddenVariables; } shownVariables = _null; shownMixinsAndFunctions = shownVariables; } configuration = _this._stylesheet0$_configuration$1$allowGuarded(true); + _this.whitespace$0(); _this.expectStatementSeparator$1("@forward rule"); span = _this.scanner.spanFrom$1(start); if (!_this._stylesheet0$_isUseAllowed) @@ -111615,7 +119631,7 @@ self.util = _cliPkgRequires.util; t2 = A.LinkedHashSet_LinkedHashSet$of(shownMixinsAndFunctions, t1); t3 = type$.UnmodifiableSetView_String; t1 = A.LinkedHashSet_LinkedHashSet$of(shownVariables, t1); - t4 = configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2); + t4 = configuration == null ? B.List_empty22 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2); return new A.ForwardRule0(url, new A.UnmodifiableSetView0(t2, t3), new A.UnmodifiableSetView0(t1, t3), _null, _null, prefix, t4, span); } else if (hiddenMixinsAndFunctions != null) { hiddenVariables.toString; @@ -111623,10 +119639,10 @@ self.util = _cliPkgRequires.util; t2 = A.LinkedHashSet_LinkedHashSet$of(hiddenMixinsAndFunctions, t1); t3 = type$.UnmodifiableSetView_String; t1 = A.LinkedHashSet_LinkedHashSet$of(hiddenVariables, t1); - t4 = configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2); + t4 = configuration == null ? B.List_empty22 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2); return new A.ForwardRule0(url, _null, _null, new A.UnmodifiableSetView0(t2, t3), new A.UnmodifiableSetView0(t1, t3), prefix, t4, span); } else - return new A.ForwardRule0(url, _null, _null, _null, _null, prefix, configuration == null ? B.List_empty21 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2), span); + return new A.ForwardRule0(url, _null, _null, _null, _null, prefix, configuration == null ? B.List_empty22 : A.List_List$unmodifiable(configuration, type$.ConfiguredVariable_2), span); }, _stylesheet0$_memberList$0() { var _this = this, @@ -111636,7 +119652,7 @@ self.util = _cliPkgRequires.util; t1 = _this.scanner; do { _this.whitespace$0(); - _this.withErrorMessage$2(string$.Expect, new A.StylesheetParser__memberList_closure0(_this, variables, identifiers)); + _this.withErrorMessage$2(string$.Expectv, new A.StylesheetParser__memberList_closure0(_this, variables, identifiers)); _this.whitespace$0(); } while (t1.scanChar$1(44)); return new A._Record_2(identifiers, variables); @@ -111673,13 +119689,13 @@ self.util = _cliPkgRequires.util; var argument, t3, _this = this, imports = A._setArrayType([], type$.JSArray_Import_2), t1 = _this.scanner, - t2 = _this.logger; + t2 = _this.warnings; do { _this.whitespace$0(); argument = _this.importArgument$0(); t3 = argument instanceof A.DynamicImport0; if (t3) - A.WarnForDeprecation_warnForDeprecation0(t2, B.Deprecation_qd9, string$.Sass__i, argument.span, null); + t2.push(new A._Record_3_deprecation_message_span(B.Deprecation_A0i, string$.Sassx20_i, argument.span)); if ((_this._stylesheet0$_inControlDirective || _this._stylesheet0$_inMixin) && t3) _this._stylesheet0$_disallowedAtRule$1(start); imports.push(argument); @@ -111698,7 +119714,8 @@ self.util = _cliPkgRequires.util; url = _this.dynamicUrl$0(); _this.whitespace$0(); modifiers = _this.tryImportModifiers$0(); - return new A.StaticImport0(A.Interpolation$0(A._setArrayType([url], type$.JSArray_Object), t1.spanFrom$1(start)), modifiers, t1.spanFrom$1(start)); + t2 = url instanceof A.StringExpression0 ? url.text : A.Interpolation$0(A._setArrayType([url], type$.JSArray_Object), A._setArrayType([url.get$span(url)], type$.JSArray_nullable_FileSpan), url.get$span(url)); + return new A.StaticImport0(t2, modifiers, t1.spanFrom$1(start)); } url = _this.string$0(); urlSpan = t1.spanFrom$1(start); @@ -111706,7 +119723,7 @@ self.util = _cliPkgRequires.util; modifiers = _this.tryImportModifiers$0(); if (_this.isPlainImportUrl$1(url) || modifiers != null) { t2 = urlSpan; - return new A.StaticImport0(A.Interpolation$0(A._setArrayType([A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, null)], type$.JSArray_Object), urlSpan), modifiers, t1.spanFrom$1(start)); + return new A.StaticImport0(new A.Interpolation0(A.List_List$unmodifiable([A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t2.file._decodedChars, t2._file$_start, t2._end), 0, null)], type$.Object), B.List_null, urlSpan), modifiers, t1.spanFrom$1(start)); } else try { t1 = _this.parseImportUrl$1(url); @@ -111750,44 +119767,47 @@ self.util = _cliPkgRequires.util; return t1; }, tryImportModifiers$0() { - var t1, start, t2, t3, buffer, t4, identifier, $name, query, t5, endPosition, result, _this = this; + var t1, start, t2, t3, t4, buffer, t5, identifier, $name, query, t6, endPosition, _this = this; if (!_this._stylesheet0$_lookingAtInterpolatedIdentifier$0() && _this.scanner.peekChar$0() !== 40) return null; t1 = _this.scanner; start = new A._SpanScannerState(t1, t1._string_scanner$_position); t2 = new A.StringBuffer(""); t3 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t2, t3); + t4 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer0(t2, t3, t4); for (; true;) if (_this._stylesheet0$_lookingAtInterpolatedIdentifier$0()) { if (!(t3.length === 0 && t2._contents.length === 0)) { - t4 = A.Primitives_stringFromCharCode(32); - t2._contents += t4; + t5 = A.Primitives_stringFromCharCode(32); + t2._contents += t5; } identifier = _this.interpolatedIdentifier$0(); buffer.addInterpolation$1(identifier); - t4 = identifier.get$asPlain(); - $name = t4 == null ? null : t4.toLowerCase(); + t5 = identifier.get$asPlain(); + $name = t5 == null ? null : t5.toLowerCase(); if ($name !== "and" && t1.scanChar$1(40)) { if ($name === "supports") { query = _this._stylesheet0$_importSupportsQuery$0(); - t4 = !(query instanceof A.SupportsDeclaration0); - if (t4) { - t5 = A.Primitives_stringFromCharCode(40); - t2._contents += t5; + t5 = !(query instanceof A.SupportsDeclaration0); + if (t5) { + t6 = A.Primitives_stringFromCharCode(40); + t2._contents += t6; } + t6 = query.get$span(query); buffer._interpolation_buffer0$_flushText$0(); t3.push(new A.SupportsExpression0(query)); - if (t4) { - t4 = A.Primitives_stringFromCharCode(41); - t2._contents += t4; + t4.push(t6); + if (t5) { + t5 = A.Primitives_stringFromCharCode(41); + t2._contents += t5; } } else { - t4 = A.Primitives_stringFromCharCode(40); - t2._contents += t4; + t5 = A.Primitives_stringFromCharCode(40); + t2._contents += t5; buffer.addInterpolation$1(_this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true)); - t4 = A.Primitives_stringFromCharCode(41); - t2._contents += t4; + t5 = A.Primitives_stringFromCharCode(41); + t2._contents += t5; } t1.expectChar$1(41); _this.whitespace$0(); @@ -111797,62 +119817,32 @@ self.util = _cliPkgRequires.util; t2._contents += ", "; buffer.addInterpolation$1(_this._stylesheet0$_mediaQueryList$0()); endPosition = t1._string_scanner$_position; - t4 = t1._sourceFile; - t5 = start.position; - t1 = new A._FileSpan(t4, t5, endPosition); - t1._FileSpan$3(t4, t5, endPosition); - t5 = type$.Object; - t4 = A.List_List$of(t3, true, t5); - t3 = t2._contents; - if (t3.length !== 0) - t4.push(t3.charCodeAt(0) == 0 ? t3 : t3); - result = A.List_List$from(t4, false, t5); - result.fixed$length = Array; - result.immutable$list = Array; - t2 = new A.Interpolation0(result, t1); - t2.Interpolation$20(t4, t1); - return t2; + t2 = t1._sourceFile; + t3 = start.position; + t1 = new A._FileSpan(t2, t3, endPosition); + t1._FileSpan$3(t2, t3, endPosition); + return buffer.interpolation$1(t1); } } } else if (t1.peekChar$0() === 40) { if (!(t3.length === 0 && t2._contents.length === 0)) { - t4 = A.Primitives_stringFromCharCode(32); - t2._contents += t4; + t3 = A.Primitives_stringFromCharCode(32); + t2._contents += t3; } buffer.addInterpolation$1(_this._stylesheet0$_mediaQueryList$0()); endPosition = t1._string_scanner$_position; t1 = t1._sourceFile; - t4 = start.position; - t5 = new A._FileSpan(t1, t4, endPosition); - t5._FileSpan$3(t1, t4, endPosition); - t4 = type$.Object; - t3 = A.List_List$of(t3, true, t4); - t1 = t2._contents; - if (t1.length !== 0) - t3.push(t1.charCodeAt(0) == 0 ? t1 : t1); - result = A.List_List$from(t3, false, t4); - result.fixed$length = Array; - result.immutable$list = Array; - t1 = new A.Interpolation0(result, t5); - t1.Interpolation$20(t3, t5); - return t1; + t2 = start.position; + t3 = new A._FileSpan(t1, t2, endPosition); + t3._FileSpan$3(t1, t2, endPosition); + return buffer.interpolation$1(t3); } else { endPosition = t1._string_scanner$_position; t1 = t1._sourceFile; - t4 = start.position; - t5 = new A._FileSpan(t1, t4, endPosition); - t5._FileSpan$3(t1, t4, endPosition); - t4 = type$.Object; - t3 = A.List_List$of(t3, true, t4); - t1 = t2._contents; - if (t1.length !== 0) - t3.push(t1.charCodeAt(0) == 0 ? t1 : t1); - result = A.List_List$from(t3, false, t4); - result.fixed$length = Array; - result.immutable$list = Array; - t1 = new A.Interpolation0(result, t5); - t1.Interpolation$20(t3, t5); - return t1; + t2 = start.position; + t3 = new A._FileSpan(t1, t2, endPosition); + t3._FileSpan$3(t1, t2, endPosition); + return buffer.interpolation$1(t3); } }, _stylesheet0$_importSupportsQuery$0() { @@ -111873,7 +119863,7 @@ self.util = _cliPkgRequires.util; t2 = t1._string_scanner$_position; $name = _this._stylesheet0$_expression$0(); t1.expectChar$1(58); - return _this._stylesheet0$_supportsDeclarationValue$2($name, new A._SpanScannerState(t1, t2)); + return new A.SupportsDeclaration0($name, _this._stylesheet0$_supportsDeclarationValue$1($name), t1.spanFrom$1(new A._SpanScannerState(t1, t2))); } } }, @@ -111922,7 +119912,7 @@ self.util = _cliPkgRequires.util; if (t2) { t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); t3 = t2.offset; - contentArguments_ = new A.ArgumentDeclaration0(B.List_empty22, _null, A._FileSpan$(t2.file, t3, t3)); + contentArguments_ = new A.ArgumentDeclaration0(B.List_empty24, _null, A._FileSpan$(t2.file, t3, t3)); } else contentArguments_ = contentArguments; wasInContentBlock = _this._stylesheet0$_inContentBlock; @@ -111949,14 +119939,14 @@ self.util = _cliPkgRequires.util; t2 = t1._string_scanner$_position; $name = _this.identifier$0(); if (B.JSString_methods.startsWith$1($name, "--")) - A.WarnForDeprecation_warnForDeprecation0(_this.logger, B.Deprecation_qBS, string$.Sass__m, t1.spanFrom$1(new A._SpanScannerState(t1, t2)), null); + _this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_omC, string$.Sassx20_m, t1.spanFrom$1(new A._SpanScannerState(t1, t2)))); _this.whitespace$0(); if (t1.peekChar$0() === 40) $arguments = _this._stylesheet0$_argumentDeclaration$0(); else { t2 = A.FileLocation$_(t1._sourceFile, t1._string_scanner$_position); t3 = t2.offset; - $arguments = new A.ArgumentDeclaration0(B.List_empty22, null, A._FileSpan$(t2.file, t3, t3)); + $arguments = new A.ArgumentDeclaration0(B.List_empty24, null, A._FileSpan$(t2.file, t3, t3)); } if (_this._stylesheet0$_inMixin || _this._stylesheet0$_inContentBlock) _this.error$2(0, string$.Mixinscm, t1.spanFrom$1(start)); @@ -111967,41 +119957,43 @@ self.util = _cliPkgRequires.util; return _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser__mixinRule_closure0(_this, $name, $arguments, precedingComment)); }, mozDocumentRule$2(start, $name) { - var t5, t6, identifier, _0_0, argument, trailing, endPosition, t7, t8, start0, end, _this = this, _box_0 = {}, + var t6, _0_0, t7, identifier, _1_0, argument, trailing, endPosition, t8, t9, start0, end, _this = this, _box_0 = {}, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), t4 = A._setArrayType([], type$.JSArray_Object), - buffer = new A.InterpolationBuffer0(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan), + buffer = new A.InterpolationBuffer0(t3, t4, t5); _box_0.needsDeprecationWarning = false; - for (t5 = _this.get$whitespace(); true;) { + for (t6 = _this.get$whitespace(); true;) { if (t1.peekChar$0() === 35) { - t6 = _this.singleInterpolation$0(); + _0_0 = _this.singleInterpolation$0(); buffer._interpolation_buffer0$_flushText$0(); - t4.push(t6); + t4.push(_0_0._0); + t5.push(_0_0._1); _box_0.needsDeprecationWarning = true; } else { - t6 = t1._string_scanner$_position; + t7 = t1._string_scanner$_position; identifier = _this.identifier$0(); $label0$0: { if ("url" === identifier || "url-prefix" === identifier || "domain" === identifier) { - _0_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t6), identifier); - if (_0_0 != null) - buffer.addInterpolation$1(_0_0); + _1_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t7), identifier); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); else { t1.expectChar$1(40); _this.whitespace$0(); argument = _this.interpolatedString$0(); t1.expectChar$1(41); t3._contents += identifier; - t6 = A.Primitives_stringFromCharCode(40); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(40); + t3._contents += t7; buffer.addInterpolation$1(argument.asInterpolation$0()); - t6 = A.Primitives_stringFromCharCode(41); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(41); + t3._contents += t7; } - t6 = t3._contents; - trailing = t6.charCodeAt(0) == 0 ? t6 : t6; + t7 = t3._contents; + trailing = t7.charCodeAt(0) == 0 ? t7 : t7; if (!B.JSString_methods.endsWith$1(trailing, "url-prefix()") && !B.JSString_methods.endsWith$1(trailing, "url-prefix('')") && !B.JSString_methods.endsWith$1(trailing, 'url-prefix("")')) _box_0.needsDeprecationWarning = true; break $label0$0; @@ -112011,25 +120003,25 @@ self.util = _cliPkgRequires.util; t1.expectChar$1(40); buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); t1.expectChar$1(41); - t6 = A.Primitives_stringFromCharCode(41); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(41); + t3._contents += t7; _box_0.needsDeprecationWarning = true; break $label0$0; } endPosition = t1._string_scanner$_position; - t7 = t1._sourceFile; - t8 = new A._FileSpan(t7, t6, endPosition); - t8._FileSpan$3(t7, t6, endPosition); - _this.error$2(0, "Invalid function name.", t8); + t8 = t1._sourceFile; + t9 = new A._FileSpan(t8, t7, endPosition); + t9._FileSpan$3(t8, t7, endPosition); + _this.error$2(0, "Invalid function name.", t9); } } _this.whitespace$0(); if (!t1.scanChar$1(44)) break; - t6 = A.Primitives_stringFromCharCode(44); - t3._contents += t6; + t7 = A.Primitives_stringFromCharCode(44); + t3._contents += t7; start0 = t1._string_scanner$_position; - t5.call$0(); + t6.call$0(); end = t1._string_scanner$_position; t3._contents += B.JSString_methods.substring$2(t1.string, start0, end); } @@ -112052,8 +120044,7 @@ self.util = _cliPkgRequires.util; t1 = B.JSString_methods.startsWith$1(basename, "_") ? 1 : 0; namespace = B.JSString_methods.substring$2(basename, t1, dot === -1 ? basename.length : dot); try { - t1 = A.SpanScanner$(namespace, null); - t1 = new A.Parser1(t1, _this.logger, null)._parser0$_parseIdentifier$0(); + t1 = new A.Parser1(A.SpanScanner$(namespace, null), null)._parser1$_parseIdentifier$0(); return t1; } catch (exception) { if (type$.SassFormatException_2._is(A.unwrapException(exception))) @@ -112131,7 +120122,7 @@ self.util = _cliPkgRequires.util; _this._stylesheet0$_inUnknownAtRule = true; t1.value = null; t2 = _this.scanner; - t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this.almostAnyValue$0() : null; + t3 = t2.peekChar$0() !== 33 && !_this.atEndOfStatement$0() ? t1.value = _this._stylesheet0$_interpolatedDeclarationValue$1$allowOpenBrace(false) : null; if (_this.lookingAtChildren$0()) rule = _this._stylesheet0$_withChildren$3(_this.get$_stylesheet0$_statement(), start, new A.StylesheetParser_unknownAtRule_closure0(t1, $name)); else { @@ -112142,7 +120133,7 @@ self.util = _cliPkgRequires.util; return rule; }, _stylesheet0$_disallowedAtRule$1(start) { - this.almostAnyValue$0(); + this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(true, false); this.error$2(0, "This at-rule is not allowed here.", this.scanner.spanFrom$1(start)); }, _stylesheet0$_argumentDeclaration$0() { @@ -112153,11 +120144,7 @@ self.util = _cliPkgRequires.util; _this.whitespace$0(); $arguments = A._setArrayType([], type$.JSArray_Argument_2); named = A.LinkedHashSet_LinkedHashSet$_empty(type$.String); - while (true) { - if (!(t1.peekChar$0() === 36)) { - restArgument = null; - break; - } + for (; restArgument = null, t1.peekChar$0() === 36;) { t3 = t1._string_scanner$_position; t1.expectChar$1(36); $name = _this.identifier$1$normalize(true); @@ -112182,10 +120169,8 @@ self.util = _cliPkgRequires.util; $arguments.push(new A.Argument0($name, defaultValue, t5)); if (!named.add$1(0, $name)) _this.error$2(0, "Duplicate argument.", B.JSArray_methods.get$last($arguments).span); - if (!t1.scanChar$1(44)) { - restArgument = null; + if (!t1.scanChar$1(44)) break; - } _this.whitespace$0(); } t1.expectChar$1(41); @@ -112193,7 +120178,7 @@ self.util = _cliPkgRequires.util; return new A.ArgumentDeclaration0(A.List_List$unmodifiable($arguments, type$.Argument_2), restArgument, t1); }, _stylesheet0$_argumentInvocation$2$allowEmptySecondArg$mixin(allowEmptySecondArg, mixin) { - var positional, t3, t4, named, keywordRest, t5, rest, expression, t6, t7, result, _this = this, _null = null, + var positional, t3, t4, named, t5, rest, keywordRest, expression, t6, t7, result, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position; t1.expectChar$1(40); @@ -112202,13 +120187,7 @@ self.util = _cliPkgRequires.util; t3 = type$.String; t4 = type$.Expression_2; named = A.LinkedHashMap_LinkedHashMap$_empty(t3, t4); - t5 = !mixin; - rest = _null; - while (true) { - if (!_this._stylesheet0$_lookingAtExpression$0()) { - keywordRest = _null; - break; - } + for (t5 = !mixin, rest = null; keywordRest = null, _this._stylesheet0$_lookingAtExpression$0();) { expression = _this.expressionUntilComma$1$singleEquals(t5); _this.whitespace$0(); if (expression instanceof A.VariableExpression0 && t1.scanChar$1(58)) { @@ -112231,10 +120210,8 @@ self.util = _cliPkgRequires.util; else positional.push(expression); _this.whitespace$0(); - if (!t1.scanChar$1(44)) { - keywordRest = _null; + if (!t1.scanChar$1(44)) break; - } _this.whitespace$0(); if (allowEmptySecondArg && positional.length === 1 && named.__js_helper$_length === 0 && rest == null && t1.peekChar$0() === 41) { t5 = t1._sourceFile; @@ -112242,14 +120219,10 @@ self.util = _cliPkgRequires.util; new A.FileLocation(t5, t6).FileLocation$_$2(t5, t6); t7 = new A._FileSpan(t5, t6, t6); t7._FileSpan$3(t5, t6, t6); - t6 = A._setArrayType([""], type$.JSArray_Object); - result = A.List_List$from(t6, false, type$.Object); + result = A.List_List$from([""], false, type$.Object); result.fixed$length = Array; result.immutable$list = Array; - t5 = new A.Interpolation0(result, t7); - t5.Interpolation$20(t6, t7); - positional.push(new A.StringExpression0(t5, false)); - keywordRest = _null; + positional.push(new A.StringExpression0(new A.Interpolation0(result, B.List_null, t7), false)); break; } } @@ -112349,16 +120322,11 @@ self.util = _cliPkgRequires.util; addOperator.call$1(B.BinaryOperator_icU0); break $label0$1; } + t4 = true; if (_1_0 != null) if (105 !== _1_0) if (73 !== _1_0) t4 = _1_0 === 32 || _1_0 === 9 || _1_0 === 10 || _1_0 === 13 || _1_0 === 12; - else - t4 = true; - else - t4 = true; - else - t4 = true; if (t4) { addSingleExpression.call$1(_this._stylesheet0$_importantExpression$0()); break $label0$1; @@ -112541,14 +120509,10 @@ self.util = _cliPkgRequires.util; return this.expressionUntilComma$1$singleEquals(false); }, _stylesheet0$_isSlashOperand$1(expression) { - var t1; + var t1 = true; if (!(expression instanceof A.NumberExpression0)) if (!(expression instanceof A.FunctionExpression0)) t1 = expression instanceof A.BinaryOperationExpression0 && expression.allowsSlash; - else - t1 = true; - else - t1 = true; return t1; }, _stylesheet0$_singleExpression$0() { @@ -112706,7 +120670,7 @@ self.util = _cliPkgRequires.util; return new A.ColorExpression0(_this._stylesheet0$_hexColorContents$1(start), t1.spanFrom$1(start)); } t2 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t3 = A.Primitives_stringFromCharCode(35); t2._contents += t3; buffer.addInterpolation$1(identifier); @@ -112745,23 +120709,18 @@ self.util = _cliPkgRequires.util; } t2 = alpha == null; t3 = t2 ? 1 : alpha; - return A.SassColor$rgbInternal0(red, green, blue, t3, t2 ? new A.SpanColorFormat0(t1.spanFrom$1(start)) : null); + return A.SassColor_SassColor$rgbInternal0(red, green, blue, t3, t2 ? new A.SpanColorFormat0(t1.spanFrom$1(start)) : null); }, _stylesheet0$_isHexColor$1(interpolation) { var _0_2, t1, plain = interpolation.get$asPlain(); if (typeof plain == "string") { _0_2 = plain.length; + t1 = true; if (3 !== _0_2) if (4 !== _0_2) if (6 !== _0_2) t1 = 8 === _0_2; - else - t1 = true; - else - t1 = true; - else - t1 = true; } else t1 = false; if (t1) { @@ -112792,7 +120751,7 @@ self.util = _cliPkgRequires.util; this.whitespace$0(); this.expectIdentifier$1("important"); t2 = t1.spanFrom$1(new A._SpanScannerState(t1, t2)); - return new A.StringExpression0(A.Interpolation$0(A._setArrayType(["!important"], type$.JSArray_Object), t2), false); + return new A.StringExpression0(new A.Interpolation0(A.List_List$unmodifiable(["!important"], type$.Object), B.List_null, t2), false); }, _stylesheet0$_unaryOperation$0() { var _this = this, @@ -112922,7 +120881,7 @@ self.util = _cliPkgRequires.util; else if (hasQuestionMark) { t2 = t1.substring$1(0, start.position); t1 = t1.spanFrom$1(start); - return new A.StringExpression0(A.Interpolation$0(A._setArrayType([t2], type$.JSArray_Object), t1), false); + return new A.StringExpression0(new A.Interpolation0(A.List_List$unmodifiable([t2], type$.Object), B.List_null, t1), false); } if (t1.scanChar$1(45)) { t2 = t1._string_scanner$_position; @@ -112937,7 +120896,7 @@ self.util = _cliPkgRequires.util; t1.error$1(0, "Expected end of identifier."); t2 = t1.substring$1(0, start.position); t1 = t1.spanFrom$1(start); - return new A.StringExpression0(A.Interpolation$0(A._setArrayType([t2], type$.JSArray_Object), t1), false); + return new A.StringExpression0(new A.Interpolation0(A.List_List$unmodifiable([t2], type$.Object), B.List_null, t1), false); }, _stylesheet0$_variable$0() { var _this = this, @@ -112945,7 +120904,7 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position), $name = _this.variableName$0(); if (_this.get$plainCss()) - _this.error$2(0, string$.Sass_v, t1.spanFrom$1(start)); + _this.error$2(0, string$.Sassx20v, t1.spanFrom$1(start)); return new A.VariableExpression0(null, $name, t1.spanFrom$1(start)); }, _stylesheet0$_selector$0() { @@ -112956,13 +120915,13 @@ self.util = _cliPkgRequires.util; start = new A._SpanScannerState(t1, t1._string_scanner$_position); t1.expectChar$1(38); if (t1.scanChar$1(38)) { - _this.logger.warn$2$span(0, string$.In_Sas, t1.spanFrom$1(start)); + _this.warnings.push(new A._Record_3_deprecation_message_span(null, string$.In_Sas, t1.spanFrom$1(start))); t1.set$position(t1._string_scanner$_position - 1); } return new A.SelectorExpression0(t1.spanFrom$1(start)); }, interpolatedString$0() { - var t3, t4, buffer, _0_0, second, t5, + var t3, t4, t5, buffer, _1_0, second, t6, _0_0, t1 = this.scanner, t2 = t1._string_scanner$_position, quote = t1.readChar$0(); @@ -112970,16 +120929,17 @@ self.util = _cliPkgRequires.util; t1.error$2$position(0, "Expected string.", t2); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer0(t3, t4, t5); for (; true;) { - _0_0 = t1.peekChar$0(); - if (_0_0 === quote) { + _1_0 = t1.peekChar$0(); + if (_1_0 === quote) { t1.readChar$0(); break; } - if (_0_0 == null || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) + if (_1_0 == null || _1_0 === 10 || _1_0 === 13 || _1_0 === 12) t1.error$1(0, "Expected " + A.Primitives_stringFromCharCode(quote) + "."); - if (92 === _0_0) { + if (92 === _1_0) { second = t1.peekChar$1(1); if (second === 10 || second === 13 || second === 12) { t1.readChar$0(); @@ -112987,24 +120947,25 @@ self.util = _cliPkgRequires.util; if (second === 13) t1.scanChar$1(10); } else { - t5 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter0(t1)); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(A.consumeEscapedCharacter0(t1)); + t3._contents += t6; } continue; } - if (35 === _0_0 && t1.peekChar$1(1) === 123) { - t5 = this.singleInterpolation$0(); + if (35 === _1_0 && t1.peekChar$1(1) === 123) { + _0_0 = this.singleInterpolation$0(); buffer._interpolation_buffer0$_flushText$0(); - t4.push(t5); + t4.push(_0_0._0); + t5.push(_0_0._1); continue; } - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; } return new A.StringExpression0(buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))), true); }, identifierLike$0() { - var invocation, expression, _0_0, _1_0, _2_0, _2_2, _2_4, _this = this, + var invocation, expression, _0_0, t3, t4, t5, _1_0, _2_0, _2_2, _2_4, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position), identifier = _this.interpolatedIdentifier$0(), @@ -113032,8 +120993,14 @@ self.util = _cliPkgRequires.util; } _0_0 = $.$get$colorsByName0().$index(0, lower._readLocal$0()); if (_0_0 != null) { - t1 = identifier.span; - return new A.ColorExpression0(A.SassColor$rgbInternal0(_0_0.get$red(0), _0_0.get$green(0), _0_0.get$blue(0), _0_0._color1$_alpha, new A.SpanColorFormat0(t1)), t1); + t1 = B.JSNumber_methods.round$0(_0_0._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "red")); + t2 = B.JSNumber_methods.round$0(_0_0._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "green")); + t3 = B.JSNumber_methods.round$0(_0_0._color0$_legacyChannel$2(B.RgbColorSpace_mlz0, "blue")); + t4 = _0_0.alphaOrNull; + if (t4 == null) + t4 = 0; + t5 = identifier.span; + return new A.ColorExpression0(A.SassColor_SassColor$rgbInternal0(t1, t2, t3, t4, new A.SpanColorFormat0(t5)), t5); } } _1_0 = _this.trySpecialFunction$2(lower._readLocal$0(), start); @@ -113083,7 +121050,7 @@ self.util = _cliPkgRequires.util; t1 = true; if (t1) { t1 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t1._contents = "" + $name; t2 = A.Primitives_stringFromCharCode(40); t1._contents += t2; @@ -113091,7 +121058,7 @@ self.util = _cliPkgRequires.util; } if ("progid" === normalized && _this.scanner.scanChar$1(58)) { t1 = new A.StringBuffer(""); - buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t1, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t1._contents = "" + $name; t2 = A.Primitives_stringFromCharCode(58); t1._contents += t2; @@ -113130,7 +121097,7 @@ self.util = _cliPkgRequires.util; return new A.StringExpression0(buffer.interpolation$1(t1.spanFrom$1(start)), false); }, _stylesheet0$_tryUrlContents$2$name(start, $name) { - var t3, t4, buffer, t5, _0_0, _0_6, endPosition, result, _this = this, + var t3, t4, t5, buffer, t6, _1_0, _1_6, _0_0, endPosition, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position; if (!t1.scanChar$1(40)) @@ -113138,69 +121105,54 @@ self.util = _cliPkgRequires.util; _this.whitespaceWithoutComments$0(); t3 = new A.StringBuffer(""); t4 = A._setArrayType([], type$.JSArray_Object); - buffer = new A.InterpolationBuffer0(t3, t4); + t5 = A._setArrayType([], type$.JSArray_nullable_FileSpan); + buffer = new A.InterpolationBuffer0(t3, t4, t5); t3._contents = "" + ($name == null ? "url" : $name); - t5 = A.Primitives_stringFromCharCode(40); - t3._contents += t5; + t6 = A.Primitives_stringFromCharCode(40); + t3._contents += t6; for (; true;) { - _0_0 = t1.peekChar$0(); - if (_0_0 == null) + _1_0 = t1.peekChar$0(); + if (_1_0 == null) break; - if (92 === _0_0) { - t5 = _this.escape$0(); - t3._contents += t5; + if (92 === _1_0) { + t6 = _this.escape$0(); + t3._contents += t6; continue; } - _0_6 = 35 === _0_0; - if (_0_6 && t1.peekChar$1(1) === 123) { - t5 = _this.singleInterpolation$0(); + _1_6 = 35 === _1_0; + if (_1_6 && t1.peekChar$1(1) === 123) { + _0_0 = _this.singleInterpolation$0(); buffer._interpolation_buffer0$_flushText$0(); - t4.push(t5); + t4.push(_0_0._0); + t5.push(_0_0._1); continue; } - if (33 !== _0_0) - if (37 !== _0_0) - if (38 !== _0_0) - if (!_0_6) - t5 = _0_0 >= 42 && _0_0 <= 126 || _0_0 >= 128; - else - t5 = true; - else - t5 = true; - else - t5 = true; - else - t5 = true; - if (t5) { - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t5; + t6 = true; + if (33 !== _1_0) + if (37 !== _1_0) + if (38 !== _1_0) + if (!_1_6) + t6 = _1_0 >= 42 && _1_0 <= 126 || _1_0 >= 128; + if (t6) { + t6 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t6; continue; } - if (_0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12) { + if (_1_0 === 32 || _1_0 === 9 || _1_0 === 10 || _1_0 === 13 || _1_0 === 12) { _this.whitespaceWithoutComments$0(); if (t1.peekChar$0() !== 41) break; continue; } - if (41 === _0_0) { + if (41 === _1_0) { t2 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t2; endPosition = t1._string_scanner$_position; t2 = t1._sourceFile; - t5 = start.position; - t1 = new A._FileSpan(t2, t5, endPosition); - t1._FileSpan$3(t2, t5, endPosition); - t5 = type$.Object; - t2 = A.List_List$of(t4, true, t5); - t4 = t3._contents; - if (t4.length !== 0) - t2.push(t4.charCodeAt(0) == 0 ? t4 : t4); - result = A.List_List$from(t2, false, t5); - result.fixed$length = Array; - result.immutable$list = Array; - t3 = new A.Interpolation0(result, t1); - t3.Interpolation$20(t2, t1); - return t3; + t3 = start.position; + t1 = new A._FileSpan(t2, t3, endPosition); + t1._FileSpan$3(t2, t3, endPosition); + return buffer.interpolation$1(t1); } break; } @@ -113211,71 +121163,93 @@ self.util = _cliPkgRequires.util; return this._stylesheet0$_tryUrlContents$2$name(start, null); }, dynamicUrl$0() { - var _0_0, _this = this, + var _0_0, t2, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); _this.expectIdentifier$1("url"); _0_0 = _this._stylesheet0$_tryUrlContents$1(start); if (_0_0 != null) return new A.StringExpression0(_0_0, false); - return new A.InterpolatedFunctionExpression0(A.Interpolation$0(A._setArrayType(["url"], type$.JSArray_Object), t1.spanFrom$1(start)), _this._stylesheet0$_argumentInvocation$0(), t1.spanFrom$1(start)); + t2 = t1.spanFrom$1(start); + return new A.InterpolatedFunctionExpression0(new A.Interpolation0(A.List_List$unmodifiable(["url"], type$.Object), B.List_null, t2), _this._stylesheet0$_argumentInvocation$0(), t1.spanFrom$1(start)); }, almostAnyValue$1$omitComments(omitComments) { - var t4, t5, t6, _1_0, t7, commentStart, end, _0_0, _this = this, + var t4, t5, t6, _2_0, t7, _0_0, _0_2, start, end, _0_4, identifier, _1_0, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); for (t4 = t1.string, t5 = t4.length, t6 = !omitComments; true;) $label0$0: { - _1_0 = t1.peekChar$0(); - if (92 === _1_0) { + _2_0 = t1.peekChar$0(); + if (92 === _2_0) { t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; break $label0$0; } - if (34 === _1_0 || 39 === _1_0) { + if (34 === _2_0 || 39 === _2_0) { buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); break $label0$0; } - if (47 === _1_0) { - commentStart = t1._string_scanner$_position; - if (_this.scanComment$0()) { - if (t6) { + if (47 === _2_0) { + $label1$1: { + _0_0 = t1.peekChar$1(1); + _0_2 = 42 === _0_0; + if (_0_2 && t6) { + t7 = _this.get$loudComment(); + start = t1._string_scanner$_position; + t7.call$0(); end = t1._string_scanner$_position; - t3._contents += B.JSString_methods.substring$2(t4, commentStart, end); + t3._contents += B.JSString_methods.substring$2(t4, start, end); + break $label1$1; + } + if (_0_2) { + _this.loudComment$0(); + break $label1$1; + } + _0_4 = 47 === _0_0; + if (_0_4 && t6) { + t7 = _this.get$silentComment(); + start = t1._string_scanner$_position; + t7.call$0(); + end = t1._string_scanner$_position; + t3._contents += B.JSString_methods.substring$2(t4, start, end); + break $label1$1; + } + if (_0_4) { + _this.silentComment$0(); + break $label1$1; } - } else { t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; } break $label0$0; } - if (35 === _1_0 && t1.peekChar$1(1) === 123) { + if (35 === _2_0 && t1.peekChar$1(1) === 123) { buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); break $label0$0; } - if (13 === _1_0 || 10 === _1_0 || 12 === _1_0) { + if (13 === _2_0 || 10 === _2_0 || 12 === _2_0) { if (_this.get$indented()) break; t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); t3._contents += t7; break $label0$0; } - if (33 === _1_0 || 59 === _1_0 || 123 === _1_0 || 125 === _1_0) + if (33 === _2_0 || 59 === _2_0 || 123 === _2_0 || 125 === _2_0) break; - if (117 === _1_0 || 85 === _1_0) { + if (117 === _2_0 || 85 === _2_0) { t7 = t1._string_scanner$_position; - if (!_this.scanIdentifier$1("url")) { - t7 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t7; + identifier = _this.identifier$0(); + if (identifier !== "url" && identifier !== "url-prefix") { + t3._contents += identifier; continue; } - _0_0 = _this._stylesheet0$_tryUrlContents$1(new A._SpanScannerState(t1, t7)); - if (_0_0 != null) - buffer.addInterpolation$1(_0_0); + _1_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t7), identifier); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); else { if ((t7 === 0 ? 1 / t7 < 0 : t7 < 0) || t7 > t5) A.throwExpression(A.ArgumentError$("Invalid position " + t7, null)); @@ -113286,7 +121260,7 @@ self.util = _cliPkgRequires.util; } break $label0$0; } - if (_1_0 == null) + if (_2_0 == null) break; t7 = _this.lookingAtIdentifier$0(); if (t7) { @@ -113302,172 +121276,187 @@ self.util = _cliPkgRequires.util; almostAnyValue$0() { return this.almostAnyValue$1$omitComments(false); }, - _stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(allowColon, allowEmpty, allowSemicolon) { - var t4, t5, t6, t7, wroteNewline, _1_0, t8, start, end, _1_14_isSet, _1_14, _1_18_isSet, _1_18, _1_20_isSet, _1_20, bracket, _0_0, _this = this, _null = null, + _stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, allowOpenBrace, allowSemicolon, silentComments) { + var t4, t5, t6, t7, t8, wroteNewline, _2_0, wroteNewline0, t9, _0_0, start, end, _2_14_isSet, _2_14, t10, _2_18_isSet, _2_20, _2_18, _2_20_isSet, _2_22, bracket, identifier, _1_0, _this = this, _null = null, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object)), + buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)), brackets = A._setArrayType([], type$.JSArray_int); - for (t4 = t1.string, t5 = t4.length, t6 = !allowColon, t7 = !allowSemicolon, wroteNewline = false; true;) + for (t4 = !allowOpenBrace, t5 = t1.string, t6 = t5.length, t7 = !allowColon, t8 = !allowSemicolon, wroteNewline = false; true;) $label0$0: { - _1_0 = t1.peekChar$0(); - if (92 === _1_0) { - t8 = _this.escape$1$identifierStart(true); - t3._contents += t8; - wroteNewline = false; + _2_0 = t1.peekChar$0(); + wroteNewline0 = false; + if (92 === _2_0) { + t9 = _this.escape$1$identifierStart(true); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - if (34 === _1_0 || 39 === _1_0) { + if (34 === _2_0 || 39 === _2_0) { buffer.addInterpolation$1(_this.interpolatedString$0().asInterpolation$0()); - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - if (47 === _1_0 && t1.peekChar$1(1) === 42) { - t8 = _this.get$loudComment(); - start = t1._string_scanner$_position; - t8.call$0(); - end = t1._string_scanner$_position; - t3._contents += B.JSString_methods.substring$2(t4, start, end); - wroteNewline = false; + if (47 === _2_0) { + $label1$1: { + _0_0 = t1.peekChar$1(1); + if (42 === _0_0) { + t9 = _this.get$loudComment(); + start = t1._string_scanner$_position; + t9.call$0(); + end = t1._string_scanner$_position; + t3._contents += B.JSString_methods.substring$2(t5, start, end); + break $label1$1; + } + if (47 === _0_0 && silentComments) { + _this.silentComment$0(); + break $label1$1; + } + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + } + wroteNewline = wroteNewline0; break $label0$0; } - if (35 === _1_0 && t1.peekChar$1(1) === 123) { + if (35 === _2_0 && t1.peekChar$1(1) === 123) { buffer.addInterpolation$1(_this.interpolatedIdentifier$0()); - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - _1_14_isSet = 32 !== _1_0; - if (_1_14_isSet) { - _1_14 = 9 === _1_0; - t8 = _1_14; + _2_14_isSet = 32 !== _2_0; + if (_2_14_isSet) { + _2_14 = 9 === _2_0; + t9 = _2_14; } else { - _1_14 = _null; - t8 = true; + _2_14 = _null; + t9 = true; } - if (t8) + t10 = false; + if (t9) if (!wroteNewline) { - t8 = t1.peekChar$1(1); - t8 = t8 === 32 || t8 === 9 || t8 === 10 || t8 === 13 || t8 === 12; + t9 = t1.peekChar$1(1); + t9 = t9 === 32 || t9 === 9 || t9 === 10 || t9 === 13 || t9 === 12; } else - t8 = false; + t9 = t10; else - t8 = false; - if (t8) { + t9 = t10; + if (t9) { t1.readChar$0(); break $label0$0; } - if (_1_14_isSet) - t8 = _1_14; + if (_2_14_isSet) + t9 = _2_14; else - t8 = true; - if (t8) { - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; + t9 = true; + if (t9) { + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; break $label0$0; } - _1_18_isSet = 10 !== _1_0; - if (_1_18_isSet) { - _1_18 = 13 === _1_0; - _1_20_isSet = !_1_18; - if (_1_20_isSet) { - _1_20 = 12 === _1_0; - t8 = _1_20; - } else { - _1_20 = _null; - t8 = true; + _2_18_isSet = 10 !== _2_0; + _2_20 = _null; + t9 = true; + if (_2_18_isSet) { + _2_18 = 13 === _2_0; + _2_20_isSet = !_2_18; + if (_2_20_isSet) { + _2_20 = 12 === _2_0; + t9 = _2_20; } } else { - _1_20 = _null; - _1_18 = _1_20; - _1_20_isSet = false; - t8 = true; + _2_18 = _null; + _2_20_isSet = false; } - if (t8 && _this.get$indented()) + if (t9 && _this.get$indented()) break; - if (_1_18_isSet) - if (!_1_18) - t8 = _1_20_isSet ? _1_20 : 12 === _1_0; - else - t8 = true; - else - t8 = true; - if (t8) { - t8 = t1.peekChar$1(-1); - if (!(t8 === 10 || t8 === 13 || t8 === 12)) + t9 = true; + if (_2_18_isSet) + if (!_2_18) + t9 = _2_20_isSet ? _2_20 : 12 === _2_0; + if (t9) { + t9 = t1.peekChar$1(-1); + if (!(t9 === 10 || t9 === 13 || t9 === 12)) t3._contents += "\n"; t1.readChar$0(); wroteNewline = true; break $label0$0; } - if (40 === _1_0 || 123 === _1_0 || 91 === _1_0) { + _2_22 = 123 === _2_0; + if (_2_22 && t4) + break; + if (40 !== _2_0) + t9 = _2_22 || 91 === _2_0; + else + t9 = true; + if (t9) { bracket = t1.readChar$0(); - t8 = A.Primitives_stringFromCharCode(bracket); - t3._contents += t8; + t9 = A.Primitives_stringFromCharCode(bracket); + t3._contents += t9; brackets.push(A.opposite0(bracket)); - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - if (41 === _1_0 || 125 === _1_0 || 93 === _1_0) { + if (41 === _2_0 || 125 === _2_0 || 93 === _2_0) { if (brackets.length === 0) break; bracket = brackets.pop(); t1.expectChar$1(bracket); - t8 = A.Primitives_stringFromCharCode(bracket); - t3._contents += t8; - wroteNewline = false; + t9 = A.Primitives_stringFromCharCode(bracket); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - if (59 === _1_0) { + if (59 === _2_0) { + if (t8 && brackets.length === 0) + break; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + wroteNewline = wroteNewline0; + break $label0$0; + } + if (58 === _2_0) { if (t7 && brackets.length === 0) break; - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - if (58 === _1_0) { - if (t6 && brackets.length === 0) - break; - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; - break $label0$0; - } - if (117 === _1_0 || 85 === _1_0) { - t8 = t1._string_scanner$_position; - if (!_this.scanIdentifier$1("url")) { - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; + if (117 === _2_0 || 85 === _2_0) { + t9 = t1._string_scanner$_position; + identifier = _this.identifier$0(); + if (identifier !== "url" && identifier !== "url-prefix") { + t3._contents += identifier; + wroteNewline = wroteNewline0; continue; } - _0_0 = _this._stylesheet0$_tryUrlContents$1(new A._SpanScannerState(t1, t8)); - if (_0_0 != null) - buffer.addInterpolation$1(_0_0); + _1_0 = _this._stylesheet0$_tryUrlContents$2$name(new A._SpanScannerState(t1, t9), identifier); + if (_1_0 != null) + buffer.addInterpolation$1(_1_0); else { - if ((t8 === 0 ? 1 / t8 < 0 : t8 < 0) || t8 > t5) - A.throwExpression(A.ArgumentError$("Invalid position " + t8, _null)); - t1._string_scanner$_position = t8; + if ((t9 === 0 ? 1 / t9 < 0 : t9 < 0) || t9 > t6) + A.throwExpression(A.ArgumentError$("Invalid position " + t9, _null)); + t1._string_scanner$_position = t9; t1._lastMatch = null; - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; } - wroteNewline = false; + wroteNewline = wroteNewline0; break $label0$0; } - if (_1_0 == null) + if (_2_0 == null) break; - t8 = _this.lookingAtIdentifier$0(); - if (t8) { - t8 = _this.identifier$0(); - t3._contents += t8; - wroteNewline = false; + t9 = _this.lookingAtIdentifier$0(); + if (t9) { + t9 = _this.identifier$0(); + t3._contents += t9; + wroteNewline = wroteNewline0; break $label0$0; } - t8 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t3._contents += t8; - wroteNewline = false; + t9 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t3._contents += t9; + wroteNewline = wroteNewline0; } if (brackets.length !== 0) t1.expectChar$1(B.JSArray_methods.get$last(brackets)); @@ -113476,25 +121465,36 @@ self.util = _cliPkgRequires.util; return buffer.interpolation$1(t1.spanFrom$1(new A._SpanScannerState(t1, t2))); }, _stylesheet0$_interpolatedDeclarationValue$1$allowEmpty(allowEmpty) { - return this._stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(true, allowEmpty, false); + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, false, true); + }, + _stylesheet0$_interpolatedDeclarationValue$1$allowOpenBrace(allowOpenBrace) { + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, allowOpenBrace, false, true); }, _stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(allowEmpty, allowSemicolon) { - return this._stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(true, allowEmpty, allowSemicolon); + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, true, allowSemicolon, true); + }, + _stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(allowColon, allowEmpty, allowSemicolon) { + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(allowColon, allowEmpty, true, allowSemicolon, true); }, _stylesheet0$_interpolatedDeclarationValue$0() { - return this._stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(true, false, false); + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, true); + }, + _stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowOpenBrace(allowEmpty, allowOpenBrace) { + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, allowEmpty, allowOpenBrace, false, true); + }, + _stylesheet0$_interpolatedDeclarationValue$1$silentComments(silentComments) { + return this._stylesheet0$_interpolatedDeclarationValue$5$allowColon$allowEmpty$allowOpenBrace$allowSemicolon$silentComments(true, false, true, false, silentComments); }, interpolatedIdentifier$0() { - var t4, _0_0, _this = this, + var t3, _1_0, _0_0, _this = this, _s20_ = "Expected identifier.", t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position), t2 = new A.StringBuffer(""), - t3 = A._setArrayType([], type$.JSArray_Object), - buffer = new A.InterpolationBuffer0(t2, t3); + buffer = new A.InterpolationBuffer0(t2, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); if (t1.scanChar$1(45)) { - t4 = A.Primitives_stringFromCharCode(45); - t2._contents += t4; + t3 = A.Primitives_stringFromCharCode(45); + t2._contents += t3; if (t1.scanChar$1(45)) { t3 = A.Primitives_stringFromCharCode(45); t2._contents += t3; @@ -113503,23 +121503,22 @@ self.util = _cliPkgRequires.util; } } $label0$0: { - _0_0 = t1.peekChar$0(); - if (_0_0 == null) + _1_0 = t1.peekChar$0(); + if (_1_0 == null) t1.error$1(0, _s20_); - if (_0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128) { + if (_1_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_1_0) || _1_0 >= 128) { t3 = A.Primitives_stringFromCharCode(t1.readChar$0()); t2._contents += t3; break $label0$0; } - if (92 === _0_0) { + if (92 === _1_0) { t3 = _this.escape$1$identifierStart(true); t2._contents += t3; break $label0$0; } - if (35 === _0_0 && t1.peekChar$1(1) === 123) { - t2 = _this.singleInterpolation$0(); - buffer._interpolation_buffer0$_flushText$0(); - t3.push(t2); + if (35 === _1_0 && t1.peekChar$1(1) === 123) { + _0_0 = _this.singleInterpolation$0(); + buffer.add$2(0, _0_0._0, _0_0._1); break $label0$0; } t1.error$1(0, _s20_); @@ -113528,63 +121527,63 @@ self.util = _cliPkgRequires.util; return buffer.interpolation$1(t1.spanFrom$1(start)); }, _stylesheet0$_interpolatedIdentifierBody$1(buffer) { - var t1, t2, t3, _0_0, t4; - for (t1 = buffer._interpolation_buffer0$_contents, t2 = this.scanner, t3 = buffer._interpolation_buffer0$_text; true;) { - _0_0 = t2.peekChar$0(); - if (_0_0 == null) + var t1, t2, t3, t4, _1_0, t5, _0_0; + for (t1 = buffer._interpolation_buffer0$_contents, t2 = buffer._interpolation_buffer0$_spans, t3 = this.scanner, t4 = buffer._interpolation_buffer0$_text; true;) { + _1_0 = t3.peekChar$0(); + if (_1_0 == null) break; - if (95 !== _0_0) - if (45 !== _0_0) { - if (!(_0_0 >= 97 && _0_0 <= 122)) - t4 = _0_0 >= 65 && _0_0 <= 90; + t5 = true; + if (95 !== _1_0) + if (45 !== _1_0) { + if (!(_1_0 >= 97 && _1_0 <= 122)) + t5 = _1_0 >= 65 && _1_0 <= 90; else - t4 = true; - if (!t4) - t4 = _0_0 >= 48 && _0_0 <= 57; + t5 = true; + if (!t5) + t5 = _1_0 >= 48 && _1_0 <= 57; else - t4 = true; - t4 = t4 || _0_0 >= 128; - } else - t4 = true; - else - t4 = true; - if (t4) { - t4 = A.Primitives_stringFromCharCode(t2.readChar$0()); - t3._contents += t4; + t5 = true; + t5 = t5 || _1_0 >= 128; + } + if (t5) { + t5 = A.Primitives_stringFromCharCode(t3.readChar$0()); + t4._contents += t5; continue; } - if (92 === _0_0) { - t4 = this.escape$0(); - t3._contents += t4; + if (92 === _1_0) { + t5 = this.escape$0(); + t4._contents += t5; continue; } - if (35 === _0_0 && t2.peekChar$1(1) === 123) { - t4 = this.singleInterpolation$0(); + if (35 === _1_0 && t3.peekChar$1(1) === 123) { + _0_0 = this.singleInterpolation$0(); buffer._interpolation_buffer0$_flushText$0(); - t1.push(t4); + t1.push(_0_0._0); + t2.push(_0_0._1); continue; } break; } }, singleInterpolation$0() { - var contents, _this = this, + var contents, span, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position; t1.expect$1("#{"); _this.whitespace$0(); contents = _this._stylesheet0$_expression$0(); t1.expectChar$1(125); + span = t1.spanFrom$1(new A._SpanScannerState(t1, t2)); if (_this.get$plainCss()) - _this.error$2(0, string$.Interpp, t1.spanFrom$1(new A._SpanScannerState(t1, t2))); - return contents; + _this.error$2(0, string$.Interpp, span); + return new A._Record_2(contents, span); }, _stylesheet0$_mediaQueryList$0() { var t4, _this = this, t1 = _this.scanner, t2 = t1._string_scanner$_position, t3 = new A.StringBuffer(""), - buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object)); + buffer = new A.InterpolationBuffer0(t3, A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); for (; true;) { _this.whitespace$0(); _this._stylesheet0$_mediaQuery$1(buffer); @@ -113668,15 +121667,15 @@ self.util = _cliPkgRequires.util; } }, _stylesheet0$_mediaOrInterp$1(buffer) { - var interpolation; + var _0_0; if (this.scanner.peekChar$0() === 35) { - interpolation = this.singleInterpolation$0(); - buffer.addInterpolation$1(A.Interpolation$0(A._setArrayType([interpolation], type$.JSArray_Object), interpolation.get$span(interpolation))); + _0_0 = this.singleInterpolation$0(); + buffer.add$2(0, _0_0._0, _0_0._1); } else this._stylesheet0$_mediaInParens$1(buffer); }, _stylesheet0$_mediaInParens$1(buffer) { - var t2, t3, t4, next, t5, _this = this, + var t2, t3, expressionBefore, expressionAfter, next, t4, expressionMiddle, _this = this, t1 = _this.scanner; t1.expectChar$2$name(40, "media condition in parentheses"); t2 = buffer._interpolation_buffer0$_text; @@ -113700,37 +121699,33 @@ self.util = _cliPkgRequires.util; _this.expectWhitespace$0(); _this._stylesheet0$_mediaOrInterp$1(buffer); } else { - t3 = _this._stylesheet0$_expressionUntilComparison$0(); - buffer._interpolation_buffer0$_flushText$0(); - t4 = buffer._interpolation_buffer0$_contents; - t4.push(t3); + expressionBefore = _this._stylesheet0$_expressionUntilComparison$0(); + buffer.add$2(0, expressionBefore, expressionBefore.get$span(expressionBefore)); if (t1.scanChar$1(58)) { _this.whitespace$0(); t3 = A.Primitives_stringFromCharCode(58); t2._contents += t3; t3 = A.Primitives_stringFromCharCode(32); t2._contents += t3; - t3 = _this._stylesheet0$_expression$0(); - buffer._interpolation_buffer0$_flushText$0(); - t4.push(t3); + expressionAfter = _this._stylesheet0$_expression$0(); + buffer.add$2(0, expressionAfter, expressionAfter.get$span(expressionAfter)); } else { next = t1.peekChar$0(); t3 = 60 !== next; if (!t3 || 62 === next || 61 === next) { - t5 = A.Primitives_stringFromCharCode(32); - t2._contents += t5; - t5 = A.Primitives_stringFromCharCode(t1.readChar$0()); - t2._contents += t5; + t4 = A.Primitives_stringFromCharCode(32); + t2._contents += t4; + t4 = A.Primitives_stringFromCharCode(t1.readChar$0()); + t2._contents += t4; if ((!t3 || 62 === next) && t1.scanChar$1(61)) { - t5 = A.Primitives_stringFromCharCode(61); - t2._contents += t5; + t4 = A.Primitives_stringFromCharCode(61); + t2._contents += t4; } - t5 = A.Primitives_stringFromCharCode(32); - t2._contents += t5; + t4 = A.Primitives_stringFromCharCode(32); + t2._contents += t4; _this.whitespace$0(); - t5 = _this._stylesheet0$_expressionUntilComparison$0(); - buffer._interpolation_buffer0$_flushText$0(); - t4.push(t5); + expressionMiddle = _this._stylesheet0$_expressionUntilComparison$0(); + buffer.add$2(0, expressionMiddle, expressionMiddle.get$span(expressionMiddle)); if (!t3 || 62 === next) { next.toString; t3 = t1.scanChar$1(next); @@ -113748,9 +121743,8 @@ self.util = _cliPkgRequires.util; t3 = A.Primitives_stringFromCharCode(32); t2._contents += t3; _this.whitespace$0(); - t3 = _this._stylesheet0$_expressionUntilComparison$0(); - buffer._interpolation_buffer0$_flushText$0(); - t4.push(t3); + expressionAfter = _this._stylesheet0$_expressionUntilComparison$0(); + buffer.add$2(0, expressionAfter, expressionAfter.get$span(expressionAfter)); } } } @@ -113797,13 +121791,13 @@ self.util = _cliPkgRequires.util; return condition; }, _stylesheet0$_supportsConditionInParens$0() { - var $name, nameStart, wasInParentheses, identifier, _1_0, operation, contents, identifier0, t2, $arguments, _0_0, _0_4_isSet, _0_4, condition, exception, declaration, _this = this, _null = null, + var $name, nameStart, wasInParentheses, identifier, _1_0, operation, contents, identifier0, t2, $arguments, _0_0, _0_4_isSet, _0_4, _0_40, condition, exception, value, _this = this, t1 = _this.scanner, start = new A._SpanScannerState(t1, t1._string_scanner$_position); if (_this._stylesheet0$_lookingAtInterpolatedIdentifier$0()) { identifier0 = _this.interpolatedIdentifier$0(); t2 = identifier0.get$asPlain(); - if ((t2 == null ? _null : t2.toLowerCase()) === "not") + if ((t2 == null ? null : t2.toLowerCase()) === "not") _this.error$2(0, '"not" is not a valid identifier here.', identifier0.span); if (t1.scanChar$1(40)) { $arguments = _this._stylesheet0$_interpolatedDeclarationValue$2$allowEmpty$allowSemicolon(true, true); @@ -113812,14 +121806,14 @@ self.util = _cliPkgRequires.util; } else { _0_0 = identifier0.contents; _0_4_isSet = _0_0.length === 1; + _0_4 = null; if (_0_4_isSet) { - _0_4 = _0_0[0]; - t2 = _0_4; - t2 = type$.Expression_2._is(t2); - } else { - _0_4 = _null; + _0_40 = _0_0[0]; + t2 = _0_40; + _0_4 = t2; + t2 = t2 instanceof A.Expression0; + } else t2 = false; - } if (t2) { t2 = _0_4_isSet ? _0_4 : _0_0[0]; return new A.SupportsInterpolation0(type$.Expression_2._as(t2), t1.spanFrom$1(start)); @@ -113837,7 +121831,7 @@ self.util = _cliPkgRequires.util; } else if (t1.peekChar$0() === 40) { condition = _this._stylesheet0$_supportsCondition$0(); t1.expectChar$1(41); - return condition; + return condition.withSpan$1(t1.spanFrom$1(start)); } $name = null; nameStart = new A._SpanScannerState(t1, t1._string_scanner$_position); @@ -113855,9 +121849,11 @@ self.util = _cliPkgRequires.util; if (_1_0 != null) { operation = _1_0; t1.expectChar$1(41); - return operation; + t2 = operation; + t1 = t1.spanFrom$1(start); + return A.SupportsOperation$0(t2.left, t2.right, t2.operator, t1); } - t2 = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object)); + t2 = new A.InterpolationBuffer0(new A.StringBuffer(""), A._setArrayType([], type$.JSArray_Object), A._setArrayType([], type$.JSArray_nullable_FileSpan)); t2.addInterpolation$1(identifier); t2.addInterpolation$1(_this._stylesheet0$_interpolatedDeclarationValue$3$allowColon$allowEmpty$allowSemicolon(false, true, true)); contents = t2.interpolation$1(t1.spanFrom$1(nameStart)); @@ -113868,26 +121864,21 @@ self.util = _cliPkgRequires.util; } else throw exception; } - declaration = _this._stylesheet0$_supportsDeclarationValue$2($name, start); + value = _this._stylesheet0$_supportsDeclarationValue$1($name); t1.expectChar$1(41); - return declaration; + return new A.SupportsDeclaration0($name, value, t1.spanFrom$1(start)); }, - _stylesheet0$_supportsDeclarationValue$2($name, start) { - var t1, value, _this = this; + _stylesheet0$_supportsDeclarationValue$1($name) { + var t1 = false; if ($name instanceof A.StringExpression0) if (!$name.hasQuotes) t1 = B.JSString_methods.startsWith$1($name.text.get$initialPlain(), "--"); - else - t1 = false; - else - t1 = false; if (t1) - value = new A.StringExpression0(_this._stylesheet0$_interpolatedDeclarationValue$0(), false); + return new A.StringExpression0(this._stylesheet0$_interpolatedDeclarationValue$0(), false); else { - _this.whitespace$0(); - value = _this._stylesheet0$_expression$0(); + this.whitespace$0(); + return this._stylesheet0$_expression$0(); } - return new A.SupportsDeclaration0($name, value, _this.scanner.spanFrom$1(start)); }, _stylesheet0$_trySupportsOperation$2(interpolation, start) { var expression, beforeWhitespace, t2, t3, operator, operation, right, t4, endPosition, t5, t6, lowerOperator, _this = this, _null = null, @@ -113895,7 +121886,7 @@ self.util = _cliPkgRequires.util; if (t1.length !== 1) return _null; expression = B.JSArray_methods.get$first(t1); - if (!type$.Expression_2._is(expression)) + if (!(expression instanceof A.Expression0)) return _null; t1 = _this.scanner; beforeWhitespace = new A._SpanScannerState(t1, t1._string_scanner$_position); @@ -113933,12 +121924,13 @@ self.util = _cliPkgRequires.util; return operation; }, _stylesheet0$_lookingAtInterpolatedIdentifier$0() { - var _0_0, + var t2, _0_0, t1 = this.scanner, _1_0 = t1.peekChar$0(); $label0$0: { + t2 = false; if (_1_0 == null) { - t1 = false; + t1 = t2; break $label0$0; } if (_1_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_1_0) || _1_0 >= 128 || 92 === _1_0) { @@ -113953,7 +121945,7 @@ self.util = _cliPkgRequires.util; _0_0 = t1.peekChar$1(1); $label1$1: { if (_0_0 == null) { - t1 = false; + t1 = t2; break $label1$1; } if (35 === _0_0) { @@ -113964,12 +121956,12 @@ self.util = _cliPkgRequires.util; t1 = true; break $label1$1; } - t1 = false; + t1 = t2; break $label1$1; } break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } return t1; @@ -113992,19 +121984,20 @@ self.util = _cliPkgRequires.util; return t1; }, _stylesheet0$_lookingAtInterpolatedIdentifierBody$0() { - var t2, + var t2, t3, t1 = this.scanner, _0_0 = t1.peekChar$0(); $label0$0: { + t2 = false; if (_0_0 == null) { - t1 = false; + t1 = t2; break $label0$0; } if (!(_0_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_0_0) || _0_0 >= 128)) - t2 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45; + t3 = _0_0 >= 48 && _0_0 <= 57 || _0_0 === 45; else - t2 = true; - if (t2 || 92 === _0_0) { + t3 = true; + if (t3 || 92 === _0_0) { t1 = true; break $label0$0; } @@ -114012,16 +122005,17 @@ self.util = _cliPkgRequires.util; t1 = t1.peekChar$1(1) === 123; break $label0$0; } - t1 = false; + t1 = t2; break $label0$0; } return t1; }, _stylesheet0$_lookingAtExpression$0() { - var _0_0, + var t2, _0_0, t1 = this.scanner, _1_0 = t1.peekChar$0(); $label0$0: { + t2 = true; if (_1_0 == null) { t1 = false; break $label0$0; @@ -114038,17 +122032,18 @@ self.util = _cliPkgRequires.util; if (73 !== _0_0) t1 = _0_0 === 32 || _0_0 === 9 || _0_0 === 10 || _0_0 === 13 || _0_0 === 12; else - t1 = true; + t1 = t2; else - t1 = true; + t1 = t2; else - t1 = true; + t1 = t2; if (t1) break $label1$1; break $label1$1; } break $label0$0; } + t1 = true; if (40 !== _1_0) if (47 !== _1_0) if (91 !== _1_0) @@ -114062,32 +122057,8 @@ self.util = _cliPkgRequires.util; if (38 !== _1_0) if (!(_1_0 === 95 || A.CharacterExtension_get_isAlphabetic0(_1_0) || _1_0 >= 128)) t1 = _1_0 >= 48 && _1_0 <= 57; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; - else - t1 = true; if (t1) { - t1 = true; + t1 = t2; break $label0$0; } t1 = false; @@ -114135,6 +122106,12 @@ self.util = _cliPkgRequires.util; return; this.error$2(0, string$.Privat, span.call$0()); }, + _stylesheet0$_addOrInject$2(buffer, expression) { + if (expression instanceof A.StringExpression0 && !expression.hasQuotes) + buffer.addInterpolation$1(expression.text); + else + buffer.add$2(0, expression, expression.get$span(expression)); + }, get$plainCss() { return false; } @@ -114150,9 +122127,9 @@ self.util = _cliPkgRequires.util; t2.expectDone$0(); t4 = t1._stylesheet0$_globalVariables.get$values(0); B.JSArray_methods.addAll$1(statements, A.MappedIterable_MappedIterable(t4, new A.StylesheetParser_parse__closure2(), A._instanceType(t4)._eval$1("Iterable.E"), type$.Statement_2)); - return A.Stylesheet$internal0(statements, t2.spanFrom$1(new A._SpanScannerState(t2, t3)), t1.get$plainCss()); + return A.Stylesheet$internal0(statements, t2.spanFrom$1(new A._SpanScannerState(t2, t3)), t1.warnings, t1.get$plainCss()); }, - $signature: 554 + $signature: 594 }; A.StylesheetParser_parse__closure1.prototype = { call$0() { @@ -114164,14 +122141,14 @@ self.util = _cliPkgRequires.util; } return t1._stylesheet0$_statement$1$root(true); }, - $signature: 555 + $signature: 595 }; A.StylesheetParser_parse__closure2.prototype = { call$1(declaration) { var t1 = declaration.expression; return A.VariableDeclaration$0(declaration.name, new A.NullExpression0(t1.get$span(t1)), declaration.span, null, false, true, null); }, - $signature: 556 + $signature: 596 }; A.StylesheetParser_parseArgumentDeclaration_closure0.prototype = { call$0() { @@ -114187,7 +122164,7 @@ self.util = _cliPkgRequires.util; t2.expectChar$1(123); return $arguments; }, - $signature: 557 + $signature: 597 }; A.StylesheetParser__parseSingleProduction_closure0.prototype = { call$0() { @@ -114210,59 +122187,59 @@ self.util = _cliPkgRequires.util; t2 = t1.scanner; t2 = A.FileLocation$_(t2._sourceFile, t2._string_scanner$_position); t3 = t2.offset; - $arguments = new A.ArgumentDeclaration0(B.List_empty22, null, A._FileSpan$(t2.file, t3, t3)); + $arguments = new A.ArgumentDeclaration0(B.List_empty24, null, A._FileSpan$(t2.file, t3, t3)); } t1.scanner.expectDone$0(); return new A._Record_2($name, $arguments); }, - $signature: 558 + $signature: 598 }; A.StylesheetParser__statement_closure0.prototype = { call$0() { return this.$this._stylesheet0$_statement$0(); }, - $signature: 132 + $signature: 136 }; A.StylesheetParser_variableDeclarationWithoutNamespace_closure1.prototype = { call$0() { return this.$this.scanner.spanFrom$1(this.start); }, - $signature: 26 + $signature: 29 }; A.StylesheetParser_variableDeclarationWithoutNamespace_closure2.prototype = { call$0() { return this.declaration; }, - $signature: 559 + $signature: 599 }; A.StylesheetParser__styleRule_closure0.prototype = { call$2(children, span) { var _this = this, t1 = _this.$this; if (t1.get$indented() && children.length === 0) - t1.logger.warn$2$span(0, string$.This_s, _this._box_0.interpolation.span); + t1.warnings.push(new A._Record_3_deprecation_message_span(null, string$.This_s, _this._box_0.interpolation.span)); t1._stylesheet0$_inStyleRule = _this.wasInStyleRule; return A.StyleRule$0(_this._box_0.interpolation, children, t1.scanner.spanFrom$1(_this.start)); }, - $signature: 560 + $signature: 600 }; A.StylesheetParser__tryDeclarationChildren_closure0.prototype = { call$2(children, span) { return A.Declaration$nested0(this.name, children, span, this.value); }, - $signature: 561 + $signature: 601 }; A.StylesheetParser__atRootRule_closure1.prototype = { call$2(children, span) { return A.AtRootRule$0(children, span, this.query); }, - $signature: 208 + $signature: 262 }; A.StylesheetParser__atRootRule_closure2.prototype = { call$2(children, span) { return A.AtRootRule$0(children, span, null); }, - $signature: 208 + $signature: 262 }; A.StylesheetParser__eachRule_closure0.prototype = { call$2(children, span) { @@ -114270,13 +122247,13 @@ self.util = _cliPkgRequires.util; _this.$this._stylesheet0$_inControlDirective = _this.wasInControlDirective; return A.EachRule$0(_this.variables, _this.list, children, span); }, - $signature: 563 + $signature: 603 }; A.StylesheetParser__functionRule_closure0.prototype = { call$2(children, span) { return A.FunctionRule$0(this.name, this.$arguments, children, span, this.precedingComment); }, - $signature: 564 + $signature: 604 }; A.StylesheetParser__forRule_closure1.prototype = { call$0() { @@ -114291,7 +122268,7 @@ self.util = _cliPkgRequires.util; } else return false; }, - $signature: 30 + $signature: 24 }; A.StylesheetParser__forRule_closure2.prototype = { call$2(children, span) { @@ -114301,7 +122278,7 @@ self.util = _cliPkgRequires.util; t1.toString; return A.ForRule$0(_this.variable, _this.from, _this.to, children, span, t1); }, - $signature: 565 + $signature: 605 }; A.StylesheetParser__memberList_closure0.prototype = { call$0() { @@ -114317,13 +122294,13 @@ self.util = _cliPkgRequires.util; call$2(children, span) { return A.ContentBlock$0(this.contentArguments_, children, span); }, - $signature: 566 + $signature: 606 }; A.StylesheetParser_mediaRule_closure0.prototype = { call$2(children, span) { return A.MediaRule$0(this.query, children, span); }, - $signature: 567 + $signature: 607 }; A.StylesheetParser__mixinRule_closure0.prototype = { call$2(children, span) { @@ -114331,35 +122308,35 @@ self.util = _cliPkgRequires.util; _this.$this._stylesheet0$_inMixin = false; return A.MixinRule$0(_this.name, _this.$arguments, children, span, _this.precedingComment); }, - $signature: 568 + $signature: 608 }; A.StylesheetParser_mozDocumentRule_closure0.prototype = { call$2(children, span) { var _this = this; if (_this._box_0.needsDeprecationWarning) - A.WarnForDeprecation_warnForDeprecation0(_this.$this.logger, B.Deprecation_Iit, string$.x40_moz_, span, null); + _this.$this.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_Ctw, string$.x40_moz_, span)); return A.AtRule$0(_this.name, span, children, _this.value); }, - $signature: 205 + $signature: 263 }; A.StylesheetParser_supportsRule_closure0.prototype = { call$2(children, span) { return A.SupportsRule$0(this.condition, children, span); }, - $signature: 570 + $signature: 610 }; A.StylesheetParser__whileRule_closure0.prototype = { call$2(children, span) { this.$this._stylesheet0$_inControlDirective = this.wasInControlDirective; return A.WhileRule$0(this.condition, children, span); }, - $signature: 571 + $signature: 611 }; A.StylesheetParser_unknownAtRule_closure0.prototype = { call$2(children, span) { return A.AtRule$0(this.name, span, children, this._box_0.value); }, - $signature: 205 + $signature: 263 }; A.StylesheetParser__expression_resetState0.prototype = { call$0() { @@ -114413,7 +122390,7 @@ self.util = _cliPkgRequires.util; t5 = left.toString$0(0); t6 = right.toString$0(0); t1 = t1.singleExpression_; - A.WarnForDeprecation_warnForDeprecation0(t3.logger, B.Deprecation_woc, "This operation is parsed as:\n\n " + t2 + " " + t7 + " " + t4 + string$.x0a_but_ + t5 + " (" + t7 + t6 + ")\n\nAdd a space after " + t7 + string$.x20to_cl, t1.get$span(t1), null); + t3.warnings.push(new A._Record_3_deprecation_message_span(B.Deprecation_UW2, "This operation is parsed as:\n\n " + t2 + " " + t7 + " " + t4 + string$.x0a_but_ + t5 + " (" + t7 + t6 + ")\n\nAdd a space after " + t7 + string$.x20to_cl, t1.get$span(t1))); } } } @@ -114455,7 +122432,7 @@ self.util = _cliPkgRequires.util; } t1.singleExpression_ = expression; }, - $signature: 572 + $signature: 612 }; A.StylesheetParser__expression_addOperator0.prototype = { call$1(operator) { @@ -114492,7 +122469,7 @@ self.util = _cliPkgRequires.util; t1.whitespace$0(); t2.singleExpression_ = t1._stylesheet0$_singleExpression$0(); }, - $signature: 573 + $signature: 613 }; A.StylesheetParser__expression_resolveSpaceExpressions0.prototype = { call$0() { @@ -114517,37 +122494,37 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this.scanner.peekChar$0() === 44; }, - $signature: 30 + $signature: 24 }; A.StylesheetParser__isHexColor_closure0.prototype = { call$1(char) { return A.CharacterExtension_get_isHex0(char); }, - $signature: 45 + $signature: 47 }; A.StylesheetParser__unicodeRange_closure1.prototype = { call$1(char) { return char != null && A.CharacterExtension_get_isHex0(char); }, - $signature: 28 + $signature: 32 }; A.StylesheetParser__unicodeRange_closure2.prototype = { call$1(char) { return char != null && A.CharacterExtension_get_isHex0(char); }, - $signature: 28 + $signature: 32 }; A.StylesheetParser_namespacedExpression_closure0.prototype = { call$0() { return this.$this.scanner.spanFrom$1(this.start); }, - $signature: 26 + $signature: 29 }; A.StylesheetParser_trySpecialFunction_closure0.prototype = { call$1(contents) { return new A.StringExpression0(contents, false); }, - $signature: 574 + $signature: 614 }; A.StylesheetParser__expressionUntilComparison_closure0.prototype = { call$0() { @@ -114567,16 +122544,16 @@ self.util = _cliPkgRequires.util; } return t1; }, - $signature: 30 + $signature: 24 }; A.StylesheetParser__publicIdentifier_closure0.prototype = { call$0() { return this.$this.scanner.spanFrom$1(this.start); }, - $signature: 26 + $signature: 29 }; A.Stylesheet0.prototype = { - Stylesheet$internal$3$plainCss0(children, span, plainCss) { + Stylesheet$internal$4$plainCss0(children, span, parseTimeWarnings, plainCss) { var t1, t2, t3, t4, _i, child; for (t1 = this.children, t2 = t1.length, t3 = this._stylesheet1$_forwards, t4 = this._stylesheet1$_uses, _i = 0; _i < t2; ++_i) { child = t1[_i]; @@ -114594,7 +122571,7 @@ self.util = _cliPkgRequires.util; } }, accept$1$1(visitor) { - return visitor.visitStylesheet$1(this); + return visitor.visitStylesheet$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -114613,16 +122590,14 @@ self.util = _cliPkgRequires.util; return t1.get$span(t1); }, accept$1$1(visitor) { - return visitor.visitSupportsExpression$1(this); + return visitor.visitSupportsExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { return this.condition.toString$0(0); - }, - $isExpression0: 1, - $isAstNode0: 1 + } }; A.ModifiableCssSupportsRule0.prototype = { accept$1$1(visitor) { @@ -114650,7 +122625,7 @@ self.util = _cliPkgRequires.util; }; A.SupportsRule0.prototype = { accept$1$1(visitor) { - return visitor.visitSupportsRule$1(this); + return visitor.visitSupportsRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -114695,7 +122670,7 @@ self.util = _cliPkgRequires.util; if (contents == null || syntax == null) A.jsThrow(new self.Error(string$.The_lo)); t2 = A.parseSyntax(syntax); - return A.ImporterResult$(contents, A.NullableExtension_andThen0(t1.get$sourceMapUrl(result), A.utils1__jsToDartUrl$closure()), t2); + return A.ImporterResult$(contents, A.NullableExtension_andThen0(t1.get$sourceMapUrl(result), A.utils3__jsToDartUrl$closure()), t2); }, isNonCanonicalScheme$1(scheme) { return this._sync$_nonCanonicalSchemes.contains$1(0, scheme); @@ -114705,13 +122680,13 @@ self.util = _cliPkgRequires.util; call$0() { return this.$this._sync$_canonicalize.call$2(this.url.toString$0(0), A.canonicalizeContext0()); }, - $signature: 31 + $signature: 37 }; A.JSToDartImporter_load_closure.prototype = { call$0() { return this.$this._sync$_load.call$1(new self.URL(this.url.toString$0(0))); }, - $signature: 31 + $signature: 37 }; A.Syntax0.prototype = { _enumToString$0() { @@ -114737,7 +122712,7 @@ self.util = _cliPkgRequires.util; }, unify$1(compound) { var unified, t1, - _0_0 = B.JSArray_methods.get$first(compound); + _0_0 = A.IterableExtensions_get_firstOrNull(compound); if (_0_0 instanceof A.UniversalSelector0 || _0_0 instanceof A.TypeSelector0) { unified = A.unifyUniversalAndElement0(this, B.JSArray_methods.get$first(compound)); if (unified == null) @@ -114752,19 +122727,18 @@ self.util = _cliPkgRequires.util; } }, isSuperselector$1(other) { - var t1, t2; - if (!this.super$SimpleSelector$isSuperselector0(other)) + var t1, t2, t3; + if (!this.super$SimpleSelector$isSuperselector0(other)) { + t1 = false; if (other instanceof A.TypeSelector0) { - t1 = this.name; - t2 = other.name; - if (t1.name === t2.name) { - t1 = t1.namespace; - t1 = t1 === "*" || t1 == t2.namespace; - } else - t1 = false; - } else - t1 = false; - else + t2 = this.name; + t3 = other.name; + if (t2.name === t3.name) { + t1 = t2.namespace; + t1 = t1 === "*" || t1 == t3.namespace; + } + } + } else t1 = true; return t1; }, @@ -114781,7 +122755,7 @@ self.util = _cliPkgRequires.util; A.Types.prototype = {}; A.UnaryOperationExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitUnaryOperationExpression$1(this); + return visitor.visitUnaryOperationExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -114793,13 +122767,10 @@ self.util = _cliPkgRequires.util; t1 = t1 === B.UnaryOperator_not_not_not0 ? t2 + A.Primitives_stringFromCharCode(32) : t2; operand = this.operand; $label0$0: { + t2 = true; if (!(operand instanceof A.BinaryOperationExpression0)) if (!(operand instanceof A.UnaryOperationExpression0)) t2 = operand instanceof A.ListExpression0 && !operand.hasBrackets && operand.contents.length >= 2; - else - t2 = true; - else - t2 = true; if (t2) break $label0$0; break $label0$0; @@ -114811,8 +122782,6 @@ self.util = _cliPkgRequires.util; t1 += "41"; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -114986,12 +122955,14 @@ self.util = _cliPkgRequires.util; return this.accept$1$1(visitor, type$.dynamic); }, unify$1(compound) { - var _0_4, t1, rest, unified, _this = this, _null = null, + var _0_40, t1, rest, unified, t2, _this = this, _null = null, _0_1 = compound.length, - _0_4_isSet = _0_1 >= 1; + _0_4_isSet = _0_1 >= 1, + _0_4 = _null; if (_0_4_isSet) { - _0_4 = compound[0]; - t1 = _0_4; + _0_40 = compound[0]; + t1 = _0_40; + _0_4 = t1; if (!(t1 instanceof A.UniversalSelector0)) t1 = _0_4 instanceof A.TypeSelector0; else @@ -114999,7 +122970,6 @@ self.util = _cliPkgRequires.util; rest = t1 ? B.JSArray_methods.sublist$1(compound, 1) : _null; } else { rest = _null; - _0_4 = rest; t1 = false; } if (t1) { @@ -115010,22 +122980,21 @@ self.util = _cliPkgRequires.util; B.JSArray_methods.addAll$1(t1, rest); return t1; } + t1 = false; if (_0_1 === 1) { if (_0_4_isSet) - t1 = _0_4; + t2 = _0_4; else { _0_4 = compound[0]; - t1 = _0_4; + t2 = _0_4; _0_4_isSet = true; } - if (t1 instanceof A.PseudoSelector0) { - t1 = _0_4_isSet ? _0_4 : compound[0]; - type$.PseudoSelector_2._as(t1); - t1 = t1.isClass && t1.name === "host" || t1.get$isHostContext(); - } else - t1 = false; - } else - t1 = false; + if (t2 instanceof A.PseudoSelector0) { + t2 = _0_4_isSet ? _0_4 : compound[0]; + type$.PseudoSelector_2._as(t2); + t1 = t2.isClass && t2.name === "host" || t2.get$isHostContext(); + } + } if (t1) return _null; if (_0_1 <= 0) @@ -115086,13 +123055,13 @@ self.util = _cliPkgRequires.util; call$1(key) { return B.JSString_methods.startsWith$1(key, this.$this._unprefixed_map_view0$_view._unprefixed_map_view0$_prefix); }, - $signature: 4 + $signature: 5 }; A._UnprefixedKeys_iterator_closure2.prototype = { call$1(key) { return B.JSString_methods.substring$1(key, this.$this._unprefixed_map_view0$_view._unprefixed_map_view0$_prefix.length); }, - $signature: 5 + $signature: 6 }; A.JSUrl0.prototype = {}; A.UseRule0.prototype = { @@ -115105,7 +123074,7 @@ self.util = _cliPkgRequires.util; } }, accept$1$1(visitor) { - return visitor.visitUseRule$1(this); + return visitor.visitUseRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -115124,8 +123093,6 @@ self.util = _cliPkgRequires.util; t1 = (t2.length !== 0 ? t1 + (" with (" + B.JSArray_methods.join$1(t2, ", ") + ")") : t1) + ";"; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } @@ -115141,60 +123108,60 @@ self.util = _cliPkgRequires.util; call$0() { return A._exactlyOne0(A._tryPath0($.$get$context().withoutExtension$1(this.path) + ".import" + this.extension)); }, - $signature: 44 + $signature: 46 }; A.resolveImportPath_closure2.prototype = { call$0() { return A._exactlyOne0(A._tryPathWithExtensions0(this.path + ".import")); }, - $signature: 44 + $signature: 46 }; A._tryPathAsDirectory_closure0.prototype = { call$0() { return A._exactlyOne0(A._tryPathWithExtensions0(A.join(this.path, "index.import", null))); }, - $signature: 44 + $signature: 46 }; A._exactlyOne_closure0.prototype = { call$1(path) { var t1 = $.$get$context(); return " " + t1.prettyUri$1(t1.toUri$1(path)); }, - $signature: 5 + $signature: 6 }; A._PropertyDescriptor0.prototype = {}; A.futureToPromise_closure0.prototype = { call$2(resolve, reject) { this.future.then$1$2$onError(0, new A.futureToPromise__closure0(resolve), new A.futureToPromise__closure1(reject), type$.void); }, - $signature: 575 + $signature: 615 }; A.futureToPromise__closure0.prototype = { call$1(result) { return this.resolve.call$1(result); }, - $signature: 34 + $signature: 33 }; A.futureToPromise__closure1.prototype = { call$2(error, stackTrace) { A.attachTrace0(error, stackTrace); this.reject.call$1(error); }, - $signature: 53 + $signature: 54 }; A.objectToMap_closure.prototype = { call$2(key, value) { this.map.$indexSet(0, key, value); return value; }, - $signature: 122 + $signature: 126 }; A._RequireMain0.prototype = {}; A.indent_closure0.prototype = { call$1(line) { return B.JSString_methods.$mul(" ", this.indentation) + line; }, - $signature: 5 + $signature: 6 }; A.flattenVertically_closure1.prototype = { call$1(inner) { @@ -115263,16 +123230,14 @@ self.util = _cliPkgRequires.util; }; A.ValueExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitValueExpression$1(this); + return visitor.visitValueExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); }, toString$0(_) { - return A.serializeValue0(this.value, true, true); + return this.value.toString$0(0); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } @@ -115289,43 +123254,43 @@ self.util = _cliPkgRequires.util; A.LinkedHashMap_LinkedHashMap$_literal(["sassIndexToListIndex", new A.valueClass__closure5(), "get", new A.valueClass__closure6(), "assertBoolean", new A.valueClass__closure7(), "assertCalculation", new A.valueClass__closure8(), "assertColor", new A.valueClass__closure9(), "assertFunction", new A.valueClass__closure10(), "assertMap", new A.valueClass__closure11(), "assertMixin", new A.valueClass__closure12(), "assertNumber", new A.valueClass__closure13(), "assertString", new A.valueClass__closure14(), "tryMap", new A.valueClass__closure15(), "equals", new A.valueClass__closure16(), "hashCode", new A.valueClass__closure17(), "toString", new A.valueClass__closure18()], t1, t2).forEach$1(0, A.JSClassExtension_get_defineMethod(jsClass)); return jsClass; }, - $signature: 13 + $signature: 16 }; A.valueClass__closure.prototype = { call$1($self) { return J.toString$0$($self); }, - $signature: 117 + $signature: 120 }; A.valueClass__closure0.prototype = { call$1($self) { return new self.immutable.List($self.get$asList()); }, - $signature: 576 + $signature: 616 }; A.valueClass__closure1.prototype = { call$1($self) { return $self.get$hasBrackets(); }, - $signature: 49 + $signature: 56 }; A.valueClass__closure2.prototype = { call$1($self) { return $self.get$isTruthy(); }, - $signature: 49 + $signature: 56 }; A.valueClass__closure3.prototype = { call$1($self) { return $self.get$realNull(); }, - $signature: 190 + $signature: 228 }; A.valueClass__closure4.prototype = { call$1($self) { return $self.get$separator($self).separator; }, - $signature: 577 + $signature: 617 }; A.valueClass__closure5.prototype = { call$3($self, sassIndex, $name) { @@ -115339,13 +123304,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 578 + $signature: 618 }; A.valueClass__closure6.prototype = { call$2($self, index) { return index < 1 && index >= -1 ? $self : self.undefined; }, - $signature: 244 + $signature: 240 }; A.valueClass__closure7.prototype = { call$2($self, $name) { @@ -115359,7 +123324,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 579 + $signature: 619 }; A.valueClass__closure8.prototype = { call$2($self, $name) { @@ -115373,7 +123338,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 580 + $signature: 620 }; A.valueClass__closure9.prototype = { call$2($self, $name) { @@ -115387,7 +123352,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 581 + $signature: 621 }; A.valueClass__closure10.prototype = { call$2($self, $name) { @@ -115401,7 +123366,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 582 + $signature: 622 }; A.valueClass__closure11.prototype = { call$2($self, $name) { @@ -115415,7 +123380,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 583 + $signature: 623 }; A.valueClass__closure12.prototype = { call$2($self, $name) { @@ -115429,7 +123394,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 584 + $signature: 624 }; A.valueClass__closure13.prototype = { call$2($self, $name) { @@ -115443,7 +123408,7 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 585 + $signature: 625 }; A.valueClass__closure14.prototype = { call$2($self, $name) { @@ -115457,19 +123422,19 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 586 + $signature: 626 }; A.valueClass__closure15.prototype = { call$1($self) { return $self.tryMap$0(); }, - $signature: 587 + $signature: 627 }; A.valueClass__closure16.prototype = { call$2($self, other) { return $self.$eq(0, other); }, - $signature: 588 + $signature: 628 }; A.valueClass__closure17.prototype = { call$2($self, _) { @@ -115483,13 +123448,13 @@ self.util = _cliPkgRequires.util; $defaultValues() { return [null]; }, - $signature: 589 + $signature: 629 }; A.valueClass__closure18.prototype = { call$1($self) { - return A.serializeValue0($self, true, true); + return $self.toString$0(0); }, - $signature: 138 + $signature: 209 }; A.Value0.prototype = { get$isTruthy() { @@ -115524,7 +123489,7 @@ self.util = _cliPkgRequires.util; indexValue = sassIndex.assertNumber$1($name); if (indexValue.get$hasUnits()) { t1 = indexValue.get$unitString(); - A.warnForDeprecation0("$" + A.S($name) + ": Passing a number with unit " + t1 + string$.x20is_de + indexValue.unitSuggestion$1($name == null ? "index" : $name) + string$.x0a_Morex3a, B.Deprecation_oCX); + A.warnForDeprecation0("$" + A.S($name) + ": Passing a number with unit " + t1 + string$.x20is_de + indexValue.unitSuggestion$1($name == null ? "index" : $name) + string$.x0a_Morex3af, B.Deprecation_jV0); } index = indexValue.assertInt$1($name); if (index === 0) @@ -115563,6 +123528,30 @@ self.util = _cliPkgRequires.util; assertString$1($name) { return A.throwExpression(A.SassScriptException$0(this.toString$0(0) + " is not a string.", $name)); }, + assertCommonListStyle$2$allowSlash($name, allowSlash) { + var invalidSeparator, buffer, t1, _this = this, + _s8_ = "Expected"; + if (_this.get$separator(_this) !== B.ListSeparator_ECn0) + invalidSeparator = !allowSlash && _this.get$separator(_this) === B.ListSeparator_cQA0; + else + invalidSeparator = true; + if (!invalidSeparator && !_this.get$hasBrackets()) + return _this.get$asList(); + buffer = new A.StringBuffer(_s8_); + if (_this.get$hasBrackets()) { + t1 = "Expected" + " an unbracketed"; + buffer._contents = t1; + } else + t1 = _s8_; + if (invalidSeparator) { + t1 += _this.get$hasBrackets() ? "," : " a"; + buffer._contents = t1; + t1 = buffer._contents = t1 + " space-"; + t1 = buffer._contents = (allowSlash ? buffer._contents = t1 + " or slash-" : t1) + "separated"; + } + buffer._contents = t1 + (" list, was " + _this.toString$0(0)); + throw A.wrapException(A.SassScriptException$0(buffer.toString$0(0), $name)); + }, _value$_selectorString$1($name) { var _0_0 = this._value$_selectorStringOrNull$0(); if (_0_0 != null) @@ -115676,7 +123665,7 @@ self.util = _cliPkgRequires.util; }; A.VariableExpression0.prototype = { accept$1$1(visitor) { - return visitor.visitVariableExpression$1(this); + return visitor.visitVariableExpression$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -115685,15 +123674,13 @@ self.util = _cliPkgRequires.util; var t1 = this.span; return A.String_String$fromCharCodes(B.NativeUint32List_methods.sublist$2(t1.file._decodedChars, t1._file$_start, t1._end), 0, null); }, - $isExpression0: 1, - $isAstNode0: 1, get$span(receiver) { return this.span; } }; A.VariableDeclaration0.prototype = { accept$1$1(visitor) { - return visitor.visitVariableDeclaration$1(this); + return visitor.visitVariableDeclaration$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -115704,15 +123691,13 @@ self.util = _cliPkgRequires.util; t1 += "$" + this.name + ": " + this.expression.toString$0(0) + ";"; return t1.charCodeAt(0) == 0 ? t1 : t1; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } }; A.WarnRule0.prototype = { accept$1$1(visitor) { - return visitor.visitWarnRule$1(this); + return visitor.visitWarnRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -115720,15 +123705,13 @@ self.util = _cliPkgRequires.util; toString$0(_) { return "@warn " + this.expression.toString$0(0) + ";"; }, - $isAstNode0: 1, - $isStatement0: 1, get$span(receiver) { return this.span; } }; A.WhileRule0.prototype = { accept$1$1(visitor) { - return visitor.visitWhileRule$1(this); + return visitor.visitWhileRule$1(0, this); }, accept$1(visitor) { return this.accept$1$1(visitor, type$.dynamic); @@ -115741,6 +123724,124 @@ self.util = _cliPkgRequires.util; return this.span; } }; + A.XyzD50ColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, x, y, z, alpha, missingA, missingB, missingChroma, missingHue, missingLightness) { + var f0, f1, f2, lightness, a, b, t1, _this = this, _null = null; + if (B.LabColorSpace_IF20 === dest || B.LchColorSpace_wv80 === dest) { + f0 = _this._xyz_d50$_convertComponentToLabF$1((x == null ? 0 : x) / 0.9642956764295677); + f1 = _this._xyz_d50$_convertComponentToLabF$1((y == null ? 0 : y) / 1); + f2 = _this._xyz_d50$_convertComponentToLabF$1((z == null ? 0 : z) / 0.8251046025104602); + lightness = missingLightness ? _null : 116 * f1 - 16; + a = 500 * (f0 - f1); + b = 200 * (f1 - f2); + if (dest === B.LabColorSpace_IF20) { + t1 = missingA ? _null : a; + t1 = A.SassColor$_forSpace0(B.LabColorSpace_IF20, lightness, t1, missingB ? _null : b, alpha, _null); + } else + t1 = A.labToLch0(B.LchColorSpace_wv80, lightness, a, b, alpha, missingChroma, missingHue); + return t1; + } + return _this.super$ColorSpace$convertLinear0(dest, x, y, z, alpha, missingA, missingB, missingChroma, missingHue, missingLightness); + }, + convert$5(dest, x, y, z, alpha) { + return this.convert$10$missingA$missingB$missingChroma$missingHue$missingLightness(dest, x, y, z, alpha, false, false, false, false, false); + }, + _xyz_d50$_convertComponentToLabF$1(component) { + return component > 0.008856451679035631 ? Math.pow(component, 0.3333333333333333) + 0 : (903.2962962962963 * component + 16) / 116; + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$xyzD50ToLinearSrgb0(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$xyzD50ToLinearA98Rgb0(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$xyzD50ToLinearProphotoRgb0(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$xyzD50ToLinearDisplayP30(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$xyzD50ToLinearRec20200(); + break $label0$0; + } + if (B.XyzD65ColorSpace_4CA0 === dest) { + t1 = $.$get$xyzD50ToXyzD650(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$xyzD50ToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; + A.XyzD65ColorSpace0.prototype = { + get$isBoundedInternal() { + return false; + }, + toLinear$1(channel) { + return channel; + }, + fromLinear$1(channel) { + return channel; + }, + transformationMatrix$1(dest) { + var t1; + $label0$0: { + if (B.SrgbLinearColorSpace_sEs0 === dest || B.SrgbColorSpace_AD40 === dest || B.RgbColorSpace_mlz0 === dest) { + t1 = $.$get$xyzD65ToLinearSrgb0(); + break $label0$0; + } + if (B.A98RgbColorSpace_bdu0 === dest) { + t1 = $.$get$xyzD65ToLinearA98Rgb0(); + break $label0$0; + } + if (B.ProphotoRgbColorSpace_KiG0 === dest) { + t1 = $.$get$xyzD65ToLinearProphotoRgb0(); + break $label0$0; + } + if (B.DisplayP3ColorSpace_NQk0 === dest) { + t1 = $.$get$xyzD65ToLinearDisplayP30(); + break $label0$0; + } + if (B.Rec2020ColorSpace_2jN0 === dest) { + t1 = $.$get$xyzD65ToLinearRec20200(); + break $label0$0; + } + if (B.XyzD50ColorSpace_2No0 === dest) { + t1 = $.$get$xyzD65ToXyzD500(); + break $label0$0; + } + if (B.LmsColorSpace_8I80 === dest) { + t1 = $.$get$xyzD65ToLms0(); + break $label0$0; + } + t1 = this.super$ColorSpace$transformationMatrix0(dest); + break $label0$0; + } + return t1; + } + }; (function aliases() { var _ = J.LegacyJavaScriptObject.prototype; _.super$LegacyJavaScriptObject$toString = _.toString$0; @@ -115773,6 +123874,11 @@ self.util = _cliPkgRequires.util; _.super$Value$plus = _.plus$1; _.super$Value$minus = _.minus$1; _.super$Value$dividedBy = _.dividedBy$1; + _.super$Value$toString = _.toString$0; + _ = A.ColorSpace.prototype; + _.super$ColorSpace$convert = _.convert$5; + _.super$ColorSpace$convertLinear = _.convertLinear$10$missingA$missingB$missingChroma$missingHue$missingLightness; + _.super$ColorSpace$transformationMatrix = _.transformationMatrix$1; _ = A.SassNumber.prototype; _.super$SassNumber$convertValueToMatch = _.convertValueToMatch$3; _.super$SassNumber$coerce = _.coerce$3; @@ -115836,6 +123942,10 @@ self.util = _cliPkgRequires.util; _.super$SimpleSelector$addSuffix0 = _.addSuffix$1; _.super$SimpleSelector$unify0 = _.unify$1; _.super$SimpleSelector$isSuperselector0 = _.isSuperselector$1; + _ = A.ColorSpace0.prototype; + _.super$ColorSpace$convert0 = _.convert$5; + _.super$ColorSpace$convertLinear0 = _.convertLinear$10$missingA$missingB$missingChroma$missingHue$missingLightness; + _.super$ColorSpace$transformationMatrix0 = _.transformationMatrix$1; _ = A.StylesheetParser0.prototype; _.super$StylesheetParser$importArgument0 = _.importArgument$0; _.super$StylesheetParser$namespacedExpression0 = _.namespacedExpression$2; @@ -115844,6 +123954,7 @@ self.util = _cliPkgRequires.util; _.super$Value$plus0 = _.plus$1; _.super$Value$minus0 = _.minus$1; _.super$Value$dividedBy0 = _.dividedBy$1; + _.super$Value$toString0 = _.toString$0; })(); (function installTearOffs() { var _static_2 = hunkHelpers._static_2, @@ -115856,7 +123967,7 @@ self.util = _cliPkgRequires.util; _instance_2_u = hunkHelpers._instance_2u, _instance_0_i = hunkHelpers._instance_0i, _instance_0_u = hunkHelpers._instance_0u; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 253); + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 264); _instance_1_i(J.JSArray.prototype, "get$contains", "contains$1", 9); _instance_1_i(A._CastIterableBase.prototype, "get$contains", "contains$1", 9); _instance_1_u(A.CastMap.prototype, "get$containsKey", "containsKey$1", 9); @@ -115864,261 +123975,275 @@ self.util = _cliPkgRequires.util; _instance_1_i(A.ConstantStringSet.prototype, "get$contains", "contains$1", 9); _instance_1_i(A.GeneralConstantSet.prototype, "get$contains", "contains$1", 9); _instance_1_u(A.JsLinkedHashMap.prototype, "get$containsKey", "containsKey$1", 9); - _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 133); - _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 133); - _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 133); + _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 118); + _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 118); + _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 118); _static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0); - _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 72); + _static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 70); _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 68); _static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 592, 0); + _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 632, 0); _static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { return A._rootRun($self, $parent, zone, f, type$.dynamic); - }], 593, 1); + }], 633, 1); _static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { var t1 = type$.dynamic; return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1); - }], 594, 1); + }], 634, 1); _static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { var t1 = type$.dynamic; return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, t1, t1, t1); - }], 595, 1); + }], 635, 1); _static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic); - }], 596, 0); + }], 636, 0); _static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { var t1 = type$.dynamic; return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1); - }], 597, 0); + }], 637, 0); _static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { var t1 = type$.dynamic; return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1); - }], 598, 0); - _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 599, 0); - _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 600, 0); - _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 601, 0); - _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 602, 0); - _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 603, 0); - _static_1(A, "async___printToZone$closure", "_printToZone", 92); - _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 604, 0); + }], 638, 0); + _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 639, 0); + _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 640, 0); + _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 641, 0); + _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 642, 0); + _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 643, 0); + _static_1(A, "async___printToZone$closure", "_printToZone", 84); + _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 644, 0); _instance(A._AsyncCompleter.prototype, "get$complete", 0, 0, function() { return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 259, 0, 0); + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 265, 0, 0); _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 68); var _; - _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 34); + _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 33); _instance(_, "get$addError", 0, 1, function() { return [null]; - }, ["call$2", "call$1"], ["addError$2", "addError$1"], 242, 0, 0); - _instance_0_i(_, "get$close", "close$0", 528); - _instance_1_u(_, "get$_async$_add", "_async$_add$1", 34); + }, ["call$2", "call$1"], ["addError$2", "addError$1"], 176, 0, 0); + _instance_0_i(_, "get$close", "close$0", 447); + _instance_1_u(_, "get$_async$_add", "_async$_add$1", 33); _instance_2_u(_, "get$_addError", "_addError$2", 68); _instance_0_u(_, "get$_close", "_close$0", 0); _instance_0_u(_ = A._ControllerSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 0); _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 0); - _instance(_ = A._BufferingStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 518, 0, 0); + _instance(_ = A._BufferingStreamSubscription.prototype, "get$pause", 1, 0, null, ["call$1", "call$0"], ["pause$1", "pause$0"], 471, 0, 0); _instance_0_i(_, "get$resume", "resume$0", 0); _instance_0_u(_, "get$_async$_onPause", "_async$_onPause$0", 0); _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 0); - _instance_1_u(_ = A._StreamIterator.prototype, "get$_onData", "_onData$1", 34); + _instance_1_u(_ = A._StreamIterator.prototype, "get$_onData", "_onData$1", 33); _instance_2_u(_, "get$_onError", "_onError$2", 68); _instance_0_u(_, "get$_onDone", "_onDone$0", 0); _instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_async$_onPause", "_async$_onPause$0", 0); _instance_0_u(_, "get$_async$_onResume", "_async$_onResume$0", 0); - _instance_1_u(_, "get$_handleData", "_handleData$1", 34); - _instance_2_u(_, "get$_handleError", "_handleError$2", 517); + _instance_1_u(_, "get$_handleData", "_handleData$1", 33); + _instance_2_u(_, "get$_handleError", "_handleError$2", 510); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); - _static_2(A, "collection___defaultEquals$closure", "_defaultEquals", 235); - _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 231); - _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 253); + _static_2(A, "collection___defaultEquals$closure", "_defaultEquals", 266); + _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 267); + _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 264); _instance_1_u(A._HashMap.prototype, "get$containsKey", "containsKey$1", 9); _instance_1_u(A._LinkedCustomHashMap.prototype, "get$containsKey", "containsKey$1", 9); - _instance(_ = A._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 158, 0, 0); + _instance(_ = A._LinkedHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 186, 0, 0); _instance_1_i(_, "get$contains", "contains$1", 9); _instance_1_i(_, "get$add", "add$1", 9); - _instance(A._LinkedIdentityHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 158, 0, 0); + _instance(A._LinkedIdentityHashSet.prototype, "get$_newSimilarSet", 0, 0, null, ["call$1$0", "call$0"], ["_newSimilarSet$1$0", "_newSimilarSet$0"], 186, 0, 0); _instance_1_u(A.MapBase.prototype, "get$containsKey", "containsKey$1", 9); _instance_1_u(A.MapView.prototype, "get$containsKey", "containsKey$1", 9); _instance_1_i(A.UnmodifiableSetView.prototype, "get$contains", "contains$1", 9); - _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 105); + _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 110); _instance_1_u(A._JsonMap.prototype, "get$containsKey", "containsKey$1", 9); - _static_1(A, "core__identityHashCode$closure", "identityHashCode", 231); - _static_2(A, "core__identical$closure", "identical", 235); - _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 5); + _static_1(A, "core__identityHashCode$closure", "identityHashCode", 267); + _static_2(A, "core__identical$closure", "identical", 266); + _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 6); _instance_1_i(A.Iterable.prototype, "get$contains", "contains$1", 9); - _instance_1_i(A.StringBuffer.prototype, "get$write", "write$1", 34); + _instance_1_i(A.StringBuffer.prototype, "get$write", "write$1", 33); _static(A, "math0__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) { return A.max(a, b, type$.num); - }], 607, 1); - _instance_1_u(A.ArgResults.prototype, "get$wasParsed", "wasParsed$1", 4); - _instance_1_u(_ = A.StreamCompleter.prototype, "get$setSourceStream", "setSourceStream$1", 34); + }], 647, 1); + _instance_1_u(A.ArgResults.prototype, "get$wasParsed", "wasParsed$1", 5); + _instance_1_u(_ = A.StreamCompleter.prototype, "get$setSourceStream", "setSourceStream$1", 33); _instance(_, "get$setError", 0, 1, function() { return [null]; - }, ["call$2", "call$1"], ["setError$2", "setError$1"], 242, 0, 0); + }, ["call$2", "call$1"], ["setError$2", "setError$1"], 176, 0, 0); _instance_0_u(_ = A.StreamGroup.prototype, "get$_onListen", "_onListen$0", 0); _instance_0_u(_, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); - _instance_0_u(_, "get$_onCancel", "_onCancel$0", 191); + _instance_0_u(_, "get$_onCancel", "_onCancel$0", 190); _instance_0_i(A.ReplAdapter.prototype, "get$exit", "exit$0", 0); _instance_1_i(A.EmptyUnmodifiableSet.prototype, "get$contains", "contains$1", 9); _instance_1_i(A.UnionSet.prototype, "get$contains", "contains$1", 9); _instance_1_i(A._DelegatingIterableBase.prototype, "get$contains", "contains$1", 9); _instance_1_i(A.MapKeySet.prototype, "get$contains", "contains$1", 9); - _static_1(A, "version_Version___parse_tearOff$closure", "Version___parse_tearOff", 199); - _instance_1_u(A.VersionRange.prototype, "get$allows", "allows$1", 529); - _instance_1_u(A._IsInvisibleVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16); - _instance_1_u(A._IsBogusVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16); - _instance_1_u(A._IsUselessVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16); - _instance_1_u(A.SelectorList.prototype, "get$isSuperselector", "isSuperselector$1", 74); - _instance_1_u(A.PseudoSelector.prototype, "get$isSuperselector", "isSuperselector$1", 14); - _instance_1_u(A.SimpleSelector.prototype, "get$isSuperselector", "isSuperselector$1", 14); - _instance_1_u(A.TypeSelector.prototype, "get$isSuperselector", "isSuperselector$1", 14); - _instance_1_u(A.UniversalSelector.prototype, "get$isSuperselector", "isSuperselector$1", 14); - _instance_1_u(A.EmptyExtensionStore.prototype, "get$addExtensions", "addExtensions$1", 225); - _instance_1_u(A.ExtensionStore.prototype, "get$addExtensions", "addExtensions$1", 225); - _static_1(A, "functions___isUnique$closure", "_isUnique", 14); - _static_1(A, "color0___opacify$closure", "_opacify", 29); - _static_1(A, "color0___transparentize$closure", "_transparentize", 29); - _instance_2_u(A.NodePackageImporter.prototype, "get$_compareExpansionKeys", "_compareExpansionKeys$2", 143); + _static_1(A, "version_Version___parse_tearOff$closure", "Version___parse_tearOff", 219); + _instance_1_u(A.VersionRange.prototype, "get$allows", "allows$1", 326); + _instance_1_u(A._IsInvisibleVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 19); + _instance_1_u(A._IsBogusVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 19); + _instance_1_u(A._IsUselessVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 19); + _instance_1_u(A.SelectorList.prototype, "get$isSuperselector", "isSuperselector$1", 69); + _instance_1_u(A.PseudoSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13); + _instance_1_u(A.SimpleSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13); + _instance_1_u(A.TypeSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13); + _instance_1_u(A.UniversalSelector.prototype, "get$isSuperselector", "isSuperselector$1", 13); + _instance_1_u(A.EmptyExtensionStore.prototype, "get$addExtensions", "addExtensions$1", 156); + _instance_1_u(A.ExtensionStore.prototype, "get$addExtensions", "addExtensions$1", 156); + _static_1(A, "functions___isUnique$closure", "_isUnique", 13); + _instance_2_u(A.NodePackageImporter.prototype, "get$_compareExpansionKeys", "_compareExpansionKeys$2", 141); + _instance_0_u(A.CssParser.prototype, "get$silentComment", "silentComment$0", 24); _instance_0_u(_ = A.Parser.prototype, "get$whitespace", "whitespace$0", 0); + _instance_0_u(_, "get$silentComment", "silentComment$0", 24); _instance_0_u(_, "get$loudComment", "loudComment$0", 0); - _instance_0_u(_, "get$string", "string$0", 25); + _instance_0_u(_, "get$string", "string$0", 31); _instance(_, "get$error", 1, 2, function() { return [null]; - }, ["call$3", "call$2"], ["error$3", "error$2"], 152, 0, 0); + }, ["call$3", "call$2"], ["error$3", "error$2"], 170, 0, 0); _instance_0_u(A.SassParser.prototype, "get$loudComment", "loudComment$0", 0); - _instance(_ = A.StylesheetParser.prototype, "get$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_statement$1$root", "_statement$0"], 485, 0, 0); - _instance_0_u(_, "get$_declarationChild", "_declarationChild$0", 124); - _instance_0_u(_, "get$_functionChild", "_functionChild$0", 124); - _instance(_, "get$_expression", 0, 0, null, ["call$3$bracketList$singleEquals$until", "call$0", "call$2$singleEquals$until", "call$1$bracketList", "call$1$until"], ["_expression$3$bracketList$singleEquals$until", "_expression$0", "_expression$2$singleEquals$until", "_expression$1$bracketList", "_expression$1$until"], 483, 0, 0); + _instance(_ = A.StylesheetParser.prototype, "get$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_statement$1$root", "_statement$0"], 349, 0, 0); + _instance_0_u(_, "get$_declarationChild", "_declarationChild$0", 125); + _instance_0_u(_, "get$_functionChild", "_functionChild$0", 125); + _instance(_, "get$_expression", 0, 0, null, ["call$3$bracketList$singleEquals$until", "call$0", "call$2$singleEquals$until", "call$1$bracketList", "call$1$until"], ["_expression$3$bracketList$singleEquals$until", "_expression$0", "_expression$2$singleEquals$until", "_expression$1$bracketList", "_expression$1$until"], 352, 0, 0); + _instance_0_u(_, "get$_number", "_number$0", 353); _instance(A.LazyFileSpan.prototype, "get$message", 1, 1, function() { return {color: null}; - }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 121, 0, 0); + }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 123, 0, 0); _instance_1_u(A.LimitedMapView.prototype, "get$containsKey", "containsKey$1", 9); _instance_1_u(A.MergedMapView.prototype, "get$containsKey", "containsKey$1", 9); _instance(A.MultiSpan.prototype, "get$message", 1, 1, function() { return {color: null}; - }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 159, 0, 0); - _instance_1_i(A.NoSourceMapBuffer.prototype, "get$write", "write$1", 34); + }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 181, 0, 0); + _instance_1_i(A.NoSourceMapBuffer.prototype, "get$write", "write$1", 33); _instance_1_u(A.PrefixedMapView.prototype, "get$containsKey", "containsKey$1", 9); _instance_1_u(A.PublicMemberMapView.prototype, "get$containsKey", "containsKey$1", 9); - _instance_1_i(A.SourceMapBuffer.prototype, "get$write", "write$1", 34); + _instance_1_i(A.SourceMapBuffer.prototype, "get$write", "write$1", 33); _instance_1_u(A.UnprefixedMapView.prototype, "get$containsKey", "containsKey$1", 9); - _static_1(A, "utils__isPublic$closure", "isPublic", 4); - _static_1(A, "calculation_SassCalculation__simplify$closure", "SassCalculation__simplify", 64); - _instance_1_u(A.AnySelectorVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 16); - _instance(_ = A._EvaluateVisitor0.prototype, "get$_async_evaluate$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_async_evaluate$_interpolationToValue$3$trim$warnForColor", "_async_evaluate$_interpolationToValue$1", "_async_evaluate$_interpolationToValue$2$warnForColor"], 631, 0, 0); - _instance_1_u(_, "get$_async_evaluate$_expressionNode", "_async_evaluate$_expressionNode$1", 164); - _instance(_ = A._EvaluateVisitor.prototype, "get$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_interpolationToValue$3$trim$warnForColor", "_interpolationToValue$1", "_interpolationToValue$2$warnForColor"], 309, 0, 0); - _instance_1_u(_, "get$_expressionNode", "_expressionNode$1", 164); - _instance_1_u(_ = A.RecursiveStatementVisitor.prototype, "get$visitContentBlock", "visitContentBlock$1", 267); - _instance_1_u(_, "get$visitChildren", "visitChildren$1", 268); + _static_1(A, "utils__isPublic$closure", "isPublic", 5); + _static_1(A, "calculation_SassCalculation__simplify$closure", "SassCalculation__simplify", 79); + _instance_1_u(A.ColorChannel.prototype, "get$isAnalogous", "isAnalogous$1", 90); + _instance_1_u(A.SrgbColorSpace.prototype, "get$toLinear", "toLinear$1", 15); + _instance_1_u(A.AnySelectorVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 19); + _instance(_ = A._EvaluateVisitor0.prototype, "get$_async_evaluate$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_async_evaluate$_interpolationToValue$3$trim$warnForColor", "_async_evaluate$_interpolationToValue$1", "_async_evaluate$_interpolationToValue$2$warnForColor"], 425, 0, 0); + _instance_1_u(_, "get$_async_evaluate$_expressionNode", "_async_evaluate$_expressionNode$1", 188); + _instance(_ = A._EvaluateVisitor.prototype, "get$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_interpolationToValue$3$trim$warnForColor", "_interpolationToValue$1", "_interpolationToValue$2$warnForColor"], 582, 0, 0); + _instance_1_u(_, "get$_expressionNode", "_expressionNode$1", 188); + _instance_1_i(_ = A.RecursiveStatementVisitor.prototype, "get$visitContentBlock", "visitContentBlock$1", 275); + _instance_1_u(_, "get$visitChildren", "visitChildren$1", 276); _instance_1_u(_ = A.SelectorSearchVisitor.prototype, "get$visitComplexSelector", "visitComplexSelector$1", "SelectorSearchVisitor.T?(ComplexSelector)"); _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", "SelectorSearchVisitor.T?(SelectorList)"); - _instance_1_u(_ = A._SerializeVisitor.prototype, "get$_visitMediaQuery", "_visitMediaQuery$1", 271); - _instance_1_u(_, "get$_writeCalculationValue", "_writeCalculationValue$1", 82); - _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", 272); + _instance_1_u(_ = A._SerializeVisitor.prototype, "get$_visitMediaQuery", "_visitMediaQuery$1", 279); + _instance_1_u(_, "get$_specificities", "_specificities$1", 280); + _instance_1_u(_, "get$_writeCalculationValue", "_writeCalculationValue$1", 88); + _instance(_, "get$_writeChannel", 0, 1, null, ["call$2", "call$1"], ["_writeChannel$2", "_writeChannel$1"], 149, 0, 0); + _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", 282); _instance_1_u(_, "get$_requiresSemicolon", "_requiresSemicolon$1", 7); - _instance_1_u(_ = A.StatementSearchVisitor.prototype, "get$visitContentBlock", "visitContentBlock$1", "StatementSearchVisitor.T?(ContentBlock)"); + _instance_1_i(_ = A.StatementSearchVisitor.prototype, "get$visitContentBlock", "visitContentBlock$1", "StatementSearchVisitor.T?(ContentBlock)"); _instance_1_u(_, "get$visitChildren", "visitChildren$1", "StatementSearchVisitor.T?(List)"); _instance(A.SourceSpanMixin.prototype, "get$message", 1, 1, function() { return {color: null}; - }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 121, 0, 0); - _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 84); - _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 84); - _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 84); - _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 84); - _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 207); - _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 207); + }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 123, 0, 0); + _static_1(A, "frame_Frame___parseVM_tearOff$closure", "Frame___parseVM_tearOff", 92); + _static_1(A, "frame_Frame___parseV8_tearOff$closure", "Frame___parseV8_tearOff", 92); + _static_1(A, "frame_Frame___parseFirefox_tearOff$closure", "Frame___parseFirefox_tearOff", 92); + _static_1(A, "frame_Frame___parseFriendly_tearOff$closure", "Frame___parseFriendly_tearOff", 92); + _static_1(A, "trace_Trace___parseVM_tearOff$closure", "Trace___parseVM_tearOff", 269); + _static_1(A, "trace_Trace___parseFriendly_tearOff$closure", "Trace___parseFriendly_tearOff", 269); _static(A, "from_handlers__TransformByHandlers__defaultHandleError$closure", 3, null, ["call$1$3", "call$3"], ["TransformByHandlers__defaultHandleError", function(error, stackTrace, sink) { return A.TransformByHandlers__defaultHandleError(error, stackTrace, sink, type$.dynamic); - }], 610, 0); + }], 650, 0); _static(A, "rate_limit___collect$closure", 2, null, ["call$1$2", "call$2"], ["_collect", function($event, soFar) { return A._collect($event, soFar, type$.dynamic); - }], 611, 0); - _instance_1_u(A.AnySelectorVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18); - _instance(_ = A._EvaluateVisitor2.prototype, "get$_async_evaluate0$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_async_evaluate0$_interpolationToValue$3$trim$warnForColor", "_async_evaluate0$_interpolationToValue$1", "_async_evaluate0$_interpolationToValue$2$warnForColor"], 311, 0, 0); - _instance_1_u(_, "get$_async_evaluate0$_expressionNode", "_async_evaluate0$_expressionNode$1", 248); - _static_1(A, "calculation1___assertCalculationValue$closure", "_assertCalculationValue", 82); + }], 651, 0); + _instance_1_u(A.AnySelectorVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 20); + _instance(_ = A._EvaluateVisitor2.prototype, "get$_async_evaluate0$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_async_evaluate0$_interpolationToValue$3$trim$warnForColor", "_async_evaluate0$_interpolationToValue$1", "_async_evaluate0$_interpolationToValue$2$warnForColor"], 322, 0, 0); + _instance_1_u(_, "get$_async_evaluate0$_expressionNode", "_async_evaluate0$_expressionNode$1", 166); + _static_1(A, "calculation1___assertCalculationValue$closure", "_assertCalculationValue", 88); _static_1(A, "calculation1___isValidClampArg$closure", "_isValidClampArg", 9); - _static_1(A, "calculation0_SassCalculation__simplify$closure", "SassCalculation__simplify0", 64); - _static_1(A, "color2___opacify$closure", "_opacify0", 27); - _static_1(A, "color2___transparentize$closure", "_transparentize0", 27); + _static_1(A, "calculation0_SassCalculation__simplify$closure", "SassCalculation__simplify0", 79); + _instance_1_u(A.ColorChannel0.prototype, "get$isAnalogous", "isAnalogous$1", 71); _static(A, "compile__compile$closure", 1, function() { return [null]; }, ["call$2", "call$1"], ["compile0", function(path) { return A.compile0(path, null); - }], 612, 0); + }], 652, 0); _static(A, "compile__compileString$closure", 1, function() { return [null]; }, ["call$2", "call$1"], ["compileString0", function(text) { return A.compileString0(text, null); - }], 613, 0); + }], 653, 0); _static(A, "compile__compileAsync$closure", 1, function() { return [null]; }, ["call$2", "call$1"], ["compileAsync1", function(path) { return A.compileAsync1(path, null); - }], 614, 0); + }], 654, 0); _static(A, "compile__compileStringAsync$closure", 1, function() { return [null]; }, ["call$2", "call$1"], ["compileStringAsync1", function(text) { return A.compileStringAsync1(text, null); - }], 615, 0); - _static_1(A, "compile___parseImporter$closure", "_parseImporter0", 616); - _static_1(A, "compile___simplifyCalcArg$closure", "_simplifyCalcArg", 64); - _static_0(A, "compiler__initCompiler$closure", "initCompiler", 617); - _static_0(A, "compiler__initAsyncCompiler$closure", "initAsyncCompiler", 618); - _instance_1_u(A.EmptyExtensionStore0.prototype, "get$addExtensions", "addExtensions$1", 198); - _instance(_ = A._EvaluateVisitor1.prototype, "get$_evaluate0$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_evaluate0$_interpolationToValue$3$trim$warnForColor", "_evaluate0$_interpolationToValue$1", "_evaluate0$_interpolationToValue$2$warnForColor"], 425, 0, 0); - _instance_1_u(_, "get$_evaluate0$_expressionNode", "_evaluate0$_expressionNode$1", 248); - _instance_1_u(A.ExtensionStore0.prototype, "get$addExtensions", "addExtensions$1", 198); - _static_1(A, "functions0___isUnique$closure", "_isUnique0", 15); - _static_1(A, "immutable__jsToDartList$closure", "jsToDartList", 619); + }], 655, 0); + _static_1(A, "compile___parseImporter$closure", "_parseImporter0", 656); + _static_1(A, "compile___simplifyCalcArg$closure", "_simplifyCalcArg", 79); + _static_0(A, "compiler__initCompiler$closure", "initCompiler", 657); + _static_0(A, "compiler__initAsyncCompiler$closure", "initAsyncCompiler", 658); + _instance_0_u(A.CssParser0.prototype, "get$silentComment", "silentComment$0", 24); + _instance_1_u(A.EmptyExtensionStore0.prototype, "get$addExtensions", "addExtensions$1", 220); + _instance(_ = A._EvaluateVisitor1.prototype, "get$_evaluate0$_interpolationToValue", 0, 1, null, ["call$3$trim$warnForColor", "call$1", "call$2$warnForColor"], ["_evaluate0$_interpolationToValue$3$trim$warnForColor", "_evaluate0$_interpolationToValue$1", "_evaluate0$_interpolationToValue$2$warnForColor"], 452, 0, 0); + _instance_1_u(_, "get$_evaluate0$_expressionNode", "_evaluate0$_expressionNode$1", 166); + _instance_1_u(A.ExtensionStore0.prototype, "get$addExtensions", "addExtensions$1", 220); + _static_1(A, "functions0___isUnique$closure", "_isUnique0", 14); + _static_1(A, "immutable__jsToDartList$closure", "jsToDartList", 659); _instance(A.LazyFileSpan0.prototype, "get$message", 1, 1, function() { return {color: null}; - }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 121, 0, 0); - _static_2(A, "legacy__render$closure", "render", 620); - _static_1(A, "legacy__renderSync$closure", "renderSync", 621); + }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 123, 0, 0); + _static_2(A, "legacy__render$closure", "render", 660); + _static_1(A, "legacy__renderSync$closure", "renderSync", 661); _instance_1_u(A.LimitedMapView0.prototype, "get$containsKey", "containsKey$1", 9); - _instance_1_u(A.SelectorList0.prototype, "get$isSuperselector", "isSuperselector$1", 70); + _instance_1_u(A.SelectorList0.prototype, "get$isSuperselector", "isSuperselector$1", 73); _instance_1_u(A.MergedMapView0.prototype, "get$containsKey", "containsKey$1", 9); _instance(A.MultiSpan0.prototype, "get$message", 1, 1, function() { return {color: null}; - }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 159, 0, 0); - _instance_1_i(A.NoSourceMapBuffer0.prototype, "get$write", "write$1", 34); - _instance_2_u(A.NodePackageImporter0.prototype, "get$_node_package$_compareExpansionKeys", "_node_package$_compareExpansionKeys$2", 143); + }, ["call$2$color", "call$1"], ["message$2$color", "message$1"], 181, 0, 0); + _instance_1_i(A.NoSourceMapBuffer0.prototype, "get$write", "write$1", 33); + _instance_2_u(A.NodePackageImporter0.prototype, "get$_node_package$_compareExpansionKeys", "_node_package$_compareExpansionKeys$2", 141); + _static_0(A, "parser0__loadParserExports$closure", "loadParserExports", 662); + _static(A, "parser0___parse$closure", 3, null, ["call$3"], ["_parse"], 663, 0); + _static_1(A, "parser0___parseIdentifier$closure", "_parseIdentifier", 664); + _static_1(A, "parser0___toCssIdentifier$closure", "_toCssIdentifier", 6); _instance_0_u(_ = A.Parser1.prototype, "get$whitespace", "whitespace$0", 0); + _instance_0_u(_, "get$silentComment", "silentComment$0", 24); _instance_0_u(_, "get$loudComment", "loudComment$0", 0); - _instance_0_u(_, "get$string", "string$0", 25); + _instance_0_u(_, "get$string", "string$0", 31); _instance(_, "get$error", 1, 2, function() { return [null]; - }, ["call$3", "call$2"], ["error$3", "error$2"], 152, 0, 0); + }, ["call$3", "call$2"], ["error$3", "error$2"], 170, 0, 0); _instance_1_u(A.PrefixedMapView0.prototype, "get$containsKey", "containsKey$1", 9); - _instance_1_u(A.PseudoSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 15); + _instance_1_u(A.PseudoSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14); _instance_1_u(A.PublicMemberMapView0.prototype, "get$containsKey", "containsKey$1", 9); _instance_0_u(A.SassParser0.prototype, "get$loudComment", "loudComment$0", 0); - _instance_1_u(A._IsInvisibleVisitor2.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18); - _instance_1_u(A._IsBogusVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18); - _instance_1_u(A._IsUselessVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 18); + _instance_1_u(A._IsInvisibleVisitor2.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 20); + _instance_1_u(A._IsBogusVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 20); + _instance_1_u(A._IsUselessVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", 20); _instance_1_u(_ = A.SelectorSearchVisitor0.prototype, "get$visitComplexSelector", "visitComplexSelector$1", "SelectorSearchVisitor0.T?(ComplexSelector0)"); _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", "SelectorSearchVisitor0.T?(SelectorList0)"); - _instance_1_u(_ = A._SerializeVisitor0.prototype, "get$_serialize0$_visitMediaQuery", "_serialize0$_visitMediaQuery$1", 534); - _instance_1_u(_, "get$_serialize0$_writeCalculationValue", "_serialize0$_writeCalculationValue$1", 82); - _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", 535); + _instance_1_u(_ = A._SerializeVisitor0.prototype, "get$_serialize0$_visitMediaQuery", "_serialize0$_visitMediaQuery$1", 570); + _instance_1_u(_, "get$_serialize0$_specificities", "_serialize0$_specificities$1", 571); + _instance_1_u(_, "get$_serialize0$_writeCalculationValue", "_serialize0$_writeCalculationValue$1", 88); + _instance(_, "get$_serialize0$_writeChannel", 0, 1, null, ["call$2", "call$1"], ["_serialize0$_writeChannel$2", "_serialize0$_writeChannel$1"], 149, 0, 0); + _instance_1_u(_, "get$visitSelectorList", "visitSelectorList$1", 572); _instance_1_u(_, "get$_serialize0$_requiresSemicolon", "_serialize0$_requiresSemicolon$1", 8); - _instance_1_u(A.SimpleSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 15); - _instance_1_i(A.SourceMapBuffer0.prototype, "get$write", "write$1", 34); - _instance_1_u(_ = A.StatementSearchVisitor0.prototype, "get$visitContentBlock", "visitContentBlock$1", "StatementSearchVisitor0.T?(ContentBlock0)"); + _instance_1_u(A.SimpleSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14); + _instance_1_i(A.SourceMapBuffer0.prototype, "get$write", "write$1", 33); + _instance_1_u(A.SrgbColorSpace0.prototype, "get$toLinear", "toLinear$1", 15); + _instance_1_i(_ = A.StatementSearchVisitor0.prototype, "get$visitContentBlock", "visitContentBlock$1", "StatementSearchVisitor0.T?(ContentBlock0)"); _instance_1_u(_, "get$visitChildren", "visitChildren$1", "StatementSearchVisitor0.T?(List)"); - _instance(_ = A.StylesheetParser0.prototype, "get$_stylesheet0$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_stylesheet0$_statement$1$root", "_stylesheet0$_statement$0"], 552, 0, 0); - _instance_0_u(_, "get$_stylesheet0$_declarationChild", "_stylesheet0$_declarationChild$0", 132); - _instance_0_u(_, "get$_stylesheet0$_functionChild", "_stylesheet0$_functionChild$0", 132); - _instance_1_u(A.TypeSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 15); - _instance_1_u(A.UniversalSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 15); + _instance(_ = A.StylesheetParser0.prototype, "get$_stylesheet0$_statement", 0, 0, null, ["call$1$root", "call$0"], ["_stylesheet0$_statement$1$root", "_stylesheet0$_statement$0"], 591, 0, 0); + _instance_0_u(_, "get$_stylesheet0$_declarationChild", "_stylesheet0$_declarationChild$0", 136); + _instance_0_u(_, "get$_stylesheet0$_functionChild", "_stylesheet0$_functionChild$0", 136); + _instance_0_u(_, "get$_stylesheet0$_number", "_stylesheet0$_number$0", 593); + _instance_1_u(A.TypeSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14); + _instance_1_u(A.UniversalSelector0.prototype, "get$isSuperselector", "isSuperselector$1", 14); _instance_1_u(A.UnprefixedMapView0.prototype, "get$containsKey", "containsKey$1", 9); - _static_1(A, "utils1__jsToDartUrl$closure", "jsToDartUrl", 622); - _static_1(A, "utils1__dartToJSUrl$closure", "dartToJSUrl", 623); - _static_1(A, "utils0__isPublic$closure", "isPublic0", 4); + _static_1(A, "utils3__jsToDartUrl$closure", "jsToDartUrl", 665); + _static_1(A, "utils3__dartToJSUrl$closure", "dartToJSUrl", 257); + _static_1(A, "utils1__isPublic$closure", "isPublic0", 5); _static(A, "path__absolute$closure", 1, function() { return [null, null, null, null, null, null, null, null, null, null, null, null, null, null]; }, ["call$15", "call$1", "call$2", "call$3", "call$4", "call$5", "call$6"], ["absolute", function(part1) { @@ -116139,60 +124264,62 @@ self.util = _cliPkgRequires.util; }, function(part1, part2, part3, part4, part5, part6) { var _null = null; return A.absolute(part1, part2, part3, part4, part5, part6, _null, _null, _null, _null, _null, _null, _null, _null, _null); - }], 624, 0); - _static_1(A, "path__prettyUri$closure", "prettyUri", 625); - _static_2(A, "number0__fuzzyLessThan$closure", "fuzzyLessThan", 47); - _static_2(A, "number0__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals", 47); - _static_2(A, "number0__fuzzyGreaterThan$closure", "fuzzyGreaterThan", 47); - _static_2(A, "number0__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals", 47); - _static_2(A, "number0__moduloLikeSass$closure", "moduloLikeSass", 55); - _static_1(A, "number0__sqrt$closure", "sqrt", 52); - _static_1(A, "number0__sin$closure", "sin", 52); - _static_1(A, "number0__cos$closure", "cos", 52); - _static_1(A, "number0__tan$closure", "tan", 52); - _static_1(A, "number0__atan$closure", "atan", 52); - _static_1(A, "number0__asin$closure", "asin", 52); - _static_1(A, "number0__acos$closure", "acos", 52); - _static_2(A, "number2__fuzzyLessThan$closure", "fuzzyLessThan0", 47); - _static_2(A, "number2__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals0", 47); - _static_2(A, "number2__fuzzyGreaterThan$closure", "fuzzyGreaterThan0", 47); - _static_2(A, "number2__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals0", 47); - _static_1(A, "number2__fuzzyRound$closure", "fuzzyRound0", 628); - _static_2(A, "number2__moduloLikeSass$closure", "moduloLikeSass0", 55); - _static_1(A, "number2__sqrt$closure", "sqrt0", 48); - _static_1(A, "number2__sin$closure", "sin0", 48); - _static_1(A, "number2__cos$closure", "cos0", 48); - _static_1(A, "number2__tan$closure", "tan0", 48); - _static_1(A, "number2__atan$closure", "atan0", 48); - _static_1(A, "number2__asin$closure", "asin0", 48); - _static_1(A, "number2__acos$closure", "acos0", 48); - _static_1(A, "sass__main$closure", "main1", 466); - _static_1(A, "utils2__validateUrlScheme$closure", "validateUrlScheme", 92); - _static_1(A, "value0__wrapValue$closure", "wrapValue", 420); + }], 666, 0); + _static_1(A, "path__toUri$closure", "toUri", 128); + _static_1(A, "path__prettyUri$closure", "prettyUri", 667); + _static_2(A, "number0__fuzzyLessThan$closure", "fuzzyLessThan", 45); + _static_2(A, "number0__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals", 45); + _static_2(A, "number0__fuzzyGreaterThan$closure", "fuzzyGreaterThan", 45); + _static_2(A, "number0__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals", 45); + _static_2(A, "number0__moduloLikeSass$closure", "moduloLikeSass", 62); + _static_1(A, "number0__sqrt$closure", "sqrt", 51); + _static_1(A, "number0__sin$closure", "sin", 51); + _static_1(A, "number0__cos$closure", "cos", 51); + _static_1(A, "number0__tan$closure", "tan", 51); + _static_1(A, "number0__atan$closure", "atan", 51); + _static_1(A, "number0__asin$closure", "asin", 51); + _static_1(A, "number0__acos$closure", "acos", 51); + _static_1(A, "utils0__srgbAndDisplayP3FromLinear$closure", "srgbAndDisplayP3FromLinear", 15); + _static_2(A, "number2__fuzzyLessThan$closure", "fuzzyLessThan0", 45); + _static_2(A, "number2__fuzzyLessThanOrEquals$closure", "fuzzyLessThanOrEquals0", 45); + _static_2(A, "number2__fuzzyGreaterThan$closure", "fuzzyGreaterThan0", 45); + _static_2(A, "number2__fuzzyGreaterThanOrEquals$closure", "fuzzyGreaterThanOrEquals0", 45); + _static_2(A, "number2__moduloLikeSass$closure", "moduloLikeSass0", 62); + _static_1(A, "number2__sqrt$closure", "sqrt0", 52); + _static_1(A, "number2__sin$closure", "sin0", 52); + _static_1(A, "number2__cos$closure", "cos0", 52); + _static_1(A, "number2__tan$closure", "tan0", 52); + _static_1(A, "number2__atan$closure", "atan0", 52); + _static_1(A, "number2__asin$closure", "asin0", 52); + _static_1(A, "number2__acos$closure", "acos0", 52); + _static_1(A, "sass__main$closure", "main1", 671); + _static_1(A, "utils4__validateUrlScheme$closure", "validateUrlScheme", 84); + _static_1(A, "utils2__srgbAndDisplayP3FromLinear$closure", "srgbAndDisplayP3FromLinear0", 15); + _static_1(A, "value0__wrapValue$closure", "wrapValue", 448); })(); (function inheritance() { var _mixin = hunkHelpers.mixin, _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(A.Object, null); - _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.FollowedByIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A._Record, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.SetBase, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._SyncStarIterator, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._AddStreamState, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._MapBaseValueIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._UnmodifiableSetMixin, A.Codec, A.Converter, A._Base64Encoder, A.ByteConversionSink, A._JsonStringifier, A.StringConversionSink, A._Utf8Encoder, A._Utf8Decoder, A.DateTime, A.Duration, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.MapEntry, A.Null, A._StringStackTrace, A.RuneIterator, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.NullRejectionException, A._JSRandom, A.ArgParser, A.ArgResults, A.Option, A.OptionType, A.Parser0, A._Usage, A.FutureGroup, A.ErrorResult, A.ValueResult, A.StreamCompleter, A.StreamGroup, A._StreamGroupState, A.StreamQueue, A._NextRequest, A.Repl, A.ReplAdapter, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._MapEntry, A.MapEquality, A._QueueList_Object_ListMixin, A._DelegatingIterableBase, A.UnmodifiableSetMixin, A.Context, A._PathDirection, A._PathRelation, A.Style, A.ParsedPath, A.PathException, A.Version, A.VersionRange, A.CssMediaQuery, A.MediaQuerySuccessfulMergeResult, A.CssNode, A.__IsInvisibleVisitor_Object_EveryCssVisitor, A.CssValue, A._FakeAstNode, A.Argument, A.ArgumentDeclaration, A.ArgumentInvocation, A.AtRootQuery, A.ConfiguredVariable, A._IsCalculationSafeVisitor, A.BinaryOperationExpression, A.BooleanExpression, A.ColorExpression, A.FunctionExpression, A.IfExpression, A.InterpolatedFunctionExpression, A.ListExpression, A.MapExpression, A.NullExpression, A.NumberExpression, A.ParenthesizedExpression, A.SelectorExpression, A.StringExpression, A.SupportsExpression, A.UnaryOperationExpression, A.ValueExpression, A.VariableExpression, A.DynamicImport, A.StaticImport, A.Interpolation, A.ParentStatement, A.ContentRule, A.DebugRule, A.ErrorRule, A.ExtendRule, A.ForwardRule, A.IfRule, A.IfRuleClause, A.ImportRule, A.IncludeRule, A.LoudComment, A.__HasContentVisitor_Object_StatementSearchVisitor, A.ReturnRule, A.SilentComment, A.UseRule, A.VariableDeclaration, A.WarnRule, A.SupportsAnything, A.SupportsDeclaration, A.SupportsFunction, A.SupportsInterpolation, A.SupportsNegation, A.SupportsOperation, A.Selector, A.__IsInvisibleVisitor_Object_AnySelectorVisitor, A.__IsBogusVisitor_Object_AnySelectorVisitor, A.__IsUselessVisitor_Object_AnySelectorVisitor, A.ComplexSelectorComponent, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor, A.QualifiedName, A.AsyncEnvironment, A._EnvironmentModule0, A.AsyncImportCache, A.AsyncBuiltInCallable, A.BuiltInCallable, A.PlainCssCallable, A.UserDefinedCallable, A.CompileResult, A.Configuration, A.ConfiguredValue, A.Environment, A._EnvironmentModule, A.SourceSpanException, A.SassScriptException, A.ExecutableOptions, A.UsageException, A._Watcher, A.EmptyExtensionStore, A.Extension, A.Extender, A.ExtensionStore, A.ImportCache, A.AsyncImporter, A.CanonicalizeContext, A.ImporterResult, A.InterpolationBuffer, A.InterpolationMap, A.FileSystemException, A.LoggerWithDeprecationType0, A._QuietLogger, A.StderrLogger, A.TrackingLogger, A.BuiltInModule, A.ForwardedModuleView, A.ShadowedModuleView, A.Parser, A.StylesheetGraph, A.StylesheetNode, A.Box, A.ModifiableBox, A.LazyFileSpan, A.MultiDirWatcher, A.MultiSpan, A.NoSourceMapBuffer, A.SourceMapBuffer, A.Value, A.CalculationOperation, A._ColorFormatEnum, A.SpanColorFormat, A.AnySelectorVisitor, A._EvaluateVisitor0, A._ImportedCssVisitor0, A._EvaluationContext0, A._CloneCssVisitor, A.Evaluator, A._EvaluateVisitor, A._ImportedCssVisitor, A._EvaluationContext, A.EveryCssVisitor, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor, A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor, A.DependencyReport, A.RecursiveStatementVisitor, A.ReplaceExpressionVisitor, A.SelectorSearchVisitor, A._SerializeVisitor, A.StatementSearchVisitor, A.Entry, A.Mapping, A.TargetLineEntry, A.TargetEntry, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StringScanner, A._SpanScannerState, A.AsciiGlyphSet, A.UnicodeGlyphSet, A.WatchEvent, A.ChangeType, A.AnySelectorVisitor0, A.SupportsAnything0, A.Argument0, A.ArgumentDeclaration0, A.ArgumentInvocation0, A.Value0, A.AsyncImporter0, A.AsyncBuiltInCallable0, A.AsyncEnvironment0, A._EnvironmentModule2, A._EvaluateVisitor2, A._ImportedCssVisitor2, A._EvaluationContext2, A.AsyncImportCache0, A.Parser1, A.AtRootQuery0, A.ParentStatement0, A.CssNode0, A.Selector0, A.BinaryOperationExpression0, A.BooleanExpression0, A.Box0, A.ModifiableBox0, A.BuiltInCallable0, A.BuiltInModule0, A.CalculationOperation0, A.CalculationInterpolation, A.CanonicalizeContext0, A._CloneCssVisitor0, A.ColorExpression0, A._ColorFormatEnum0, A.SpanColorFormat0, A.CompileResult0, A.Compiler, A.ComplexSelectorComponent0, A.Configuration0, A.ConfiguredValue0, A.ConfiguredVariable0, A.ContentRule0, A.DebugRule0, A.SupportsDeclaration0, A.LoggerWithDeprecationType, A.DynamicImport0, A.EmptyExtensionStore0, A.Environment0, A._EnvironmentModule1, A.ErrorRule0, A._EvaluateVisitor1, A._ImportedCssVisitor1, A._EvaluationContext1, A.EveryCssVisitor0, A.SassScriptException0, A._IsCalculationSafeVisitor0, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0, A.ExtendRule0, A.Extension0, A.Extender0, A.ExtensionStore0, A.ForwardRule0, A.ForwardedModuleView0, A.FunctionExpression0, A.SupportsFunction0, A.IfExpression0, A.IfRule0, A.IfRuleClause0, A.NodeImporter, A.ImportCache0, A.ImportRule0, A.IncludeRule0, A.InterpolatedFunctionExpression0, A.Interpolation0, A.SupportsInterpolation0, A.InterpolationBuffer0, A.InterpolationMap0, A.FileSystemException0, A.LazyFileSpan0, A.ListExpression0, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor0, A._QuietLogger0, A.LoudComment0, A.MapExpression0, A.CssMediaQuery0, A.MediaQuerySuccessfulMergeResult0, A.__HasContentVisitor_Object_StatementSearchVisitor0, A.MultiSpan0, A.SupportsNegation0, A.NoSourceMapBuffer0, A._FakeAstNode0, A.__IsInvisibleVisitor_Object_EveryCssVisitor0, A.NullExpression0, A.NumberExpression0, A.SupportsOperation0, A.ParenthesizedExpression0, A.PlainCssCallable0, A.QualifiedName0, A.ReplaceExpressionVisitor0, A.ImporterResult0, A.ReturnRule0, A.__IsInvisibleVisitor_Object_AnySelectorVisitor0, A.__IsBogusVisitor_Object_AnySelectorVisitor0, A.__IsUselessVisitor_Object_AnySelectorVisitor0, A.SelectorExpression0, A.SelectorSearchVisitor0, A._SerializeVisitor0, A.ShadowedModuleView0, A.SilentComment0, A.SourceMapBuffer0, A.StatementSearchVisitor0, A.StaticImport0, A.StderrLogger0, A.StringExpression0, A.SupportsExpression0, A.UnaryOperationExpression0, A.UseRule0, A.UserDefinedCallable0, A.CssValue0, A.ValueExpression0, A.VariableExpression0, A.VariableDeclaration0, A.WarnRule0]); + _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.SkipWhileIterator, A.EmptyIterator, A.FollowedByIterator, A.WhereTypeIterator, A.NonNullsIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A.Symbol, A._Record, A.MapView, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.SetBase, A.JSInvocationMirror, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A._Required, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._SyncStarIterator, A.AsyncError, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._AddStreamState, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._MapBaseValueIterator, A._UnmodifiableMapMixin, A._ListQueueIterator, A._UnmodifiableSetMixin, A.Codec, A.Converter, A._Base64Encoder, A.ByteConversionSink, A._JsonStringifier, A.StringConversionSink, A._Utf8Encoder, A._Utf8Decoder, A.DateTime, A.Duration, A._Enum, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.MapEntry, A.Null, A._StringStackTrace, A.RuneIterator, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.Expando, A.NullRejectionException, A._JSRandom, A.ArgParser, A.ArgResults, A.Option, A.OptionType, A.Parser0, A._Usage, A.FutureGroup, A.ErrorResult, A.ValueResult, A.StreamCompleter, A.StreamGroup, A._StreamGroupState, A.StreamQueue, A._NextRequest, A.Repl, A.ReplAdapter, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._MapEntry, A.MapEquality, A._QueueList_Object_ListMixin, A._DelegatingIterableBase, A.UnmodifiableSetMixin, A.Context, A._PathDirection, A._PathRelation, A.Style, A.ParsedPath, A.PathException, A.Version, A.VersionRange, A.CssMediaQuery, A.MediaQuerySuccessfulMergeResult, A.CssNode, A.__IsInvisibleVisitor_Object_EveryCssVisitor, A.CssValue, A._FakeAstNode, A.Argument, A.ArgumentDeclaration, A.ArgumentInvocation, A.AtRootQuery, A.ConfiguredVariable, A.Expression, A.DynamicImport, A.StaticImport, A.Interpolation, A.Statement, A.IfRuleClause, A.__HasContentVisitor_Object_StatementSearchVisitor, A.SupportsAnything, A.SupportsDeclaration, A.SupportsFunction, A.SupportsInterpolation, A.SupportsNegation, A.SupportsOperation, A.Selector, A.__IsInvisibleVisitor_Object_AnySelectorVisitor, A.__IsBogusVisitor_Object_AnySelectorVisitor, A.__IsUselessVisitor_Object_AnySelectorVisitor, A.ComplexSelectorComponent, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor, A.QualifiedName, A.AsyncEnvironment, A._EnvironmentModule0, A.AsyncImportCache, A.AsyncBuiltInCallable, A.BuiltInCallable, A.PlainCssCallable, A.UserDefinedCallable, A.CompileResult, A.Configuration, A.ConfiguredValue, A.Environment, A._EnvironmentModule, A.SourceSpanException, A.SassScriptException, A.ExecutableOptions, A.UsageException, A._Watcher, A.EmptyExtensionStore, A.Extension, A.Extender, A.ExtensionStore, A.ImportCache, A.AsyncImporter, A.CanonicalizeContext, A.ImporterResult, A.InterpolationBuffer, A.InterpolationMap, A.FileSystemException, A.LoggerWithDeprecationType0, A._QuietLogger, A.StderrLogger, A.TrackingLogger, A.BuiltInModule, A.ForwardedModuleView, A.ShadowedModuleView, A.Parser, A.StylesheetGraph, A.StylesheetNode, A.Box, A.ModifiableBox, A.LazyFileSpan, A.MultiDirWatcher, A.MultiSpan, A.NoSourceMapBuffer, A.SourceMapBuffer, A.Value, A.CalculationOperation, A._ColorFormatEnum, A.SpanColorFormat, A.ColorChannel, A.GamutMapMethod, A.InterpolationMethod, A.ColorSpace, A.AnySelectorVisitor, A._EvaluateVisitor0, A._ImportedCssVisitor0, A._EvaluationContext0, A._CloneCssVisitor, A.Evaluator, A._EvaluateVisitor, A._ImportedCssVisitor, A._EvaluationContext, A.EveryCssVisitor, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor, A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor, A.DependencyReport, A.IsCalculationSafeVisitor, A.RecursiveStatementVisitor, A.ReplaceExpressionVisitor, A.SelectorSearchVisitor, A._SerializeVisitor, A.StatementSearchVisitor, A.Entry, A.Mapping, A.TargetLineEntry, A.TargetEntry, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.Chain, A.Frame, A.LazyTrace, A.Trace, A.UnparsedFrame, A.StringScanner, A._SpanScannerState, A.AsciiGlyphSet, A.UnicodeGlyphSet, A.WatchEvent, A.ChangeType, A.ColorSpace0, A.AnySelectorVisitor0, A.SupportsAnything0, A.Argument0, A.ArgumentDeclaration0, A.ArgumentInvocation0, A.Value0, A.AsyncImporter0, A.AsyncBuiltInCallable0, A.AsyncEnvironment0, A._EnvironmentModule2, A._EvaluateVisitor2, A._ImportedCssVisitor2, A._EvaluationContext2, A.AsyncImportCache0, A.Parser1, A.AtRootQuery0, A.Statement0, A.CssNode0, A.Selector0, A.Expression0, A.Box0, A.ModifiableBox0, A.BuiltInCallable0, A.BuiltInModule0, A.CalculationOperation0, A.CalculationInterpolation, A.CanonicalizeContext0, A.ColorChannel0, A.GamutMapMethod0, A._CloneCssVisitor0, A._ColorFormatEnum0, A.SpanColorFormat0, A.CompileResult0, A.Compiler, A.ComplexSelectorComponent0, A.Configuration0, A.ConfiguredValue0, A.ConfiguredVariable0, A.SupportsDeclaration0, A.LoggerWithDeprecationType, A.DynamicImport0, A.EmptyExtensionStore0, A.Environment0, A._EnvironmentModule1, A._EvaluateVisitor1, A._ImportedCssVisitor1, A._EvaluationContext1, A.EveryCssVisitor0, A.SassScriptException0, A.JSExpressionVisitor, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor0, A.Extension0, A.Extender0, A.ExtensionStore0, A.ForwardedModuleView0, A.SupportsFunction0, A.IfRuleClause0, A.NodeImporter, A.ImportCache0, A.Interpolation0, A.SupportsInterpolation0, A.InterpolationBuffer0, A.InterpolationMap0, A.InterpolationMethod0, A.IsCalculationSafeVisitor0, A.FileSystemException0, A.LazyFileSpan0, A.__ParentSelectorVisitor_Object_SelectorSearchVisitor0, A.CssMediaQuery0, A.MediaQuerySuccessfulMergeResult0, A.__HasContentVisitor_Object_StatementSearchVisitor0, A.MultiSpan0, A.SupportsNegation0, A.NoSourceMapBuffer0, A._FakeAstNode0, A.__IsInvisibleVisitor_Object_EveryCssVisitor0, A.SupportsOperation0, A.PlainCssCallable0, A.QualifiedName0, A.ReplaceExpressionVisitor0, A.ImporterResult0, A.__IsInvisibleVisitor_Object_AnySelectorVisitor0, A.__IsBogusVisitor_Object_AnySelectorVisitor0, A.__IsUselessVisitor_Object_AnySelectorVisitor0, A.SelectorSearchVisitor0, A._SerializeVisitor0, A.ShadowedModuleView0, A.SourceInterpolationVisitor, A.SourceMapBuffer0, A.JSStatementVisitor, A.StatementSearchVisitor0, A.StaticImport0, A.StderrLogger0, A.UserDefinedCallable0, A.CssValue0]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]); _inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData]); - _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Stdin, A.Stdout, A.ReadlineModule, A.ReadlineOptions, A.ReadlineInterface, A.BufferModule, A.BufferConstants, A.Buffer, A.ConsoleModule, A.Console, A.EventEmitter, A.FS, A.FSConstants, A.FSWatcher, A.ReadStream, A.ReadStreamOptions, A.WriteStream, A.WriteStreamOptions, A.FileOptions, A.StatOptions, A.MkdirOptions, A.RmdirOptions, A.WatchOptions, A.WatchFileOptions, A.Stats, A.Promise, A.Date, A.JsError, A.Atomics, A.Modules, A.Module, A.Net, A.Socket, A.NetAddress, A.NetServer, A.NodeJsError, A.Process, A.CPUUsage, A.Release, A.StreamModule, A.Readable, A.Writable, A.Duplex, A.Transform, A.WritableOptions, A.ReadableOptions, A.Immediate, A.Timeout, A.TTY, A.Util, A.JSArray0, A.Chokidar, A.ChokidarOptions, A.ChokidarWatcher, A.JSFunction, A.ImmutableList, A.ImmutableMap, A.NodeImporterResult, A.RenderContext, A.RenderContextOptions, A.RenderContextResult, A.RenderContextResultStats, A.JSModule, A.JSModuleRequire, A.JSClass, A.JSUrl, A._PropertyDescriptor, A._RequireMain, A.JSArray1, A.Chokidar0, A.ChokidarOptions0, A.ChokidarWatcher0, A._Channels, A._NodeSassColor, A.CompileOptions, A.NodeCompileResult, A.Deprecation1, A.Exports, A.LoggerNamespace, A.FiberClass, A.Fiber, A.JSFunction0, A.ImmutableList0, A.ImmutableMap0, A.JSImporter, A.JSImporterResult, A.NodeImporterResult0, A._ConstructorOptions, A._NodeSassList, A.JSLogger, A.WarnOptions, A.DebugOptions, A._NodeSassMap, A.JSModule0, A.JSModuleRequire0, A._ConstructorOptions0, A._NodeSassNumber, A.JSClass0, A.RenderContext0, A.RenderContextOptions0, A.RenderContextResult0, A.RenderContextResultStats0, A.RenderOptions, A.RenderResult, A.RenderResultStats, A._Exports, A._ConstructorOptions1, A._NodeSassString, A.Types, A.JSUrl0, A._PropertyDescriptor0, A._RequireMain0]); + _inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, A.Stdin, A.Stdout, A.ReadlineModule, A.ReadlineOptions, A.ReadlineInterface, A.BufferModule, A.BufferConstants, A.Buffer, A.ConsoleModule, A.Console, A.EventEmitter, A.FS, A.FSConstants, A.FSWatcher, A.ReadStream, A.ReadStreamOptions, A.WriteStream, A.WriteStreamOptions, A.FileOptions, A.StatOptions, A.MkdirOptions, A.RmdirOptions, A.WatchOptions, A.WatchFileOptions, A.Stats, A.Promise, A.Date, A.JsError, A.Atomics, A.Modules, A.Module, A.Net, A.Socket, A.NetAddress, A.NetServer, A.NodeJsError, A.Process, A.CPUUsage, A.Release, A.StreamModule, A.Readable, A.Writable, A.Duplex, A.Transform, A.WritableOptions, A.ReadableOptions, A.Immediate, A.Timeout, A.TTY, A.Util, A.JSArray0, A.Chokidar, A.ChokidarOptions, A.ChokidarWatcher, A.JSFunction, A.ImmutableList, A.ImmutableMap, A.NodeImporterResult, A.RenderContext, A.RenderContextOptions, A.RenderContextResult, A.RenderContextResultStats, A.JSModule, A.JSModuleRequire, A.ParcelWatcherSubscription, A.ParcelWatcherEvent, A.ParcelWatcher, A.JSClass, A.JSUrl, A._PropertyDescriptor, A._RequireMain, A.JSArray1, A.Chokidar0, A.ChokidarOptions0, A.ChokidarWatcher0, A._Channels, A._ChannelOptions, A._ToGamutOptions, A._InterpolationOptions, A._NodeSassColor, A.CompileOptions, A.NodeCompileResult, A.Deprecation1, A.Exports, A.LoggerNamespace, A.JSExpressionVisitorObject, A.FiberClass, A.Fiber, A.JSFunction0, A.ImmutableList0, A.ImmutableMap0, A.JSImporter, A.JSImporterResult, A.NodeImporterResult0, A._ConstructorOptions, A._NodeSassList, A.JSLogger, A.WarnOptions, A.DebugOptions, A._NodeSassMap, A.JSModule0, A.JSModuleRequire0, A._ConstructorOptions0, A._NodeSassNumber, A.ParcelWatcherSubscription0, A.ParcelWatcherEvent0, A.ParcelWatcher0, A.ParserExports, A.JSClass0, A.RenderContext0, A.RenderContextOptions0, A.RenderContextResult0, A.RenderContextResultStats0, A.RenderOptions, A.RenderResult, A.RenderResultStats, A._Exports, A.JSStatementVisitorObject, A._ConstructorOptions1, A._NodeSassString, A.Types, A.JSUrl0, A._PropertyDescriptor0, A._RequireMain0]); _inherit(J.JSUnmodifiableArray, J.JSArray); _inheritMany(J.JSNumber, [J.JSInt, J.JSNumNotInt]); - _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.ExpandIterable, A.TakeIterable, A.SkipIterable, A.SkipWhileIterable, A.FollowedByIterable, A.WhereTypeIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable, A._SyncStarIterable, A.Runes, A._EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin, A._PrefixedKeys, A._UnprefixedKeys, A._PrefixedKeys0, A._UnprefixedKeys0]); + _inheritMany(A.Iterable, [A._CastIterableBase, A.EfficientLengthIterable, A.MappedIterable, A.WhereIterable, A.ExpandIterable, A.TakeIterable, A.SkipIterable, A.SkipWhileIterable, A.FollowedByIterable, A.WhereTypeIterable, A.NonNullsIterable, A._KeysOrValues, A._AllMatchesIterable, A._StringAllMatchesIterable, A._SyncStarIterable, A.Runes, A._EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin, A._PrefixedKeys, A._UnprefixedKeys, A._PrefixedKeys0, A._UnprefixedKeys0]); _inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin, A.CastSet]); _inherit(A._EfficientLengthCastIterable, A.CastIterable); _inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(A.Closure, [A.Closure2Args, A.CastMap_entries_closure, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A.Future_wait_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_Stream$fromFuture_closure, A.Stream_length_closure, A._CustomZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallback_closure, A._HashMap_values_closure, A._LinkedCustomHashMap_closure, A.MapBase_entries_closure, A._JsonMap_values_closure, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.jsify__convert, A.promiseToFuture_closure1, A.promiseToFuture_closure2, A.ArgParser__addOption_closure, A._Usage__writeOption_closure, A._Usage__buildAllowedList_closure, A.FutureGroup_add_closure, A.StreamGroup__onListen_closure, A.StreamGroup__onCancel_closure, A.StreamQueue__ensureListening_closure, A.alwaysValid_closure, A.ReplAdapter_runAsync__closure, A.UnionSet__iterable_closure, A.UnionSet_contains_closure, A.MapKeySet_difference_closure, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.futureToPromise__closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.ParsedPath__splitExtension_closure, A.PathMap__create_closure0, A.PathMap__create_closure1, A.WindowsStyle_absolutePathToUri_closure, A.Version__splitParts_closure, A.ModifiableCssNode_hasFollowingSibling_closure, A.ArgumentDeclaration_verify_closure, A.ArgumentDeclaration_verify_closure0, A._IsCalculationSafeVisitor_visitListExpression_closure, A.ListExpression_toString_closure, A.Interpolation_toString_closure, A.EachRule_toString_closure, A.IfRuleClause$__closure, A.IfRuleClause$___closure, A.ParentStatement_closure, A.ParentStatement__closure, A._IsBogusVisitor_visitComplexSelector_closure, A._IsUselessVisitor_visitComplexSelector_closure, A.ComplexSelectorComponent_toString_closure, A.IDSelector_unify_closure, A.SelectorList_asSassList_closure, A.SelectorList_nestWithin_closure, A.SelectorList_nestWithin__closure, A.SelectorList_nestWithin__closure0, A.SelectorList__nestWithinCompound_closure, A.SelectorList__nestWithinCompound_closure0, A.SelectorList__nestWithinCompound_closure1, A.SelectorList_withAdditionalCombinators_closure, A.PseudoSelector_specificity__closure, A.PseudoSelector_specificity__closure0, A.PseudoSelector_unify_closure, A.SimpleSelector_isSuperselector_closure, A.SimpleSelector_isSuperselector__closure, A._compileStylesheet_closure0, A.AsyncEnvironment__getVariableFromGlobalModule_closure, A.AsyncEnvironment_setVariable_closure0, A.AsyncEnvironment__getFunctionFromGlobalModule_closure, A.AsyncEnvironment__getMixinFromGlobalModule_closure, A.AsyncEnvironment_toModule_closure, A.AsyncEnvironment_toDummyModule_closure, A._EnvironmentModule__EnvironmentModule_closure5, A._EnvironmentModule__EnvironmentModule_closure6, A._EnvironmentModule__EnvironmentModule_closure7, A._EnvironmentModule__EnvironmentModule_closure8, A._EnvironmentModule__EnvironmentModule_closure9, A._EnvironmentModule__EnvironmentModule_closure10, A.AsyncImportCache_humanize_closure, A.AsyncImportCache_humanize_closure0, A.AsyncImportCache_humanize_closure1, A.AsyncImportCache_humanize_closure2, A.AsyncBuiltInCallable$mixin_closure, A.BuiltInCallable$mixin_closure, A._compileStylesheet_closure, A.Deprecation_fromId_closure, A.Environment__getVariableFromGlobalModule_closure, A.Environment_setVariable_closure0, A.Environment__getFunctionFromGlobalModule_closure, A.Environment__getMixinFromGlobalModule_closure, A.Environment_toModule_closure, A.Environment_toDummyModule_closure, A._EnvironmentModule__EnvironmentModule_closure, A._EnvironmentModule__EnvironmentModule_closure0, A._EnvironmentModule__EnvironmentModule_closure1, A._EnvironmentModule__EnvironmentModule_closure2, A._EnvironmentModule__EnvironmentModule_closure3, A._EnvironmentModule__EnvironmentModule_closure4, A._writeSourceMap_closure, A.ExecutableOptions_emitErrorCss_closure, A.watch_closure, A._Watcher__debounceEvents_closure, A.ExtensionStore_extensionsWhereTarget_closure, A.ExtensionStore__extendComplex_closure, A.ExtensionStore__extendComplex__closure, A.ExtensionStore__extendCompound_closure, A.ExtensionStore__extendCompound_closure0, A.ExtensionStore__extendCompound_closure1, A.ExtensionStore__extendSimple_withoutPseudo, A.ExtensionStore__extendSimple_closure, A.ExtensionStore__extendSimple_closure0, A.ExtensionStore__extendPseudo_closure, A.ExtensionStore__extendPseudo_closure0, A.ExtensionStore__extendPseudo_closure1, A.ExtensionStore__extendPseudo_closure2, A.ExtensionStore__extendPseudo_closure3, A.ExtensionStore__trim_closure, A.ExtensionStore__trim_closure0, A.unifyComplex_closure, A._weaveParents_closure0, A._weaveParents_closure1, A._weaveParents_closure2, A._mustUnify_closure, A._mustUnify__closure, A.paths__closure, A.paths___closure, A.listIsSuperselector_closure, A.listIsSuperselector__closure, A.complexIsSuperselector_closure, A.complexIsSuperselector_closure0, A._compatibleWithPreviousCombinator_closure, A._selectorPseudoIsSuperselector_closure, A._selectorPseudoIsSuperselector_closure0, A._selectorPseudoIsSuperselector_closure1, A._selectorPseudoIsSuperselector_closure2, A._selectorPseudoIsSuperselector_closure3, A._selectorPseudoIsSuperselector__closure, A._selectorPseudoIsSuperselector___closure, A._selectorPseudoIsSuperselector___closure0, A._selectorPseudoIsSuperselector_closure4, A._selectorPseudoIsSuperselector_closure5, A._selectorPseudoArgs_closure, A._selectorPseudoArgs_closure0, A.globalFunctions_closure, A.global_closure0, A.global_closure1, A.global_closure2, A.global_closure3, A.global_closure4, A.global_closure5, A.global_closure6, A.global_closure7, A.global_closure8, A.global_closure9, A.global_closure10, A.global_closure11, A.global_closure12, A.global_closure13, A.global_closure14, A.global_closure15, A.global_closure16, A.global_closure17, A.global_closure18, A.global_closure19, A.global_closure20, A.global_closure21, A.global_closure22, A.global_closure23, A.global_closure24, A.global_closure25, A.global__closure, A.global_closure26, A.module_closure1, A.module_closure2, A.module_closure3, A.module_closure4, A.module_closure5, A.module_closure6, A.module_closure7, A.module_closure8, A.module__closure1, A.module_closure9, A._red_closure, A._green_closure, A._blue_closure, A._mix_closure, A._hue_closure, A._saturation_closure, A._lightness_closure, A._complement_closure, A._adjust_closure, A._scale_closure, A._change_closure, A._ieHexStr_closure, A._ieHexStr_closure_hexString, A._updateComponents_getParam, A._updateComponents_closure, A._updateComponents_closure0, A._updateComponents_updateValue, A._functionString_closure, A._removedColorFunction_closure, A._rgb_closure, A._hsl_closure, A._hwb_closure, A._parseChannels_closure, A._length_closure0, A._nth_closure, A._setNth_closure, A._join_closure, A._append_closure0, A._zip_closure, A._zip__closure, A._zip__closure0, A._zip__closure1, A._index_closure0, A._separator_closure, A._isBracketed_closure, A._slash_closure, A._get_closure, A._set_closure, A._set__closure0, A._set_closure0, A._set__closure, A._merge_closure, A._merge_closure0, A._merge__closure, A._deepMerge_closure, A._deepRemove_closure, A._deepRemove__closure, A._remove_closure, A._remove_closure0, A._keys_closure, A._values_closure, A._hasKey_closure, A._modify_modifyNestedMap, A.global_closure, A.module_closure0, A._ceil_closure, A._clamp_closure, A._floor_closure, A._max_closure, A._min_closure, A._round_closure, A._hypot_closure, A._hypot__closure, A._log_closure, A._pow_closure, A._atan2_closure, A._compatible_closure, A._isUnitless_closure, A._unit_closure, A._percentage_closure, A._randomFunction_closure, A._div_closure, A._singleArgumentMathFunc_closure, A._numberFunction_closure, A.global_closure27, A.global_closure28, A.global_closure29, A.global_closure30, A.local_closure, A.local_closure0, A.local__closure, A.local_closure1, A._nest_closure, A._nest__closure, A._append_closure, A._append__closure, A._append___closure, A._extend_closure, A._replace_closure, A._unify_closure, A._isSuperselector_closure, A._simpleSelectors_closure, A._simpleSelectors__closure, A._parse_closure, A.module_closure, A.module__closure, A.module__closure0, A._unquote_closure, A._quote_closure, A._length_closure, A._insert_closure, A._index_closure, A._slice_closure, A._toUpperCase_closure, A._toLowerCase_closure, A._uniqueId_closure, A.ImportCache_humanize_closure, A.ImportCache_humanize_closure0, A.ImportCache_humanize_closure1, A.ImportCache_humanize_closure2, A.FilesystemImporter_canonicalize_closure, A.NodePackageImporter__nodePackageExportsResolve_closure, A.NodePackageImporter__nodePackageExportsResolve_closure0, A.NodePackageImporter__nodePackageExportsResolve_closure1, A.NodePackageImporter__nodePackageExportsResolve_closure2, A.NodePackageImporter__nodePackageExportsResolve__closure, A.NodePackageImporter__nodePackageExportsResolve__closure0, A.NodePackageImporter__getMainExport_closure, A._exactlyOne_closure, A.InterpolationMap_mapException_closure, A._realCasePath_helper, A._realCasePath_helper__closure, A.readStdin_closure, A.readStdin_closure0, A.readStdin_closure1, A.readStdin_closure2, A.listDir__closure, A.listDir__closure0, A.listDir_closure_list, A.listDir__list_closure, A.watchDir_closure, A.watchDir_closure0, A.watchDir_closure1, A.watchDir_closure2, A.DeprecationProcessingLogger_summarize_closure, A.DeprecationProcessingLogger_summarize_closure0, A._disallowedFunctionNames_closure, A.Parser_escape_closure, A.Parser_scanIdentChar_matches, A.SassParser_styleRuleSelector_closure, A.SassParser__peekIndentation_closure, A.SassParser__peekIndentation_closure0, A.StylesheetParser_parse__closure0, A.StylesheetParser__expression_addSingleExpression, A.StylesheetParser__expression_addOperator, A.StylesheetParser__isHexColor_closure, A.StylesheetParser__unicodeRange_closure, A.StylesheetParser__unicodeRange_closure0, A.StylesheetParser_trySpecialFunction_closure, A.StylesheetGraph_modifiedSince_transitiveModificationTime, A.MapExtensions_get_pairs_closure, A._PrefixedKeys_iterator_closure, A.SourceMapBuffer_buildSourceMap_closure, A._UnprefixedKeys_iterator_closure, A._UnprefixedKeys_iterator_closure0, A.indent_closure, A.flattenVertically_closure, A.flattenVertically_closure0, A.SassCalculation__verifyLength_closure, A.SassColor_SassColor$hwb_toRgb, A.SassList_isBlank_closure, A.SassNumber__coerceOrConvertValue_closure, A.SassNumber__coerceOrConvertValue_closure1, A.SassNumber_multiplyUnits_closure, A.SassNumber_multiplyUnits_closure1, A.SassNumber__areAnyConvertible_closure, A.SassNumber__canonicalizeUnitList_closure, A.SassNumber_unitSuggestion_closure, A.SassNumber_unitSuggestion_closure0, A.SingleUnitSassNumber__coerceToUnit_closure, A.SingleUnitSassNumber__coerceValueToUnit_closure, A.SingleUnitSassNumber_multiplyUnits_closure, A.AnySelectorVisitor_visitComplexSelector_closure, A.AnySelectorVisitor_visitCompoundSelector_closure, A._EvaluateVisitor_closure12, A._EvaluateVisitor_closure13, A._EvaluateVisitor_closure14, A._EvaluateVisitor_closure15, A._EvaluateVisitor_closure16, A._EvaluateVisitor_closure17, A._EvaluateVisitor_closure18, A._EvaluateVisitor_closure19, A._EvaluateVisitor_closure20, A._EvaluateVisitor_closure21, A._EvaluateVisitor_closure22, A._EvaluateVisitor_closure23, A._EvaluateVisitor_closure24, A._EvaluateVisitor__loadModule__closure1, A._EvaluateVisitor__combineCss_closure1, A._EvaluateVisitor__combineCss_closure2, A._EvaluateVisitor__combineCss_visitModule0, A._EvaluateVisitor__extendModules_closure1, A._EvaluateVisitor__scopeForAtRoot_closure5, A._EvaluateVisitor__scopeForAtRoot_closure6, A._EvaluateVisitor__scopeForAtRoot_closure7, A._EvaluateVisitor__scopeForAtRoot_closure8, A._EvaluateVisitor__scopeForAtRoot_closure9, A._EvaluateVisitor__scopeForAtRoot_closure10, A._EvaluateVisitor_visitEachRule_closure2, A._EvaluateVisitor_visitEachRule_closure3, A._EvaluateVisitor_visitEachRule__closure0, A._EvaluateVisitor_visitEachRule___closure0, A._EvaluateVisitor_visitAtRule_closure2, A._EvaluateVisitor_visitAtRule_closure4, A._EvaluateVisitor_visitForRule__closure0, A._EvaluateVisitor_visitIfRule_closure0, A._EvaluateVisitor_visitIfRule___closure0, A._EvaluateVisitor__visitDynamicImport__closure3, A._EvaluateVisitor__visitDynamicImport__closure4, A._EvaluateVisitor__visitDynamicImport__closure5, A._EvaluateVisitor_visitIncludeRule_closure3, A._EvaluateVisitor_visitMediaRule_closure2, A._EvaluateVisitor_visitMediaRule_closure4, A._EvaluateVisitor_visitStyleRule_closure5, A._EvaluateVisitor_visitStyleRule_closure6, A._EvaluateVisitor_visitStyleRule_closure8, A._EvaluateVisitor_visitSupportsRule_closure2, A._EvaluateVisitor_visitWhileRule__closure0, A._EvaluateVisitor__slash_recommendation0, A._EvaluateVisitor_visitListExpression_closure0, A._EvaluateVisitor_visitFunctionExpression_closure3, A._EvaluateVisitor__checkCalculationArguments_check0, A._EvaluateVisitor__runUserDefinedCallable____closure0, A._EvaluateVisitor__runBuiltInCallable_closure4, A._EvaluateVisitor__evaluateArguments_closure3, A._EvaluateVisitor__evaluateArguments_closure4, A._EvaluateVisitor__evaluateArguments_closure6, A._EvaluateVisitor__evaluateMacroArguments_closure3, A._EvaluateVisitor__evaluateMacroArguments_closure4, A._EvaluateVisitor__evaluateMacroArguments_closure6, A._EvaluateVisitor_visitCssAtRule_closure2, A._EvaluateVisitor_visitCssKeyframeBlock_closure2, A._EvaluateVisitor_visitCssMediaRule_closure2, A._EvaluateVisitor_visitCssMediaRule_closure4, A._EvaluateVisitor_visitCssStyleRule_closure1, A._EvaluateVisitor_visitCssSupportsRule_closure2, A._EvaluateVisitor__performInterpolationHelper_closure0, A._EvaluateVisitor__withoutSlash_recommendation0, A._EvaluateVisitor__stackFrame_closure0, A._ImportedCssVisitor_visitCssAtRule_closure0, A._ImportedCssVisitor_visitCssMediaRule_closure0, A._ImportedCssVisitor_visitCssStyleRule_closure0, A._ImportedCssVisitor_visitCssSupportsRule_closure0, A._EvaluateVisitor_closure, A._EvaluateVisitor_closure0, A._EvaluateVisitor_closure1, A._EvaluateVisitor_closure2, A._EvaluateVisitor_closure3, A._EvaluateVisitor_closure4, A._EvaluateVisitor_closure5, A._EvaluateVisitor_closure6, A._EvaluateVisitor_closure7, A._EvaluateVisitor_closure8, A._EvaluateVisitor_closure9, A._EvaluateVisitor_closure10, A._EvaluateVisitor_closure11, A._EvaluateVisitor__loadModule__closure, A._EvaluateVisitor__combineCss_closure, A._EvaluateVisitor__combineCss_closure0, A._EvaluateVisitor__combineCss_visitModule, A._EvaluateVisitor__extendModules_closure, A._EvaluateVisitor__scopeForAtRoot_closure, A._EvaluateVisitor__scopeForAtRoot_closure0, A._EvaluateVisitor__scopeForAtRoot_closure1, A._EvaluateVisitor__scopeForAtRoot_closure2, A._EvaluateVisitor__scopeForAtRoot_closure3, A._EvaluateVisitor__scopeForAtRoot_closure4, A._EvaluateVisitor_visitEachRule_closure, A._EvaluateVisitor_visitEachRule_closure0, A._EvaluateVisitor_visitEachRule__closure, A._EvaluateVisitor_visitEachRule___closure, A._EvaluateVisitor_visitAtRule_closure, A._EvaluateVisitor_visitAtRule_closure1, A._EvaluateVisitor_visitForRule__closure, A._EvaluateVisitor_visitIfRule_closure, A._EvaluateVisitor_visitIfRule___closure, A._EvaluateVisitor__visitDynamicImport__closure, A._EvaluateVisitor__visitDynamicImport__closure0, A._EvaluateVisitor__visitDynamicImport__closure1, A._EvaluateVisitor_visitIncludeRule_closure0, A._EvaluateVisitor_visitMediaRule_closure, A._EvaluateVisitor_visitMediaRule_closure1, A._EvaluateVisitor_visitStyleRule_closure0, A._EvaluateVisitor_visitStyleRule_closure1, A._EvaluateVisitor_visitStyleRule_closure3, A._EvaluateVisitor_visitSupportsRule_closure0, A._EvaluateVisitor_visitWhileRule__closure, A._EvaluateVisitor__slash_recommendation, A._EvaluateVisitor_visitListExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure0, A._EvaluateVisitor__checkCalculationArguments_check, A._EvaluateVisitor__runUserDefinedCallable____closure, A._EvaluateVisitor__runBuiltInCallable_closure1, A._EvaluateVisitor__evaluateArguments_closure, A._EvaluateVisitor__evaluateArguments_closure0, A._EvaluateVisitor__evaluateArguments_closure2, A._EvaluateVisitor__evaluateMacroArguments_closure, A._EvaluateVisitor__evaluateMacroArguments_closure0, A._EvaluateVisitor__evaluateMacroArguments_closure2, A._EvaluateVisitor_visitCssAtRule_closure0, A._EvaluateVisitor_visitCssKeyframeBlock_closure0, A._EvaluateVisitor_visitCssMediaRule_closure, A._EvaluateVisitor_visitCssMediaRule_closure1, A._EvaluateVisitor_visitCssStyleRule_closure, A._EvaluateVisitor_visitCssSupportsRule_closure0, A._EvaluateVisitor__performInterpolationHelper_closure, A._EvaluateVisitor__withoutSlash_recommendation, A._EvaluateVisitor__stackFrame_closure, A._ImportedCssVisitor_visitCssAtRule_closure, A._ImportedCssVisitor_visitCssMediaRule_closure, A._ImportedCssVisitor_visitCssStyleRule_closure, A._ImportedCssVisitor_visitCssSupportsRule_closure, A.EveryCssVisitor_visitCssAtRule_closure, A.EveryCssVisitor_visitCssKeyframeBlock_closure, A.EveryCssVisitor_visitCssMediaRule_closure, A.EveryCssVisitor_visitCssStyleRule_closure, A.EveryCssVisitor_visitCssStylesheet_closure, A.EveryCssVisitor_visitCssSupportsRule_closure, A.ReplaceExpressionVisitor_visitListExpression_closure, A.ReplaceExpressionVisitor_visitArgumentInvocation_closure, A.ReplaceExpressionVisitor_visitInterpolation_closure, A.SelectorSearchVisitor_visitComplexSelector_closure, A.SelectorSearchVisitor_visitCompoundSelector_closure, A.serialize_closure, A._SerializeVisitor_visitList_closure, A._SerializeVisitor_visitList_closure0, A._SerializeVisitor_visitList_closure1, A._SerializeVisitor_visitMap_closure, A._SerializeVisitor_visitSelectorList_closure, A.StatementSearchVisitor_visitIfRule_closure, A.StatementSearchVisitor_visitIfRule__closure0, A.StatementSearchVisitor_visitIfRule_closure0, A.StatementSearchVisitor_visitIfRule__closure, A.StatementSearchVisitor_visitChildren_closure, A.SingleMapping_SingleMapping$fromEntries_closure1, A.SingleMapping_toJson_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.Chain_Chain$parse_closure, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace$parseV8_closure, A.Trace$parseJSCore_closure, A.Trace$parseFirefox_closure, A.Trace$parseFriendly_closure, A.Trace_terse_closure, A.Trace_foldFrames_closure, A.Trace_foldFrames_closure0, A.Trace_toString_closure0, A.Trace_toString_closure, A.TransformByHandlers_transformByHandlers__closure, A.RateLimit__debounceAggregate_closure0, A.AnySelectorVisitor_visitComplexSelector_closure0, A.AnySelectorVisitor_visitCompoundSelector_closure0, A.ArgumentDeclaration_verify_closure1, A.ArgumentDeclaration_verify_closure2, A.argumentListClass__closure, A.argumentListClass__closure0, A.AsyncBuiltInCallable$mixin_closure0, A._compileStylesheet_closure2, A.AsyncEnvironment__getVariableFromGlobalModule_closure0, A.AsyncEnvironment_setVariable_closure3, A.AsyncEnvironment__getFunctionFromGlobalModule_closure0, A.AsyncEnvironment__getMixinFromGlobalModule_closure0, A.AsyncEnvironment_toModule_closure0, A.AsyncEnvironment_toDummyModule_closure0, A._EnvironmentModule__EnvironmentModule_closure17, A._EnvironmentModule__EnvironmentModule_closure18, A._EnvironmentModule__EnvironmentModule_closure19, A._EnvironmentModule__EnvironmentModule_closure20, A._EnvironmentModule__EnvironmentModule_closure21, A._EnvironmentModule__EnvironmentModule_closure22, A._EvaluateVisitor_closure38, A._EvaluateVisitor_closure39, A._EvaluateVisitor_closure40, A._EvaluateVisitor_closure41, A._EvaluateVisitor_closure42, A._EvaluateVisitor_closure43, A._EvaluateVisitor_closure44, A._EvaluateVisitor_closure45, A._EvaluateVisitor_closure46, A._EvaluateVisitor_closure47, A._EvaluateVisitor_closure48, A._EvaluateVisitor_closure49, A._EvaluateVisitor_closure50, A._EvaluateVisitor__loadModule__closure5, A._EvaluateVisitor__combineCss_closure5, A._EvaluateVisitor__combineCss_closure6, A._EvaluateVisitor__combineCss_visitModule2, A._EvaluateVisitor__extendModules_closure5, A._EvaluateVisitor__scopeForAtRoot_closure17, A._EvaluateVisitor__scopeForAtRoot_closure18, A._EvaluateVisitor__scopeForAtRoot_closure19, A._EvaluateVisitor__scopeForAtRoot_closure20, A._EvaluateVisitor__scopeForAtRoot_closure21, A._EvaluateVisitor__scopeForAtRoot_closure22, A._EvaluateVisitor_visitEachRule_closure8, A._EvaluateVisitor_visitEachRule_closure9, A._EvaluateVisitor_visitEachRule__closure2, A._EvaluateVisitor_visitEachRule___closure2, A._EvaluateVisitor_visitAtRule_closure8, A._EvaluateVisitor_visitAtRule_closure10, A._EvaluateVisitor_visitForRule__closure2, A._EvaluateVisitor_visitIfRule_closure2, A._EvaluateVisitor_visitIfRule___closure2, A._EvaluateVisitor__visitDynamicImport__closure11, A._EvaluateVisitor__visitDynamicImport__closure12, A._EvaluateVisitor__visitDynamicImport__closure13, A._EvaluateVisitor_visitIncludeRule_closure9, A._EvaluateVisitor_visitMediaRule_closure8, A._EvaluateVisitor_visitMediaRule_closure10, A._EvaluateVisitor_visitStyleRule_closure15, A._EvaluateVisitor_visitStyleRule_closure16, A._EvaluateVisitor_visitStyleRule_closure18, A._EvaluateVisitor_visitSupportsRule_closure6, A._EvaluateVisitor_visitWhileRule__closure2, A._EvaluateVisitor__slash_recommendation2, A._EvaluateVisitor_visitListExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure9, A._EvaluateVisitor__checkCalculationArguments_check2, A._EvaluateVisitor__runUserDefinedCallable____closure2, A._EvaluateVisitor__runBuiltInCallable_closure10, A._EvaluateVisitor__evaluateArguments_closure11, A._EvaluateVisitor__evaluateArguments_closure12, A._EvaluateVisitor__evaluateArguments_closure14, A._EvaluateVisitor__evaluateMacroArguments_closure11, A._EvaluateVisitor__evaluateMacroArguments_closure12, A._EvaluateVisitor__evaluateMacroArguments_closure14, A._EvaluateVisitor_visitCssAtRule_closure6, A._EvaluateVisitor_visitCssKeyframeBlock_closure6, A._EvaluateVisitor_visitCssMediaRule_closure8, A._EvaluateVisitor_visitCssMediaRule_closure10, A._EvaluateVisitor_visitCssStyleRule_closure5, A._EvaluateVisitor_visitCssSupportsRule_closure6, A._EvaluateVisitor__performInterpolationHelper_closure2, A._EvaluateVisitor__withoutSlash_recommendation2, A._EvaluateVisitor__stackFrame_closure2, A._ImportedCssVisitor_visitCssAtRule_closure2, A._ImportedCssVisitor_visitCssMediaRule_closure2, A._ImportedCssVisitor_visitCssStyleRule_closure2, A._ImportedCssVisitor_visitCssSupportsRule_closure2, A.AsyncImportCache_humanize_closure3, A.AsyncImportCache_humanize_closure4, A.AsyncImportCache_humanize_closure5, A.AsyncImportCache_humanize_closure6, A.booleanClass__closure, A.legacyBooleanClass__closure, A.legacyBooleanClass__closure0, A.BuiltInCallable$mixin_closure0, A.calculationClass__closure, A.calculationClass__closure0, A.calculationClass__closure1, A.calculationClass__closure2, A.calculationClass__closure3, A.calculationClass__closure4, A.calculationClass__closure5, A.calculationOperationClass__closure, A.calculationOperationClass___closure, A.calculationOperationClass__closure1, A.calculationOperationClass__closure2, A.calculationOperationClass__closure3, A.calculationOperationClass__closure4, A.calculationInterpolationClass__closure1, A.calculationInterpolationClass__closure2, A.SassCalculation__verifyLength_closure0, A.updateCanonicalizeContextPrototype_closure, A.updateCanonicalizeContextPrototype_closure0, A.global_closure32, A.global_closure33, A.global_closure34, A.global_closure35, A.global_closure36, A.global_closure37, A.global_closure38, A.global_closure39, A.global_closure40, A.global_closure41, A.global_closure42, A.global_closure43, A.global_closure44, A.global_closure45, A.global_closure46, A.global_closure47, A.global_closure48, A.global_closure49, A.global_closure50, A.global_closure51, A.global_closure52, A.global_closure53, A.global_closure54, A.global_closure55, A.global_closure56, A.global_closure57, A.global__closure0, A.global_closure58, A.module_closure12, A.module_closure13, A.module_closure14, A.module_closure15, A.module_closure16, A.module_closure17, A.module_closure18, A.module_closure19, A.module__closure4, A.module_closure20, A._red_closure0, A._green_closure0, A._blue_closure0, A._mix_closure0, A._hue_closure0, A._saturation_closure0, A._lightness_closure0, A._complement_closure0, A._adjust_closure0, A._scale_closure0, A._change_closure0, A._ieHexStr_closure0, A._ieHexStr_closure_hexString0, A._updateComponents_getParam0, A._updateComponents_closure1, A._updateComponents_closure2, A._updateComponents_updateValue0, A._functionString_closure0, A._removedColorFunction_closure0, A._rgb_closure0, A._hsl_closure0, A._hwb_closure0, A._parseChannels_closure0, A.colorClass__closure1, A.colorClass__closure2, A.colorClass__closure3, A.colorClass__closure4, A.colorClass__closure5, A.colorClass__closure6, A.colorClass__closure7, A.colorClass__closure8, A.colorClass__closure9, A.legacyColorClass_closure, A.legacyColorClass_closure0, A.legacyColorClass_closure1, A.legacyColorClass_closure2, A.legacyColorClass_closure3, A.SassColor_SassColor$hwb_toRgb0, A.compileAsync__closure, A.compileStringAsync__closure, A.compileStringAsync__closure0, A._wrapAsyncSassExceptions_closure, A._parseFunctions__closure2, A._parseFunctions__closure3, A.nodePackageImporterClass__closure, A._compileStylesheet_closure1, A.AsyncCompiler_addCompilation_closure, A.compilerClass__closure, A.compilerClass__closure0, A.compilerClass__closure1, A.compilerClass__closure2, A.asyncCompilerClass__closure, A.asyncCompilerClass__closure0, A.asyncCompilerClass__closure1, A.asyncCompilerClass__closure2, A.ComplexSelectorComponent_toString_closure0, A._disallowedFunctionNames_closure0, A.Deprecation_fromId_closure0, A.DeprecationProcessingLogger_summarize_closure1, A.DeprecationProcessingLogger_summarize_closure2, A.versionClass__closure, A.versionClass__closure0, A.EachRule_toString_closure0, A.Environment__getVariableFromGlobalModule_closure0, A.Environment_setVariable_closure3, A.Environment__getFunctionFromGlobalModule_closure0, A.Environment__getMixinFromGlobalModule_closure0, A.Environment_toModule_closure0, A.Environment_toDummyModule_closure0, A._EnvironmentModule__EnvironmentModule_closure11, A._EnvironmentModule__EnvironmentModule_closure12, A._EnvironmentModule__EnvironmentModule_closure13, A._EnvironmentModule__EnvironmentModule_closure14, A._EnvironmentModule__EnvironmentModule_closure15, A._EnvironmentModule__EnvironmentModule_closure16, A._EvaluateVisitor_closure25, A._EvaluateVisitor_closure26, A._EvaluateVisitor_closure27, A._EvaluateVisitor_closure28, A._EvaluateVisitor_closure29, A._EvaluateVisitor_closure30, A._EvaluateVisitor_closure31, A._EvaluateVisitor_closure32, A._EvaluateVisitor_closure33, A._EvaluateVisitor_closure34, A._EvaluateVisitor_closure35, A._EvaluateVisitor_closure36, A._EvaluateVisitor_closure37, A._EvaluateVisitor__loadModule__closure3, A._EvaluateVisitor__combineCss_closure3, A._EvaluateVisitor__combineCss_closure4, A._EvaluateVisitor__combineCss_visitModule1, A._EvaluateVisitor__extendModules_closure3, A._EvaluateVisitor__scopeForAtRoot_closure11, A._EvaluateVisitor__scopeForAtRoot_closure12, A._EvaluateVisitor__scopeForAtRoot_closure13, A._EvaluateVisitor__scopeForAtRoot_closure14, A._EvaluateVisitor__scopeForAtRoot_closure15, A._EvaluateVisitor__scopeForAtRoot_closure16, A._EvaluateVisitor_visitEachRule_closure5, A._EvaluateVisitor_visitEachRule_closure6, A._EvaluateVisitor_visitEachRule__closure1, A._EvaluateVisitor_visitEachRule___closure1, A._EvaluateVisitor_visitAtRule_closure5, A._EvaluateVisitor_visitAtRule_closure7, A._EvaluateVisitor_visitForRule__closure1, A._EvaluateVisitor_visitIfRule_closure1, A._EvaluateVisitor_visitIfRule___closure1, A._EvaluateVisitor__visitDynamicImport__closure7, A._EvaluateVisitor__visitDynamicImport__closure8, A._EvaluateVisitor__visitDynamicImport__closure9, A._EvaluateVisitor_visitIncludeRule_closure6, A._EvaluateVisitor_visitMediaRule_closure5, A._EvaluateVisitor_visitMediaRule_closure7, A._EvaluateVisitor_visitStyleRule_closure10, A._EvaluateVisitor_visitStyleRule_closure11, A._EvaluateVisitor_visitStyleRule_closure13, A._EvaluateVisitor_visitSupportsRule_closure4, A._EvaluateVisitor_visitWhileRule__closure1, A._EvaluateVisitor__slash_recommendation1, A._EvaluateVisitor_visitListExpression_closure1, A._EvaluateVisitor_visitFunctionExpression_closure6, A._EvaluateVisitor__checkCalculationArguments_check1, A._EvaluateVisitor__runUserDefinedCallable____closure1, A._EvaluateVisitor__runBuiltInCallable_closure7, A._EvaluateVisitor__evaluateArguments_closure7, A._EvaluateVisitor__evaluateArguments_closure8, A._EvaluateVisitor__evaluateArguments_closure10, A._EvaluateVisitor__evaluateMacroArguments_closure7, A._EvaluateVisitor__evaluateMacroArguments_closure8, A._EvaluateVisitor__evaluateMacroArguments_closure10, A._EvaluateVisitor_visitCssAtRule_closure4, A._EvaluateVisitor_visitCssKeyframeBlock_closure4, A._EvaluateVisitor_visitCssMediaRule_closure5, A._EvaluateVisitor_visitCssMediaRule_closure7, A._EvaluateVisitor_visitCssStyleRule_closure3, A._EvaluateVisitor_visitCssSupportsRule_closure4, A._EvaluateVisitor__performInterpolationHelper_closure1, A._EvaluateVisitor__withoutSlash_recommendation1, A._EvaluateVisitor__stackFrame_closure1, A._ImportedCssVisitor_visitCssAtRule_closure1, A._ImportedCssVisitor_visitCssMediaRule_closure1, A._ImportedCssVisitor_visitCssStyleRule_closure1, A._ImportedCssVisitor_visitCssSupportsRule_closure1, A.EveryCssVisitor_visitCssAtRule_closure0, A.EveryCssVisitor_visitCssKeyframeBlock_closure0, A.EveryCssVisitor_visitCssMediaRule_closure0, A.EveryCssVisitor_visitCssStyleRule_closure0, A.EveryCssVisitor_visitCssStylesheet_closure0, A.EveryCssVisitor_visitCssSupportsRule_closure0, A.exceptionClass__closure, A.exceptionClass__closure0, A.exceptionClass__closure1, A._IsCalculationSafeVisitor_visitListExpression_closure0, A.ExtensionStore_extensionsWhereTarget_closure0, A.ExtensionStore__extendComplex_closure0, A.ExtensionStore__extendComplex__closure0, A.ExtensionStore__extendCompound_closure2, A.ExtensionStore__extendCompound_closure3, A.ExtensionStore__extendCompound_closure4, A.ExtensionStore__extendSimple_withoutPseudo0, A.ExtensionStore__extendSimple_closure1, A.ExtensionStore__extendSimple_closure2, A.ExtensionStore__extendPseudo_closure4, A.ExtensionStore__extendPseudo_closure5, A.ExtensionStore__extendPseudo_closure6, A.ExtensionStore__extendPseudo_closure7, A.ExtensionStore__extendPseudo_closure8, A.ExtensionStore__trim_closure1, A.ExtensionStore__trim_closure2, A.FilesystemImporter_canonicalize_closure0, A.functionClass__closure, A.functionClass__closure0, A.unifyComplex_closure0, A._weaveParents_closure4, A._weaveParents_closure5, A._weaveParents_closure6, A._mustUnify_closure0, A._mustUnify__closure0, A.paths__closure0, A.paths___closure0, A.listIsSuperselector_closure0, A.listIsSuperselector__closure0, A.complexIsSuperselector_closure1, A.complexIsSuperselector_closure2, A._compatibleWithPreviousCombinator_closure0, A._selectorPseudoIsSuperselector_closure6, A._selectorPseudoIsSuperselector_closure7, A._selectorPseudoIsSuperselector_closure8, A._selectorPseudoIsSuperselector_closure9, A._selectorPseudoIsSuperselector_closure10, A._selectorPseudoIsSuperselector__closure0, A._selectorPseudoIsSuperselector___closure1, A._selectorPseudoIsSuperselector___closure2, A._selectorPseudoIsSuperselector_closure11, A._selectorPseudoIsSuperselector_closure12, A._selectorPseudoArgs_closure1, A._selectorPseudoArgs_closure2, A.globalFunctions_closure0, A.IDSelector_unify_closure0, A.IfRuleClause$__closure0, A.IfRuleClause$___closure0, A.immutableMapToDartMap_closure, A.NodeImporter__tryPath_closure0, A.ImportCache_humanize_closure3, A.ImportCache_humanize_closure4, A.ImportCache_humanize_closure5, A.ImportCache_humanize_closure6, A.Interpolation_toString_closure0, A.InterpolationMap_mapException_closure0, A._realCasePath_helper0, A._realCasePath_helper__closure0, A.listDir__closure1, A.listDir__closure2, A.listDir_closure_list0, A.listDir__list_closure0, A.render_closure0, A._parseFunctions__closure, A._parseFunctions___closure2, A._parseFunctions__closure0, A._parseFunctions__closure1, A._parseFunctions___closure, A._parseImporter_closure, A._parseImporter__closure, A._parseImporter___closure, A.ListExpression_toString_closure0, A._length_closure2, A._nth_closure0, A._setNth_closure0, A._join_closure0, A._append_closure2, A._zip_closure0, A._zip__closure2, A._zip__closure3, A._zip__closure4, A._index_closure2, A._separator_closure0, A._isBracketed_closure0, A._slash_closure0, A.SelectorList_asSassList_closure0, A.SelectorList_nestWithin_closure0, A.SelectorList_nestWithin__closure1, A.SelectorList_nestWithin__closure2, A.SelectorList__nestWithinCompound_closure2, A.SelectorList__nestWithinCompound_closure3, A.SelectorList__nestWithinCompound_closure4, A.SelectorList_withAdditionalCombinators_closure0, A.listClass__closure, A.legacyListClass_closure, A.legacyListClass__closure, A.legacyListClass_closure1, A.legacyListClass_closure2, A.legacyListClass_closure4, A.SassList_isBlank_closure0, A._get_closure0, A._set_closure1, A._set__closure2, A._set_closure2, A._set__closure1, A._merge_closure1, A._merge_closure2, A._merge__closure0, A._deepMerge_closure0, A._deepRemove_closure0, A._deepRemove__closure0, A._remove_closure1, A._remove_closure2, A._keys_closure0, A._values_closure0, A._hasKey_closure0, A._modify_modifyNestedMap0, A.MapExtensions_get_pairs_closure0, A.mapClass__closure, A.mapClass__closure0, A.legacyMapClass_closure, A.legacyMapClass__closure, A.legacyMapClass__closure0, A.legacyMapClass_closure2, A.legacyMapClass_closure3, A.legacyMapClass_closure4, A.global_closure31, A.module_closure11, A._ceil_closure0, A._clamp_closure0, A._floor_closure0, A._max_closure0, A._min_closure0, A._round_closure0, A._hypot_closure0, A._hypot__closure0, A._log_closure0, A._pow_closure0, A._atan2_closure0, A._compatible_closure0, A._isUnitless_closure0, A._unit_closure0, A._percentage_closure0, A._randomFunction_closure0, A._div_closure0, A._singleArgumentMathFunc_closure0, A._numberFunction_closure0, A.global_closure59, A.global_closure60, A.global_closure61, A.global_closure62, A.local_closure2, A.local_closure3, A.local__closure0, A.local_closure4, A.mixinClass__closure, A.mixinClass__closure0, A.ModifiableCssNode_hasFollowingSibling_closure0, A.NodePackageImporter__nodePackageExportsResolve_closure3, A.NodePackageImporter__nodePackageExportsResolve_closure4, A.NodePackageImporter__nodePackageExportsResolve_closure5, A.NodePackageImporter__nodePackageExportsResolve_closure6, A.NodePackageImporter__nodePackageExportsResolve__closure1, A.NodePackageImporter__nodePackageExportsResolve__closure2, A.NodePackageImporter__getMainExport_closure0, A.legacyNullClass__closure, A.numberClass__closure, A.numberClass__closure0, A.numberClass__closure1, A.numberClass__closure2, A.numberClass__closure3, A.numberClass__closure4, A.numberClass__closure5, A.numberClass__closure6, A.numberClass__closure7, A.numberClass__closure8, A.numberClass__closure9, A.numberClass__closure12, A.numberClass__closure13, A.numberClass__closure14, A.numberClass__closure15, A.numberClass__closure16, A.numberClass__closure17, A.numberClass__closure18, A.numberClass__closure19, A.legacyNumberClass_closure, A.legacyNumberClass_closure0, A.legacyNumberClass_closure2, A._parseNumber_closure, A._parseNumber_closure0, A.SassNumber__coerceOrConvertValue_closure3, A.SassNumber__coerceOrConvertValue_closure5, A.SassNumber_multiplyUnits_closure3, A.SassNumber_multiplyUnits_closure5, A.SassNumber__areAnyConvertible_closure0, A.SassNumber__canonicalizeUnitList_closure0, A.SassNumber_unitSuggestion_closure1, A.SassNumber_unitSuggestion_closure2, A.ParentStatement_closure0, A.ParentStatement__closure0, A.Parser_escape_closure0, A.Parser_scanIdentChar_matches0, A._PrefixedKeys_iterator_closure0, A.PseudoSelector_specificity__closure1, A.PseudoSelector_specificity__closure2, A.PseudoSelector_unify_closure0, A.JSClassExtension_setCustomInspect_closure, A.ReplaceExpressionVisitor_visitListExpression_closure0, A.ReplaceExpressionVisitor_visitArgumentInvocation_closure0, A.ReplaceExpressionVisitor_visitInterpolation_closure0, A.SassParser_styleRuleSelector_closure0, A.SassParser__peekIndentation_closure1, A.SassParser__peekIndentation_closure2, A._wrapMain_closure, A._wrapMain_closure0, A._IsBogusVisitor_visitComplexSelector_closure0, A._IsUselessVisitor_visitComplexSelector_closure0, A._nest_closure0, A._nest__closure1, A._append_closure1, A._append__closure1, A._append___closure0, A._extend_closure0, A._replace_closure0, A._unify_closure0, A._isSuperselector_closure0, A._simpleSelectors_closure0, A._simpleSelectors__closure0, A._parse_closure0, A.SelectorSearchVisitor_visitComplexSelector_closure0, A.SelectorSearchVisitor_visitCompoundSelector_closure0, A.serialize_closure0, A._SerializeVisitor_visitList_closure2, A._SerializeVisitor_visitList_closure3, A._SerializeVisitor_visitList_closure4, A._SerializeVisitor_visitMap_closure0, A._SerializeVisitor_visitSelectorList_closure0, A.SimpleSelector_isSuperselector_closure0, A.SimpleSelector_isSuperselector__closure0, A.SingleUnitSassNumber__coerceToUnit_closure0, A.SingleUnitSassNumber__coerceValueToUnit_closure0, A.SingleUnitSassNumber_multiplyUnits_closure1, A.SourceMapBuffer_buildSourceMap_closure0, A.updateSourceSpanPrototype_closure0, A.updateSourceSpanPrototype_closure1, A.updateSourceSpanPrototype_closure2, A.updateSourceSpanPrototype_closure3, A.updateSourceSpanPrototype_closure4, A.updateSourceSpanPrototype_closure5, A.updateSourceSpanPrototype_closure6, A.StatementSearchVisitor_visitIfRule_closure1, A.StatementSearchVisitor_visitIfRule__closure2, A.StatementSearchVisitor_visitIfRule_closure2, A.StatementSearchVisitor_visitIfRule__closure1, A.StatementSearchVisitor_visitChildren_closure0, A.module_closure10, A.module__closure2, A.module__closure3, A._unquote_closure0, A._quote_closure0, A._length_closure1, A._insert_closure0, A._index_closure1, A._slice_closure0, A._toUpperCase_closure0, A._toLowerCase_closure0, A._uniqueId_closure0, A.stringClass__closure, A.stringClass__closure0, A.stringClass__closure1, A.stringClass__closure2, A.stringClass__closure3, A.legacyStringClass_closure, A.legacyStringClass_closure0, A.StylesheetParser_parse__closure2, A.StylesheetParser__expression_addSingleExpression0, A.StylesheetParser__expression_addOperator0, A.StylesheetParser__isHexColor_closure0, A.StylesheetParser__unicodeRange_closure1, A.StylesheetParser__unicodeRange_closure2, A.StylesheetParser_trySpecialFunction_closure0, A._UnprefixedKeys_iterator_closure1, A._UnprefixedKeys_iterator_closure2, A._exactlyOne_closure0, A.futureToPromise__closure0, A.indent_closure0, A.flattenVertically_closure1, A.flattenVertically_closure2, A.valueClass__closure, A.valueClass__closure0, A.valueClass__closure1, A.valueClass__closure2, A.valueClass__closure3, A.valueClass__closure4, A.valueClass__closure5, A.valueClass__closure7, A.valueClass__closure8, A.valueClass__closure9, A.valueClass__closure10, A.valueClass__closure11, A.valueClass__closure12, A.valueClass__closure13, A.valueClass__closure14, A.valueClass__closure15, A.valueClass__closure17, A.valueClass__closure18]); - _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A._Future__chainForeignFuture_closure0, A.Stream_Stream$fromFuture_closure0, A._AddStreamState_makeErrorHandler_closure, A._HashMap_addAll_closure, A.HashMap_HashMap$from_closure, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_addAll_closure, A.MapBase_mapToString_closure, A._JsonMap_addAll_closure, A._JsonStringifier_writeMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.Parser_parse_closure, A.FutureGroup_add_closure0, A.StreamQueue__ensureListening_closure1, A.futureToPromise_closure, A.PathMap__create_closure, A.IfRule_toString_closure, A.ComplexSelector_specificity_closure, A.CompoundSelector_specificity_closure, A.ExtensionStore_clone_closure, A._weaveParents_closure, A.paths_closure, A._updateComponents_updateRgb, A._nest__closure0, A._append__closure0, A.ImportCache_clearCanonicalize_closure, A.StylesheetParser__styleRule_closure, A.StylesheetParser__tryDeclarationChildren_closure, A.StylesheetParser__atRootRule_closure, A.StylesheetParser__atRootRule_closure0, A.StylesheetParser__eachRule_closure, A.StylesheetParser__functionRule_closure, A.StylesheetParser__forRule_closure0, A.StylesheetParser__includeRule_closure, A.StylesheetParser_mediaRule_closure, A.StylesheetParser__mixinRule_closure, A.StylesheetParser_mozDocumentRule_closure, A.StylesheetParser_supportsRule_closure, A.StylesheetParser__whileRule_closure, A.StylesheetParser_unknownAtRule_closure, A.longestCommonSubsequence_backtrack, A.mapAddAll2_closure, A.SassNumber_plus_closure, A.SassNumber_minus_closure, A.SassNumber__canonicalMultiplier_closure, A._EvaluateVisitor__closure3, A._EvaluateVisitor__closure4, A._EvaluateVisitor_visitForwardRule_closure1, A._EvaluateVisitor_visitForwardRule_closure2, A._EvaluateVisitor_visitUseRule_closure0, A._EvaluateVisitor__evaluateArguments_closure5, A._EvaluateVisitor__evaluateMacroArguments_closure5, A._EvaluateVisitor__addRestMap_closure0, A._EvaluateVisitor__closure, A._EvaluateVisitor__closure0, A._EvaluateVisitor_visitForwardRule_closure, A._EvaluateVisitor_visitForwardRule_closure0, A._EvaluateVisitor_visitUseRule_closure, A._EvaluateVisitor__evaluateArguments_closure1, A._EvaluateVisitor__evaluateMacroArguments_closure1, A._EvaluateVisitor__addRestMap_closure, A.SingleMapping_toJson_closure0, A.Highlighter__collateLines_closure0, A.Frame_Frame$parseV8_closure_parseLocation, A.TransformByHandlers_transformByHandlers__closure1, A.RateLimit__debounceAggregate_closure, A._EvaluateVisitor__closure11, A._EvaluateVisitor__closure12, A._EvaluateVisitor_visitForwardRule_closure5, A._EvaluateVisitor_visitForwardRule_closure6, A._EvaluateVisitor_visitUseRule_closure2, A._EvaluateVisitor__evaluateArguments_closure13, A._EvaluateVisitor__evaluateMacroArguments_closure13, A._EvaluateVisitor__addRestMap_closure2, A.calculationOperationClass__closure0, A.calculationInterpolationClass__closure, A.calculationInterpolationClass__closure0, A._updateComponents_updateRgb0, A.colorClass__closure, A.colorClass__closure0, A.legacyColorClass_closure4, A.legacyColorClass_closure5, A.legacyColorClass_closure6, A.legacyColorClass_closure7, A._parseFunctions_closure0, A.ComplexSelector_specificity_closure0, A.CompoundSelector_specificity_closure0, A._EvaluateVisitor__closure7, A._EvaluateVisitor__closure8, A._EvaluateVisitor_visitForwardRule_closure3, A._EvaluateVisitor_visitForwardRule_closure4, A._EvaluateVisitor_visitUseRule_closure1, A._EvaluateVisitor__evaluateArguments_closure9, A._EvaluateVisitor__evaluateMacroArguments_closure9, A._EvaluateVisitor__addRestMap_closure1, A.ExtensionStore_clone_closure0, A._weaveParents_closure3, A.paths_closure0, A.IfRule_toString_closure0, A.main_closure, A.main_closure0, A.render_closure1, A._parseFunctions_closure, A.listClass__closure0, A.legacyListClass_closure0, A.legacyListClass_closure3, A.mapClass__closure1, A.legacyMapClass_closure0, A.legacyMapClass_closure1, A.numberClass__closure10, A.numberClass__closure11, A.legacyNumberClass_closure1, A.legacyNumberClass_closure3, A.SassNumber_plus_closure0, A.SassNumber_minus_closure0, A.SassNumber__canonicalMultiplier_closure0, A.JSClassExtension_get_defineStaticMethod_closure, A.JSClassExtension_get_defineMethod_closure, A.JSClassExtension_get_defineGetter_closure, A._nest__closure2, A._append__closure2, A.legacyStringClass_closure1, A.StylesheetParser__styleRule_closure0, A.StylesheetParser__tryDeclarationChildren_closure0, A.StylesheetParser__atRootRule_closure1, A.StylesheetParser__atRootRule_closure2, A.StylesheetParser__eachRule_closure0, A.StylesheetParser__functionRule_closure0, A.StylesheetParser__forRule_closure2, A.StylesheetParser__includeRule_closure0, A.StylesheetParser_mediaRule_closure0, A.StylesheetParser__mixinRule_closure0, A.StylesheetParser_mozDocumentRule_closure0, A.StylesheetParser_supportsRule_closure0, A.StylesheetParser__whileRule_closure0, A.StylesheetParser_unknownAtRule_closure0, A.futureToPromise_closure0, A.futureToPromise__closure1, A.objectToMap_closure, A.longestCommonSubsequence_backtrack0, A.mapAddAll2_closure0, A.valueClass__closure6, A.valueClass__closure16]); + _inheritMany(A.Closure, [A.Closure2Args, A.CastMap_entries_closure, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.JsLinkedHashMap_values_closure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A.Future_wait_closure, A._Future__chainForeignFuture_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A.Stream_Stream$fromFuture_closure, A.Stream_length_closure, A._CustomZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallback_closure, A._HashMap_values_closure, A._LinkedCustomHashMap_closure, A.MapBase_entries_closure, A._JsonMap_values_closure, A._Uri__makePath_closure, A._createTables_setChars, A._createTables_setRange, A.jsify__convert, A.promiseToFuture_closure1, A.promiseToFuture_closure2, A.ArgParser__addOption_closure, A._Usage__writeOption_closure, A._Usage__buildAllowedList_closure, A.FutureGroup_add_closure, A.StreamGroup__onListen_closure, A.StreamGroup__onCancel_closure, A.StreamQueue__ensureListening_closure, A.alwaysValid_closure, A.ReplAdapter_runAsync__closure, A.UnionSet__iterable_closure, A.UnionSet_contains_closure, A.MapKeySet_difference_closure, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.futureToPromise__closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.ParsedPath__splitExtension_closure, A.PathMap__create_closure0, A.PathMap__create_closure1, A.WindowsStyle_absolutePathToUri_closure, A.Version__splitParts_closure, A.ModifiableCssNode_hasFollowingSibling_closure, A.ArgumentDeclaration_verify_closure, A.ArgumentDeclaration_verify_closure0, A.ListExpression_toString_closure, A.Interpolation_toString_closure, A.EachRule_toString_closure, A.IfRuleClause$__closure, A.IfRuleClause$___closure, A.ParentStatement_closure, A.ParentStatement__closure, A._IsBogusVisitor_visitComplexSelector_closure, A._IsUselessVisitor_visitComplexSelector_closure, A.ComplexSelectorComponent_toString_closure, A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure, A.IDSelector_unify_closure, A.SelectorList_asSassList_closure, A.SelectorList_nestWithin_closure, A.SelectorList_nestWithin__closure, A.SelectorList_nestWithin__closure0, A.SelectorList__nestWithinCompound_closure, A.SelectorList__nestWithinCompound_closure0, A.SelectorList__nestWithinCompound_closure1, A.SelectorList_withAdditionalCombinators_closure, A.PseudoSelector_specificity__closure, A.PseudoSelector_specificity__closure0, A.PseudoSelector_unify_closure, A.SimpleSelector_isSuperselector_closure, A.SimpleSelector_isSuperselector__closure, A._compileStylesheet_closure0, A.AsyncEnvironment__getVariableFromGlobalModule_closure, A.AsyncEnvironment_setVariable_closure0, A.AsyncEnvironment__getFunctionFromGlobalModule_closure, A.AsyncEnvironment__getMixinFromGlobalModule_closure, A.AsyncEnvironment_toModule_closure, A.AsyncEnvironment_toDummyModule_closure, A._EnvironmentModule__EnvironmentModule_closure5, A._EnvironmentModule__EnvironmentModule_closure6, A._EnvironmentModule__EnvironmentModule_closure7, A._EnvironmentModule__EnvironmentModule_closure8, A._EnvironmentModule__EnvironmentModule_closure9, A._EnvironmentModule__EnvironmentModule_closure10, A.AsyncImportCache_humanize_closure, A.AsyncImportCache_humanize_closure0, A.AsyncImportCache_humanize_closure1, A.AsyncImportCache_humanize_closure2, A.AsyncBuiltInCallable$mixin_closure, A.AsyncBuiltInCallable_withDeprecationWarning_closure, A.BuiltInCallable$mixin_closure, A.BuiltInCallable_withDeprecationWarning_closure, A._compileStylesheet_closure, A.Deprecation_fromId_closure, A.Environment__getVariableFromGlobalModule_closure, A.Environment_setVariable_closure0, A.Environment__getFunctionFromGlobalModule_closure, A.Environment__getMixinFromGlobalModule_closure, A.Environment_toModule_closure, A.Environment_toDummyModule_closure, A._EnvironmentModule__EnvironmentModule_closure, A._EnvironmentModule__EnvironmentModule_closure0, A._EnvironmentModule__EnvironmentModule_closure1, A._EnvironmentModule__EnvironmentModule_closure2, A._EnvironmentModule__EnvironmentModule_closure3, A._EnvironmentModule__EnvironmentModule_closure4, A._writeSourceMap_closure, A.ExecutableOptions_emitErrorCss_closure, A.repl_warn, A.watch_closure, A._Watcher__debounceEvents_closure, A.ExtensionStore_extensionsWhereTarget_closure, A.ExtensionStore__extendComplex_closure, A.ExtensionStore__extendComplex__closure, A.ExtensionStore__extendCompound_closure, A.ExtensionStore__extendCompound_closure0, A.ExtensionStore__extendCompound_closure1, A.ExtensionStore__extendSimple_withoutPseudo, A.ExtensionStore__extendSimple_closure, A.ExtensionStore__extendSimple_closure0, A.ExtensionStore__extendPseudo_closure, A.ExtensionStore__extendPseudo_closure0, A.ExtensionStore__extendPseudo_closure1, A.ExtensionStore__extendPseudo_closure2, A.ExtensionStore__extendPseudo_closure3, A.ExtensionStore__trim_closure, A.ExtensionStore__trim_closure0, A.unifyComplex_closure, A._weaveParents_closure0, A._weaveParents_closure1, A._weaveParents_closure2, A._mustUnify_closure, A._mustUnify__closure, A.paths__closure, A.paths___closure, A.listIsSuperselector_closure, A.listIsSuperselector__closure, A.complexIsSuperselector_closure, A.complexIsSuperselector_closure0, A._compatibleWithPreviousCombinator_closure, A.compoundIsSuperselector_closure, A._selectorPseudoIsSuperselector_closure, A._selectorPseudoIsSuperselector_closure0, A._selectorPseudoIsSuperselector_closure1, A._selectorPseudoIsSuperselector_closure2, A._selectorPseudoIsSuperselector_closure3, A._selectorPseudoIsSuperselector__closure, A._selectorPseudoIsSuperselector___closure, A._selectorPseudoIsSuperselector___closure0, A._selectorPseudoIsSuperselector_closure4, A._selectorPseudoIsSuperselector_closure5, A._selectorPseudoArgs_closure, A._selectorPseudoArgs_closure0, A.globalFunctions_closure, A.global_closure0, A.global_closure1, A.global_closure2, A.global_closure3, A.global_closure4, A.global_closure5, A.global_closure6, A.global_closure7, A.global_closure8, A.global_closure9, A.global_closure10, A.global_closure11, A.global_closure12, A.global_closure13, A.global_closure14, A.global_closure15, A.global_closure16, A.global_closure17, A.global_closure18, A.global_closure19, A.global_closure20, A.global_closure21, A.global_closure22, A.global_closure23, A.global_closure24, A.global_closure25, A.global_closure26, A.global_closure27, A.global_closure28, A.global_closure29, A.global_closure30, A.global_closure31, A.global_closure32, A.global_closure33, A.global_closure34, A.global_closure35, A.global__closure, A.global_closure36, A.global_closure37, A.global_closure38, A.global_closure39, A.global_closure40, A.global_closure41, A.global_closure42, A.module_closure1, A.module_closure2, A.module_closure3, A.module_closure4, A.module_closure5, A.module_closure6, A.module_closure7, A.module_closure8, A.module_closure9, A.module_closure10, A.module_closure11, A.module_closure12, A.module_closure13, A.module_closure14, A.module__closure2, A.module_closure15, A.module_closure16, A.module_closure17, A.module_closure18, A.module_closure19, A.module_closure20, A.module_closure21, A.module_closure22, A.module__closure1, A.module_closure23, A.module_closure_toXyzNoMissing, A.module_closure24, A._mix_closure, A._complement_closure, A._adjust_closure, A._scale_closure, A._change_closure, A._ieHexStr_closure, A._ieHexStr_closure_hexString, A._updateComponents_closure, A._updateComponents_closure0, A._adjustColor_closure, A._functionString_closure, A._removedColorFunction_closure, A._rgb_closure, A._hsl_closure, A._parseChannels_closure, A._parseChannels_closure0, A._colorFromChannels_closure, A._colorFromChannels_closure0, A._channelFromValue_closure, A._channelFunction_closure, A._suggestScaleAndAdjust_closure, A._length_closure0, A._nth_closure, A._setNth_closure, A._join_closure, A._append_closure0, A._zip_closure, A._zip__closure, A._zip__closure0, A._zip__closure1, A._index_closure0, A._separator_closure, A._isBracketed_closure, A._slash_closure, A._get_closure, A._set_closure, A._set__closure0, A._set_closure0, A._set__closure, A._merge_closure, A._merge_closure0, A._merge__closure, A._deepMerge_closure, A._deepRemove_closure, A._deepRemove__closure, A._remove_closure, A._remove_closure0, A._keys_closure, A._values_closure, A._hasKey_closure, A._modify_modifyNestedMap, A.global_closure, A.module_closure0, A._ceil_closure, A._clamp_closure, A._floor_closure, A._max_closure, A._min_closure, A._round_closure, A._hypot_closure, A._hypot__closure, A._log_closure, A._pow_closure, A._atan2_closure, A._compatible_closure, A._isUnitless_closure, A._unit_closure, A._percentage_closure, A._randomFunction_closure, A._div_closure, A._singleArgumentMathFunc_closure, A._numberFunction_closure, A._shared_closure, A._shared_closure0, A._shared_closure1, A._shared_closure2, A.moduleFunctions_closure, A.moduleFunctions_closure0, A.moduleFunctions__closure, A.moduleFunctions_closure1, A._nest_closure, A._nest__closure, A._append_closure, A._append__closure, A._append___closure, A._extend_closure, A._replace_closure, A._unify_closure, A._isSuperselector_closure, A._simpleSelectors_closure, A._simpleSelectors__closure, A._parse_closure, A.module_closure, A.module__closure, A.module__closure0, A._unquote_closure, A._quote_closure, A._length_closure, A._insert_closure, A._index_closure, A._slice_closure, A._toUpperCase_closure, A._toLowerCase_closure, A._uniqueId_closure, A.ImportCache_humanize_closure, A.ImportCache_humanize_closure0, A.ImportCache_humanize_closure1, A.ImportCache_humanize_closure2, A.FilesystemImporter_canonicalize_closure, A.NodePackageImporter__nodePackageExportsResolve_closure, A.NodePackageImporter__nodePackageExportsResolve_closure0, A.NodePackageImporter__nodePackageExportsResolve_closure1, A.NodePackageImporter__nodePackageExportsResolve_closure2, A.NodePackageImporter__nodePackageExportsResolve__closure, A.NodePackageImporter__nodePackageExportsResolve__closure0, A.NodePackageImporter__getMainExport_closure, A._exactlyOne_closure, A.InterpolationMap_mapException_closure, A._realCasePath_helper, A._realCasePath_helper__closure, A.readStdin_closure, A.readStdin_closure0, A.readStdin_closure1, A.readStdin_closure2, A.listDir__closure, A.listDir__closure0, A.listDir_closure_list, A.listDir__list_closure, A.watchDir_closure, A.watchDir_closure0, A.watchDir_closure1, A.watchDir_closure2, A.DeprecationProcessingLogger_summarize_closure, A.DeprecationProcessingLogger_summarize_closure0, A._disallowedFunctionNames_closure, A.Parser_escape_closure, A.Parser_scanIdentChar_matches, A.SassParser_styleRuleSelector_closure, A.SassParser__peekIndentation_closure, A.SassParser__peekIndentation_closure0, A.StylesheetParser_parse__closure0, A.StylesheetParser__expression_addSingleExpression, A.StylesheetParser__expression_addOperator, A.StylesheetParser__isHexColor_closure, A.StylesheetParser__unicodeRange_closure, A.StylesheetParser__unicodeRange_closure0, A.StylesheetParser_trySpecialFunction_closure, A.StylesheetGraph_modifiedSince_transitiveModificationTime, A.MapExtensions_get_pairs_closure, A._PrefixedKeys_iterator_closure, A.SourceMapBuffer_buildSourceMap_closure, A._UnprefixedKeys_iterator_closure, A._UnprefixedKeys_iterator_closure0, A.indent_closure, A.flattenVertically_closure, A.flattenVertically_closure0, A.SassCalculation__verifyLength_closure, A.SassColor$_forSpace_closure, A.HwbColorSpace_convert_toRgb, A.SassList_isBlank_closure, A.SassNumber__coerceOrConvertValue_closure, A.SassNumber__coerceOrConvertValue_closure1, A.SassNumber_multiplyUnits_closure, A.SassNumber_multiplyUnits_closure1, A.SassNumber__areAnyConvertible_closure, A.SassNumber__canonicalizeUnitList_closure, A.SassNumber_unitSuggestion_closure, A.SassNumber_unitSuggestion_closure0, A.SingleUnitSassNumber__coerceToUnit_closure, A.SingleUnitSassNumber__coerceValueToUnit_closure, A.SingleUnitSassNumber_multiplyUnits_closure, A.AnySelectorVisitor_visitComplexSelector_closure, A.AnySelectorVisitor_visitCompoundSelector_closure, A._EvaluateVisitor_closure12, A._EvaluateVisitor_closure13, A._EvaluateVisitor_closure14, A._EvaluateVisitor_closure15, A._EvaluateVisitor_closure16, A._EvaluateVisitor_closure17, A._EvaluateVisitor_closure18, A._EvaluateVisitor_closure19, A._EvaluateVisitor_closure20, A._EvaluateVisitor_closure21, A._EvaluateVisitor_closure22, A._EvaluateVisitor_closure23, A._EvaluateVisitor_closure24, A._EvaluateVisitor__loadModule__closure1, A._EvaluateVisitor__combineCss_closure1, A._EvaluateVisitor__combineCss_closure2, A._EvaluateVisitor__combineCss_visitModule0, A._EvaluateVisitor__extendModules_closure1, A._EvaluateVisitor__scopeForAtRoot_closure5, A._EvaluateVisitor__scopeForAtRoot_closure6, A._EvaluateVisitor__scopeForAtRoot_closure7, A._EvaluateVisitor__scopeForAtRoot_closure8, A._EvaluateVisitor__scopeForAtRoot_closure9, A._EvaluateVisitor__scopeForAtRoot_closure10, A._EvaluateVisitor_visitEachRule_closure2, A._EvaluateVisitor_visitEachRule_closure3, A._EvaluateVisitor_visitEachRule__closure0, A._EvaluateVisitor_visitEachRule___closure0, A._EvaluateVisitor_visitAtRule_closure2, A._EvaluateVisitor_visitAtRule_closure4, A._EvaluateVisitor_visitForRule__closure0, A._EvaluateVisitor_visitIfRule_closure0, A._EvaluateVisitor_visitIfRule___closure0, A._EvaluateVisitor__visitDynamicImport__closure3, A._EvaluateVisitor__visitDynamicImport__closure4, A._EvaluateVisitor__visitDynamicImport__closure5, A._EvaluateVisitor_visitIncludeRule_closure3, A._EvaluateVisitor_visitMediaRule_closure2, A._EvaluateVisitor_visitMediaRule_closure4, A._EvaluateVisitor_visitStyleRule_closure4, A._EvaluateVisitor_visitStyleRule_closure5, A._EvaluateVisitor__warnForBogusCombinators_closure0, A._EvaluateVisitor_visitSupportsRule_closure2, A._EvaluateVisitor_visitWhileRule__closure0, A._EvaluateVisitor__slash_recommendation0, A._EvaluateVisitor_visitListExpression_closure0, A._EvaluateVisitor_visitFunctionExpression_closure3, A._EvaluateVisitor__checkCalculationArguments_check0, A._EvaluateVisitor__runUserDefinedCallable____closure0, A._EvaluateVisitor__runBuiltInCallable_closure4, A._EvaluateVisitor__evaluateArguments_closure3, A._EvaluateVisitor__evaluateArguments_closure4, A._EvaluateVisitor__evaluateArguments_closure6, A._EvaluateVisitor__evaluateMacroArguments_closure3, A._EvaluateVisitor__evaluateMacroArguments_closure4, A._EvaluateVisitor__evaluateMacroArguments_closure6, A._EvaluateVisitor_visitCssAtRule_closure2, A._EvaluateVisitor_visitCssKeyframeBlock_closure2, A._EvaluateVisitor_visitCssMediaRule_closure2, A._EvaluateVisitor_visitCssMediaRule_closure4, A._EvaluateVisitor_visitCssStyleRule_closure1, A._EvaluateVisitor_visitCssSupportsRule_closure2, A._EvaluateVisitor__performInterpolationHelper_closure0, A._EvaluateVisitor__withoutSlash_recommendation0, A._EvaluateVisitor__stackFrame_closure0, A._ImportedCssVisitor_visitCssAtRule_closure0, A._ImportedCssVisitor_visitCssMediaRule_closure0, A._ImportedCssVisitor_visitCssStyleRule_closure0, A._ImportedCssVisitor_visitCssSupportsRule_closure0, A._EvaluateVisitor_closure, A._EvaluateVisitor_closure0, A._EvaluateVisitor_closure1, A._EvaluateVisitor_closure2, A._EvaluateVisitor_closure3, A._EvaluateVisitor_closure4, A._EvaluateVisitor_closure5, A._EvaluateVisitor_closure6, A._EvaluateVisitor_closure7, A._EvaluateVisitor_closure8, A._EvaluateVisitor_closure9, A._EvaluateVisitor_closure10, A._EvaluateVisitor_closure11, A._EvaluateVisitor__loadModule__closure, A._EvaluateVisitor__combineCss_closure, A._EvaluateVisitor__combineCss_closure0, A._EvaluateVisitor__combineCss_visitModule, A._EvaluateVisitor__extendModules_closure, A._EvaluateVisitor__scopeForAtRoot_closure, A._EvaluateVisitor__scopeForAtRoot_closure0, A._EvaluateVisitor__scopeForAtRoot_closure1, A._EvaluateVisitor__scopeForAtRoot_closure2, A._EvaluateVisitor__scopeForAtRoot_closure3, A._EvaluateVisitor__scopeForAtRoot_closure4, A._EvaluateVisitor_visitEachRule_closure, A._EvaluateVisitor_visitEachRule_closure0, A._EvaluateVisitor_visitEachRule__closure, A._EvaluateVisitor_visitEachRule___closure, A._EvaluateVisitor_visitAtRule_closure, A._EvaluateVisitor_visitAtRule_closure1, A._EvaluateVisitor_visitForRule__closure, A._EvaluateVisitor_visitIfRule_closure, A._EvaluateVisitor_visitIfRule___closure, A._EvaluateVisitor__visitDynamicImport__closure, A._EvaluateVisitor__visitDynamicImport__closure0, A._EvaluateVisitor__visitDynamicImport__closure1, A._EvaluateVisitor_visitIncludeRule_closure0, A._EvaluateVisitor_visitMediaRule_closure, A._EvaluateVisitor_visitMediaRule_closure1, A._EvaluateVisitor_visitStyleRule_closure0, A._EvaluateVisitor_visitStyleRule_closure1, A._EvaluateVisitor__warnForBogusCombinators_closure, A._EvaluateVisitor_visitSupportsRule_closure0, A._EvaluateVisitor_visitWhileRule__closure, A._EvaluateVisitor__slash_recommendation, A._EvaluateVisitor_visitListExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure0, A._EvaluateVisitor__checkCalculationArguments_check, A._EvaluateVisitor__runUserDefinedCallable____closure, A._EvaluateVisitor__runBuiltInCallable_closure1, A._EvaluateVisitor__evaluateArguments_closure, A._EvaluateVisitor__evaluateArguments_closure0, A._EvaluateVisitor__evaluateArguments_closure2, A._EvaluateVisitor__evaluateMacroArguments_closure, A._EvaluateVisitor__evaluateMacroArguments_closure0, A._EvaluateVisitor__evaluateMacroArguments_closure2, A._EvaluateVisitor_visitCssAtRule_closure0, A._EvaluateVisitor_visitCssKeyframeBlock_closure0, A._EvaluateVisitor_visitCssMediaRule_closure, A._EvaluateVisitor_visitCssMediaRule_closure1, A._EvaluateVisitor_visitCssStyleRule_closure, A._EvaluateVisitor_visitCssSupportsRule_closure0, A._EvaluateVisitor__performInterpolationHelper_closure, A._EvaluateVisitor__withoutSlash_recommendation, A._EvaluateVisitor__stackFrame_closure, A._ImportedCssVisitor_visitCssAtRule_closure, A._ImportedCssVisitor_visitCssMediaRule_closure, A._ImportedCssVisitor_visitCssStyleRule_closure, A._ImportedCssVisitor_visitCssSupportsRule_closure, A.EveryCssVisitor_visitCssAtRule_closure, A.EveryCssVisitor_visitCssKeyframeBlock_closure, A.EveryCssVisitor_visitCssMediaRule_closure, A.EveryCssVisitor_visitCssStyleRule_closure, A.EveryCssVisitor_visitCssStylesheet_closure, A.EveryCssVisitor_visitCssSupportsRule_closure, A.IsCalculationSafeVisitor_visitListExpression_closure, A.ReplaceExpressionVisitor_visitListExpression_closure, A.ReplaceExpressionVisitor_visitArgumentInvocation_closure, A.ReplaceExpressionVisitor_visitInterpolation_closure, A.SelectorSearchVisitor_visitComplexSelector_closure, A.SelectorSearchVisitor_visitCompoundSelector_closure, A.serialize_closure, A._SerializeVisitor_visitList_closure, A._SerializeVisitor_visitList_closure0, A._SerializeVisitor_visitList_closure1, A._SerializeVisitor_visitMap_closure, A._SerializeVisitor_visitSelectorList_closure, A.StatementSearchVisitor_visitIfRule_closure, A.StatementSearchVisitor_visitIfRule__closure0, A.StatementSearchVisitor_visitIfRule_closure0, A.StatementSearchVisitor_visitIfRule__closure, A.StatementSearchVisitor_visitChildren_closure, A.SingleMapping_SingleMapping$fromEntries_closure1, A.SingleMapping_toJson_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.Chain_Chain$parse_closure, A.Chain_toTrace_closure, A.Chain_toString_closure0, A.Chain_toString__closure0, A.Chain_toString_closure, A.Chain_toString__closure, A.Trace__parseVM_closure, A.Trace$parseV8_closure, A.Trace$parseJSCore_closure, A.Trace$parseFirefox_closure, A.Trace$parseFriendly_closure, A.Trace_terse_closure, A.Trace_foldFrames_closure, A.Trace_foldFrames_closure0, A.Trace_toString_closure0, A.Trace_toString_closure, A.TransformByHandlers_transformByHandlers__closure, A.RateLimit__debounceAggregate_closure0, A.AnySelectorVisitor_visitComplexSelector_closure0, A.AnySelectorVisitor_visitCompoundSelector_closure0, A.ArgumentDeclaration_verify_closure1, A.ArgumentDeclaration_verify_closure2, A.argumentListClass__closure, A.argumentListClass__closure0, A.AsyncBuiltInCallable$mixin_closure0, A.AsyncBuiltInCallable_withDeprecationWarning_closure0, A._compileStylesheet_closure2, A.AsyncEnvironment__getVariableFromGlobalModule_closure0, A.AsyncEnvironment_setVariable_closure3, A.AsyncEnvironment__getFunctionFromGlobalModule_closure0, A.AsyncEnvironment__getMixinFromGlobalModule_closure0, A.AsyncEnvironment_toModule_closure0, A.AsyncEnvironment_toDummyModule_closure0, A._EnvironmentModule__EnvironmentModule_closure17, A._EnvironmentModule__EnvironmentModule_closure18, A._EnvironmentModule__EnvironmentModule_closure19, A._EnvironmentModule__EnvironmentModule_closure20, A._EnvironmentModule__EnvironmentModule_closure21, A._EnvironmentModule__EnvironmentModule_closure22, A._EvaluateVisitor_closure38, A._EvaluateVisitor_closure39, A._EvaluateVisitor_closure40, A._EvaluateVisitor_closure41, A._EvaluateVisitor_closure42, A._EvaluateVisitor_closure43, A._EvaluateVisitor_closure44, A._EvaluateVisitor_closure45, A._EvaluateVisitor_closure46, A._EvaluateVisitor_closure47, A._EvaluateVisitor_closure48, A._EvaluateVisitor_closure49, A._EvaluateVisitor_closure50, A._EvaluateVisitor__loadModule__closure5, A._EvaluateVisitor__combineCss_closure5, A._EvaluateVisitor__combineCss_closure6, A._EvaluateVisitor__combineCss_visitModule2, A._EvaluateVisitor__extendModules_closure5, A._EvaluateVisitor__scopeForAtRoot_closure17, A._EvaluateVisitor__scopeForAtRoot_closure18, A._EvaluateVisitor__scopeForAtRoot_closure19, A._EvaluateVisitor__scopeForAtRoot_closure20, A._EvaluateVisitor__scopeForAtRoot_closure21, A._EvaluateVisitor__scopeForAtRoot_closure22, A._EvaluateVisitor_visitEachRule_closure8, A._EvaluateVisitor_visitEachRule_closure9, A._EvaluateVisitor_visitEachRule__closure2, A._EvaluateVisitor_visitEachRule___closure2, A._EvaluateVisitor_visitAtRule_closure8, A._EvaluateVisitor_visitAtRule_closure10, A._EvaluateVisitor_visitForRule__closure2, A._EvaluateVisitor_visitIfRule_closure2, A._EvaluateVisitor_visitIfRule___closure2, A._EvaluateVisitor__visitDynamicImport__closure11, A._EvaluateVisitor__visitDynamicImport__closure12, A._EvaluateVisitor__visitDynamicImport__closure13, A._EvaluateVisitor_visitIncludeRule_closure9, A._EvaluateVisitor_visitMediaRule_closure8, A._EvaluateVisitor_visitMediaRule_closure10, A._EvaluateVisitor_visitStyleRule_closure12, A._EvaluateVisitor_visitStyleRule_closure13, A._EvaluateVisitor__warnForBogusCombinators_closure2, A._EvaluateVisitor_visitSupportsRule_closure6, A._EvaluateVisitor_visitWhileRule__closure2, A._EvaluateVisitor__slash_recommendation2, A._EvaluateVisitor_visitListExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure9, A._EvaluateVisitor__checkCalculationArguments_check2, A._EvaluateVisitor__runUserDefinedCallable____closure2, A._EvaluateVisitor__runBuiltInCallable_closure10, A._EvaluateVisitor__evaluateArguments_closure11, A._EvaluateVisitor__evaluateArguments_closure12, A._EvaluateVisitor__evaluateArguments_closure14, A._EvaluateVisitor__evaluateMacroArguments_closure11, A._EvaluateVisitor__evaluateMacroArguments_closure12, A._EvaluateVisitor__evaluateMacroArguments_closure14, A._EvaluateVisitor_visitCssAtRule_closure6, A._EvaluateVisitor_visitCssKeyframeBlock_closure6, A._EvaluateVisitor_visitCssMediaRule_closure8, A._EvaluateVisitor_visitCssMediaRule_closure10, A._EvaluateVisitor_visitCssStyleRule_closure5, A._EvaluateVisitor_visitCssSupportsRule_closure6, A._EvaluateVisitor__performInterpolationHelper_closure2, A._EvaluateVisitor__withoutSlash_recommendation2, A._EvaluateVisitor__stackFrame_closure2, A._ImportedCssVisitor_visitCssAtRule_closure2, A._ImportedCssVisitor_visitCssMediaRule_closure2, A._ImportedCssVisitor_visitCssStyleRule_closure2, A._ImportedCssVisitor_visitCssSupportsRule_closure2, A.AsyncImportCache_humanize_closure3, A.AsyncImportCache_humanize_closure4, A.AsyncImportCache_humanize_closure5, A.AsyncImportCache_humanize_closure6, A.booleanClass__closure, A.legacyBooleanClass__closure, A.legacyBooleanClass__closure0, A.BuiltInCallable$mixin_closure0, A.BuiltInCallable_withDeprecationWarning_closure0, A.calculationClass__closure, A.calculationClass__closure0, A.calculationClass__closure1, A.calculationClass__closure2, A.calculationClass__closure3, A.calculationClass__closure4, A.calculationClass__closure5, A.calculationOperationClass__closure, A.calculationOperationClass___closure, A.calculationOperationClass__closure1, A.calculationOperationClass__closure2, A.calculationOperationClass__closure3, A.calculationOperationClass__closure4, A.calculationInterpolationClass__closure1, A.calculationInterpolationClass__closure2, A.SassCalculation__verifyLength_closure0, A.updateCanonicalizeContextPrototype_closure, A.updateCanonicalizeContextPrototype_closure0, A.global_closure44, A.global_closure45, A.global_closure46, A.global_closure47, A.global_closure48, A.global_closure49, A.global_closure50, A.global_closure51, A.global_closure52, A.global_closure53, A.global_closure54, A.global_closure55, A.global_closure56, A.global_closure57, A.global_closure58, A.global_closure59, A.global_closure60, A.global_closure61, A.global_closure62, A.global_closure63, A.global_closure64, A.global_closure65, A.global_closure66, A.global_closure67, A.global_closure68, A.global_closure69, A.global_closure70, A.global_closure71, A.global_closure72, A.global_closure73, A.global_closure74, A.global_closure75, A.global_closure76, A.global_closure77, A.global_closure78, A.global_closure79, A.global__closure0, A.global_closure80, A.global_closure81, A.global_closure82, A.global_closure83, A.global_closure84, A.global_closure85, A.global_closure86, A.module_closure27, A.module_closure28, A.module_closure29, A.module_closure30, A.module_closure31, A.module_closure32, A.module_closure33, A.module_closure34, A.module_closure35, A.module_closure36, A.module_closure37, A.module_closure38, A.module_closure39, A.module_closure40, A.module__closure6, A.module_closure41, A.module_closure42, A.module_closure43, A.module_closure44, A.module_closure45, A.module_closure46, A.module_closure47, A.module_closure48, A.module__closure5, A.module_closure49, A.module_closure_toXyzNoMissing0, A.module_closure50, A._mix_closure0, A._complement_closure0, A._adjust_closure0, A._scale_closure0, A._change_closure0, A._ieHexStr_closure0, A._ieHexStr_closure_hexString0, A._updateComponents_closure1, A._updateComponents_closure2, A._adjustColor_closure0, A._functionString_closure0, A._removedColorFunction_closure0, A._rgb_closure0, A._hsl_closure0, A._parseChannels_closure1, A._parseChannels_closure2, A._colorFromChannels_closure1, A._colorFromChannels_closure2, A._channelFromValue_closure0, A._channelFunction_closure0, A._suggestScaleAndAdjust_closure0, A.colorClass__closure1, A.colorClass__closure3, A.colorClass__closure5, A.colorClass__closure7, A.colorClass___closure, A.colorClass__closure_changedValue, A.colorClass__closure9, A.colorClass__closure10, A.colorClass__closure11, A.colorClass__closure12, A.colorClass__closure13, A.colorClass__closure14, A.colorClass__closure15, A.colorClass__closure16, A.colorClass__closure17, A.colorClass__closure18, A.colorClass__closure19, A.colorClass__closure20, A.colorClass__closure21, A.colorClass__closure22, A.legacyColorClass_closure, A.legacyColorClass__closure, A.legacyColorClass_closure0, A.legacyColorClass_closure1, A.legacyColorClass_closure2, A.legacyColorClass_closure3, A.SassColor$_forSpace_closure0, A.compileAsync__closure, A.compileStringAsync__closure, A.compileStringAsync__closure0, A._wrapAsyncSassExceptions_closure, A._parseFunctions__closure2, A._parseFunctions__closure3, A.nodePackageImporterClass__closure, A._compileStylesheet_closure1, A.AsyncCompiler_addCompilation_closure, A.compilerClass__closure, A.compilerClass__closure0, A.compilerClass__closure1, A.compilerClass__closure2, A.asyncCompilerClass__closure, A.asyncCompilerClass__closure0, A.asyncCompilerClass__closure1, A.asyncCompilerClass__closure2, A.ComplexSelectorComponent_toString_closure0, A.CompoundSelector_hasComplicatedSuperselectorSemantics_closure0, A._disallowedFunctionNames_closure0, A.Deprecation_fromId_closure0, A.DeprecationProcessingLogger_summarize_closure1, A.DeprecationProcessingLogger_summarize_closure2, A.versionClass__closure, A.versionClass__closure0, A.EachRule_toString_closure0, A.Environment__getVariableFromGlobalModule_closure0, A.Environment_setVariable_closure3, A.Environment__getFunctionFromGlobalModule_closure0, A.Environment__getMixinFromGlobalModule_closure0, A.Environment_toModule_closure0, A.Environment_toDummyModule_closure0, A._EnvironmentModule__EnvironmentModule_closure11, A._EnvironmentModule__EnvironmentModule_closure12, A._EnvironmentModule__EnvironmentModule_closure13, A._EnvironmentModule__EnvironmentModule_closure14, A._EnvironmentModule__EnvironmentModule_closure15, A._EnvironmentModule__EnvironmentModule_closure16, A._EvaluateVisitor_closure25, A._EvaluateVisitor_closure26, A._EvaluateVisitor_closure27, A._EvaluateVisitor_closure28, A._EvaluateVisitor_closure29, A._EvaluateVisitor_closure30, A._EvaluateVisitor_closure31, A._EvaluateVisitor_closure32, A._EvaluateVisitor_closure33, A._EvaluateVisitor_closure34, A._EvaluateVisitor_closure35, A._EvaluateVisitor_closure36, A._EvaluateVisitor_closure37, A._EvaluateVisitor__loadModule__closure3, A._EvaluateVisitor__combineCss_closure3, A._EvaluateVisitor__combineCss_closure4, A._EvaluateVisitor__combineCss_visitModule1, A._EvaluateVisitor__extendModules_closure3, A._EvaluateVisitor__scopeForAtRoot_closure11, A._EvaluateVisitor__scopeForAtRoot_closure12, A._EvaluateVisitor__scopeForAtRoot_closure13, A._EvaluateVisitor__scopeForAtRoot_closure14, A._EvaluateVisitor__scopeForAtRoot_closure15, A._EvaluateVisitor__scopeForAtRoot_closure16, A._EvaluateVisitor_visitEachRule_closure5, A._EvaluateVisitor_visitEachRule_closure6, A._EvaluateVisitor_visitEachRule__closure1, A._EvaluateVisitor_visitEachRule___closure1, A._EvaluateVisitor_visitAtRule_closure5, A._EvaluateVisitor_visitAtRule_closure7, A._EvaluateVisitor_visitForRule__closure1, A._EvaluateVisitor_visitIfRule_closure1, A._EvaluateVisitor_visitIfRule___closure1, A._EvaluateVisitor__visitDynamicImport__closure7, A._EvaluateVisitor__visitDynamicImport__closure8, A._EvaluateVisitor__visitDynamicImport__closure9, A._EvaluateVisitor_visitIncludeRule_closure6, A._EvaluateVisitor_visitMediaRule_closure5, A._EvaluateVisitor_visitMediaRule_closure7, A._EvaluateVisitor_visitStyleRule_closure8, A._EvaluateVisitor_visitStyleRule_closure9, A._EvaluateVisitor__warnForBogusCombinators_closure1, A._EvaluateVisitor_visitSupportsRule_closure4, A._EvaluateVisitor_visitWhileRule__closure1, A._EvaluateVisitor__slash_recommendation1, A._EvaluateVisitor_visitListExpression_closure1, A._EvaluateVisitor_visitFunctionExpression_closure6, A._EvaluateVisitor__checkCalculationArguments_check1, A._EvaluateVisitor__runUserDefinedCallable____closure1, A._EvaluateVisitor__runBuiltInCallable_closure7, A._EvaluateVisitor__evaluateArguments_closure7, A._EvaluateVisitor__evaluateArguments_closure8, A._EvaluateVisitor__evaluateArguments_closure10, A._EvaluateVisitor__evaluateMacroArguments_closure7, A._EvaluateVisitor__evaluateMacroArguments_closure8, A._EvaluateVisitor__evaluateMacroArguments_closure10, A._EvaluateVisitor_visitCssAtRule_closure4, A._EvaluateVisitor_visitCssKeyframeBlock_closure4, A._EvaluateVisitor_visitCssMediaRule_closure5, A._EvaluateVisitor_visitCssMediaRule_closure7, A._EvaluateVisitor_visitCssStyleRule_closure3, A._EvaluateVisitor_visitCssSupportsRule_closure4, A._EvaluateVisitor__performInterpolationHelper_closure1, A._EvaluateVisitor__withoutSlash_recommendation1, A._EvaluateVisitor__stackFrame_closure1, A._ImportedCssVisitor_visitCssAtRule_closure1, A._ImportedCssVisitor_visitCssMediaRule_closure1, A._ImportedCssVisitor_visitCssStyleRule_closure1, A._ImportedCssVisitor_visitCssSupportsRule_closure1, A.EveryCssVisitor_visitCssAtRule_closure0, A.EveryCssVisitor_visitCssKeyframeBlock_closure0, A.EveryCssVisitor_visitCssMediaRule_closure0, A.EveryCssVisitor_visitCssStyleRule_closure0, A.EveryCssVisitor_visitCssStylesheet_closure0, A.EveryCssVisitor_visitCssSupportsRule_closure0, A.exceptionClass__closure, A.exceptionClass__closure0, A.exceptionClass__closure1, A.ExtensionStore_extensionsWhereTarget_closure0, A.ExtensionStore__extendComplex_closure0, A.ExtensionStore__extendComplex__closure0, A.ExtensionStore__extendCompound_closure2, A.ExtensionStore__extendCompound_closure3, A.ExtensionStore__extendCompound_closure4, A.ExtensionStore__extendSimple_withoutPseudo0, A.ExtensionStore__extendSimple_closure1, A.ExtensionStore__extendSimple_closure2, A.ExtensionStore__extendPseudo_closure4, A.ExtensionStore__extendPseudo_closure5, A.ExtensionStore__extendPseudo_closure6, A.ExtensionStore__extendPseudo_closure7, A.ExtensionStore__extendPseudo_closure8, A.ExtensionStore__trim_closure1, A.ExtensionStore__trim_closure2, A.FilesystemImporter_canonicalize_closure0, A.functionClass__closure, A.functionClass__closure0, A.unifyComplex_closure0, A._weaveParents_closure4, A._weaveParents_closure5, A._weaveParents_closure6, A._mustUnify_closure0, A._mustUnify__closure0, A.paths__closure0, A.paths___closure0, A.listIsSuperselector_closure0, A.listIsSuperselector__closure0, A.complexIsSuperselector_closure1, A.complexIsSuperselector_closure2, A._compatibleWithPreviousCombinator_closure0, A.compoundIsSuperselector_closure0, A._selectorPseudoIsSuperselector_closure6, A._selectorPseudoIsSuperselector_closure7, A._selectorPseudoIsSuperselector_closure8, A._selectorPseudoIsSuperselector_closure9, A._selectorPseudoIsSuperselector_closure10, A._selectorPseudoIsSuperselector__closure0, A._selectorPseudoIsSuperselector___closure1, A._selectorPseudoIsSuperselector___closure2, A._selectorPseudoIsSuperselector_closure11, A._selectorPseudoIsSuperselector_closure12, A._selectorPseudoArgs_closure1, A._selectorPseudoArgs_closure2, A.globalFunctions_closure0, A.HwbColorSpace_convert_toRgb0, A.IDSelector_unify_closure0, A.IfRuleClause$__closure0, A.IfRuleClause$___closure0, A.immutableMapToDartMap_closure, A.NodeImporter__tryPath_closure0, A.ImportCache_humanize_closure3, A.ImportCache_humanize_closure4, A.ImportCache_humanize_closure5, A.ImportCache_humanize_closure6, A.Interpolation_toString_closure0, A.InterpolationMap_mapException_closure0, A._realCasePath_helper0, A._realCasePath_helper__closure0, A.IsCalculationSafeVisitor_visitListExpression_closure0, A.listDir__closure1, A.listDir__closure2, A.listDir_closure_list0, A.listDir__list_closure0, A.render_closure0, A._parseFunctions__closure, A._parseFunctions___closure2, A._parseFunctions__closure0, A._parseFunctions__closure1, A._parseFunctions___closure, A._parseImporter_closure, A._parseImporter__closure, A._parseImporter___closure, A.ListExpression_toString_closure0, A._length_closure2, A._nth_closure0, A._setNth_closure0, A._join_closure0, A._append_closure2, A._zip_closure0, A._zip__closure2, A._zip__closure3, A._zip__closure4, A._index_closure2, A._separator_closure0, A._isBracketed_closure0, A._slash_closure0, A.SelectorList_asSassList_closure0, A.SelectorList_nestWithin_closure0, A.SelectorList_nestWithin__closure1, A.SelectorList_nestWithin__closure2, A.SelectorList__nestWithinCompound_closure2, A.SelectorList__nestWithinCompound_closure3, A.SelectorList__nestWithinCompound_closure4, A.SelectorList_withAdditionalCombinators_closure0, A.listClass__closure, A.legacyListClass_closure, A.legacyListClass__closure, A.legacyListClass_closure1, A.legacyListClass_closure2, A.legacyListClass_closure4, A.SassList_isBlank_closure0, A._get_closure0, A._set_closure1, A._set__closure2, A._set_closure2, A._set__closure1, A._merge_closure1, A._merge_closure2, A._merge__closure0, A._deepMerge_closure0, A._deepRemove_closure0, A._deepRemove__closure0, A._remove_closure1, A._remove_closure2, A._keys_closure0, A._values_closure0, A._hasKey_closure0, A._modify_modifyNestedMap0, A.MapExtensions_get_pairs_closure0, A.mapClass__closure, A.mapClass__closure0, A.legacyMapClass_closure, A.legacyMapClass__closure, A.legacyMapClass__closure0, A.legacyMapClass_closure2, A.legacyMapClass_closure3, A.legacyMapClass_closure4, A.global_closure43, A.module_closure26, A._ceil_closure0, A._clamp_closure0, A._floor_closure0, A._max_closure0, A._min_closure0, A._round_closure0, A._hypot_closure0, A._hypot__closure0, A._log_closure0, A._pow_closure0, A._atan2_closure0, A._compatible_closure0, A._isUnitless_closure0, A._unit_closure0, A._percentage_closure0, A._randomFunction_closure0, A._div_closure0, A._singleArgumentMathFunc_closure0, A._numberFunction_closure0, A._shared_closure3, A._shared_closure4, A._shared_closure5, A._shared_closure6, A.moduleFunctions_closure2, A.moduleFunctions_closure3, A.moduleFunctions__closure0, A.moduleFunctions_closure4, A.mixinClass__closure, A.mixinClass__closure0, A.ModifiableCssNode_hasFollowingSibling_closure0, A.NodePackageImporter__nodePackageExportsResolve_closure3, A.NodePackageImporter__nodePackageExportsResolve_closure4, A.NodePackageImporter__nodePackageExportsResolve_closure5, A.NodePackageImporter__nodePackageExportsResolve_closure6, A.NodePackageImporter__nodePackageExportsResolve__closure1, A.NodePackageImporter__nodePackageExportsResolve__closure2, A.NodePackageImporter__getMainExport_closure0, A.legacyNullClass__closure, A.numberClass__closure, A.numberClass__closure0, A.numberClass__closure1, A.numberClass__closure2, A.numberClass__closure3, A.numberClass__closure4, A.numberClass__closure5, A.numberClass__closure6, A.numberClass__closure7, A.numberClass__closure8, A.numberClass__closure9, A.numberClass__closure12, A.numberClass__closure13, A.numberClass__closure14, A.numberClass__closure15, A.numberClass__closure16, A.numberClass__closure17, A.numberClass__closure18, A.numberClass__closure19, A.legacyNumberClass_closure, A.legacyNumberClass_closure0, A.legacyNumberClass_closure2, A._parseNumber_closure, A._parseNumber_closure0, A.SassNumber__coerceOrConvertValue_closure3, A.SassNumber__coerceOrConvertValue_closure5, A.SassNumber_multiplyUnits_closure3, A.SassNumber_multiplyUnits_closure5, A.SassNumber__areAnyConvertible_closure0, A.SassNumber__canonicalizeUnitList_closure0, A.SassNumber_unitSuggestion_closure1, A.SassNumber_unitSuggestion_closure2, A.ParentStatement_closure0, A.ParentStatement__closure0, A.loadParserExports_closure, A.loadParserExports_closure0, A._updateAstPrototypes_closure, A._updateAstPrototypes_closure0, A._updateAstPrototypes_closure1, A._updateAstPrototypes_closure4, A._addSupportsConditionToInterpolation_closure, A.Parser_escape_closure0, A.Parser_scanIdentChar_matches0, A._PrefixedKeys_iterator_closure0, A.PseudoSelector_specificity__closure1, A.PseudoSelector_specificity__closure2, A.PseudoSelector_unify_closure0, A.JSClassExtension_setCustomInspect_closure, A.ReplaceExpressionVisitor_visitListExpression_closure0, A.ReplaceExpressionVisitor_visitArgumentInvocation_closure0, A.ReplaceExpressionVisitor_visitInterpolation_closure0, A.SassParser_styleRuleSelector_closure0, A.SassParser__peekIndentation_closure1, A.SassParser__peekIndentation_closure2, A._wrapMain_closure, A._wrapMain_closure0, A._IsBogusVisitor_visitComplexSelector_closure0, A._IsUselessVisitor_visitComplexSelector_closure0, A._nest_closure0, A._nest__closure1, A._append_closure1, A._append__closure1, A._append___closure0, A._extend_closure0, A._replace_closure0, A._unify_closure0, A._isSuperselector_closure0, A._simpleSelectors_closure0, A._simpleSelectors__closure0, A._parse_closure0, A.SelectorSearchVisitor_visitComplexSelector_closure0, A.SelectorSearchVisitor_visitCompoundSelector_closure0, A.serialize_closure0, A._SerializeVisitor_visitList_closure2, A._SerializeVisitor_visitList_closure3, A._SerializeVisitor_visitList_closure4, A._SerializeVisitor_visitMap_closure0, A._SerializeVisitor_visitSelectorList_closure0, A.SimpleSelector_isSuperselector_closure0, A.SimpleSelector_isSuperselector__closure0, A.SingleUnitSassNumber__coerceToUnit_closure0, A.SingleUnitSassNumber__coerceValueToUnit_closure0, A.SingleUnitSassNumber_multiplyUnits_closure1, A.SourceMapBuffer_buildSourceMap_closure0, A.updateSourceSpanPrototype_closure0, A.updateSourceSpanPrototype_closure1, A.updateSourceSpanPrototype_closure2, A.updateSourceSpanPrototype__closure, A.updateSourceSpanPrototype_closure3, A.updateSourceSpanPrototype_closure4, A.updateSourceSpanPrototype_closure5, A.updateSourceSpanPrototype_closure6, A.StatementSearchVisitor_visitIfRule_closure1, A.StatementSearchVisitor_visitIfRule__closure2, A.StatementSearchVisitor_visitIfRule_closure2, A.StatementSearchVisitor_visitIfRule__closure1, A.StatementSearchVisitor_visitChildren_closure0, A.module_closure25, A.module__closure3, A.module__closure4, A._unquote_closure0, A._quote_closure0, A._length_closure1, A._insert_closure0, A._index_closure1, A._slice_closure0, A._toUpperCase_closure0, A._toLowerCase_closure0, A._uniqueId_closure0, A.StringExtension_toCssIdentifier_writeEscape, A.StringExtension_toCssIdentifier_consumeSurrogatePair, A.stringClass__closure, A.stringClass__closure0, A.stringClass__closure1, A.stringClass__closure2, A.stringClass__closure3, A.legacyStringClass_closure, A.legacyStringClass_closure0, A.StylesheetParser_parse__closure2, A.StylesheetParser__expression_addSingleExpression0, A.StylesheetParser__expression_addOperator0, A.StylesheetParser__isHexColor_closure0, A.StylesheetParser__unicodeRange_closure1, A.StylesheetParser__unicodeRange_closure2, A.StylesheetParser_trySpecialFunction_closure0, A._UnprefixedKeys_iterator_closure1, A._UnprefixedKeys_iterator_closure2, A._exactlyOne_closure0, A.futureToPromise__closure0, A.indent_closure0, A.flattenVertically_closure1, A.flattenVertically_closure2, A.valueClass__closure, A.valueClass__closure0, A.valueClass__closure1, A.valueClass__closure2, A.valueClass__closure3, A.valueClass__closure4, A.valueClass__closure5, A.valueClass__closure7, A.valueClass__closure8, A.valueClass__closure9, A.valueClass__closure10, A.valueClass__closure11, A.valueClass__closure12, A.valueClass__closure13, A.valueClass__closure14, A.valueClass__closure15, A.valueClass__closure17, A.valueClass__closure18]); + _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.Primitives_functionNoSuchMethod_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A.Future_wait_handleError, A._Future__chainForeignFuture_closure0, A.Stream_Stream$fromFuture_closure0, A._AddStreamState_makeErrorHandler_closure, A._HashMap_addAll_closure, A.HashMap_HashMap$from_closure, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_addAll_closure, A.MapBase_mapToString_closure, A._JsonMap_addAll_closure, A._JsonStringifier_writeMap_closure, A.NoSuchMethodError_toString_closure, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A._createTables_build, A.Parser_parse_closure, A.FutureGroup_add_closure0, A.StreamQueue__ensureListening_closure1, A.futureToPromise_closure, A.PathMap__create_closure, A.IfRule_toString_closure, A.ComplexSelector_specificity_closure, A.CompoundSelector_specificity_closure, A.ExtensionStore_clone_closure, A._weaveParents_closure, A.paths_closure, A._nest__closure0, A._append__closure0, A.ImportCache_clearCanonicalize_closure, A.watchDir_closure5, A.ParcelWatcher_subscribeFuture_closure, A.StylesheetParser__styleRule_closure, A.StylesheetParser__tryDeclarationChildren_closure, A.StylesheetParser__atRootRule_closure, A.StylesheetParser__atRootRule_closure0, A.StylesheetParser__eachRule_closure, A.StylesheetParser__functionRule_closure, A.StylesheetParser__forRule_closure0, A.StylesheetParser__includeRule_closure, A.StylesheetParser_mediaRule_closure, A.StylesheetParser__mixinRule_closure, A.StylesheetParser_mozDocumentRule_closure, A.StylesheetParser_supportsRule_closure, A.StylesheetParser__whileRule_closure, A.StylesheetParser_unknownAtRule_closure, A.longestCommonSubsequence_backtrack, A.mapAddAll2_closure, A.SassNumber_plus_closure, A.SassNumber_minus_closure, A.SassNumber__canonicalMultiplier_closure, A._EvaluateVisitor__closure3, A._EvaluateVisitor__closure4, A._EvaluateVisitor_visitForwardRule_closure1, A._EvaluateVisitor_visitForwardRule_closure2, A._EvaluateVisitor_visitUseRule_closure0, A._EvaluateVisitor__evaluateArguments_closure5, A._EvaluateVisitor__evaluateMacroArguments_closure5, A._EvaluateVisitor__addRestMap_closure0, A._EvaluateVisitor__closure, A._EvaluateVisitor__closure0, A._EvaluateVisitor_visitForwardRule_closure, A._EvaluateVisitor_visitForwardRule_closure0, A._EvaluateVisitor_visitUseRule_closure, A._EvaluateVisitor__evaluateArguments_closure1, A._EvaluateVisitor__evaluateMacroArguments_closure1, A._EvaluateVisitor__addRestMap_closure, A.SingleMapping_toJson_closure0, A.Highlighter__collateLines_closure0, A.Frame_Frame$parseV8_closure_parseJsLocation, A.TransformByHandlers_transformByHandlers__closure1, A.RateLimit__debounceAggregate_closure, A._EvaluateVisitor__closure11, A._EvaluateVisitor__closure12, A._EvaluateVisitor_visitForwardRule_closure5, A._EvaluateVisitor_visitForwardRule_closure6, A._EvaluateVisitor_visitUseRule_closure2, A._EvaluateVisitor__evaluateArguments_closure13, A._EvaluateVisitor__evaluateMacroArguments_closure13, A._EvaluateVisitor__addRestMap_closure2, A.calculationOperationClass__closure0, A.calculationInterpolationClass__closure, A.calculationInterpolationClass__closure0, A.colorClass__closure, A.colorClass__closure0, A.colorClass__closure2, A.colorClass__closure4, A.colorClass__closure6, A.colorClass__closure8, A.legacyColorClass_closure4, A.legacyColorClass_closure5, A.legacyColorClass_closure6, A.legacyColorClass_closure7, A._parseFunctions_closure0, A.ComplexSelector_specificity_closure0, A.CompoundSelector_specificity_closure0, A._EvaluateVisitor__closure7, A._EvaluateVisitor__closure8, A._EvaluateVisitor_visitForwardRule_closure3, A._EvaluateVisitor_visitForwardRule_closure4, A._EvaluateVisitor_visitUseRule_closure1, A._EvaluateVisitor__evaluateArguments_closure9, A._EvaluateVisitor__evaluateMacroArguments_closure9, A._EvaluateVisitor__addRestMap_closure1, A.ExtensionStore_clone_closure0, A._weaveParents_closure3, A.paths_closure0, A.IfRule_toString_closure0, A.main_closure, A.main_closure0, A.render_closure1, A._parseFunctions_closure, A.listClass__closure0, A.legacyListClass_closure0, A.legacyListClass_closure3, A.mapClass__closure1, A.legacyMapClass_closure0, A.legacyMapClass_closure1, A.numberClass__closure10, A.numberClass__closure11, A.legacyNumberClass_closure1, A.legacyNumberClass_closure3, A.SassNumber_plus_closure0, A.SassNumber_minus_closure0, A.SassNumber__canonicalMultiplier_closure0, A._updateAstPrototypes_closure2, A._updateAstPrototypes_closure3, A.JSClassExtension_get_defineStaticMethod_closure, A.JSClassExtension_get_defineMethod_closure, A.JSClassExtension_get_defineGetter_closure, A._nest__closure2, A._append__closure2, A.legacyStringClass_closure1, A.StylesheetParser__styleRule_closure0, A.StylesheetParser__tryDeclarationChildren_closure0, A.StylesheetParser__atRootRule_closure1, A.StylesheetParser__atRootRule_closure2, A.StylesheetParser__eachRule_closure0, A.StylesheetParser__functionRule_closure0, A.StylesheetParser__forRule_closure2, A.StylesheetParser__includeRule_closure0, A.StylesheetParser_mediaRule_closure0, A.StylesheetParser__mixinRule_closure0, A.StylesheetParser_mozDocumentRule_closure0, A.StylesheetParser_supportsRule_closure0, A.StylesheetParser__whileRule_closure0, A.StylesheetParser_unknownAtRule_closure0, A.futureToPromise_closure0, A.futureToPromise__closure1, A.objectToMap_closure, A.longestCommonSubsequence_backtrack0, A.mapAddAll2_closure0, A.valueClass__closure6, A.valueClass__closure16]); _inherit(A.CastList, A._CastListBase); _inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A.UnmodifiableMapBase, A._JsonMap, A.MergedMapView, A.MergedMapView0]); _inheritMany(A.Error, [A.LateError, A.ReachabilityError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A._CyclicInitializationError, A.RuntimeError, A._Error, A.JsonUnsupportedObjectError, A.AssertionError, A.ArgumentError, A.NoSuchMethodError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError]); _inherit(A.UnmodifiableListBase, A.ListBase); _inheritMany(A.UnmodifiableListBase, [A.CodeUnits, A.UnmodifiableListView]); - _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.Parser__setOption_closure, A.StreamGroup_add_closure, A.StreamGroup_add_closure0, A.StreamGroup__listenToStream_closure, A.StreamQueue__ensureListening_closure0, A._isStrictMode_closure, A.ReplAdapter_runAsync_closure, A.ParsedPath__splitExtension_closure0, A.PseudoSelector_specificity_closure, A.AsyncEnvironment_setVariable_closure, A.AsyncEnvironment_setVariable_closure1, A.AsyncImportCache_canonicalize_closure, A.AsyncImportCache__canonicalize_closure, A.AsyncImportCache_importCanonical_closure, A.Environment_setVariable_closure, A.Environment_setVariable_closure1, A.ExecutableOptions__parser_closure, A.ExecutableOptions_interactive_closure, A.ExecutableOptions_fatalDeprecations_closure, A.ExtensionStore__registerSelector_closure, A.ExtensionStore_addExtension_closure, A.ExtensionStore_addExtension_closure0, A.ExtensionStore_addExtension_closure1, A.ExtensionStore__extendExistingExtensions_closure, A.ExtensionStore__extendExistingExtensions_closure0, A.ExtensionStore_addExtensions_closure, A.ImportCache_canonicalize_closure, A.ImportCache__canonicalize_closure, A.ImportCache_importCanonical_closure, A.resolveImportPath_closure, A.resolveImportPath_closure0, A._tryPathAsDirectory_closure, A._realCasePath_helper_closure, A._readFile_closure, A.writeFile_closure, A.deleteFile_closure, A.fileExists_closure, A.dirExists_closure, A.ensureDir_closure, A.listDir_closure, A.modificationTime_closure, A.watchDir_closure3, A.watchDir__closure, A.AtRootQueryParser_parse_closure, A.KeyframeSelectorParser_parse_closure, A.MediaQueryParser_parse_closure, A.Parser__parseIdentifier_closure, A.Parser_spanFrom_closure, A.SassParser_children_closure, A.SelectorParser_parse_closure, A.SelectorParser_parseCompoundSelector_closure, A.StylesheetParser_parse_closure, A.StylesheetParser_parse__closure, A.StylesheetParser_parseArgumentDeclaration_closure, A.StylesheetParser_parseVariableDeclaration_closure, A.StylesheetParser_parseUseRule_closure, A.StylesheetParser__parseSingleProduction_closure, A.StylesheetParser__statement_closure, A.StylesheetParser_variableDeclarationWithoutNamespace_closure, A.StylesheetParser_variableDeclarationWithoutNamespace_closure0, A.StylesheetParser__forRule_closure, A.StylesheetParser__memberList_closure, A.StylesheetParser__expression_resetState, A.StylesheetParser__expression_resolveOneOperation, A.StylesheetParser__expression_resolveOperations, A.StylesheetParser__expression_resolveSpaceExpressions, A.StylesheetParser_expressionUntilComma_closure, A.StylesheetParser_namespacedExpression_closure, A.StylesheetParser__expressionUntilComparison_closure, A.StylesheetParser__publicIdentifier_closure, A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure, A.StylesheetGraph__add_closure, A.StylesheetGraph_addCanonical_closure, A.StylesheetGraph_reload_closure, A.StylesheetGraph__nodeFor_closure, A.StylesheetGraph__nodeFor_closure0, A.SassNumber__coerceOrConvertValue_compatibilityException, A.SassNumber__coerceOrConvertValue_closure0, A.SassNumber__coerceOrConvertValue_closure2, A.SassNumber_multiplyUnits_closure0, A.SassNumber_multiplyUnits_closure2, A.SingleUnitSassNumber_multiplyUnits_closure0, A._EvaluateVisitor__closure6, A._EvaluateVisitor__closure5, A._EvaluateVisitor_run_closure0, A._EvaluateVisitor_run__closure0, A._EvaluateVisitor__loadModule_closure1, A._EvaluateVisitor__loadModule_closure2, A._EvaluateVisitor__loadModule__closure2, A._EvaluateVisitor__execute_closure0, A._EvaluateVisitor__extendModules_closure2, A._EvaluateVisitor_visitAtRootRule_closure1, A._EvaluateVisitor_visitAtRootRule_closure2, A._EvaluateVisitor__scopeForAtRoot__closure0, A._EvaluateVisitor_visitContentRule_closure0, A._EvaluateVisitor_visitDeclaration_closure0, A._EvaluateVisitor_visitEachRule_closure4, A._EvaluateVisitor_visitAtRule_closure3, A._EvaluateVisitor_visitAtRule__closure0, A._EvaluateVisitor_visitForRule_closure4, A._EvaluateVisitor_visitForRule_closure5, A._EvaluateVisitor_visitForRule_closure6, A._EvaluateVisitor_visitForRule_closure7, A._EvaluateVisitor_visitForRule_closure8, A._EvaluateVisitor__registerCommentsForModule_closure0, A._EvaluateVisitor_visitIfRule__closure0, A._EvaluateVisitor__visitDynamicImport_closure0, A._EvaluateVisitor__visitDynamicImport__closure6, A._EvaluateVisitor__applyMixin_closure1, A._EvaluateVisitor__applyMixin__closure2, A._EvaluateVisitor__applyMixin_closure2, A._EvaluateVisitor__applyMixin__closure1, A._EvaluateVisitor__applyMixin___closure0, A._EvaluateVisitor__applyMixin____closure0, A._EvaluateVisitor_visitIncludeRule_closure2, A._EvaluateVisitor_visitIncludeRule_closure4, A._EvaluateVisitor_visitMediaRule_closure3, A._EvaluateVisitor_visitMediaRule__closure0, A._EvaluateVisitor_visitMediaRule___closure0, A._EvaluateVisitor_visitStyleRule_closure4, A._EvaluateVisitor_visitStyleRule_closure7, A._EvaluateVisitor_visitStyleRule__closure0, A._EvaluateVisitor_visitSupportsRule_closure1, A._EvaluateVisitor_visitSupportsRule__closure0, A._EvaluateVisitor__visitSupportsCondition_closure0, A._EvaluateVisitor_visitVariableDeclaration_closure2, A._EvaluateVisitor_visitVariableDeclaration_closure3, A._EvaluateVisitor_visitVariableDeclaration_closure4, A._EvaluateVisitor_visitWarnRule_closure0, A._EvaluateVisitor_visitWhileRule_closure0, A._EvaluateVisitor_visitBinaryOperationExpression_closure0, A._EvaluateVisitor_visitVariableExpression_closure0, A._EvaluateVisitor_visitUnaryOperationExpression_closure0, A._EvaluateVisitor_visitFunctionExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure4, A._EvaluateVisitor__visitCalculationExpression_closure0, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure0, A._EvaluateVisitor__runUserDefinedCallable_closure0, A._EvaluateVisitor__runUserDefinedCallable__closure0, A._EvaluateVisitor__runUserDefinedCallable___closure0, A._EvaluateVisitor__runFunctionCallable_closure0, A._EvaluateVisitor__runBuiltInCallable_closure2, A._EvaluateVisitor__runBuiltInCallable_closure3, A._EvaluateVisitor__verifyArguments_closure0, A._EvaluateVisitor_visitCssAtRule_closure1, A._EvaluateVisitor_visitCssKeyframeBlock_closure1, A._EvaluateVisitor_visitCssMediaRule_closure3, A._EvaluateVisitor_visitCssMediaRule__closure0, A._EvaluateVisitor_visitCssMediaRule___closure0, A._EvaluateVisitor_visitCssStyleRule_closure2, A._EvaluateVisitor_visitCssStyleRule__closure0, A._EvaluateVisitor_visitCssSupportsRule_closure1, A._EvaluateVisitor_visitCssSupportsRule__closure0, A._EvaluateVisitor__serialize_closure0, A._EvaluateVisitor__expressionNode_closure0, A._EvaluateVisitor__closure2, A._EvaluateVisitor__closure1, A._EvaluateVisitor_run_closure, A._EvaluateVisitor_run__closure, A._EvaluateVisitor_runExpression_closure, A._EvaluateVisitor_runExpression__closure, A._EvaluateVisitor_runExpression___closure, A._EvaluateVisitor_runStatement_closure, A._EvaluateVisitor_runStatement__closure, A._EvaluateVisitor_runStatement___closure, A._EvaluateVisitor__loadModule_closure, A._EvaluateVisitor__loadModule_closure0, A._EvaluateVisitor__loadModule__closure0, A._EvaluateVisitor__execute_closure, A._EvaluateVisitor__extendModules_closure0, A._EvaluateVisitor_visitAtRootRule_closure, A._EvaluateVisitor_visitAtRootRule_closure0, A._EvaluateVisitor__scopeForAtRoot__closure, A._EvaluateVisitor_visitContentRule_closure, A._EvaluateVisitor_visitDeclaration_closure, A._EvaluateVisitor_visitEachRule_closure1, A._EvaluateVisitor_visitAtRule_closure0, A._EvaluateVisitor_visitAtRule__closure, A._EvaluateVisitor_visitForRule_closure, A._EvaluateVisitor_visitForRule_closure0, A._EvaluateVisitor_visitForRule_closure1, A._EvaluateVisitor_visitForRule_closure2, A._EvaluateVisitor_visitForRule_closure3, A._EvaluateVisitor__registerCommentsForModule_closure, A._EvaluateVisitor_visitIfRule__closure, A._EvaluateVisitor__visitDynamicImport_closure, A._EvaluateVisitor__visitDynamicImport__closure2, A._EvaluateVisitor__applyMixin_closure, A._EvaluateVisitor__applyMixin__closure0, A._EvaluateVisitor__applyMixin_closure0, A._EvaluateVisitor__applyMixin__closure, A._EvaluateVisitor__applyMixin___closure, A._EvaluateVisitor__applyMixin____closure, A._EvaluateVisitor_visitIncludeRule_closure, A._EvaluateVisitor_visitIncludeRule_closure1, A._EvaluateVisitor_visitMediaRule_closure0, A._EvaluateVisitor_visitMediaRule__closure, A._EvaluateVisitor_visitMediaRule___closure, A._EvaluateVisitor_visitStyleRule_closure, A._EvaluateVisitor_visitStyleRule_closure2, A._EvaluateVisitor_visitStyleRule__closure, A._EvaluateVisitor_visitSupportsRule_closure, A._EvaluateVisitor_visitSupportsRule__closure, A._EvaluateVisitor__visitSupportsCondition_closure, A._EvaluateVisitor_visitVariableDeclaration_closure, A._EvaluateVisitor_visitVariableDeclaration_closure0, A._EvaluateVisitor_visitVariableDeclaration_closure1, A._EvaluateVisitor_visitWarnRule_closure, A._EvaluateVisitor_visitWhileRule_closure, A._EvaluateVisitor_visitBinaryOperationExpression_closure, A._EvaluateVisitor_visitVariableExpression_closure, A._EvaluateVisitor_visitUnaryOperationExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure1, A._EvaluateVisitor__visitCalculationExpression_closure, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure, A._EvaluateVisitor__runUserDefinedCallable_closure, A._EvaluateVisitor__runUserDefinedCallable__closure, A._EvaluateVisitor__runUserDefinedCallable___closure, A._EvaluateVisitor__runFunctionCallable_closure, A._EvaluateVisitor__runBuiltInCallable_closure, A._EvaluateVisitor__runBuiltInCallable_closure0, A._EvaluateVisitor__verifyArguments_closure, A._EvaluateVisitor_visitCssAtRule_closure, A._EvaluateVisitor_visitCssKeyframeBlock_closure, A._EvaluateVisitor_visitCssMediaRule_closure0, A._EvaluateVisitor_visitCssMediaRule__closure, A._EvaluateVisitor_visitCssMediaRule___closure, A._EvaluateVisitor_visitCssStyleRule_closure0, A._EvaluateVisitor_visitCssStyleRule__closure, A._EvaluateVisitor_visitCssSupportsRule_closure, A._EvaluateVisitor_visitCssSupportsRule__closure, A._EvaluateVisitor__serialize_closure, A._EvaluateVisitor__expressionNode_closure, A._SerializeVisitor_visitCssComment_closure, A._SerializeVisitor_visitCssAtRule_closure, A._SerializeVisitor_visitCssMediaRule_closure, A._SerializeVisitor_visitCssImport_closure, A._SerializeVisitor_visitCssImport__closure, A._SerializeVisitor_visitCssKeyframeBlock_closure, A._SerializeVisitor_visitCssStyleRule_closure, A._SerializeVisitor_visitCssSupportsRule_closure, A._SerializeVisitor_visitCssDeclaration_closure, A._SerializeVisitor_visitCssDeclaration_closure0, A._SerializeVisitor__write_closure, A._SerializeVisitor__visitChildren_closure, A._SerializeVisitor__visitChildren_closure0, A.SingleMapping_SingleMapping$fromEntries_closure, A.SingleMapping_SingleMapping$fromEntries_closure0, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeLabel_closure, A.Highlighter__writeLabel_closure0, A.Highlighter__writeSidebar_closure, A._Highlight_closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.LazyTrace_terse_closure, A.Trace_Trace$from_closure, A.TransformByHandlers_transformByHandlers_closure, A.TransformByHandlers_transformByHandlers__closure0, A.TransformByHandlers_transformByHandlers__closure2, A.RateLimit__debounceAggregate_closure_emit, A.RateLimit__debounceAggregate__closure, A.argumentListClass_closure, A.JSToDartAsyncImporter_canonicalize_closure, A.JSToDartAsyncImporter_load_closure, A.AsyncEnvironment_setVariable_closure2, A.AsyncEnvironment_setVariable_closure4, A._EvaluateVisitor__closure14, A._EvaluateVisitor__closure13, A._EvaluateVisitor_run_closure2, A._EvaluateVisitor_run__closure2, A._EvaluateVisitor__loadModule_closure5, A._EvaluateVisitor__loadModule_closure6, A._EvaluateVisitor__loadModule__closure6, A._EvaluateVisitor__execute_closure2, A._EvaluateVisitor__extendModules_closure6, A._EvaluateVisitor_visitAtRootRule_closure5, A._EvaluateVisitor_visitAtRootRule_closure6, A._EvaluateVisitor__scopeForAtRoot__closure2, A._EvaluateVisitor_visitContentRule_closure2, A._EvaluateVisitor_visitDeclaration_closure2, A._EvaluateVisitor_visitEachRule_closure10, A._EvaluateVisitor_visitAtRule_closure9, A._EvaluateVisitor_visitAtRule__closure2, A._EvaluateVisitor_visitForRule_closure14, A._EvaluateVisitor_visitForRule_closure15, A._EvaluateVisitor_visitForRule_closure16, A._EvaluateVisitor_visitForRule_closure17, A._EvaluateVisitor_visitForRule_closure18, A._EvaluateVisitor__registerCommentsForModule_closure2, A._EvaluateVisitor_visitIfRule__closure2, A._EvaluateVisitor__visitDynamicImport_closure2, A._EvaluateVisitor__visitDynamicImport__closure14, A._EvaluateVisitor__applyMixin_closure5, A._EvaluateVisitor__applyMixin__closure6, A._EvaluateVisitor__applyMixin_closure6, A._EvaluateVisitor__applyMixin__closure5, A._EvaluateVisitor__applyMixin___closure2, A._EvaluateVisitor__applyMixin____closure2, A._EvaluateVisitor_visitIncludeRule_closure8, A._EvaluateVisitor_visitIncludeRule_closure10, A._EvaluateVisitor_visitMediaRule_closure9, A._EvaluateVisitor_visitMediaRule__closure2, A._EvaluateVisitor_visitMediaRule___closure2, A._EvaluateVisitor_visitStyleRule_closure14, A._EvaluateVisitor_visitStyleRule_closure17, A._EvaluateVisitor_visitStyleRule__closure2, A._EvaluateVisitor_visitSupportsRule_closure5, A._EvaluateVisitor_visitSupportsRule__closure2, A._EvaluateVisitor__visitSupportsCondition_closure2, A._EvaluateVisitor_visitVariableDeclaration_closure8, A._EvaluateVisitor_visitVariableDeclaration_closure9, A._EvaluateVisitor_visitVariableDeclaration_closure10, A._EvaluateVisitor_visitWarnRule_closure2, A._EvaluateVisitor_visitWhileRule_closure2, A._EvaluateVisitor_visitBinaryOperationExpression_closure2, A._EvaluateVisitor_visitVariableExpression_closure2, A._EvaluateVisitor_visitUnaryOperationExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure8, A._EvaluateVisitor_visitFunctionExpression_closure10, A._EvaluateVisitor__visitCalculationExpression_closure2, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure2, A._EvaluateVisitor__runUserDefinedCallable_closure2, A._EvaluateVisitor__runUserDefinedCallable__closure2, A._EvaluateVisitor__runUserDefinedCallable___closure2, A._EvaluateVisitor__runFunctionCallable_closure2, A._EvaluateVisitor__runBuiltInCallable_closure8, A._EvaluateVisitor__runBuiltInCallable_closure9, A._EvaluateVisitor__verifyArguments_closure2, A._EvaluateVisitor_visitCssAtRule_closure5, A._EvaluateVisitor_visitCssKeyframeBlock_closure5, A._EvaluateVisitor_visitCssMediaRule_closure9, A._EvaluateVisitor_visitCssMediaRule__closure2, A._EvaluateVisitor_visitCssMediaRule___closure2, A._EvaluateVisitor_visitCssStyleRule_closure6, A._EvaluateVisitor_visitCssStyleRule__closure2, A._EvaluateVisitor_visitCssSupportsRule_closure5, A._EvaluateVisitor_visitCssSupportsRule__closure2, A._EvaluateVisitor__serialize_closure2, A._EvaluateVisitor__expressionNode_closure2, A.JSToDartAsyncFileImporter_canonicalize_closure, A.AsyncImportCache_canonicalize_closure0, A.AsyncImportCache__canonicalize_closure0, A.AsyncImportCache_importCanonical_closure0, A.AtRootQueryParser_parse_closure0, A.booleanClass_closure, A.legacyBooleanClass_closure, A.calculationClass_closure, A.calculationOperationClass_closure, A.calculationInterpolationClass_closure, A.colorClass_closure, A.compileAsync_closure, A.compileStringAsync_closure, A._parseFunctions___closure6, A._parseFunctions___closure5, A._parseDeprecations_closure, A.nodePackageImporterClass_closure, A.compilerClass_closure, A.asyncCompilerClass_closure, A.asyncCompilerClass___closure, A.initAsyncCompiler_closure, A.deprecations_closure, A.versionClass_closure, A.Environment_setVariable_closure2, A.Environment_setVariable_closure4, A._EvaluateVisitor__closure10, A._EvaluateVisitor__closure9, A._EvaluateVisitor_run_closure1, A._EvaluateVisitor_run__closure1, A._EvaluateVisitor__loadModule_closure3, A._EvaluateVisitor__loadModule_closure4, A._EvaluateVisitor__loadModule__closure4, A._EvaluateVisitor__execute_closure1, A._EvaluateVisitor__extendModules_closure4, A._EvaluateVisitor_visitAtRootRule_closure3, A._EvaluateVisitor_visitAtRootRule_closure4, A._EvaluateVisitor__scopeForAtRoot__closure1, A._EvaluateVisitor_visitContentRule_closure1, A._EvaluateVisitor_visitDeclaration_closure1, A._EvaluateVisitor_visitEachRule_closure7, A._EvaluateVisitor_visitAtRule_closure6, A._EvaluateVisitor_visitAtRule__closure1, A._EvaluateVisitor_visitForRule_closure9, A._EvaluateVisitor_visitForRule_closure10, A._EvaluateVisitor_visitForRule_closure11, A._EvaluateVisitor_visitForRule_closure12, A._EvaluateVisitor_visitForRule_closure13, A._EvaluateVisitor__registerCommentsForModule_closure1, A._EvaluateVisitor_visitIfRule__closure1, A._EvaluateVisitor__visitDynamicImport_closure1, A._EvaluateVisitor__visitDynamicImport__closure10, A._EvaluateVisitor__applyMixin_closure3, A._EvaluateVisitor__applyMixin__closure4, A._EvaluateVisitor__applyMixin_closure4, A._EvaluateVisitor__applyMixin__closure3, A._EvaluateVisitor__applyMixin___closure1, A._EvaluateVisitor__applyMixin____closure1, A._EvaluateVisitor_visitIncludeRule_closure5, A._EvaluateVisitor_visitIncludeRule_closure7, A._EvaluateVisitor_visitMediaRule_closure6, A._EvaluateVisitor_visitMediaRule__closure1, A._EvaluateVisitor_visitMediaRule___closure1, A._EvaluateVisitor_visitStyleRule_closure9, A._EvaluateVisitor_visitStyleRule_closure12, A._EvaluateVisitor_visitStyleRule__closure1, A._EvaluateVisitor_visitSupportsRule_closure3, A._EvaluateVisitor_visitSupportsRule__closure1, A._EvaluateVisitor__visitSupportsCondition_closure1, A._EvaluateVisitor_visitVariableDeclaration_closure5, A._EvaluateVisitor_visitVariableDeclaration_closure6, A._EvaluateVisitor_visitVariableDeclaration_closure7, A._EvaluateVisitor_visitWarnRule_closure1, A._EvaluateVisitor_visitWhileRule_closure1, A._EvaluateVisitor_visitBinaryOperationExpression_closure1, A._EvaluateVisitor_visitVariableExpression_closure1, A._EvaluateVisitor_visitUnaryOperationExpression_closure1, A._EvaluateVisitor_visitFunctionExpression_closure5, A._EvaluateVisitor_visitFunctionExpression_closure7, A._EvaluateVisitor__visitCalculationExpression_closure1, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure1, A._EvaluateVisitor__runUserDefinedCallable_closure1, A._EvaluateVisitor__runUserDefinedCallable__closure1, A._EvaluateVisitor__runUserDefinedCallable___closure1, A._EvaluateVisitor__runFunctionCallable_closure1, A._EvaluateVisitor__runBuiltInCallable_closure5, A._EvaluateVisitor__runBuiltInCallable_closure6, A._EvaluateVisitor__verifyArguments_closure1, A._EvaluateVisitor_visitCssAtRule_closure3, A._EvaluateVisitor_visitCssKeyframeBlock_closure3, A._EvaluateVisitor_visitCssMediaRule_closure6, A._EvaluateVisitor_visitCssMediaRule__closure1, A._EvaluateVisitor_visitCssMediaRule___closure1, A._EvaluateVisitor_visitCssStyleRule_closure4, A._EvaluateVisitor_visitCssStyleRule__closure1, A._EvaluateVisitor_visitCssSupportsRule_closure3, A._EvaluateVisitor_visitCssSupportsRule__closure1, A._EvaluateVisitor__serialize_closure1, A._EvaluateVisitor__expressionNode_closure1, A.exceptionClass_closure, A.ExtensionStore__registerSelector_closure0, A.ExtensionStore_addExtension_closure2, A.ExtensionStore_addExtension_closure3, A.ExtensionStore_addExtension_closure4, A.ExtensionStore__extendExistingExtensions_closure1, A.ExtensionStore__extendExistingExtensions_closure2, A.ExtensionStore_addExtensions_closure0, A.JSToDartFileImporter_canonicalize_closure, A.functionClass_closure, A.NodeImporter_load_closure, A.NodeImporter__tryPath_closure, A.NodeImporter__callImporterAsync_closure, A.ImportCache_canonicalize_closure0, A.ImportCache__canonicalize_closure0, A.ImportCache_importCanonical_closure0, A._realCasePath_helper_closure0, A._readFile_closure0, A.fileExists_closure0, A.dirExists_closure0, A.listDir_closure0, A.JSToDartLogger_internalWarn_closure, A.JSToDartLogger_debug_closure, A.KeyframeSelectorParser_parse_closure0, A.render_closure, A._parseFunctions____closure, A._parseFunctions___closure3, A._parseFunctions___closure4, A._parseFunctions___closure1, A._parseFunctions___closure0, A._parseImporter____closure, A._parseImporter___closure0, A.listClass_closure, A.mapClass_closure, A.MediaQueryParser_parse_closure0, A.mixinClass_closure, A.legacyNullClass_closure, A.numberClass_closure, A.SassNumber__coerceOrConvertValue_compatibilityException0, A.SassNumber__coerceOrConvertValue_closure4, A.SassNumber__coerceOrConvertValue_closure6, A.SassNumber_multiplyUnits_closure4, A.SassNumber_multiplyUnits_closure6, A.Parser__parseIdentifier_closure0, A.Parser_spanFrom_closure0, A.PseudoSelector_specificity_closure0, A.SassParser_children_closure0, A.SelectorParser_parse_closure0, A.SelectorParser_parseCompoundSelector_closure0, A._SerializeVisitor_visitCssComment_closure0, A._SerializeVisitor_visitCssAtRule_closure0, A._SerializeVisitor_visitCssMediaRule_closure0, A._SerializeVisitor_visitCssImport_closure0, A._SerializeVisitor_visitCssImport__closure0, A._SerializeVisitor_visitCssKeyframeBlock_closure0, A._SerializeVisitor_visitCssStyleRule_closure0, A._SerializeVisitor_visitCssSupportsRule_closure0, A._SerializeVisitor_visitCssDeclaration_closure1, A._SerializeVisitor_visitCssDeclaration_closure2, A._SerializeVisitor__write_closure0, A._SerializeVisitor__visitChildren_closure1, A._SerializeVisitor__visitChildren_closure2, A.SingleUnitSassNumber_multiplyUnits_closure2, A.updateSourceSpanPrototype_closure, A.stringClass_closure, A.StylesheetParser_parse_closure0, A.StylesheetParser_parse__closure1, A.StylesheetParser_parseArgumentDeclaration_closure0, A.StylesheetParser__parseSingleProduction_closure0, A.StylesheetParser_parseSignature_closure, A.StylesheetParser__statement_closure0, A.StylesheetParser_variableDeclarationWithoutNamespace_closure1, A.StylesheetParser_variableDeclarationWithoutNamespace_closure2, A.StylesheetParser__forRule_closure1, A.StylesheetParser__memberList_closure0, A.StylesheetParser__expression_resetState0, A.StylesheetParser__expression_resolveOneOperation0, A.StylesheetParser__expression_resolveOperations0, A.StylesheetParser__expression_resolveSpaceExpressions0, A.StylesheetParser_expressionUntilComma_closure0, A.StylesheetParser_namespacedExpression_closure0, A.StylesheetParser__expressionUntilComparison_closure0, A.StylesheetParser__publicIdentifier_closure0, A.JSToDartImporter_canonicalize_closure, A.JSToDartImporter_load_closure, A.resolveImportPath_closure1, A.resolveImportPath_closure2, A._tryPathAsDirectory_closure0, A.valueClass_closure]); + _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainForeignFuture_closure1, A._Future__chainCoreFutureAsync_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteError_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A.Stream_length_closure0, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.Parser__setOption_closure, A.StreamGroup_add_closure, A.StreamGroup_add_closure0, A.StreamGroup__listenToStream_closure, A.StreamQueue__ensureListening_closure0, A._isStrictMode_closure, A.ReplAdapter_runAsync_closure, A.ParsedPath__splitExtension_closure0, A.PseudoSelector_specificity_closure, A.AsyncEnvironment_setVariable_closure, A.AsyncEnvironment_setVariable_closure1, A.AsyncImportCache_canonicalize_closure, A.AsyncImportCache__canonicalize_closure, A.AsyncImportCache_importCanonical_closure, A.Environment_setVariable_closure, A.Environment_setVariable_closure1, A.ExecutableOptions__parser_closure, A.ExecutableOptions_interactive_closure, A.ExecutableOptions_fatalDeprecations_closure, A.ExtensionStore__registerSelector_closure, A.ExtensionStore_addExtension_closure, A.ExtensionStore_addExtension_closure0, A.ExtensionStore_addExtension_closure1, A.ExtensionStore__extendExistingExtensions_closure, A.ExtensionStore__extendExistingExtensions_closure0, A.ExtensionStore_addExtensions_closure, A._changeColor_closure, A.ImportCache_canonicalize_closure, A.ImportCache__canonicalize_closure, A.ImportCache_importCanonical_closure, A.resolveImportPath_closure, A.resolveImportPath_closure0, A._tryPathAsDirectory_closure, A._realCasePath_helper_closure, A._readFile_closure, A.writeFile_closure, A.deleteFile_closure, A.fileExists_closure, A.dirExists_closure, A.ensureDir_closure, A.listDir_closure, A.modificationTime_closure, A.watchDir_closure3, A.watchDir__closure, A.watchDir_closure4, A.AtRootQueryParser_parse_closure, A.KeyframeSelectorParser_parse_closure, A.MediaQueryParser_parse_closure, A.Parser__parseIdentifier_closure, A.Parser_spanFrom_closure, A.SassParser_children_closure, A.SelectorParser_parse_closure, A.SelectorParser_parseCompoundSelector_closure, A.StylesheetParser_parse_closure, A.StylesheetParser_parse__closure, A.StylesheetParser_parseArgumentDeclaration_closure, A.StylesheetParser_parseVariableDeclaration_closure, A.StylesheetParser_parseUseRule_closure, A.StylesheetParser__parseSingleProduction_closure, A.StylesheetParser__statement_closure, A.StylesheetParser_variableDeclarationWithoutNamespace_closure, A.StylesheetParser_variableDeclarationWithoutNamespace_closure0, A.StylesheetParser__forRule_closure, A.StylesheetParser__memberList_closure, A.StylesheetParser__expression_resetState, A.StylesheetParser__expression_resolveOneOperation, A.StylesheetParser__expression_resolveOperations, A.StylesheetParser__expression_resolveSpaceExpressions, A.StylesheetParser_expressionUntilComma_closure, A.StylesheetParser_namespacedExpression_closure, A.StylesheetParser__expressionUntilComparison_closure, A.StylesheetParser__publicIdentifier_closure, A.StylesheetGraph_modifiedSince_transitiveModificationTime_closure, A.StylesheetGraph__add_closure, A.StylesheetGraph_addCanonical_closure, A.StylesheetGraph_reload_closure, A.StylesheetGraph__nodeFor_closure, A.StylesheetGraph__nodeFor_closure0, A.SassNumber__coerceOrConvertValue_compatibilityException, A.SassNumber__coerceOrConvertValue_closure0, A.SassNumber__coerceOrConvertValue_closure2, A.SassNumber_multiplyUnits_closure0, A.SassNumber_multiplyUnits_closure2, A.SingleUnitSassNumber_multiplyUnits_closure0, A._EvaluateVisitor__closure6, A._EvaluateVisitor__closure5, A._EvaluateVisitor_run_closure0, A._EvaluateVisitor_run__closure0, A._EvaluateVisitor__loadModule_closure1, A._EvaluateVisitor__loadModule_closure2, A._EvaluateVisitor__loadModule__closure2, A._EvaluateVisitor__execute_closure0, A._EvaluateVisitor__extendModules_closure2, A._EvaluateVisitor_visitAtRootRule_closure1, A._EvaluateVisitor_visitAtRootRule_closure2, A._EvaluateVisitor__scopeForAtRoot__closure0, A._EvaluateVisitor_visitContentRule_closure0, A._EvaluateVisitor_visitDeclaration_closure0, A._EvaluateVisitor_visitEachRule_closure4, A._EvaluateVisitor_visitAtRule_closure3, A._EvaluateVisitor_visitAtRule__closure0, A._EvaluateVisitor_visitForRule_closure4, A._EvaluateVisitor_visitForRule_closure5, A._EvaluateVisitor_visitForRule_closure6, A._EvaluateVisitor_visitForRule_closure7, A._EvaluateVisitor_visitForRule_closure8, A._EvaluateVisitor__registerCommentsForModule_closure0, A._EvaluateVisitor_visitIfRule__closure0, A._EvaluateVisitor__visitDynamicImport_closure0, A._EvaluateVisitor__visitDynamicImport__closure6, A._EvaluateVisitor__applyMixin_closure1, A._EvaluateVisitor__applyMixin__closure2, A._EvaluateVisitor__applyMixin_closure2, A._EvaluateVisitor__applyMixin__closure1, A._EvaluateVisitor__applyMixin___closure0, A._EvaluateVisitor__applyMixin____closure0, A._EvaluateVisitor_visitIncludeRule_closure2, A._EvaluateVisitor_visitIncludeRule_closure4, A._EvaluateVisitor_visitMediaRule_closure3, A._EvaluateVisitor_visitMediaRule__closure0, A._EvaluateVisitor_visitMediaRule___closure0, A._EvaluateVisitor_visitStyleRule_closure3, A._EvaluateVisitor_visitStyleRule_closure6, A._EvaluateVisitor_visitStyleRule__closure0, A._EvaluateVisitor_visitSupportsRule_closure1, A._EvaluateVisitor_visitSupportsRule__closure0, A._EvaluateVisitor__visitSupportsCondition_closure0, A._EvaluateVisitor_visitVariableDeclaration_closure2, A._EvaluateVisitor_visitVariableDeclaration_closure3, A._EvaluateVisitor_visitVariableDeclaration_closure4, A._EvaluateVisitor_visitWarnRule_closure0, A._EvaluateVisitor_visitWhileRule_closure0, A._EvaluateVisitor_visitBinaryOperationExpression_closure0, A._EvaluateVisitor_visitVariableExpression_closure0, A._EvaluateVisitor_visitUnaryOperationExpression_closure0, A._EvaluateVisitor_visitFunctionExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure4, A._EvaluateVisitor__visitCalculationExpression_closure0, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure0, A._EvaluateVisitor__runUserDefinedCallable_closure0, A._EvaluateVisitor__runUserDefinedCallable__closure0, A._EvaluateVisitor__runUserDefinedCallable___closure0, A._EvaluateVisitor__runFunctionCallable_closure0, A._EvaluateVisitor__runBuiltInCallable_closure2, A._EvaluateVisitor__runBuiltInCallable_closure3, A._EvaluateVisitor__verifyArguments_closure0, A._EvaluateVisitor_visitCssAtRule_closure1, A._EvaluateVisitor_visitCssKeyframeBlock_closure1, A._EvaluateVisitor_visitCssMediaRule_closure3, A._EvaluateVisitor_visitCssMediaRule__closure0, A._EvaluateVisitor_visitCssMediaRule___closure0, A._EvaluateVisitor_visitCssStyleRule_closure2, A._EvaluateVisitor_visitCssStyleRule__closure0, A._EvaluateVisitor_visitCssSupportsRule_closure1, A._EvaluateVisitor_visitCssSupportsRule__closure0, A._EvaluateVisitor__serialize_closure0, A._EvaluateVisitor__expressionNode_closure0, A._EvaluateVisitor__closure2, A._EvaluateVisitor__closure1, A._EvaluateVisitor_run_closure, A._EvaluateVisitor_run__closure, A._EvaluateVisitor_runExpression_closure, A._EvaluateVisitor_runExpression__closure, A._EvaluateVisitor_runExpression___closure, A._EvaluateVisitor_runStatement_closure, A._EvaluateVisitor_runStatement__closure, A._EvaluateVisitor_runStatement___closure, A._EvaluateVisitor__loadModule_closure, A._EvaluateVisitor__loadModule_closure0, A._EvaluateVisitor__loadModule__closure0, A._EvaluateVisitor__execute_closure, A._EvaluateVisitor__extendModules_closure0, A._EvaluateVisitor_visitAtRootRule_closure, A._EvaluateVisitor_visitAtRootRule_closure0, A._EvaluateVisitor__scopeForAtRoot__closure, A._EvaluateVisitor_visitContentRule_closure, A._EvaluateVisitor_visitDeclaration_closure, A._EvaluateVisitor_visitEachRule_closure1, A._EvaluateVisitor_visitAtRule_closure0, A._EvaluateVisitor_visitAtRule__closure, A._EvaluateVisitor_visitForRule_closure, A._EvaluateVisitor_visitForRule_closure0, A._EvaluateVisitor_visitForRule_closure1, A._EvaluateVisitor_visitForRule_closure2, A._EvaluateVisitor_visitForRule_closure3, A._EvaluateVisitor__registerCommentsForModule_closure, A._EvaluateVisitor_visitIfRule__closure, A._EvaluateVisitor__visitDynamicImport_closure, A._EvaluateVisitor__visitDynamicImport__closure2, A._EvaluateVisitor__applyMixin_closure, A._EvaluateVisitor__applyMixin__closure0, A._EvaluateVisitor__applyMixin_closure0, A._EvaluateVisitor__applyMixin__closure, A._EvaluateVisitor__applyMixin___closure, A._EvaluateVisitor__applyMixin____closure, A._EvaluateVisitor_visitIncludeRule_closure, A._EvaluateVisitor_visitIncludeRule_closure1, A._EvaluateVisitor_visitMediaRule_closure0, A._EvaluateVisitor_visitMediaRule__closure, A._EvaluateVisitor_visitMediaRule___closure, A._EvaluateVisitor_visitStyleRule_closure, A._EvaluateVisitor_visitStyleRule_closure2, A._EvaluateVisitor_visitStyleRule__closure, A._EvaluateVisitor_visitSupportsRule_closure, A._EvaluateVisitor_visitSupportsRule__closure, A._EvaluateVisitor__visitSupportsCondition_closure, A._EvaluateVisitor_visitVariableDeclaration_closure, A._EvaluateVisitor_visitVariableDeclaration_closure0, A._EvaluateVisitor_visitVariableDeclaration_closure1, A._EvaluateVisitor_visitWarnRule_closure, A._EvaluateVisitor_visitWhileRule_closure, A._EvaluateVisitor_visitBinaryOperationExpression_closure, A._EvaluateVisitor_visitVariableExpression_closure, A._EvaluateVisitor_visitUnaryOperationExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure, A._EvaluateVisitor_visitFunctionExpression_closure1, A._EvaluateVisitor__visitCalculationExpression_closure, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure, A._EvaluateVisitor__runUserDefinedCallable_closure, A._EvaluateVisitor__runUserDefinedCallable__closure, A._EvaluateVisitor__runUserDefinedCallable___closure, A._EvaluateVisitor__runFunctionCallable_closure, A._EvaluateVisitor__runBuiltInCallable_closure, A._EvaluateVisitor__runBuiltInCallable_closure0, A._EvaluateVisitor__verifyArguments_closure, A._EvaluateVisitor_visitCssAtRule_closure, A._EvaluateVisitor_visitCssKeyframeBlock_closure, A._EvaluateVisitor_visitCssMediaRule_closure0, A._EvaluateVisitor_visitCssMediaRule__closure, A._EvaluateVisitor_visitCssMediaRule___closure, A._EvaluateVisitor_visitCssStyleRule_closure0, A._EvaluateVisitor_visitCssStyleRule__closure, A._EvaluateVisitor_visitCssSupportsRule_closure, A._EvaluateVisitor_visitCssSupportsRule__closure, A._EvaluateVisitor__serialize_closure, A._EvaluateVisitor__expressionNode_closure, A._SerializeVisitor_visitCssComment_closure, A._SerializeVisitor_visitCssAtRule_closure, A._SerializeVisitor_visitCssMediaRule_closure, A._SerializeVisitor_visitCssImport_closure, A._SerializeVisitor_visitCssImport__closure, A._SerializeVisitor_visitCssKeyframeBlock_closure, A._SerializeVisitor_visitCssStyleRule_closure, A._SerializeVisitor_visitCssSupportsRule_closure, A._SerializeVisitor_visitCssDeclaration_closure, A._SerializeVisitor_visitCssDeclaration_closure0, A._SerializeVisitor__write_closure, A._SerializeVisitor__visitChildren_closure, A._SerializeVisitor__visitChildren_closure0, A.SingleMapping_SingleMapping$fromEntries_closure, A.SingleMapping_SingleMapping$fromEntries_closure0, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeLabel_closure, A.Highlighter__writeLabel_closure0, A.Highlighter__writeSidebar_closure, A._Highlight_closure, A.Frame_Frame$parseVM_closure, A.Frame_Frame$parseV8_closure, A.Frame_Frame$_parseFirefoxEval_closure, A.Frame_Frame$parseFirefox_closure, A.Frame_Frame$parseFriendly_closure, A.LazyTrace_terse_closure, A.Trace_Trace$from_closure, A.TransformByHandlers_transformByHandlers_closure, A.TransformByHandlers_transformByHandlers__closure0, A.TransformByHandlers_transformByHandlers__closure2, A.RateLimit__debounceAggregate_closure_emit, A.RateLimit__debounceAggregate__closure, A.argumentListClass_closure, A.JSToDartAsyncImporter_canonicalize_closure, A.JSToDartAsyncImporter_load_closure, A.AsyncEnvironment_setVariable_closure2, A.AsyncEnvironment_setVariable_closure4, A._EvaluateVisitor__closure14, A._EvaluateVisitor__closure13, A._EvaluateVisitor_run_closure2, A._EvaluateVisitor_run__closure2, A._EvaluateVisitor__loadModule_closure5, A._EvaluateVisitor__loadModule_closure6, A._EvaluateVisitor__loadModule__closure6, A._EvaluateVisitor__execute_closure2, A._EvaluateVisitor__extendModules_closure6, A._EvaluateVisitor_visitAtRootRule_closure5, A._EvaluateVisitor_visitAtRootRule_closure6, A._EvaluateVisitor__scopeForAtRoot__closure2, A._EvaluateVisitor_visitContentRule_closure2, A._EvaluateVisitor_visitDeclaration_closure2, A._EvaluateVisitor_visitEachRule_closure10, A._EvaluateVisitor_visitAtRule_closure9, A._EvaluateVisitor_visitAtRule__closure2, A._EvaluateVisitor_visitForRule_closure14, A._EvaluateVisitor_visitForRule_closure15, A._EvaluateVisitor_visitForRule_closure16, A._EvaluateVisitor_visitForRule_closure17, A._EvaluateVisitor_visitForRule_closure18, A._EvaluateVisitor__registerCommentsForModule_closure2, A._EvaluateVisitor_visitIfRule__closure2, A._EvaluateVisitor__visitDynamicImport_closure2, A._EvaluateVisitor__visitDynamicImport__closure14, A._EvaluateVisitor__applyMixin_closure5, A._EvaluateVisitor__applyMixin__closure6, A._EvaluateVisitor__applyMixin_closure6, A._EvaluateVisitor__applyMixin__closure5, A._EvaluateVisitor__applyMixin___closure2, A._EvaluateVisitor__applyMixin____closure2, A._EvaluateVisitor_visitIncludeRule_closure8, A._EvaluateVisitor_visitIncludeRule_closure10, A._EvaluateVisitor_visitMediaRule_closure9, A._EvaluateVisitor_visitMediaRule__closure2, A._EvaluateVisitor_visitMediaRule___closure2, A._EvaluateVisitor_visitStyleRule_closure11, A._EvaluateVisitor_visitStyleRule_closure14, A._EvaluateVisitor_visitStyleRule__closure2, A._EvaluateVisitor_visitSupportsRule_closure5, A._EvaluateVisitor_visitSupportsRule__closure2, A._EvaluateVisitor__visitSupportsCondition_closure2, A._EvaluateVisitor_visitVariableDeclaration_closure8, A._EvaluateVisitor_visitVariableDeclaration_closure9, A._EvaluateVisitor_visitVariableDeclaration_closure10, A._EvaluateVisitor_visitWarnRule_closure2, A._EvaluateVisitor_visitWhileRule_closure2, A._EvaluateVisitor_visitBinaryOperationExpression_closure2, A._EvaluateVisitor_visitVariableExpression_closure2, A._EvaluateVisitor_visitUnaryOperationExpression_closure2, A._EvaluateVisitor_visitFunctionExpression_closure8, A._EvaluateVisitor_visitFunctionExpression_closure10, A._EvaluateVisitor__visitCalculationExpression_closure2, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure2, A._EvaluateVisitor__runUserDefinedCallable_closure2, A._EvaluateVisitor__runUserDefinedCallable__closure2, A._EvaluateVisitor__runUserDefinedCallable___closure2, A._EvaluateVisitor__runFunctionCallable_closure2, A._EvaluateVisitor__runBuiltInCallable_closure8, A._EvaluateVisitor__runBuiltInCallable_closure9, A._EvaluateVisitor__verifyArguments_closure2, A._EvaluateVisitor_visitCssAtRule_closure5, A._EvaluateVisitor_visitCssKeyframeBlock_closure5, A._EvaluateVisitor_visitCssMediaRule_closure9, A._EvaluateVisitor_visitCssMediaRule__closure2, A._EvaluateVisitor_visitCssMediaRule___closure2, A._EvaluateVisitor_visitCssStyleRule_closure6, A._EvaluateVisitor_visitCssStyleRule__closure2, A._EvaluateVisitor_visitCssSupportsRule_closure5, A._EvaluateVisitor_visitCssSupportsRule__closure2, A._EvaluateVisitor__serialize_closure2, A._EvaluateVisitor__expressionNode_closure2, A.JSToDartAsyncFileImporter_canonicalize_closure, A.AsyncImportCache_canonicalize_closure0, A.AsyncImportCache__canonicalize_closure0, A.AsyncImportCache_importCanonical_closure0, A.AtRootQueryParser_parse_closure0, A.booleanClass_closure, A.legacyBooleanClass_closure, A.calculationClass_closure, A.calculationOperationClass_closure, A.calculationInterpolationClass_closure, A._changeColor_closure0, A.colorClass_closure, A.compileAsync_closure, A.compileStringAsync_closure, A._parseFunctions___closure6, A._parseFunctions___closure5, A.nodePackageImporterClass_closure, A.compilerClass_closure, A.asyncCompilerClass_closure, A.asyncCompilerClass___closure, A.initAsyncCompiler_closure, A.deprecations_closure, A.parseDeprecations_closure, A.versionClass_closure, A.Environment_setVariable_closure2, A.Environment_setVariable_closure4, A._EvaluateVisitor__closure10, A._EvaluateVisitor__closure9, A._EvaluateVisitor_run_closure1, A._EvaluateVisitor_run__closure1, A._EvaluateVisitor__loadModule_closure3, A._EvaluateVisitor__loadModule_closure4, A._EvaluateVisitor__loadModule__closure4, A._EvaluateVisitor__execute_closure1, A._EvaluateVisitor__extendModules_closure4, A._EvaluateVisitor_visitAtRootRule_closure3, A._EvaluateVisitor_visitAtRootRule_closure4, A._EvaluateVisitor__scopeForAtRoot__closure1, A._EvaluateVisitor_visitContentRule_closure1, A._EvaluateVisitor_visitDeclaration_closure1, A._EvaluateVisitor_visitEachRule_closure7, A._EvaluateVisitor_visitAtRule_closure6, A._EvaluateVisitor_visitAtRule__closure1, A._EvaluateVisitor_visitForRule_closure9, A._EvaluateVisitor_visitForRule_closure10, A._EvaluateVisitor_visitForRule_closure11, A._EvaluateVisitor_visitForRule_closure12, A._EvaluateVisitor_visitForRule_closure13, A._EvaluateVisitor__registerCommentsForModule_closure1, A._EvaluateVisitor_visitIfRule__closure1, A._EvaluateVisitor__visitDynamicImport_closure1, A._EvaluateVisitor__visitDynamicImport__closure10, A._EvaluateVisitor__applyMixin_closure3, A._EvaluateVisitor__applyMixin__closure4, A._EvaluateVisitor__applyMixin_closure4, A._EvaluateVisitor__applyMixin__closure3, A._EvaluateVisitor__applyMixin___closure1, A._EvaluateVisitor__applyMixin____closure1, A._EvaluateVisitor_visitIncludeRule_closure5, A._EvaluateVisitor_visitIncludeRule_closure7, A._EvaluateVisitor_visitMediaRule_closure6, A._EvaluateVisitor_visitMediaRule__closure1, A._EvaluateVisitor_visitMediaRule___closure1, A._EvaluateVisitor_visitStyleRule_closure7, A._EvaluateVisitor_visitStyleRule_closure10, A._EvaluateVisitor_visitStyleRule__closure1, A._EvaluateVisitor_visitSupportsRule_closure3, A._EvaluateVisitor_visitSupportsRule__closure1, A._EvaluateVisitor__visitSupportsCondition_closure1, A._EvaluateVisitor_visitVariableDeclaration_closure5, A._EvaluateVisitor_visitVariableDeclaration_closure6, A._EvaluateVisitor_visitVariableDeclaration_closure7, A._EvaluateVisitor_visitWarnRule_closure1, A._EvaluateVisitor_visitWhileRule_closure1, A._EvaluateVisitor_visitBinaryOperationExpression_closure1, A._EvaluateVisitor_visitVariableExpression_closure1, A._EvaluateVisitor_visitUnaryOperationExpression_closure1, A._EvaluateVisitor_visitFunctionExpression_closure5, A._EvaluateVisitor_visitFunctionExpression_closure7, A._EvaluateVisitor__visitCalculationExpression_closure1, A._EvaluateVisitor_visitInterpolatedFunctionExpression_closure1, A._EvaluateVisitor__runUserDefinedCallable_closure1, A._EvaluateVisitor__runUserDefinedCallable__closure1, A._EvaluateVisitor__runUserDefinedCallable___closure1, A._EvaluateVisitor__runFunctionCallable_closure1, A._EvaluateVisitor__runBuiltInCallable_closure5, A._EvaluateVisitor__runBuiltInCallable_closure6, A._EvaluateVisitor__verifyArguments_closure1, A._EvaluateVisitor_visitCssAtRule_closure3, A._EvaluateVisitor_visitCssKeyframeBlock_closure3, A._EvaluateVisitor_visitCssMediaRule_closure6, A._EvaluateVisitor_visitCssMediaRule__closure1, A._EvaluateVisitor_visitCssMediaRule___closure1, A._EvaluateVisitor_visitCssStyleRule_closure4, A._EvaluateVisitor_visitCssStyleRule__closure1, A._EvaluateVisitor_visitCssSupportsRule_closure3, A._EvaluateVisitor_visitCssSupportsRule__closure1, A._EvaluateVisitor__serialize_closure1, A._EvaluateVisitor__expressionNode_closure1, A.exceptionClass_closure, A.ExtensionStore__registerSelector_closure0, A.ExtensionStore_addExtension_closure2, A.ExtensionStore_addExtension_closure3, A.ExtensionStore_addExtension_closure4, A.ExtensionStore__extendExistingExtensions_closure1, A.ExtensionStore__extendExistingExtensions_closure2, A.ExtensionStore_addExtensions_closure0, A.JSToDartFileImporter_canonicalize_closure, A.functionClass_closure, A.NodeImporter_load_closure, A.NodeImporter__tryPath_closure, A.NodeImporter__callImporterAsync_closure, A.ImportCache_canonicalize_closure0, A.ImportCache__canonicalize_closure0, A.ImportCache_importCanonical_closure0, A._realCasePath_helper_closure0, A._readFile_closure0, A.fileExists_closure0, A.dirExists_closure0, A.listDir_closure0, A.JSToDartLogger_internalWarn_closure, A.JSToDartLogger_debug_closure, A.KeyframeSelectorParser_parse_closure0, A.render_closure, A._parseFunctions____closure, A._parseFunctions___closure3, A._parseFunctions___closure4, A._parseFunctions___closure1, A._parseFunctions___closure0, A._parseImporter____closure, A._parseImporter___closure0, A.listClass_closure, A.mapClass_closure, A.MediaQueryParser_parse_closure0, A.mixinClass_closure, A.legacyNullClass_closure, A.numberClass_closure, A.SassNumber__coerceOrConvertValue_compatibilityException0, A.SassNumber__coerceOrConvertValue_closure4, A.SassNumber__coerceOrConvertValue_closure6, A.SassNumber_multiplyUnits_closure4, A.SassNumber_multiplyUnits_closure6, A.Parser__parseIdentifier_closure0, A.Parser_spanFrom_closure0, A.PseudoSelector_specificity_closure0, A.SassParser_children_closure0, A.SelectorParser_parse_closure0, A.SelectorParser_parseCompoundSelector_closure0, A._SerializeVisitor_visitCssComment_closure0, A._SerializeVisitor_visitCssAtRule_closure0, A._SerializeVisitor_visitCssMediaRule_closure0, A._SerializeVisitor_visitCssImport_closure0, A._SerializeVisitor_visitCssImport__closure0, A._SerializeVisitor_visitCssKeyframeBlock_closure0, A._SerializeVisitor_visitCssStyleRule_closure0, A._SerializeVisitor_visitCssSupportsRule_closure0, A._SerializeVisitor_visitCssDeclaration_closure1, A._SerializeVisitor_visitCssDeclaration_closure2, A._SerializeVisitor__write_closure0, A._SerializeVisitor__visitChildren_closure1, A._SerializeVisitor__visitChildren_closure2, A.SingleUnitSassNumber_multiplyUnits_closure2, A.updateSourceSpanPrototype_closure, A.stringClass_closure, A.StylesheetParser_parse_closure0, A.StylesheetParser_parse__closure1, A.StylesheetParser_parseArgumentDeclaration_closure0, A.StylesheetParser__parseSingleProduction_closure0, A.StylesheetParser_parseSignature_closure, A.StylesheetParser__statement_closure0, A.StylesheetParser_variableDeclarationWithoutNamespace_closure1, A.StylesheetParser_variableDeclarationWithoutNamespace_closure2, A.StylesheetParser__forRule_closure1, A.StylesheetParser__memberList_closure0, A.StylesheetParser__expression_resetState0, A.StylesheetParser__expression_resolveOneOperation0, A.StylesheetParser__expression_resolveOperations0, A.StylesheetParser__expression_resolveSpaceExpressions0, A.StylesheetParser_expressionUntilComma_closure0, A.StylesheetParser_namespacedExpression_closure0, A.StylesheetParser__expressionUntilComparison_closure0, A.StylesheetParser__publicIdentifier_closure0, A.JSToDartImporter_canonicalize_closure, A.JSToDartImporter_load_closure, A.resolveImportPath_closure1, A.resolveImportPath_closure2, A._tryPathAsDirectory_closure0, A.valueClass_closure]); _inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeyIterable, A._HashMapKeyIterable, A._MapBaseValueIterable]); _inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable, A._GeneratorIterable]); _inherit(A.EfficientLengthMappedIterable, A.MappedIterable); @@ -116202,7 +124329,7 @@ self.util = _cliPkgRequires.util; _inheritMany(A._Record, [A._Record1, A._Record2, A._Record3, A._RecordN]); _inherit(A._Record_1, A._Record1); _inheritMany(A._Record2, [A._Record_2, A._Record_2_forImport, A._Record_2_imports_modules, A._Record_2_loadedUrls_stylesheet, A._Record_2_sourceMap]); - _inheritMany(A._Record3, [A._Record_3, A._Record_3_forImport, A._Record_3_importer_isDependency, A._Record_3_originalUrl]); + _inheritMany(A._Record3, [A._Record_3, A._Record_3_deprecation_message_span, A._Record_3_forImport, A._Record_3_importer_isDependency, A._Record_3_originalUrl]); _inherit(A._Record_5_named_namedNodes_positional_positionalNodes_separator, A._RecordN); _inheritMany(A.MapView, [A._UnmodifiableMapView_MapView__UnmodifiableMapMixin, A.PathMap]); _inherit(A.UnmodifiableMapView, A._UnmodifiableMapView_MapView__UnmodifiableMapMixin); @@ -116261,12 +124388,14 @@ self.util = _cliPkgRequires.util; _inheritMany(A.Socket, [A.TTYReadStream, A.TTYWriteStream]); _inherit(A.InternalStyle, A.Style); _inheritMany(A.InternalStyle, [A.PosixStyle, A.UrlStyle, A.WindowsStyle]); - _inheritMany(A._Enum, [A._SingletonCssMediaQueryMergeResult, A.BinaryOperator, A.UnaryOperator, A.AttributeOperator, A.Combinator, A.Deprecation, A.ExtendMode, A.Syntax, A.CalculationOperator, A.ListSeparator, A.OutputStyle, A.LineFeed, A.AttributeOperator0, A.BinaryOperator0, A.CalculationOperator0, A.Combinator0, A.Deprecation0, A.ListSeparator0, A._SingletonCssMediaQueryMergeResult0, A.ExtendMode0, A.OutputStyle0, A.LineFeed0, A.Syntax0, A.UnaryOperator0]); + _inheritMany(A._Enum, [A._SingletonCssMediaQueryMergeResult, A.BinaryOperator, A.UnaryOperator, A.AttributeOperator, A.Combinator, A.Deprecation, A.ExtendMode, A.Syntax, A.CalculationOperator, A.HueInterpolationMethod, A.ListSeparator, A.OutputStyle, A.LineFeed, A.AttributeOperator0, A.BinaryOperator0, A.CalculationOperator0, A.Combinator0, A.Deprecation0, A.HueInterpolationMethod0, A.ListSeparator0, A._SingletonCssMediaQueryMergeResult0, A.ExtendMode0, A.OutputStyle0, A.LineFeed0, A.Syntax0, A.UnaryOperator0]); _inheritMany(A.CssNode, [A.ModifiableCssNode, A.CssParentNode]); _inheritMany(A.ModifiableCssNode, [A.ModifiableCssParentNode, A.ModifiableCssComment, A.ModifiableCssDeclaration, A.ModifiableCssImport]); _inheritMany(A.ModifiableCssParentNode, [A.ModifiableCssAtRule, A.ModifiableCssKeyframeBlock, A.ModifiableCssMediaRule, A.ModifiableCssStyleRule, A.ModifiableCssStylesheet, A.ModifiableCssSupportsRule]); _inherit(A._IsInvisibleVisitor, A.__IsInvisibleVisitor_Object_EveryCssVisitor); _inherit(A.CssStylesheet, A.CssParentNode); + _inheritMany(A.Expression, [A.BinaryOperationExpression, A.BooleanExpression, A.ColorExpression, A.FunctionExpression, A.IfExpression, A.InterpolatedFunctionExpression, A.ListExpression, A.MapExpression, A.NullExpression, A.NumberExpression, A.ParenthesizedExpression, A.SelectorExpression, A.StringExpression, A.SupportsExpression, A.UnaryOperationExpression, A.ValueExpression, A.VariableExpression]); + _inheritMany(A.Statement, [A.ParentStatement, A.ContentRule, A.DebugRule, A.ErrorRule, A.ExtendRule, A.ForwardRule, A.IfRule, A.ImportRule, A.IncludeRule, A.LoudComment, A.ReturnRule, A.SilentComment, A.UseRule, A.VariableDeclaration, A.WarnRule]); _inheritMany(A.ParentStatement, [A.AtRootRule, A.AtRule, A.CallableDeclaration, A.Declaration, A.EachRule, A.ForRule, A.MediaRule, A.StyleRule, A.Stylesheet, A.SupportsRule, A.WhileRule]); _inheritMany(A.CallableDeclaration, [A.ContentBlock, A.FunctionRule, A.MixinRule]); _inheritMany(A.IfRuleClause, [A.IfClause, A.ElseClause]); @@ -116292,6 +124421,9 @@ self.util = _cliPkgRequires.util; _inheritMany(A.UnmodifiableMapBase, [A.LimitedMapView, A.PrefixedMapView, A.PublicMemberMapView, A.UnprefixedMapView, A.LimitedMapView0, A.PrefixedMapView0, A.PublicMemberMapView0, A.UnprefixedMapView0]); _inheritMany(A.Value, [A.SassList, A.SassBoolean, A.SassCalculation, A.SassColor, A.SassFunction, A.SassMap, A.SassMixin, A._SassNull, A.SassNumber, A.SassString]); _inherit(A.SassArgumentList, A.SassList); + _inherit(A.LinearChannel, A.ColorChannel); + _inheritMany(A.GamutMapMethod, [A.ClipGamutMap, A.LocalMindeGamutMap]); + _inheritMany(A.ColorSpace, [A.A98RgbColorSpace, A.DisplayP3ColorSpace, A.HslColorSpace, A.HwbColorSpace, A.LabColorSpace, A.LchColorSpace, A.LmsColorSpace, A.OklabColorSpace, A.OklchColorSpace, A.ProphotoRgbColorSpace, A.Rec2020ColorSpace, A.RgbColorSpace, A.SrgbColorSpace, A.SrgbLinearColorSpace, A.XyzD50ColorSpace, A.XyzD65ColorSpace]); _inheritMany(A.SassNumber, [A.ComplexSassNumber, A.SingleUnitSassNumber, A.UnitlessSassNumber]); _inherit(A._MakeExpressionCalculationSafe, A.__MakeExpressionCalculationSafe_Object_ReplaceExpressionVisitor); _inherit(A._FindDependenciesVisitor, A.__FindDependenciesVisitor_Object_RecursiveStatementVisitor); @@ -116302,16 +124434,22 @@ self.util = _cliPkgRequires.util; _inherit(A.SourceSpanWithContext, A.SourceSpanBase); _inherit(A.StringScannerException, A.SourceSpanFormatException); _inheritMany(A.StringScanner, [A.LineScanner, A.SpanScanner]); + _inheritMany(A.ColorSpace0, [A.A98RgbColorSpace0, A.DisplayP3ColorSpace0, A.HslColorSpace0, A.HwbColorSpace0, A.LabColorSpace0, A.LchColorSpace0, A.LmsColorSpace0, A.OklabColorSpace0, A.OklchColorSpace0, A.ProphotoRgbColorSpace0, A.Rec2020ColorSpace0, A.RgbColorSpace0, A.SrgbColorSpace0, A.SrgbLinearColorSpace0, A.XyzD50ColorSpace0, A.XyzD65ColorSpace0]); _inheritMany(A.Value0, [A.SassList0, A.SassBoolean0, A.SassCalculation0, A.SassColor0, A.SassNumber0, A.SassFunction0, A.SassMap0, A.SassMixin0, A._SassNull0, A.SassString0]); _inherit(A.SassArgumentList0, A.SassList0); _inheritMany(A.AsyncImporter0, [A.JSToDartAsyncImporter, A.JSToDartAsyncFileImporter, A.Importer0]); _inheritMany(A.Parser1, [A.AtRootQueryParser0, A.StylesheetParser0, A.KeyframeSelectorParser0, A.MediaQueryParser0, A.SelectorParser0]); + _inheritMany(A.Statement0, [A.ParentStatement0, A.ContentRule0, A.DebugRule0, A.ErrorRule0, A.ExtendRule0, A.ForwardRule0, A.IfRule0, A.ImportRule0, A.IncludeRule0, A.LoudComment0, A.ReturnRule0, A.SilentComment0, A.UseRule0, A.VariableDeclaration0, A.WarnRule0]); _inheritMany(A.ParentStatement0, [A.AtRootRule0, A.AtRule0, A.CallableDeclaration0, A.Declaration0, A.EachRule0, A.ForRule0, A.MediaRule0, A.StyleRule0, A.Stylesheet0, A.SupportsRule0, A.WhileRule0]); _inheritMany(A.CssNode0, [A.ModifiableCssNode0, A.CssParentNode0]); _inheritMany(A.ModifiableCssNode0, [A.ModifiableCssParentNode0, A.ModifiableCssComment0, A.ModifiableCssDeclaration0, A.ModifiableCssImport0]); _inheritMany(A.ModifiableCssParentNode0, [A.ModifiableCssAtRule0, A.ModifiableCssKeyframeBlock0, A.ModifiableCssMediaRule0, A.ModifiableCssStyleRule0, A.ModifiableCssStylesheet0, A.ModifiableCssSupportsRule0]); _inheritMany(A.Selector0, [A.SimpleSelector0, A.ComplexSelector0, A.CompoundSelector0, A.SelectorList0]); _inheritMany(A.SimpleSelector0, [A.AttributeSelector0, A.ClassSelector0, A.IDSelector0, A.ParentSelector0, A.PlaceholderSelector0, A.PseudoSelector0, A.TypeSelector0, A.UniversalSelector0]); + _inheritMany(A.Expression0, [A.BinaryOperationExpression0, A.BooleanExpression0, A.ColorExpression0, A.FunctionExpression0, A.IfExpression0, A.InterpolatedFunctionExpression0, A.ListExpression0, A.MapExpression0, A.NullExpression0, A.NumberExpression0, A.ParenthesizedExpression0, A.SelectorExpression0, A.StringExpression0, A.SupportsExpression0, A.UnaryOperationExpression0, A.ValueExpression0, A.VariableExpression0]); + _inherit(A.LinearChannel0, A.ColorChannel0); + _inheritMany(A.GamutMapMethod0, [A.ClipGamutMap0, A.LocalMindeGamutMap0]); + _inherit(A._ConstructionOptions, A._Channels); _inherit(A.CompileStringOptions, A.CompileOptions); _inherit(A.AsyncCompiler, A.Compiler); _inheritMany(A.SassNumber0, [A.ComplexSassNumber0, A.SingleUnitSassNumber0, A.UnitlessSassNumber0]); @@ -116371,7 +124509,7 @@ self.util = _cliPkgRequires.util; typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []}, mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map"}, mangledNames: {}, - types: ["~()", "Null()", "Future()", "Value0(List)", "bool(String)", "String(String)", "Value(List)", "bool(CssNode)", "bool(CssNode0)", "bool(Object?)", "int()", "SassNumber(List)", "SassNumber0(List)", "JSClass0()", "bool(SimpleSelector)", "bool(SimpleSelector0)", "bool(ComplexSelector)", "SassString(List)", "bool(ComplexSelector0)", "SassString0(List)", "SassBoolean(List)", "SassBoolean0(List)", "SassList0(List)", "SassList(List)", "Future<~>()", "String()", "FileSpan()", "SassColor0(List)", "bool(int?)", "SassColor(List)", "bool()", "Object?()", "Value()", "SassMap0(List)", "~(Object?)", "Null(~())", "SassMap(List)", "Future(Future<~>())", "double(double)", "Value?()", "Value0?()", "Value0(Value0)", "Value(Value)", "Value0()", "String?()", "bool(int)", "Uri(Uri)", "bool(num,num)", "SassNumber0(SassNumber0)", "bool(Value0)", "bool(ComplexSelectorComponent)", "bool(ComplexSelectorComponent0)", "SassNumber(SassNumber)", "Null(Object,StackTrace)", "Null(@)", "double(double,double)", "ComplexSelector0(ComplexSelector0)", "ComplexSelector(ComplexSelector)", "~(Value)", "double(SassColor0)", "ValueExpression(Value)", "ValueExpression0(Value0)", "@()", "~(Value0)", "Object(Object)", "Future()", "Future()", "bool(Object)", "~(Object,StackTrace)", "Future()", "bool(SelectorList0)", "Frame()", "~(@)", "bool(Value)", "bool(SelectorList)", "Future()", "Value?(Statement)", "Callable0?()", "~(Module0,bool)", "List?(List)", "Object()", "SassRuntimeException(AstNode)", "~(Object)", "Value0?(Statement0)", "Frame(String)", "int(Uri)", "Future(Statement)", "~(Module1,bool)", "Callable?()", "Future(List)", "Null(_NodeSassColor,num)", "Stylesheet?()", "~(String)", "AsyncCallable0?()", "~(Value0,Value0)", "SassRuntimeException0(AstNode0)", "~([int?])", "~(String,Value)", "Future(Statement0)", "AsyncCallable?()", "~(String,Value0)", "List?(List)", "~(Value,Value)", "double(Value)", "Null([Object?])", "@(@)", "double(Value0)", "bool(Expression0)", "bool(ModifiableCssNode0)", "Null(Module1,bool)", "bool(Expression)", "bool(ModifiableCssNode)", "SassCalculation0(Object)", "~(String,@)", "bool(Module1)", "bool(_Highlight)", "Null(Module0,bool)", "String(Object)", "int(SassColor0)", "+originalUrl(Importer,Uri,Uri)?()", "int(_NodeSassColor)", "String(String{color:Object?})", "~(String,Object?)", "bool(Module1)", "Statement()", "String(@)", "List()", "Map()", "bool(@)", "Map()", "bool(Module0)", "~(String,Function)", "Statement0()", "~(~())", "bool(Module0)", "String(Expression0)", "String(Expression)", "SassFunction0(List)", "String(Value0)", "SelectorList(Value)", "SelectorList(SelectorList,SelectorList)", "Uri?()", "Uri(String)", "int(String,String)", "String?(String?)", "String?(Object)", "Iterable()", "Iterable(String)", "Iterable(@)", "DateTime()", "~(String[~])", "int(int)", "0&(String,FileSpan[StackTrace?])", "bool(Statement)", "bool(Import)", "VariableDeclaration()", "AtRootRule(List,FileSpan)", "AtRule(List,FileSpan)", "Set<0^>()", "String(String{color:@})", "Entry(Entry)", "int(double)", "~(@,@)", "double(double,String)", "AstNode(AstNode)", "SassFunction(List)", "SassMixin(List)", "Future<~>(List)", "~(Object?,Object?)", "List()", "@(String)", "bool(ModifiableCssParentNode)", "Future()", "List()", "bool(UseRule)", "bool(ForwardRule)", "int(ComplexSelector)", "Future()", "AsyncCallable?(Module0)", "MapKeySet>(Map,AstNode>)", "Future()", "InterpolationMap(List)", "AstNode?()", "String(SassNumber)", "Map(Module0)", "~(List)", "SassNumber()", "Uri?/()", "double(SassNumber0,Object,Object[String?])", "double(double,double?,num)", "Value0?(Value0)", "Future<~>?()", "~(List)", "double?(String,num{assertPercent:bool,checkPercent:bool,checkUnitless:bool})", "String(int)", "SelectorList0(Value0)", "Map(Module1)", "Callable?(Module1)", "~(Iterable)", "Version(String)", "Set<0&>(Object)", "AsyncImporter0(Object?)", "Expression0(Expression0)", "int(ComplexSelector0)", "double(SassNumber0,SassNumber0[String?,String?])", "AtRule0(List,FileSpan)", "Future()", "Trace(String)", "AtRootRule0(List,FileSpan)", "bool(Queue>)", "Object(CalculationOperation0)", "int(SourceLocation)", "String(FileSpan)", "0&(@[@])", "SelectorList0(SelectorList0,SelectorList0)", "SassNumber0(SassNumber0,SassNumber0[String?,String?])", "0&(Object[Object?])", "String(SassNumber0)", "AstNode0?()", "InterpolationMap0(List)", "FileLocation(FileSpan)", "List()", "SassNumber0(SassNumber0,Object,Object[String?])", "bool(SassNumber0,String)", "ImmutableList0(SassNumber0)", "~(Iterable)", "bool(ForwardRule0)", "bool(UseRule0)", "List()", "Future()", "~(Uint8List,String,int)", "int(Object?)", "bool(ModifiableCssParentNode0)", "bool(SassNumber0)", "List()", "bool(Object?,Object?)", "Null(_NodeSassMap,int,Object)", "Map(Module0)", "Object(_NodeSassMap,int)", "Value0(int)", "SassNumber0()", "SassMixin0(List)", "~(Object[StackTrace?])", "MapKeySet>(Map,AstNode0>)", "@(Value0,num)", "bool(Import0)", "MapKeySet>(Map,AstNode>)", "Callable0?(Module0)", "AstNode0(AstNode0)", "bool(Statement0)", "bool(Queue>)", "List()", "Map(Module1)", "int(@,@)", "int(int,double?)", "MapKeySet>(Map,AstNode0>)", "AsyncCallable0?(Module1)", "bool(String?)", "Future(List)", "~([Object?])", "bool(Frame)", "Trace()", "String(_NodeException)", "String(Frame)", "int(Frame)", "Expression(Expression)", "Future<~>(List)", "~(ContentBlock)", "~(List)", "Value(Expression)", "Future()", "~(CssMediaQuery)", "~(SelectorList)", "~(MapEntry)", "SourceFile()", "SourceFile?(int)", "String?(SourceFile?)", "int(_Line)", "bool(+originalUrl(AsyncImporter,Uri,Uri))", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry>)", "SourceSpanWithContext()", "List(Trace)", "int(Trace)", "UserDefinedCallable(ContentBlock)", "String(Trace)", "Value?(IfRuleClause)", "Uri(+originalUrl(AsyncImporter,Uri,Uri))", "Frame(String,String)", "CssValue(Interpolation)", "Future<+originalUrl(AsyncImporter,Uri,Uri)?>()", "Frame(Frame)", "int(int,int)", "Value?(Value)", "~(Module0)", "String(Argument0)", "Uint8List(@,@)", "SassArgumentList0(Object,Object,Object[String?])", "ImmutableMap0(SassArgumentList0)", "bool(Deprecation)", "Module0()", "Value0?(Module1)", "Module1?(Module1)", "+loadedUrls,stylesheet(Set,CssStylesheet)()", "~(String,int?)", "Map(Module1)", "Map(Module1)", "CssValue(Interpolation{trim:bool,warnForColor:bool})", "Module0?(Module0)", "Future>(Interpolation0{trim:bool,warnForColor:bool})", "Map(Module0)", "Map(Module0)", "Value/()", "Future(Expression)", "Map(Module0)", "Module0?(Module0)", "Value?(Module0)", "Map(Module0)", "~(Module1,bool)", "Future<+loadedUrls,stylesheet(Set,CssStylesheet0)>()", "Future>()", "UserDefinedCallable(ContentBlock)", "~(Module1)", "Future(IfRuleClause)", "~(String,int)", "SimpleSelector(SimpleSelector)", "ArgParser()", "Future(Value0)", "Set()", "Future>(Interpolation0)", "Future<~>(String)", "Future>(Interpolation)", "List(List)", "~(Symbol0,@)", "Future(IfRuleClause0)", "Future(Value)", "Iterable(ComplexSelector)", "UserDefinedCallable0(ContentBlock0)", "SassList(ComplexSelector)", "bool(Extension)", "Set>()", "Object?(Object?)", "~(Module0)", "Iterable(List)", "Future(Expression0)", "List(Extender)", "Value0/()", "List?(SimpleSelector)", "List(PseudoSelector)", "List>(List)", "Future>()", "Future<+loadedUrls,stylesheet(Set,CssStylesheet)>()", "~(Module0,bool)", "Future<+originalUrl(AsyncImporter0,Uri,Uri)?>()", "Future()", "bool(+originalUrl(AsyncImporter0,Uri,Uri))", "Uri(+originalUrl(AsyncImporter0,Uri,Uri))", "AtRootQuery0()", "int(int,SimpleSelector)", "String(CssValue)", "List(ComplexSelector)", "PseudoSelector(ComplexSelector)", "SassCalculation0(Object[Object?,Object?])", "SassCalculation0(SassCalculation0[String?])", "ImmutableList(SassCalculation0)", "Object(Object,String,Object,Object)", "bool(CalculationOperator0)", "bool(CalculationOperation0,Object)", "int(CalculationOperation0)", "String(CalculationOperation0)", "int(int,ComplexSelectorComponent)", "CalculationInterpolation(Object,String)", "bool(CalculationInterpolation,Object)", "int(CalculationInterpolation)", "String(CalculationInterpolation)", "bool(CanonicalizeContext0)", "JSUrl0?(CanonicalizeContext0)", "~(SimpleSelector,Set>)", "List?(List,List)", "SingleUnitSassNumber(double)", "bool(List>)", "bool(PseudoSelector)", "Value?(Module0)", "0&(List)", "SassColor0(Object,_Channels)", "SassColor0(SassColor0,_Channels)", "SelectorList?(PseudoSelector)", "@(@,String)", "Null(_NodeSassColor,num?[num?,num?,num?,SassColor0?])", "~(String,Option)", "double(_NodeSassColor)", "_Future<@>(@)", "SassScriptException()", "DateTime(StylesheetNode)", "AsyncImporter0(JSImporter)", "0&(@)", "Null(@,@)", "Iterable()", "NodePackageImporter0(Object[String?])", "StringExpression(Interpolation)", "NodeCompileResult(Compiler,String[CompileOptions?])", "NodeCompileResult(Compiler,String[CompileStringOptions?])", "Null(Compiler)", "Promise(AsyncCompiler,String[CompileOptions?])", "Promise(AsyncCompiler,String[CompileStringOptions?])", "Promise(AsyncCompiler)", "Future()", "int(int,ComplexSelectorComponent0)", "String(CssValue0)", "int(int,SimpleSelector0)", "String(BuiltInCallable0)", "bool(Deprecation0)", "Version(Object,int,int,int)", "~(BinaryOperator)", "~(Expression)", "Value0?(Module1)", "Module1?(Module1)", "WhileRule(List,FileSpan)", "Object(Value0)", "Map(Module1)", "Map(Module1)", "SupportsRule(List,FileSpan)", "MixinRule(List,FileSpan)", "CssValue0(Interpolation0{trim:bool,warnForColor:bool})", "MediaRule(List,FileSpan)", "ContentBlock(List,FileSpan)", "ForRule(List,FileSpan)", "+loadedUrls,stylesheet(Set,CssStylesheet0)()", "Module1()", "~(Module1)", "FunctionRule(List,FileSpan)", "EachRule(List,FileSpan)", "CssValue0(Interpolation0)", "Declaration(List,FileSpan)", "Value0?(IfRuleClause0)", "UserDefinedCallable0(ContentBlock0)", "Value0(Expression0)", "StyleRule(List,FileSpan)", "FileSpan(_NodeException)", "bool(Extension0)", "Set>()", "UseRule()", "ArgumentDeclaration()", "Iterable(List)", "String(Value)", "List(Extender0)", "List?(SimpleSelector0)", "List(PseudoSelector0)", "List>(List)", "List(ComplexSelector0)", "PseudoSelector0(ComplexSelector0)", "~(SimpleSelector0,Set>)", "SassFunction0(Object,String,Value0(List))", "List?(List,List)", "VariableDeclaration(VariableDeclaration)", "bool(List>)", "0&(List)", "bool(PseudoSelector0)", "SelectorList0?(PseudoSelector0)", "String(int,IfClause0)", "Statement?()", "Stylesheet()", "~(Object?,Object,Object?)", "+(String,String)(String)", "Future<~>(List)", "Stylesheet0?()", "bool(+originalUrl(Importer0,Uri,Uri))", "Uri(+originalUrl(Importer0,Uri,Uri))", "~(String,WarnOptions)", "~(String,DebugOptions)", "Null(RenderResult)", "JSFunction0(JSFunction0)", "Object?(Object,String,String[Object?])", "Null(Object)", "Null(@,StackTrace)", "List(Value0)", "bool(List)", "SassList0(ComplexSelector0)", "Iterable(ComplexSelector0)", "SimpleSelector0(SimpleSelector0)", "SassList0(Object[Object?,_ConstructorOptions?])", "Expression({bracketList:bool,singleEquals:bool,until:bool()?})", "Null(_NodeSassList,int?[bool?,SassList0?])", "Statement({root:bool})", "Object(_NodeSassList,int)", "Null(_NodeSassList,int,Object)", "bool(_NodeSassList)", "Null(_NodeSassList,bool)", "int(_NodeSassList)", "SassMap0(Value0)", "SassMap0(SassMap0)", "SassMap0(Object[ImmutableMap0?])", "ImmutableMap0(SassMap0)", "@(SassMap0,Object)", "Null(_NodeSassMap,int?[SassMap0?])", "SassNumber0(int)", "CompoundSelector()", "int(_NodeSassMap)", "SelectorList()", "SassNumber0(Value0)", "List()", "Value0(Object)", "0&(Object)", "SassNumber0(Object,num[Object?])", "double(SassNumber0)", "String(int,IfClause)", "int?(SassNumber0)", "List()", "int(SassNumber0[String?])", "double(SassNumber0,num,num[String?])", "SassNumber0(SassNumber0[String?])", "SassNumber0(SassNumber0,String[String?])", "String(BuiltInCallable)", "AtRootQuery()", "~(int,@)", "~(@,StackTrace)", "~([Future<~>?])", "Null(_NodeSassNumber,num?[String?,SassNumber0?])", "double(_NodeSassNumber)", "Null(_NodeSassNumber,num)", "String(_NodeSassNumber)", "Null(_NodeSassNumber,String)", "SassScriptException0()", "String(Argument)", "String(Object,@,@[@])", "List(Value)", "Future<@>()", "bool(Version)", "Object(String)", "SassString0(SimpleSelector0)", "SelectorList0()", "CompoundSelector0()", "~(CssMediaQuery0)", "~(SelectorList0)", "~(MapEntry)", "SingleUnitSassNumber0(double)", "bool(+forImport(Importer,Uri,bool),+originalUrl(Importer,Uri,Uri)?)", "JSUrl0?(FileSpan)", "Uri(+originalUrl(Importer,Uri,Uri))", "bool(+originalUrl(Importer,Uri,Uri))", "SassString0(int)", "SassString0(String)", "SassString0(Object[Object?,_ConstructorOptions1?])", "String(SassString0)", "bool(SassString0)", "int(SassString0)", "int(SassString0,Value0[String?])", "Null(_NodeSassString,String?[SassString0?])", "String(_NodeSassString)", "Null(_NodeSassString,String)", "Statement0({root:bool})", "bool(List)", "Stylesheet0()", "Statement0?()", "VariableDeclaration0(VariableDeclaration0)", "ArgumentDeclaration0()", "+(String,ArgumentDeclaration0)()", "VariableDeclaration0()", "StyleRule0(List,FileSpan)", "Declaration0(List,FileSpan)", "int(String?)", "EachRule0(List,FileSpan)", "FunctionRule0(List,FileSpan)", "ForRule0(List,FileSpan)", "ContentBlock0(List,FileSpan)", "MediaRule0(List,FileSpan)", "MixinRule0(List,FileSpan)", "bool(String?,String?)", "SupportsRule0(List,FileSpan)", "WhileRule0(List,FileSpan)", "~(Expression0)", "~(BinaryOperator0)", "StringExpression0(Interpolation0)", "Null(~(Object?),~(Object?))", "ImmutableList0(Value0)", "String?(Value0)", "int(Value0,Value0[String?])", "SassBoolean0(Value0[String?])", "SassCalculation0(Value0[String?])", "SassColor0(Value0[String?])", "SassFunction0(Value0[String?])", "SassMap0(Value0[String?])", "SassMixin0(Value0[String?])", "SassNumber0(Value0[String?])", "SassString0(Value0[String?])", "SassMap0?(Value0)", "bool(Value0,Object?)", "int(Value0[Object?])", "SassString(String)", "SassString(int)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "SassString(SimpleSelector)", "Value(Object)", "0^(0^,0^)", "Null(Function,Function)", "SassNumber(Value)", "~(Object,StackTrace,EventSink<0^>)", "List<0^>(0^,List<0^>?)", "NodeCompileResult(String[CompileOptions?])", "NodeCompileResult(String[CompileStringOptions?])", "Promise(String[CompileOptions?])", "Promise(String[CompileStringOptions?])", "Importer0(Object?)", "Compiler()", "Promise()", "List(Object?)", "~(RenderOptions,~(Object?,RenderResult?))", "RenderResult(RenderOptions)", "Uri(JSUrl0)", "JSUrl0(Uri)", "String(String[String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?])", "String(Object?)", "String(String?)", "SassMap(Value)", "int(num)", "SassMap(SassMap)", "+originalUrl(Importer0,Uri,Uri)?()", "Future>(Interpolation{trim:bool,warnForColor:bool})"], + types: ["~()", "Null()", "Future()", "Value0(List)", "Value(List)", "bool(String)", "String(String)", "bool(CssNode)", "bool(CssNode0)", "bool(Object?)", "int()", "SassBoolean(List)", "SassBoolean0(List)", "bool(SimpleSelector)", "bool(SimpleSelector0)", "double(double)", "JSClass0()", "SassString0(List)", "SassString(List)", "bool(ComplexSelector)", "bool(ComplexSelector0)", "SassColor(List)", "SassNumber0(List)", "SassNumber(List)", "bool()", "SassColor0(List)", "SassList0(List)", "SassList(List)", "double(SassColor0)", "FileSpan()", "Future<~>()", "String()", "bool(int?)", "~(Object?)", "SassMap(List)", "Null(~())", "SassMap0(List)", "Object?()", "Value()", "Future(Future<~>())", "int(SassColor0)", "Value(Value)", "Value?()", "Value0(Value0)", "Value0?()", "bool(num,num)", "String?()", "bool(int)", "Value0()", "double(SassColor)", "Uri(Uri)", "SassNumber(SassNumber)", "SassNumber0(SassNumber0)", "bool(ComplexSelectorComponent)", "Null(Object,StackTrace)", "bool(ComplexSelectorComponent0)", "bool(Value0)", "ValueExpression(Value)", "Null(@)", "ComplexSelector0(ComplexSelector0)", "~(Value)", "~(Value0)", "double(double,double)", "ComplexSelector(ComplexSelector)", "int(SassColor)", "@()", "ValueExpression0(Value0)", "Future()", "~(Object,StackTrace)", "bool(SelectorList)", "~(@)", "bool(ColorChannel0)", "Frame()", "bool(SelectorList0)", "Future()", "Future()", "bool(Object)", "bool(Value)", "Future()", "Object(Object)", "Future(Statement)", "AsyncCallable?()", "Value?(Statement)", "Object()", "~(String)", "Callable0?()", "Null([Object?])", "int(Uri)", "~(Object)", "~(String,Value)", "bool(ColorChannel)", "Value0?(Statement0)", "Frame(String)", "~(Module1,bool)", "Null(_NodeSassColor,num)", "double(SassNumber0)", "AsyncCallable0?()", "~(Value0,Value0)", "SassRuntimeException0(AstNode0)", "~([int?])", "~(Module0,bool)", "Future(Statement0)", "~(Value,Value)", "List?(List)", "Stylesheet?()", "List?(List)", "SassRuntimeException(AstNode)", "Future(List)", "~(String,Value0)", "Callable?()", "@(@)", "~(String,@)", "String(Expression0)", "Map()", "Null(Module1,bool)", "SassCalculation0(Object)", "Null(Module0,bool)", "bool(Module0)", "~(~())", "String(Expression)", "String(Object)", "bool(Expression)", "double(SassNumber)", "String(String{color:Object?})", "int(_NodeSassColor)", "Statement()", "~(String,Object?)", "bool(Module1)", "Uri(String)", "bool(Module1)", "String(@)", "Map()", "List()", "bool(Module0)", "bool(_Highlight)", "~(String,Function)", "Statement0()", "bool(Expression0)", "+originalUrl(Importer,Uri,Uri)?()", "Iterable(@)", "String(SassNumber)", "int(String,String)", "~(List)", "String?(String?)", "String?(Object)", "SassNumber()", "Callable0?(Module0)", "Expression(Expression)", "MapKeySet>(Map,AstNode>)", "~(double?[String?])", "Map(Module0)", "int(Frame)", "String(Frame)", "bool(Statement)", "Trace()", "bool(Frame)", "~(Iterable)", "Iterable()", "Iterable(String)", "bool(Import)", "DateTime()", "~(String[~])", "AsyncCallable0?(Module1)", "MapKeySet>(Map,AstNode0>)", "Map(Module1)", "List()", "AstNode0(AstNode0)", "List()", "int(int)", "SassFunction0(List)", "0&(String,FileSpan[StackTrace?])", "SassMixin0(List)", "Future<~>(List)", "bool(Queue>)", "~(Uint8List,String,int)", "bool(ModifiableCssParentNode0)", "~(Object[StackTrace?])", "VariableDeclaration()", "AtRootRule(List,FileSpan)", "AtRule(List,FileSpan)", "bool(@)", "String(String{color:@})", "List()", "bool(UseRule0)", "bool(ForwardRule0)", "Entry(Entry)", "Set<0^>()", "double(double,String)", "AstNode(AstNode)", "SassFunction(List)", "Future<~>?()", "SassMixin(List)", "Future<~>(List)", "~(@,@)", "InterpolationMap0(List)", "AstNode0?()", "String(SassNumber0)", "0&(Object[Object?])", "0&(@[@])", "int(ComplexSelector)", "AsyncCallable?(Module0)", "Object(CalculationOperation0)", "List()", "String(double)", "bool(ModifiableCssParentNode)", "double()", "MapKeySet>(Map,AstNode>)", "double(Value)", "Map(Module0)", "String(Value0)", "double(Value0)", "Future()", "ImmutableList0(SassColor0)", "~(Object?,Object?)", "List()", "Future()", "AsyncImporter0(Object?)", "bool(UseRule)", "Set<0&>(Object)", "Version(String)", "~(Iterable)", "Callable?(Module1)", "MapKeySet>(Map,AstNode0>)", "Map(Module1)", "bool(ForwardRule)", "Uri?/()", "~(List)", "Future()", "Value0?(Value0)", "bool(String?)", "SassNumber0()", "String(_NodeException)", "SelectorList(Value)", "List()", "SelectorList(SelectorList,SelectorList)", "bool(Queue>)", "@(String)", "bool(Statement0)", "bool(Import0)", "Uri?()", "@(Value0,num)", "Value0(int)", "Object(_NodeSassMap,int)", "Null(_NodeSassMap,int,Object)", "bool(SassNumber0)", "ImmutableList0(SassNumber0)", "bool(SassNumber0,String)", "SassNumber0(SassNumber0,Object,Object[String?])", "SassNumber0(SassNumber0,SassNumber0[String?,String?])", "double(SassNumber0,Object,Object[String?])", "double(SassNumber0,SassNumber0[String?,String?])", "int(ComplexSelector0)", "Future()", "Expression0(Expression0)", "SelectorList0(Value0)", "SelectorList0(SelectorList0,SelectorList0)", "FileLocation(FileSpan)", "JSUrl0(Uri)", "String(FileSpan)", "int(SourceLocation)", "~(int)", "Future(List)", "AtRootRule0(List,FileSpan)", "AtRule0(List,FileSpan)", "int(@,@)", "~([Object?])", "bool(Object?,Object?)", "int(Object?)", "InterpolationMap(List)", "Trace(String)", "AstNode?()", "Future()", "~(Module0,bool)", "Value(Expression)", "Map(Module0)", "~(ContentBlock)", "~(List)", "Map(Module0)", "SassString(SimpleSelector)", "~(CssMediaQuery)", "Set(CssParentNode)", "SassString(int)", "~(SelectorList)", "~(MapEntry)", "SourceFile()", "SourceFile?(int)", "String?(SourceFile?)", "int(_Line)", "SassString(String)", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry>)", "SourceSpanWithContext()", "List(Trace)", "int(Trace)", "Null(@,StackTrace)", "String(Trace)", "Null(Function,Function)", "Future<+originalUrl(AsyncImporter,Uri,Uri)?>()", "Frame(String,String)", "bool(+originalUrl(Importer,Uri,Uri))", "Uri(+originalUrl(Importer,Uri,Uri))", "Frame(Frame)", "bool(+forImport(Importer,Uri,bool),+originalUrl(Importer,Uri,Uri)?)", "String(String?)", "Future()", "String(Argument0)", "bool(+originalUrl(AsyncImporter,Uri,Uri))", "SassArgumentList0(Object,Object,Object[String?])", "ImmutableMap0(SassArgumentList0)", "Uri(+originalUrl(AsyncImporter,Uri,Uri))", "~(Symbol0,@)", "Value0/(List)", "Value0?(Module1)", "Module1?(Module1)", "bool(String?,String?)", "int(String?)", "Map(Module1)", "Map(Module1)", "Value/(List)", "Object(String)", "Future>(Interpolation0{trim:bool,warnForColor:bool})", "bool(Deprecation)", "Value?(Module0)", "Module0?(Module0)", "bool(Version)", "bool(ModifiableCssNode)", "Map(Module0)", "~(Object?,List)", "Null(Object?,List<@>)", "~(Module1,bool)", "Future<+loadedUrls,stylesheet(Set,CssStylesheet0)>()", "Future>()", "Map(Module0)", "~(Module1)", "List(ComplexSelector)", "String(Argument)", "AtRootQuery()", "String(BuiltInCallable)", "Future(Value0)", "List()", "Future>(Interpolation0)", "~(String,int)", "ArgParser()", "Set()", "SelectorList()", "Future(IfRuleClause0)", "CompoundSelector()", "Statement({root:bool})", "UserDefinedCallable0(ContentBlock0)", "~(+deprecation,message,span(Deprecation?,String,FileSpan))", "Expression({bracketList:bool,singleEquals:bool,until:bool()?})", "NumberExpression()", "Stylesheet()", "Statement?()", "Future(Expression0)", "VariableDeclaration(VariableDeclaration)", "Value0/()", "ArgumentDeclaration()", "Future<~>(String)", "UseRule()", "StyleRule(List,FileSpan)", "Declaration(List,FileSpan)", "List(List)", "Future<+originalUrl(AsyncImporter0,Uri,Uri)?>()", "Future()", "bool(+originalUrl(AsyncImporter0,Uri,Uri))", "Uri(+originalUrl(AsyncImporter0,Uri,Uri))", "AtRootQuery0()", "EachRule(List,FileSpan)", "FunctionRule(List,FileSpan)", "ForRule(List,FileSpan)", "ContentBlock(List,FileSpan)", "SassCalculation0(Object[Object?,Object?])", "SassCalculation0(SassCalculation0[String?])", "ImmutableList(SassCalculation0)", "Object(Object,String,Object,Object)", "bool(CalculationOperator0)", "bool(CalculationOperation0,Object)", "int(CalculationOperation0)", "String(CalculationOperation0)", "MediaRule(List,FileSpan)", "CalculationInterpolation(Object,String)", "bool(CalculationInterpolation,Object)", "int(CalculationInterpolation)", "String(CalculationInterpolation)", "bool(CanonicalizeContext0)", "JSUrl0?(CanonicalizeContext0)", "MixinRule(List,FileSpan)", "~(String,int?)", "SupportsRule(List,FileSpan)", "WhileRule(List,FileSpan)", "~(Expression)", "~(BinaryOperator)", "StringExpression(Interpolation)", "SassColor0(SassColor0)", "SassColor0(ColorSpace0)", "DateTime(StylesheetNode)", "0&(List)", "bool(Extension)", "Set>()", "SassColor0(Object,_ConstructionOptions)", "bool(SassColor0,Object)", "SassColor0(SassColor0,String)", "bool(SassColor0[String?])", "SassColor0(SassColor0,_ToGamutOptions)", "double(SassColor0,String[_ChannelOptions?])", "bool(SassColor0,String)", "bool(SassColor0,String[_ChannelOptions?])", "SassColor0(SassColor0,_ConstructionOptions)", "double?(String)", "SassColor0(SassColor0,SassColor0[_InterpolationOptions?])", "String(SassColor0)", "bool(SassColor0)", "String(int,IfClause)", "Null(_NodeSassColor,num?[num?,num?,num?,SassColor0?])", "double(num)", "SassScriptException()", "double(_NodeSassColor)", "int(int,int)", "Iterable(List)", "SingleUnitSassNumber(double)", "AsyncImporter0(JSImporter)", "0&(@)", "Future>(Interpolation{trim:bool,warnForColor:bool})", "NodePackageImporter0(Object[String?])", "List(Extender)", "NodeCompileResult(Compiler,String[CompileOptions?])", "NodeCompileResult(Compiler,String[CompileStringOptions?])", "Null(Compiler)", "Promise(AsyncCompiler,String[CompileOptions?])", "Promise(AsyncCompiler,String[CompileStringOptions?])", "Promise(AsyncCompiler)", "Future()", "int(int,ComplexSelectorComponent0)", "String(CssValue0)", "int(int,SimpleSelector0)", "String(BuiltInCallable0)", "bool(Deprecation0)", "Iterable()", "Version(Object,int,int,int)", "List?(SimpleSelector)", "List(PseudoSelector)", "Value0?(Module1)", "Module1?(Module1)", "List>(List)", "Future<@>()", "Object(Value0)", "Map(Module1)", "PseudoSelector(ComplexSelector)", "~(SimpleSelector,Set>)", "CssValue0(Interpolation0{trim:bool,warnForColor:bool})", "Future<+loadedUrls,stylesheet(Set,CssStylesheet)>()", "Future>()", "List?(List,List)", "+loadedUrls,stylesheet(Set,CssStylesheet0)()", "Module1()", "~(Module1)", "~(Module0)", "Uint8List(@,@)", "CssValue0(Interpolation0)", "bool(List>)", "Value0?(IfRuleClause0)", "UserDefinedCallable0(ContentBlock0)", "Value0(Expression0)", "bool(PseudoSelector)", "FileSpan(_NodeException)", "bool(Extension0)", "Set>()", "SelectorList?(PseudoSelector)", "~([Future<~>?])", "Iterable(List)", "Future(Value)", "List(Extender0)", "List?(SimpleSelector0)", "List(PseudoSelector0)", "List>(List)", "List(ComplexSelector0)", "PseudoSelector0(ComplexSelector0)", "~(SimpleSelector0,Set>)", "SassFunction0(Object,String,Value0(List))", "List?(List,List)", "int(int,ComplexSelectorComponent)", "bool(List>)", "Future>(Interpolation)", "bool(PseudoSelector0)", "SelectorList0?(PseudoSelector0)", "String(int,IfClause0)", "String(CssValue)", "int(int,SimpleSelector)", "~(Object?,Object,Object?)", "+(String,String)(String)", "+originalUrl(Importer0,Uri,Uri)?()", "Stylesheet0?()", "bool(+originalUrl(Importer0,Uri,Uri))", "Uri(+originalUrl(Importer0,Uri,Uri))", "~(String,WarnOptions)", "~(String,DebugOptions)", "Null(RenderResult)", "JSFunction0(JSFunction0)", "Object?(Object,String,String[Object?])", "Null(Object)", "Object?(Object?)", "List(Value0)", "bool(List)", "SassList0(ComplexSelector0)", "Iterable(ComplexSelector0)", "SimpleSelector0(SimpleSelector0)", "SassList0(Object[Object?,_ConstructorOptions?])", "~(@,StackTrace)", "Null(_NodeSassList,int?[bool?,SassList0?])", "Future(IfRuleClause)", "Object(_NodeSassList,int)", "Null(_NodeSassList,int,Object)", "bool(_NodeSassList)", "Null(_NodeSassList,bool)", "int(_NodeSassList)", "SassMap0(Value0)", "SassMap0(SassMap0)", "SassMap0(Object[ImmutableMap0?])", "ImmutableMap0(SassMap0)", "@(SassMap0,Object)", "Null(_NodeSassMap,int?[SassMap0?])", "SassNumber0(int)", "SassList(ComplexSelector)", "int(_NodeSassMap)", "Iterable(ComplexSelector)", "SassNumber0(Value0)", "List()", "Value0(Object)", "0&(Object)", "bool(ModifiableCssNode0)", "SassNumber0(Object,num[Object?])", "UserDefinedCallable(ContentBlock)", "int?(SassNumber0)", "SassColor(SassColor)", "int(SassNumber0[String?])", "double(SassNumber0,num,num[String?])", "SassNumber0(SassNumber0[String?])", "SassNumber0(SassNumber0,String[String?])", "~(String,Option)", "SassColor(ColorSpace)", "SimpleSelector(SimpleSelector)", "~(int,@)", "Future(Expression)", "Null(_NodeSassNumber,num?[String?,SassNumber0?])", "double(_NodeSassNumber)", "Null(_NodeSassNumber,num)", "String(_NodeSassNumber)", "Null(_NodeSassNumber,String)", "SassScriptException0()", "JSExpressionVisitor(JSExpressionVisitorObject)", "JSStatementVisitor(JSStatementVisitorObject)", "String(SourceFile,int[int?])", "List(SourceFile)", "String?(Interpolation0)", "Object?(Statement0,StatementVisitor)", "Object?(Expression0,ExpressionVisitor)", "FileSpan(SassNode)", "Interpolation0(SupportsCondition)", "String(Value)", "String(Object,@,@[@])", "0&(List)", "_Future<@>(@)", "Value/()", "Value?(Module0)", "SassString0(SimpleSelector0)", "SelectorList0()", "CompoundSelector0()", "~(CssMediaQuery0)", "Set(CssParentNode0)", "~(SelectorList0)", "~(MapEntry)", "SingleUnitSassNumber0(double)", "Module0?(Module0)", "JSUrl0?(FileSpan)", "List(Value)", "bool(List)", "Null(@,@)", "SassString0(int)", "SassString0(String)", "CssValue(Interpolation{trim:bool,warnForColor:bool})", "SassString0(Object[Object?,_ConstructorOptions1?])", "String(SassString0)", "bool(SassString0)", "int(SassString0)", "int(SassString0,Value0[String?])", "Null(_NodeSassString,String?[SassString0?])", "String(_NodeSassString)", "Null(_NodeSassString,String)", "Statement0({root:bool})", "@(@,String)", "NumberExpression0()", "Stylesheet0()", "Statement0?()", "VariableDeclaration0(VariableDeclaration0)", "ArgumentDeclaration0()", "+(String,ArgumentDeclaration0)()", "VariableDeclaration0()", "StyleRule0(List,FileSpan)", "Declaration0(List,FileSpan)", "SassMap(Value)", "EachRule0(List,FileSpan)", "FunctionRule0(List,FileSpan)", "ForRule0(List,FileSpan)", "ContentBlock0(List,FileSpan)", "MediaRule0(List,FileSpan)", "MixinRule0(List,FileSpan)", "SassMap(SassMap)", "SupportsRule0(List,FileSpan)", "WhileRule0(List,FileSpan)", "~(Expression0)", "~(BinaryOperator0)", "StringExpression0(Interpolation0)", "Null(~(Object?),~(Object?))", "ImmutableList0(Value0)", "String?(Value0)", "int(Value0,Value0[String?])", "SassBoolean0(Value0[String?])", "SassCalculation0(Value0[String?])", "SassColor0(Value0[String?])", "SassFunction0(Value0[String?])", "SassMap0(Value0[String?])", "SassMixin0(Value0[String?])", "SassNumber0(Value0[String?])", "SassString0(Value0[String?])", "SassMap0?(Value0)", "bool(Value0,Object?)", "int(Value0[Object?])", "+loadedUrls,stylesheet(Set,CssStylesheet)()", "Module0()", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)", "0^()(Zone,ZoneDelegate,Zone,0^())", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map?)", "~(Module0)", "Value?(Value)", "0^(0^,0^)", "SassNumber(Value)", "CssValue(Interpolation)", "~(Object,StackTrace,EventSink<0^>)", "List<0^>(0^,List<0^>?)", "NodeCompileResult(String[CompileOptions?])", "NodeCompileResult(String[CompileStringOptions?])", "Promise(String[CompileOptions?])", "Promise(String[CompileStringOptions?])", "Importer0(Object?)", "Compiler()", "Promise()", "List(Object?)", "~(RenderOptions,~(Object?,RenderResult?))", "RenderResult(RenderOptions)", "ParserExports()", "Stylesheet0(String,String,String?)", "String?(String)", "Uri(JSUrl0)", "String(String[String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?,String?])", "String(Object?)", "Value(Object)", "Value?(IfRuleClause)", "UserDefinedCallable(ContentBlock)", "Future<~>(List)", "Map(Module1)"], interceptorsByTag: null, leafTags: null, arrayRti: Symbol("$ti"), @@ -116386,15 +124524,17 @@ self.util = _cliPkgRequires.util; "3;forImport": (t1, t2, t3) => o => o instanceof A._Record_3_forImport && t1._is(o._0) && t2._is(o._1) && t3._is(o._2), "3;originalUrl": (t1, t2, t3) => o => o instanceof A._Record_3_originalUrl && t1._is(o._0) && t2._is(o._1) && t3._is(o._2), "3;importer,isDependency": (t1, t2, t3) => o => o instanceof A._Record_3_importer_isDependency && t1._is(o._0) && t2._is(o._1) && t3._is(o._2), + "3;deprecation,message,span": (t1, t2, t3) => o => o instanceof A._Record_3_deprecation_message_span && t1._is(o._0) && t2._is(o._1) && t3._is(o._2), "5;named,namedNodes,positional,positionalNodes,separator": types => o => o instanceof A._Record_5_named_namedNodes_positional_positionalNodes_separator && A.pairwiseIsTest(types, o._values) } }; - A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Stdin":"LegacyJavaScriptObject","Stdout":"LegacyJavaScriptObject","ReadlineModule":"LegacyJavaScriptObject","ReadlineOptions":"LegacyJavaScriptObject","ReadlineInterface":"LegacyJavaScriptObject","BufferModule":"LegacyJavaScriptObject","BufferConstants":"LegacyJavaScriptObject","Buffer":"LegacyJavaScriptObject","ConsoleModule":"LegacyJavaScriptObject","Console":"LegacyJavaScriptObject","EventEmitter":"LegacyJavaScriptObject","FS":"LegacyJavaScriptObject","FSConstants":"LegacyJavaScriptObject","FSWatcher":"LegacyJavaScriptObject","ReadStream":"LegacyJavaScriptObject","ReadStreamOptions":"LegacyJavaScriptObject","WriteStream":"LegacyJavaScriptObject","WriteStreamOptions":"LegacyJavaScriptObject","FileOptions":"LegacyJavaScriptObject","StatOptions":"LegacyJavaScriptObject","MkdirOptions":"LegacyJavaScriptObject","RmdirOptions":"LegacyJavaScriptObject","WatchOptions":"LegacyJavaScriptObject","WatchFileOptions":"LegacyJavaScriptObject","Stats":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","Date":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","Atomics":"LegacyJavaScriptObject","Modules":"LegacyJavaScriptObject","Module":"LegacyJavaScriptObject","Net":"LegacyJavaScriptObject","Socket":"LegacyJavaScriptObject","NetAddress":"LegacyJavaScriptObject","NetServer":"LegacyJavaScriptObject","NodeJsError":"LegacyJavaScriptObject","JsAssertionError":"LegacyJavaScriptObject","JsRangeError":"LegacyJavaScriptObject","JsReferenceError":"LegacyJavaScriptObject","JsSyntaxError":"LegacyJavaScriptObject","JsTypeError":"LegacyJavaScriptObject","JsSystemError":"LegacyJavaScriptObject","Process":"LegacyJavaScriptObject","CPUUsage":"LegacyJavaScriptObject","Release":"LegacyJavaScriptObject","StreamModule":"LegacyJavaScriptObject","Readable":"LegacyJavaScriptObject","Writable":"LegacyJavaScriptObject","Duplex":"LegacyJavaScriptObject","Transform":"LegacyJavaScriptObject","WritableOptions":"LegacyJavaScriptObject","ReadableOptions":"LegacyJavaScriptObject","Immediate":"LegacyJavaScriptObject","Timeout":"LegacyJavaScriptObject","TTY":"LegacyJavaScriptObject","TTYReadStream":"LegacyJavaScriptObject","TTYWriteStream":"LegacyJavaScriptObject","Util":"LegacyJavaScriptObject","JSArray0":"LegacyJavaScriptObject","Chokidar":"LegacyJavaScriptObject","ChokidarOptions":"LegacyJavaScriptObject","ChokidarWatcher":"LegacyJavaScriptObject","JSFunction":"LegacyJavaScriptObject","ImmutableList":"LegacyJavaScriptObject","ImmutableMap":"LegacyJavaScriptObject","NodeImporterResult":"LegacyJavaScriptObject","RenderContext":"LegacyJavaScriptObject","RenderContextOptions":"LegacyJavaScriptObject","RenderContextResult":"LegacyJavaScriptObject","RenderContextResultStats":"LegacyJavaScriptObject","JSModule":"LegacyJavaScriptObject","JSModuleRequire":"LegacyJavaScriptObject","JSClass":"LegacyJavaScriptObject","JSUrl":"LegacyJavaScriptObject","_PropertyDescriptor":"LegacyJavaScriptObject","_RequireMain":"LegacyJavaScriptObject","JSArray1":"LegacyJavaScriptObject","Chokidar0":"LegacyJavaScriptObject","ChokidarOptions0":"LegacyJavaScriptObject","ChokidarWatcher0":"LegacyJavaScriptObject","_Channels":"LegacyJavaScriptObject","_NodeSassColor":"LegacyJavaScriptObject","CompileOptions":"LegacyJavaScriptObject","CompileStringOptions":"LegacyJavaScriptObject","NodeCompileResult":"LegacyJavaScriptObject","Deprecation1":"LegacyJavaScriptObject","_NodeException":"LegacyJavaScriptObject","Exports":"LegacyJavaScriptObject","LoggerNamespace":"LegacyJavaScriptObject","Fiber":"LegacyJavaScriptObject","FiberClass":"LegacyJavaScriptObject","JSFunction0":"LegacyJavaScriptObject","ImmutableList0":"LegacyJavaScriptObject","ImmutableMap0":"LegacyJavaScriptObject","JSImporter":"LegacyJavaScriptObject","JSImporterResult":"LegacyJavaScriptObject","NodeImporterResult0":"LegacyJavaScriptObject","_ConstructorOptions":"LegacyJavaScriptObject","_NodeSassList":"LegacyJavaScriptObject","WarnOptions":"LegacyJavaScriptObject","DebugOptions":"LegacyJavaScriptObject","JSLogger":"LegacyJavaScriptObject","_NodeSassMap":"LegacyJavaScriptObject","JSModule0":"LegacyJavaScriptObject","JSModuleRequire0":"LegacyJavaScriptObject","_ConstructorOptions0":"LegacyJavaScriptObject","_NodeSassNumber":"LegacyJavaScriptObject","JSClass0":"LegacyJavaScriptObject","RenderContext0":"LegacyJavaScriptObject","RenderContextOptions0":"LegacyJavaScriptObject","RenderContextResult0":"LegacyJavaScriptObject","RenderContextResultStats0":"LegacyJavaScriptObject","RenderOptions":"LegacyJavaScriptObject","RenderResult":"LegacyJavaScriptObject","RenderResultStats":"LegacyJavaScriptObject","_Exports":"LegacyJavaScriptObject","_ConstructorOptions1":"LegacyJavaScriptObject","_NodeSassString":"LegacyJavaScriptObject","Types":"LegacyJavaScriptObject","JSUrl0":"LegacyJavaScriptObject","_PropertyDescriptor0":"LegacyJavaScriptObject","_RequireMain0":"LegacyJavaScriptObject","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"Promise":[],"JsSystemError":[],"ImmutableList":[],"_Channels":[],"_NodeSassColor":[],"CompileOptions":[],"CompileStringOptions":[],"NodeCompileResult":[],"Deprecation1":[],"_NodeException":[],"Fiber":[],"JSFunction0":[],"ImmutableList0":[],"ImmutableMap0":[],"JSImporter":[],"JSImporterResult":[],"NodeImporterResult0":[],"_ConstructorOptions":[],"_NodeSassList":[],"WarnOptions":[],"DebugOptions":[],"_NodeSassMap":[],"_ConstructorOptions0":[],"_NodeSassNumber":[],"JSClass0":[],"RenderContextOptions0":[],"RenderOptions":[],"RenderResult":[],"_ConstructorOptions1":[],"_NodeSassString":[],"JSUrl0":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.V":"4","MapBase.K":"3"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"FollowedByIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthFollowedByIterable":{"FollowedByIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"UnmodifiableListBase":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"ConstantSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ConstantStringSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"GeneralConstantSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"Instantiation":{"Function":[]},"Instantiation1":{"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"JsConstantLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"NativeByteBuffer":{"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeByteData":{"ByteData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"ListBase":["double"],"Float32List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"ListBase":["double"],"Float64List":[],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Int8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint16List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint32List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint8ClampedList":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"ListBase":["int"],"Uint8List":[],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_AsyncCompleter":{"_Completer":["1"]},"_SyncCompleter":{"_Completer":["1"]},"_StreamController":{"EventSink":["1"]},"_AsyncStreamController":{"_StreamController":["1"],"EventSink":["1"]},"_SyncStreamController":{"_StreamController":["1"],"EventSink":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_BufferingStreamSubscription.T":"2"},"_ExpandStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"Zone":[]},"_RootZone":{"Zone":[]},"Queue":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedIdentityHashSet":{"_LinkedHashSet":["1"],"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableListView":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"UnmodifiableMapBase":{"MapBase":["1","2"],"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableSetView":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.V":"@","MapBase.K":"String"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Codec":["String","List"]},"_UnicodeSubsetEncoder":{"Converter":["String","List"]},"AsciiEncoder":{"Converter":["String","List"]},"Base64Codec":{"Codec":["List","String"]},"Base64Encoder":{"Converter":["List","String"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"]},"Utf8Encoder":{"Converter":["String","List"]},"Utf8Decoder":{"Converter":["List","String"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"RangeError":[],"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"_GeneratorIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_StringStackTrace":{"StackTrace":[]},"Runes":{"Iterable":["int"],"Iterable.E":"int"},"_Uri":{"_PlatformUri":[],"Uri":[]},"_SimpleUri":{"_PlatformUri":[],"Uri":[]},"_DataUri":{"_PlatformUri":[],"Uri":[]},"NullRejectionException":{"Exception":[]},"ArgParserException":{"FormatException":[],"Exception":[]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_CompleterStream":{"Stream":["1"],"Stream.T":"1"},"_NextRequest":{"_EventRequest":["1"]},"EmptyUnmodifiableSet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2"},"UnionSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableSetView0":{"DelegatingSet":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapKeySet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_DelegatingIterableBase":{"Iterable":["1"]},"DelegatingSet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"PathException":{"Exception":[]},"PathMap":{"Map":["String?","1"]},"Version":{"VersionRange":[],"Comparable":["VersionRange"]},"VersionRange":{"Comparable":["VersionRange"]},"ModifiableCssAtRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssComment":{"ModifiableCssNode":[],"CssComment":[],"CssNode":[],"AstNode":[]},"ModifiableCssDeclaration":{"ModifiableCssNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssImport":{"ModifiableCssNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssKeyframeBlock":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssMediaRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssNode":{"CssNode":[],"AstNode":[]},"ModifiableCssParentNode":{"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssStyleRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssStylesheet":{"ModifiableCssParentNode":[],"CssStylesheet":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssSupportsRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"CssNode":{"AstNode":[]},"CssParentNode":{"CssNode":[],"AstNode":[]},"CssStylesheet":{"CssParentNode":[],"CssNode":[],"AstNode":[]},"CssValue":{"AstNode":[]},"_FakeAstNode":{"AstNode":[]},"Argument":{"AstNode":[]},"ArgumentDeclaration":{"AstNode":[]},"ArgumentInvocation":{"AstNode":[]},"ConfiguredVariable":{"AstNode":[]},"Expression":{"AstNode":[]},"BinaryOperationExpression":{"Expression":[],"AstNode":[]},"BooleanExpression":{"Expression":[],"AstNode":[]},"ColorExpression":{"Expression":[],"AstNode":[]},"FunctionExpression":{"Expression":[],"AstNode":[]},"IfExpression":{"Expression":[],"AstNode":[]},"InterpolatedFunctionExpression":{"Expression":[],"AstNode":[]},"ListExpression":{"Expression":[],"AstNode":[]},"MapExpression":{"Expression":[],"AstNode":[]},"NullExpression":{"Expression":[],"AstNode":[]},"NumberExpression":{"Expression":[],"AstNode":[]},"ParenthesizedExpression":{"Expression":[],"AstNode":[]},"SelectorExpression":{"Expression":[],"AstNode":[]},"StringExpression":{"Expression":[],"AstNode":[]},"SupportsExpression":{"Expression":[],"AstNode":[]},"UnaryOperationExpression":{"Expression":[],"AstNode":[]},"ValueExpression":{"Expression":[],"AstNode":[]},"VariableExpression":{"Expression":[],"AstNode":[]},"DynamicImport":{"Import":[],"AstNode":[]},"StaticImport":{"Import":[],"AstNode":[]},"Interpolation":{"AstNode":[]},"AtRootRule":{"Statement":[],"AstNode":[]},"AtRule":{"Statement":[],"AstNode":[]},"CallableDeclaration":{"Statement":[],"AstNode":[]},"ContentBlock":{"Statement":[],"AstNode":[]},"ContentRule":{"Statement":[],"AstNode":[]},"DebugRule":{"Statement":[],"AstNode":[]},"Declaration":{"Statement":[],"AstNode":[]},"EachRule":{"Statement":[],"AstNode":[]},"ErrorRule":{"Statement":[],"AstNode":[]},"ExtendRule":{"Statement":[],"AstNode":[]},"ForRule":{"Statement":[],"AstNode":[]},"ForwardRule":{"Statement":[],"AstNode":[]},"FunctionRule":{"Statement":[],"AstNode":[]},"IfClause":{"IfRuleClause":[]},"ElseClause":{"IfRuleClause":[]},"IfRule":{"Statement":[],"AstNode":[]},"ImportRule":{"Statement":[],"AstNode":[]},"IncludeRule":{"Statement":[],"AstNode":[]},"LoudComment":{"Statement":[],"AstNode":[]},"MediaRule":{"Statement":[],"AstNode":[]},"MixinRule":{"Statement":[],"AstNode":[]},"_HasContentVisitor":{"StatementSearchVisitor":["bool"],"StatementSearchVisitor.T":"bool"},"ParentStatement":{"Statement":[],"AstNode":[]},"ReturnRule":{"Statement":[],"AstNode":[]},"SilentComment":{"Statement":[],"AstNode":[]},"StyleRule":{"Statement":[],"AstNode":[]},"Stylesheet":{"Statement":[],"AstNode":[]},"SupportsRule":{"Statement":[],"AstNode":[]},"UseRule":{"Statement":[],"AstNode":[]},"VariableDeclaration":{"Statement":[],"AstNode":[]},"WarnRule":{"Statement":[],"AstNode":[]},"WhileRule":{"Statement":[],"AstNode":[]},"SupportsAnything":{"AstNode":[]},"SupportsDeclaration":{"AstNode":[]},"SupportsFunction":{"AstNode":[]},"SupportsInterpolation":{"AstNode":[]},"SupportsNegation":{"AstNode":[]},"SupportsOperation":{"AstNode":[]},"Selector":{"AstNode":[]},"AttributeSelector":{"SimpleSelector":[],"AstNode":[]},"ClassSelector":{"SimpleSelector":[],"AstNode":[]},"ComplexSelector":{"AstNode":[]},"CompoundSelector":{"AstNode":[]},"IDSelector":{"SimpleSelector":[],"AstNode":[]},"SelectorList":{"AstNode":[]},"_ParentSelectorVisitor":{"SelectorSearchVisitor":["ParentSelector"],"SelectorSearchVisitor.T":"ParentSelector"},"ParentSelector":{"SimpleSelector":[],"AstNode":[]},"PlaceholderSelector":{"SimpleSelector":[],"AstNode":[]},"PseudoSelector":{"SimpleSelector":[],"AstNode":[]},"SimpleSelector":{"AstNode":[]},"TypeSelector":{"SimpleSelector":[],"AstNode":[]},"UniversalSelector":{"SimpleSelector":[],"AstNode":[]},"_EnvironmentModule0":{"Module0":["AsyncCallable"]},"AsyncBuiltInCallable":{"AsyncCallable":[]},"BuiltInCallable":{"Callable0":[],"AsyncBuiltInCallable":[],"AsyncCallable":[]},"PlainCssCallable":{"Callable0":[],"AsyncCallable":[]},"UserDefinedCallable":{"Callable0":[],"AsyncCallable":[]},"ExplicitConfiguration":{"Configuration":[]},"_EnvironmentModule":{"Module0":["Callable0"]},"SassRuntimeException":{"Exception":[]},"SassException":{"Exception":[]},"MultiSpanSassException":{"Exception":[]},"MultiSpanSassRuntimeException":{"SassRuntimeException":[],"Exception":[]},"SassFormatException":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"MultiSpanSassFormatException":{"MultiSourceSpanFormatException":[],"SassFormatException":[],"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"UsageException":{"Exception":[]},"EmptyExtensionStore":{"ExtensionStore":[]},"MergedExtension":{"Extension":[]},"Importer":{"AsyncImporter":[]},"FilesystemImporter":{"Importer":[],"AsyncImporter":[]},"NodePackageImporter":{"Importer":[],"AsyncImporter":[]},"BuiltInModule":{"Module0":["1"]},"ForwardedModuleView":{"Module0":["1"]},"ShadowedModuleView":{"Module0":["1"]},"LazyFileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"LimitedMapView":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"MergedMapView":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"MultiSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"PrefixedMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_PrefixedKeys":{"Iterable":["String"],"Iterable.E":"String"},"PublicMemberMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"UnprefixedMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_UnprefixedKeys":{"Iterable":["String"],"Iterable.E":"String"},"SassArgumentList":{"SassList":[],"Value":[]},"SassBoolean":{"Value":[]},"SassCalculation":{"Value":[]},"SassColor":{"Value":[]},"SassFunction":{"Value":[]},"SassList":{"Value":[]},"SassMap":{"Value":[]},"SassMixin":{"Value":[]},"_SassNull":{"Value":[]},"SassNumber":{"Value":[]},"ComplexSassNumber":{"SassNumber":[],"Value":[]},"SingleUnitSassNumber":{"SassNumber":[],"Value":[]},"UnitlessSassNumber":{"SassNumber":[],"Value":[]},"SassString":{"Value":[]},"_EvaluationContext0":{"EvaluationContext":[]},"_EvaluationContext":{"EvaluationContext":[]},"Entry":{"Comparable":["Entry"]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"_FileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"MultiSourceSpanException":{"Exception":[]},"MultiSourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"StringScannerException":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"SupportsAnything0":{"AstNode0":[]},"Argument0":{"AstNode0":[]},"ArgumentDeclaration0":{"AstNode0":[]},"ArgumentInvocation0":{"AstNode0":[]},"SassArgumentList0":{"SassList0":[],"Value0":[]},"JSToDartAsyncImporter":{"AsyncImporter0":[]},"AsyncBuiltInCallable0":{"AsyncCallable0":[]},"_EnvironmentModule2":{"Module1":["AsyncCallable0"]},"_EvaluationContext2":{"EvaluationContext0":[]},"JSToDartAsyncFileImporter":{"AsyncImporter0":[]},"AtRootRule0":{"Statement0":[],"AstNode0":[]},"ModifiableCssAtRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"AtRule0":{"Statement0":[],"AstNode0":[]},"AttributeSelector0":{"SimpleSelector0":[],"AstNode0":[]},"BinaryOperationExpression0":{"Expression0":[],"AstNode0":[]},"BooleanExpression0":{"Expression0":[],"AstNode0":[]},"SassBoolean0":{"Value0":[]},"BuiltInCallable0":{"Callable":[],"AsyncBuiltInCallable0":[],"AsyncCallable0":[]},"BuiltInModule0":{"Module1":["1"]},"SassCalculation0":{"Value0":[]},"CallableDeclaration0":{"Statement0":[],"AstNode0":[]},"ClassSelector0":{"SimpleSelector0":[],"AstNode0":[]},"ColorExpression0":{"Expression0":[],"AstNode0":[]},"SassColor0":{"Value0":[]},"ModifiableCssComment0":{"ModifiableCssNode0":[],"CssComment0":[],"CssNode0":[],"AstNode0":[]},"AsyncCompiler":{"Compiler":[]},"ComplexSassNumber0":{"SassNumber0":[],"Value0":[]},"ComplexSelector0":{"AstNode0":[]},"CompoundSelector0":{"AstNode0":[]},"ExplicitConfiguration0":{"Configuration0":[]},"ConfiguredVariable0":{"AstNode0":[]},"ContentBlock0":{"Statement0":[],"AstNode0":[]},"ContentRule0":{"Statement0":[],"AstNode0":[]},"DebugRule0":{"Statement0":[],"AstNode0":[]},"ModifiableCssDeclaration0":{"ModifiableCssNode0":[],"CssNode0":[],"AstNode0":[]},"Declaration0":{"Statement0":[],"AstNode0":[]},"SupportsDeclaration0":{"AstNode0":[]},"DynamicImport0":{"Import0":[],"AstNode0":[]},"EachRule0":{"Statement0":[],"AstNode0":[]},"EmptyExtensionStore0":{"ExtensionStore0":[]},"_EnvironmentModule1":{"Module1":["Callable"]},"ErrorRule0":{"Statement0":[],"AstNode0":[]},"_EvaluationContext1":{"EvaluationContext0":[]},"SassRuntimeException0":{"Exception":[]},"SassException0":{"Exception":[]},"MultiSpanSassException0":{"Exception":[]},"MultiSpanSassRuntimeException0":{"SassRuntimeException0":[],"Exception":[]},"SassFormatException0":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"MultiSpanSassFormatException0":{"MultiSourceSpanFormatException":[],"SassFormatException0":[],"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"Expression0":{"AstNode0":[]},"ExtendRule0":{"Statement0":[],"AstNode0":[]},"JSToDartFileImporter":{"Importer0":[],"AsyncImporter0":[]},"FilesystemImporter0":{"Importer0":[],"AsyncImporter0":[]},"ForRule0":{"Statement0":[],"AstNode0":[]},"ForwardRule0":{"Statement0":[],"AstNode0":[]},"ForwardedModuleView0":{"Module1":["1"]},"FunctionExpression0":{"Expression0":[],"AstNode0":[]},"SupportsFunction0":{"AstNode0":[]},"SassFunction0":{"Value0":[]},"FunctionRule0":{"Statement0":[],"AstNode0":[]},"IDSelector0":{"SimpleSelector0":[],"AstNode0":[]},"IfExpression0":{"Expression0":[],"AstNode0":[]},"IfClause0":{"IfRuleClause0":[]},"ElseClause0":{"IfRuleClause0":[]},"IfRule0":{"Statement0":[],"AstNode0":[]},"ModifiableCssImport0":{"ModifiableCssNode0":[],"CssNode0":[],"AstNode0":[]},"ImportRule0":{"Statement0":[],"AstNode0":[]},"Importer0":{"AsyncImporter0":[]},"IncludeRule0":{"Statement0":[],"AstNode0":[]},"InterpolatedFunctionExpression0":{"Expression0":[],"AstNode0":[]},"Interpolation0":{"AstNode0":[]},"SupportsInterpolation0":{"AstNode0":[]},"ModifiableCssKeyframeBlock0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"LazyFileSpan0":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"LimitedMapView0":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"ListExpression0":{"Expression0":[],"AstNode0":[]},"SelectorList0":{"AstNode0":[]},"_ParentSelectorVisitor0":{"SelectorSearchVisitor0":["ParentSelector0"],"SelectorSearchVisitor0.T":"ParentSelector0"},"SassList0":{"Value0":[]},"LoudComment0":{"Statement0":[],"AstNode0":[]},"MapExpression0":{"Expression0":[],"AstNode0":[]},"SassMap0":{"Value0":[]},"ModifiableCssMediaRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"MediaRule0":{"Statement0":[],"AstNode0":[]},"MergedExtension0":{"Extension0":[]},"MergedMapView0":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"SassMixin0":{"Value0":[]},"MixinRule0":{"Statement0":[],"AstNode0":[]},"_HasContentVisitor0":{"StatementSearchVisitor0":["bool"],"StatementSearchVisitor0.T":"bool"},"MultiSpan0":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SupportsNegation0":{"AstNode0":[]},"NoOpImporter0":{"Importer0":[],"AsyncImporter0":[]},"_FakeAstNode0":{"AstNode0":[]},"CssNode0":{"AstNode0":[]},"CssParentNode0":{"CssNode0":[],"AstNode0":[]},"ModifiableCssNode0":{"CssNode0":[],"AstNode0":[]},"ModifiableCssParentNode0":{"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"NodePackageImporter0":{"Importer0":[],"AsyncImporter0":[]},"NullExpression0":{"Expression0":[],"AstNode0":[]},"_SassNull0":{"Value0":[]},"NumberExpression0":{"Expression0":[],"AstNode0":[]},"SassNumber0":{"Value0":[]},"SupportsOperation0":{"AstNode0":[]},"ParentSelector0":{"SimpleSelector0":[],"AstNode0":[]},"ParentStatement0":{"Statement0":[],"AstNode0":[]},"ParenthesizedExpression0":{"Expression0":[],"AstNode0":[]},"PlaceholderSelector0":{"SimpleSelector0":[],"AstNode0":[]},"PlainCssCallable0":{"Callable":[],"AsyncCallable0":[]},"PrefixedMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_PrefixedKeys0":{"Iterable":["String"],"Iterable.E":"String"},"PseudoSelector0":{"SimpleSelector0":[],"AstNode0":[]},"PublicMemberMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"ReturnRule0":{"Statement0":[],"AstNode0":[]},"Selector0":{"AstNode0":[]},"SelectorExpression0":{"Expression0":[],"AstNode0":[]},"ShadowedModuleView0":{"Module1":["1"]},"SilentComment0":{"Statement0":[],"AstNode0":[]},"SimpleSelector0":{"AstNode0":[]},"SingleUnitSassNumber0":{"SassNumber0":[],"Value0":[]},"StaticImport0":{"Import0":[],"AstNode0":[]},"StringExpression0":{"Expression0":[],"AstNode0":[]},"SassString0":{"Value0":[]},"ModifiableCssStyleRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"StyleRule0":{"Statement0":[],"AstNode0":[]},"CssStylesheet0":{"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"ModifiableCssStylesheet0":{"ModifiableCssParentNode0":[],"CssStylesheet0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"Stylesheet0":{"Statement0":[],"AstNode0":[]},"SupportsExpression0":{"Expression0":[],"AstNode0":[]},"ModifiableCssSupportsRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"SupportsRule0":{"Statement0":[],"AstNode0":[]},"JSToDartImporter":{"Importer0":[],"AsyncImporter0":[]},"TypeSelector0":{"SimpleSelector0":[],"AstNode0":[]},"UnaryOperationExpression0":{"Expression0":[],"AstNode0":[]},"UnitlessSassNumber0":{"SassNumber0":[],"Value0":[]},"UniversalSelector0":{"SimpleSelector0":[],"AstNode0":[]},"UnprefixedMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_UnprefixedKeys0":{"Iterable":["String"],"Iterable.E":"String"},"UseRule0":{"Statement0":[],"AstNode0":[]},"UserDefinedCallable0":{"Callable":[],"AsyncCallable0":[]},"CssValue0":{"AstNode0":[]},"ValueExpression0":{"Expression0":[],"AstNode0":[]},"VariableExpression0":{"Expression0":[],"AstNode0":[]},"VariableDeclaration0":{"Statement0":[],"AstNode0":[]},"WarnRule0":{"Statement0":[],"AstNode0":[]},"WhileRule0":{"Statement0":[],"AstNode0":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"CssComment":{"CssNode":[],"AstNode":[]},"Import":{"AstNode":[]},"Statement":{"AstNode":[]},"Callable0":{"AsyncCallable":[]},"Callable":{"AsyncCallable0":[]},"CssComment0":{"CssNode0":[],"AstNode0":[]},"Import0":{"AstNode0":[]},"Statement0":{"AstNode0":[]}}')); - A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"WhereIterator":1,"SkipIterator":1,"SkipWhileIterator":1,"EmptyIterator":1,"FollowedByIterator":1,"FixedLengthListMixin":1,"UnmodifiableListMixin":1,"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"ConstantSet":1,"LinkedHashMapKeyIterator":1,"NativeTypedArray":1,"EventSink":1,"_SyncStarIterator":1,"_SyncStreamControllerDispatch":1,"_AsyncStreamControllerDispatch":1,"_AddStreamState":1,"_StreamControllerAddStreamState":1,"_DelayedEvent":1,"_DelayedData":1,"_PendingEvents":1,"_StreamIterator":1,"_ZoneFunction":1,"Queue":1,"UnmodifiableMapBase":2,"_UnmodifiableMapMixin":2,"MapView":2,"_UnmodifiableSetMixin":1,"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":2,"_UnmodifiableSetView_SetBase__UnmodifiableSetMixin":1,"_StringSinkConversionSink":1,"Expando":1,"_EventRequest":1,"_EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin":1,"DefaultEquality":1,"IterableEquality":1,"ListEquality":1,"_QueueList_Object_ListMixin":1,"_UnionSet_SetBase_UnmodifiableSetMixin":1,"UnmodifiableSetMixin":1,"_UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin":1,"_DelegatingIterableBase":1,"_MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin":1,"ParentStatement":1,"ParentStatement0":1}')); + A._Universe_addRules(init.typeUniverse, JSON.parse('{"PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","JavaScriptFunction":"LegacyJavaScriptObject","Stdin":"LegacyJavaScriptObject","Stdout":"LegacyJavaScriptObject","ReadlineModule":"LegacyJavaScriptObject","ReadlineOptions":"LegacyJavaScriptObject","ReadlineInterface":"LegacyJavaScriptObject","BufferModule":"LegacyJavaScriptObject","BufferConstants":"LegacyJavaScriptObject","Buffer":"LegacyJavaScriptObject","ConsoleModule":"LegacyJavaScriptObject","Console":"LegacyJavaScriptObject","EventEmitter":"LegacyJavaScriptObject","FS":"LegacyJavaScriptObject","FSConstants":"LegacyJavaScriptObject","FSWatcher":"LegacyJavaScriptObject","ReadStream":"LegacyJavaScriptObject","ReadStreamOptions":"LegacyJavaScriptObject","WriteStream":"LegacyJavaScriptObject","WriteStreamOptions":"LegacyJavaScriptObject","FileOptions":"LegacyJavaScriptObject","StatOptions":"LegacyJavaScriptObject","MkdirOptions":"LegacyJavaScriptObject","RmdirOptions":"LegacyJavaScriptObject","WatchOptions":"LegacyJavaScriptObject","WatchFileOptions":"LegacyJavaScriptObject","Stats":"LegacyJavaScriptObject","Promise":"LegacyJavaScriptObject","Date":"LegacyJavaScriptObject","JsError":"LegacyJavaScriptObject","Atomics":"LegacyJavaScriptObject","Modules":"LegacyJavaScriptObject","Module":"LegacyJavaScriptObject","Net":"LegacyJavaScriptObject","Socket":"LegacyJavaScriptObject","NetAddress":"LegacyJavaScriptObject","NetServer":"LegacyJavaScriptObject","NodeJsError":"LegacyJavaScriptObject","JsAssertionError":"LegacyJavaScriptObject","JsRangeError":"LegacyJavaScriptObject","JsReferenceError":"LegacyJavaScriptObject","JsSyntaxError":"LegacyJavaScriptObject","JsTypeError":"LegacyJavaScriptObject","JsSystemError":"LegacyJavaScriptObject","Process":"LegacyJavaScriptObject","CPUUsage":"LegacyJavaScriptObject","Release":"LegacyJavaScriptObject","StreamModule":"LegacyJavaScriptObject","Readable":"LegacyJavaScriptObject","Writable":"LegacyJavaScriptObject","Duplex":"LegacyJavaScriptObject","Transform":"LegacyJavaScriptObject","WritableOptions":"LegacyJavaScriptObject","ReadableOptions":"LegacyJavaScriptObject","Immediate":"LegacyJavaScriptObject","Timeout":"LegacyJavaScriptObject","TTY":"LegacyJavaScriptObject","TTYReadStream":"LegacyJavaScriptObject","TTYWriteStream":"LegacyJavaScriptObject","Util":"LegacyJavaScriptObject","JSArray0":"LegacyJavaScriptObject","Chokidar":"LegacyJavaScriptObject","ChokidarOptions":"LegacyJavaScriptObject","ChokidarWatcher":"LegacyJavaScriptObject","JSFunction":"LegacyJavaScriptObject","ImmutableList":"LegacyJavaScriptObject","ImmutableMap":"LegacyJavaScriptObject","NodeImporterResult":"LegacyJavaScriptObject","RenderContext":"LegacyJavaScriptObject","RenderContextOptions":"LegacyJavaScriptObject","RenderContextResult":"LegacyJavaScriptObject","RenderContextResultStats":"LegacyJavaScriptObject","JSModule":"LegacyJavaScriptObject","JSModuleRequire":"LegacyJavaScriptObject","ParcelWatcherSubscription":"LegacyJavaScriptObject","ParcelWatcherEvent":"LegacyJavaScriptObject","ParcelWatcher":"LegacyJavaScriptObject","JSClass":"LegacyJavaScriptObject","JSUrl":"LegacyJavaScriptObject","_PropertyDescriptor":"LegacyJavaScriptObject","_RequireMain":"LegacyJavaScriptObject","JSArray1":"LegacyJavaScriptObject","Chokidar0":"LegacyJavaScriptObject","ChokidarOptions0":"LegacyJavaScriptObject","ChokidarWatcher0":"LegacyJavaScriptObject","_ConstructionOptions":"LegacyJavaScriptObject","_ChannelOptions":"LegacyJavaScriptObject","_ToGamutOptions":"LegacyJavaScriptObject","_InterpolationOptions":"LegacyJavaScriptObject","_Channels":"LegacyJavaScriptObject","_NodeSassColor":"LegacyJavaScriptObject","CompileOptions":"LegacyJavaScriptObject","CompileStringOptions":"LegacyJavaScriptObject","NodeCompileResult":"LegacyJavaScriptObject","Deprecation1":"LegacyJavaScriptObject","_NodeException":"LegacyJavaScriptObject","Exports":"LegacyJavaScriptObject","LoggerNamespace":"LegacyJavaScriptObject","JSExpressionVisitorObject":"LegacyJavaScriptObject","Fiber":"LegacyJavaScriptObject","FiberClass":"LegacyJavaScriptObject","JSFunction0":"LegacyJavaScriptObject","ImmutableList0":"LegacyJavaScriptObject","ImmutableMap0":"LegacyJavaScriptObject","JSImporter":"LegacyJavaScriptObject","JSImporterResult":"LegacyJavaScriptObject","NodeImporterResult0":"LegacyJavaScriptObject","_ConstructorOptions":"LegacyJavaScriptObject","_NodeSassList":"LegacyJavaScriptObject","WarnOptions":"LegacyJavaScriptObject","DebugOptions":"LegacyJavaScriptObject","JSLogger":"LegacyJavaScriptObject","_NodeSassMap":"LegacyJavaScriptObject","JSModule0":"LegacyJavaScriptObject","JSModuleRequire0":"LegacyJavaScriptObject","_ConstructorOptions0":"LegacyJavaScriptObject","_NodeSassNumber":"LegacyJavaScriptObject","ParcelWatcherSubscription0":"LegacyJavaScriptObject","ParcelWatcherEvent0":"LegacyJavaScriptObject","ParcelWatcher0":"LegacyJavaScriptObject","ParserExports":"LegacyJavaScriptObject","JSClass0":"LegacyJavaScriptObject","RenderContext0":"LegacyJavaScriptObject","RenderContextOptions0":"LegacyJavaScriptObject","RenderContextResult0":"LegacyJavaScriptObject","RenderContextResultStats0":"LegacyJavaScriptObject","RenderOptions":"LegacyJavaScriptObject","RenderResult":"LegacyJavaScriptObject","RenderResultStats":"LegacyJavaScriptObject","_Exports":"LegacyJavaScriptObject","JSStatementVisitorObject":"LegacyJavaScriptObject","_ConstructorOptions1":"LegacyJavaScriptObject","_NodeSassString":"LegacyJavaScriptObject","Types":"LegacyJavaScriptObject","JSUrl0":"LegacyJavaScriptObject","_PropertyDescriptor0":"LegacyJavaScriptObject","_RequireMain0":"LegacyJavaScriptObject","JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"Promise":[],"JsSystemError":[],"ImmutableList":[],"ParcelWatcherSubscription":[],"ParcelWatcherEvent":[],"_ConstructionOptions":[],"_ChannelOptions":[],"_ToGamutOptions":[],"_InterpolationOptions":[],"_NodeSassColor":[],"CompileOptions":[],"CompileStringOptions":[],"NodeCompileResult":[],"Deprecation1":[],"_NodeException":[],"JSExpressionVisitorObject":[],"Fiber":[],"JSFunction0":[],"ImmutableList0":[],"ImmutableMap0":[],"JSImporter":[],"JSImporterResult":[],"NodeImporterResult0":[],"_ConstructorOptions":[],"_NodeSassList":[],"WarnOptions":[],"DebugOptions":[],"_NodeSassMap":[],"_ConstructorOptions0":[],"_NodeSassNumber":[],"ParserExports":[],"JSClass0":[],"RenderContextOptions0":[],"RenderOptions":[],"RenderResult":[],"JSStatementVisitorObject":[],"_ConstructorOptions1":[],"_NodeSassString":[],"JSUrl0":[]},"JSArray":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastSet":{"Set":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.V":"4","MapBase.K":"3"},"LateError":{"Error":[]},"ReachabilityError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipWhileIterable":{"Iterable":["1"],"Iterable.E":"1"},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"FollowedByIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthFollowedByIterable":{"FollowedByIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"NonNullsIterable":{"Iterable":["1"],"Iterable.E":"1"},"UnmodifiableListBase":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"Symbol":{"Symbol0":[]},"ConstantMapView":{"UnmodifiableMapView":["1","2"],"Map":["1","2"]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"ConstantSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ConstantStringSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"GeneralConstantSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"Instantiation":{"Function":[]},"Instantiation1":{"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Function":[]},"Closure2Args":{"Function":[]},"TearOffClosure":{"Function":[]},"StaticClosure":{"Function":[]},"BoundClosure":{"Function":[]},"_CyclicInitializationError":{"Error":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"LinkedHashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"JsConstantLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"NativeByteBuffer":{"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeByteData":{"ByteData":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"NativeFloat32List":{"NativeTypedArrayOfDouble":[],"Float32List":[],"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeFloat64List":{"NativeTypedArrayOfDouble":[],"Float64List":[],"ListBase":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"Int16List":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"Int32List":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"Int8List":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"Uint16List":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"Uint32List":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"Uint8ClampedList":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"Uint8List":[],"ListBase":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int"},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_SyncStarIterable":{"Iterable":["1"],"Iterable.E":"1"},"_AsyncCompleter":{"_Completer":["1"]},"_SyncCompleter":{"_Completer":["1"]},"_StreamController":{"EventSink":["1"]},"_AsyncStreamController":{"_StreamController":["1"],"EventSink":["1"]},"_SyncStreamController":{"_StreamController":["1"],"EventSink":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_BufferingStreamSubscription.T":"2"},"_ExpandStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"Zone":[]},"_RootZone":{"Zone":[]},"Queue":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"_HashMap":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_LinkedIdentityHashSet":{"_LinkedHashSet":["1"],"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableListView":{"ListBase":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"UnmodifiableMapBase":{"MapBase":["1","2"],"Map":["1","2"]},"_MapBaseValueIterable":{"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableSetView":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.V":"@","MapBase.K":"String"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Codec":["String","List"]},"_UnicodeSubsetEncoder":{"Converter":["String","List"]},"AsciiEncoder":{"Converter":["String","List"]},"Base64Codec":{"Codec":["List","String"]},"Base64Encoder":{"Converter":["List","String"]},"Encoding":{"Codec":["String","List"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"]},"JsonEncoder":{"Converter":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"]},"Utf8Codec":{"Codec":["String","List"]},"Utf8Encoder":{"Converter":["String","List"]},"Utf8Decoder":{"Converter":["List","String"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"RangeError":[],"Error":[]},"NoSuchMethodError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"_GeneratorIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_StringStackTrace":{"StackTrace":[]},"Runes":{"Iterable":["int"],"Iterable.E":"int"},"_Uri":{"_PlatformUri":[],"Uri":[]},"_SimpleUri":{"_PlatformUri":[],"Uri":[]},"_DataUri":{"_PlatformUri":[],"Uri":[]},"NullRejectionException":{"Exception":[]},"ArgParserException":{"FormatException":[],"Exception":[]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_CompleterStream":{"Stream":["1"],"Stream.T":"1"},"_NextRequest":{"_EventRequest":["1"]},"EmptyUnmodifiableSet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2"},"UnionSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"UnmodifiableSetView0":{"DelegatingSet":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapKeySet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_DelegatingIterableBase":{"Iterable":["1"]},"DelegatingSet":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"PathException":{"Exception":[]},"PathMap":{"Map":["String?","1"]},"Version":{"VersionRange":[],"Comparable":["VersionRange"]},"VersionRange":{"Comparable":["VersionRange"]},"ModifiableCssAtRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssComment":{"ModifiableCssNode":[],"CssComment":[],"CssNode":[],"AstNode":[]},"ModifiableCssDeclaration":{"ModifiableCssNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssImport":{"ModifiableCssNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssKeyframeBlock":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssMediaRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssNode":{"CssNode":[],"AstNode":[]},"ModifiableCssParentNode":{"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssStyleRule":{"ModifiableCssParentNode":[],"CssStyleRule":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssStylesheet":{"ModifiableCssParentNode":[],"CssStylesheet":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"ModifiableCssSupportsRule":{"ModifiableCssParentNode":[],"ModifiableCssNode":[],"CssParentNode":[],"CssNode":[],"AstNode":[]},"CssNode":{"AstNode":[]},"CssParentNode":{"CssNode":[],"AstNode":[]},"CssStylesheet":{"CssParentNode":[],"CssNode":[],"AstNode":[]},"CssValue":{"AstNode":[]},"_FakeAstNode":{"AstNode":[]},"Argument":{"AstNode":[]},"ArgumentDeclaration":{"AstNode":[]},"ArgumentInvocation":{"AstNode":[]},"ConfiguredVariable":{"AstNode":[]},"Expression":{"AstNode":[]},"BinaryOperationExpression":{"Expression":[],"AstNode":[]},"BooleanExpression":{"Expression":[],"AstNode":[]},"ColorExpression":{"Expression":[],"AstNode":[]},"FunctionExpression":{"Expression":[],"AstNode":[]},"IfExpression":{"Expression":[],"AstNode":[]},"InterpolatedFunctionExpression":{"Expression":[],"AstNode":[]},"ListExpression":{"Expression":[],"AstNode":[]},"MapExpression":{"Expression":[],"AstNode":[]},"NullExpression":{"Expression":[],"AstNode":[]},"NumberExpression":{"Expression":[],"AstNode":[]},"ParenthesizedExpression":{"Expression":[],"AstNode":[]},"SelectorExpression":{"Expression":[],"AstNode":[]},"StringExpression":{"Expression":[],"AstNode":[]},"SupportsExpression":{"Expression":[],"AstNode":[]},"UnaryOperationExpression":{"Expression":[],"AstNode":[]},"ValueExpression":{"Expression":[],"AstNode":[]},"VariableExpression":{"Expression":[],"AstNode":[]},"DynamicImport":{"Import":[],"AstNode":[]},"StaticImport":{"Import":[],"AstNode":[]},"Interpolation":{"AstNode":[]},"Statement":{"AstNode":[]},"AtRootRule":{"Statement":[],"AstNode":[]},"AtRule":{"Statement":[],"AstNode":[]},"CallableDeclaration":{"Statement":[],"AstNode":[]},"ContentBlock":{"Statement":[],"AstNode":[]},"ContentRule":{"Statement":[],"AstNode":[]},"DebugRule":{"Statement":[],"AstNode":[]},"Declaration":{"Statement":[],"AstNode":[]},"EachRule":{"Statement":[],"AstNode":[]},"ErrorRule":{"Statement":[],"AstNode":[]},"ExtendRule":{"Statement":[],"AstNode":[]},"ForRule":{"Statement":[],"AstNode":[]},"ForwardRule":{"Statement":[],"AstNode":[]},"FunctionRule":{"Statement":[],"AstNode":[]},"IfClause":{"IfRuleClause":[]},"ElseClause":{"IfRuleClause":[]},"IfRule":{"Statement":[],"AstNode":[]},"ImportRule":{"Statement":[],"AstNode":[]},"IncludeRule":{"Statement":[],"AstNode":[]},"LoudComment":{"Statement":[],"AstNode":[]},"MediaRule":{"Statement":[],"AstNode":[]},"MixinRule":{"Statement":[],"AstNode":[]},"_HasContentVisitor":{"StatementSearchVisitor":["bool"],"StatementSearchVisitor.T":"bool"},"ParentStatement":{"Statement":[],"AstNode":[]},"ReturnRule":{"Statement":[],"AstNode":[]},"SilentComment":{"Statement":[],"AstNode":[]},"StyleRule":{"Statement":[],"AstNode":[]},"Stylesheet":{"Statement":[],"AstNode":[]},"SupportsRule":{"Statement":[],"AstNode":[]},"UseRule":{"Statement":[],"AstNode":[]},"VariableDeclaration":{"Statement":[],"AstNode":[]},"WarnRule":{"Statement":[],"AstNode":[]},"WhileRule":{"Statement":[],"AstNode":[]},"SupportsAnything":{"AstNode":[]},"SupportsDeclaration":{"AstNode":[]},"SupportsFunction":{"AstNode":[]},"SupportsInterpolation":{"AstNode":[]},"SupportsNegation":{"AstNode":[]},"SupportsOperation":{"AstNode":[]},"Selector":{"AstNode":[]},"AttributeSelector":{"SimpleSelector":[],"AstNode":[]},"ClassSelector":{"SimpleSelector":[],"AstNode":[]},"ComplexSelector":{"AstNode":[]},"CompoundSelector":{"AstNode":[]},"IDSelector":{"SimpleSelector":[],"AstNode":[]},"SelectorList":{"AstNode":[]},"_ParentSelectorVisitor":{"SelectorSearchVisitor":["ParentSelector"],"SelectorSearchVisitor.T":"ParentSelector"},"ParentSelector":{"SimpleSelector":[],"AstNode":[]},"PlaceholderSelector":{"SimpleSelector":[],"AstNode":[]},"PseudoSelector":{"SimpleSelector":[],"AstNode":[]},"SimpleSelector":{"AstNode":[]},"TypeSelector":{"SimpleSelector":[],"AstNode":[]},"UniversalSelector":{"SimpleSelector":[],"AstNode":[]},"_EnvironmentModule0":{"Module0":["AsyncCallable"]},"AsyncBuiltInCallable":{"AsyncCallable":[]},"BuiltInCallable":{"Callable0":[],"AsyncBuiltInCallable":[],"AsyncCallable":[]},"PlainCssCallable":{"Callable0":[],"AsyncCallable":[]},"UserDefinedCallable":{"Callable0":[],"AsyncCallable":[]},"ExplicitConfiguration":{"Configuration":[]},"_EnvironmentModule":{"Module0":["Callable0"]},"SassRuntimeException":{"Exception":[]},"SassException":{"Exception":[]},"MultiSpanSassException":{"Exception":[]},"MultiSpanSassRuntimeException":{"SassRuntimeException":[],"Exception":[]},"SassFormatException":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"MultiSpanSassFormatException":{"MultiSourceSpanFormatException":[],"SassFormatException":[],"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"UsageException":{"Exception":[]},"EmptyExtensionStore":{"ExtensionStore":[]},"MergedExtension":{"Extension":[]},"Importer":{"AsyncImporter":[]},"FilesystemImporter":{"Importer":[],"AsyncImporter":[]},"NodePackageImporter":{"Importer":[],"AsyncImporter":[]},"BuiltInModule":{"Module0":["1"]},"ForwardedModuleView":{"Module0":["1"]},"ShadowedModuleView":{"Module0":["1"]},"LazyFileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"LimitedMapView":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"MergedMapView":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"MultiSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"PrefixedMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_PrefixedKeys":{"Iterable":["String"],"Iterable.E":"String"},"PublicMemberMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"UnprefixedMapView":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_UnprefixedKeys":{"Iterable":["String"],"Iterable.E":"String"},"SassArgumentList":{"SassList":[],"Value":[]},"SassBoolean":{"Value":[]},"SassCalculation":{"Value":[]},"SassColor":{"Value":[]},"LinearChannel":{"ColorChannel":[]},"A98RgbColorSpace":{"ColorSpace":[]},"DisplayP3ColorSpace":{"ColorSpace":[]},"HslColorSpace":{"ColorSpace":[]},"HwbColorSpace":{"ColorSpace":[]},"LabColorSpace":{"ColorSpace":[]},"LchColorSpace":{"ColorSpace":[]},"LmsColorSpace":{"ColorSpace":[]},"OklabColorSpace":{"ColorSpace":[]},"OklchColorSpace":{"ColorSpace":[]},"ProphotoRgbColorSpace":{"ColorSpace":[]},"Rec2020ColorSpace":{"ColorSpace":[]},"RgbColorSpace":{"ColorSpace":[]},"SrgbColorSpace":{"ColorSpace":[]},"SrgbLinearColorSpace":{"ColorSpace":[]},"XyzD50ColorSpace":{"ColorSpace":[]},"XyzD65ColorSpace":{"ColorSpace":[]},"SassFunction":{"Value":[]},"SassList":{"Value":[]},"SassMap":{"Value":[]},"SassMixin":{"Value":[]},"_SassNull":{"Value":[]},"SassNumber":{"Value":[]},"ComplexSassNumber":{"SassNumber":[],"Value":[]},"SingleUnitSassNumber":{"SassNumber":[],"Value":[]},"UnitlessSassNumber":{"SassNumber":[],"Value":[]},"SassString":{"Value":[]},"_EvaluationContext0":{"EvaluationContext":[]},"_EvaluationContext":{"EvaluationContext":[]},"Entry":{"Comparable":["Entry"]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"_FileSpan":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"MultiSourceSpanException":{"Exception":[]},"MultiSourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"Chain":{"StackTrace":[]},"LazyTrace":{"Trace":[],"StackTrace":[]},"Trace":{"StackTrace":[]},"UnparsedFrame":{"Frame":[]},"StringScannerException":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"A98RgbColorSpace0":{"ColorSpace0":[]},"SupportsAnything0":{"SupportsCondition":[],"SassNode":[],"AstNode0":[]},"Argument0":{"SassNode":[],"AstNode0":[]},"ArgumentDeclaration0":{"SassNode":[],"AstNode0":[]},"ArgumentInvocation0":{"SassNode":[],"AstNode0":[]},"SassArgumentList0":{"SassList0":[],"Value0":[]},"JSToDartAsyncImporter":{"AsyncImporter0":[]},"AsyncBuiltInCallable0":{"AsyncCallable0":[]},"_EnvironmentModule2":{"Module1":["AsyncCallable0"]},"_EvaluateVisitor2":{"StatementVisitor":["Future"],"ExpressionVisitor":["Future"]},"_EvaluationContext2":{"EvaluationContext0":[]},"JSToDartAsyncFileImporter":{"AsyncImporter0":[]},"AtRootRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ModifiableCssAtRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"AtRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"AttributeSelector0":{"SimpleSelector0":[],"AstNode0":[]},"BinaryOperationExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"BooleanExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SassBoolean0":{"Value0":[]},"BuiltInCallable0":{"Callable":[],"AsyncBuiltInCallable0":[],"AsyncCallable0":[]},"BuiltInModule0":{"Module1":["1"]},"SassCalculation0":{"Value0":[]},"CallableDeclaration0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"LinearChannel0":{"ColorChannel0":[]},"ClassSelector0":{"SimpleSelector0":[],"AstNode0":[]},"ColorExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SassColor0":{"Value0":[]},"ModifiableCssComment0":{"ModifiableCssNode0":[],"CssComment0":[],"CssNode0":[],"AstNode0":[]},"AsyncCompiler":{"Compiler":[]},"ComplexSassNumber0":{"SassNumber0":[],"Value0":[]},"ComplexSelector0":{"AstNode0":[]},"CompoundSelector0":{"AstNode0":[]},"ExplicitConfiguration0":{"Configuration0":[]},"ConfiguredVariable0":{"SassNode":[],"AstNode0":[]},"ContentBlock0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ContentRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"DebugRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ModifiableCssDeclaration0":{"ModifiableCssNode0":[],"CssNode0":[],"AstNode0":[]},"Declaration0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"SupportsDeclaration0":{"SupportsCondition":[],"SassNode":[],"AstNode0":[]},"DisplayP3ColorSpace0":{"ColorSpace0":[]},"DynamicImport0":{"Import0":[],"SassNode":[],"AstNode0":[]},"EachRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"EmptyExtensionStore0":{"ExtensionStore0":[]},"_EnvironmentModule1":{"Module1":["Callable"]},"ErrorRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"_EvaluateVisitor1":{"StatementVisitor":["Value0?"],"ExpressionVisitor":["Value0"]},"_EvaluationContext1":{"EvaluationContext0":[]},"SassRuntimeException0":{"Exception":[]},"SassException0":{"Exception":[]},"MultiSpanSassException0":{"Exception":[]},"MultiSpanSassRuntimeException0":{"SassRuntimeException0":[],"Exception":[]},"SassFormatException0":{"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"MultiSpanSassFormatException0":{"MultiSourceSpanFormatException":[],"SassFormatException0":[],"SourceSpanFormatException":[],"FormatException":[],"Exception":[]},"Expression0":{"SassNode":[],"AstNode0":[]},"JSExpressionVisitor":{"ExpressionVisitor":["Object?"]},"_MakeExpressionCalculationSafe0":{"ExpressionVisitor":["Expression0"]},"ExtendRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"JSToDartFileImporter":{"Importer0":[],"AsyncImporter0":[]},"FilesystemImporter0":{"Importer0":[],"AsyncImporter0":[]},"ForRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ForwardRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ForwardedModuleView0":{"Module1":["1"]},"FunctionExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SupportsFunction0":{"SupportsCondition":[],"SassNode":[],"AstNode0":[]},"SassFunction0":{"Value0":[]},"FunctionRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"HslColorSpace0":{"ColorSpace0":[]},"HwbColorSpace0":{"ColorSpace0":[]},"IDSelector0":{"SimpleSelector0":[],"AstNode0":[]},"IfExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"IfClause0":{"IfRuleClause0":[]},"ElseClause0":{"IfRuleClause0":[]},"IfRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ModifiableCssImport0":{"ModifiableCssNode0":[],"CssNode0":[],"AstNode0":[]},"ImportRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"Importer0":{"AsyncImporter0":[]},"IncludeRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"InterpolatedFunctionExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"Interpolation0":{"SassNode":[],"AstNode0":[]},"SupportsInterpolation0":{"SupportsCondition":[],"SassNode":[],"AstNode0":[]},"IsCalculationSafeVisitor0":{"ExpressionVisitor":["bool"]},"ModifiableCssKeyframeBlock0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"LabColorSpace0":{"ColorSpace0":[]},"LazyFileSpan0":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"LchColorSpace0":{"ColorSpace0":[]},"LimitedMapView0":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"ListExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SelectorList0":{"AstNode0":[]},"_ParentSelectorVisitor0":{"SelectorSearchVisitor0":["ParentSelector0"],"SelectorSearchVisitor0.T":"ParentSelector0"},"SassList0":{"Value0":[]},"LmsColorSpace0":{"ColorSpace0":[]},"LoudComment0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"MapExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SassMap0":{"Value0":[]},"ModifiableCssMediaRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"MediaRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"MergedExtension0":{"Extension0":[]},"MergedMapView0":{"MapBase":["1","2"],"Map":["1","2"],"MapBase.V":"2","MapBase.K":"1"},"SassMixin0":{"Value0":[]},"MixinRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"_HasContentVisitor0":{"StatementSearchVisitor0":["bool"],"StatementVisitor":["bool?"],"StatementSearchVisitor0.T":"bool"},"MultiSpan0":{"FileSpan":[],"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SupportsNegation0":{"SupportsCondition":[],"SassNode":[],"AstNode0":[]},"NoOpImporter0":{"Importer0":[],"AsyncImporter0":[]},"_FakeAstNode0":{"AstNode0":[]},"CssNode0":{"AstNode0":[]},"CssParentNode0":{"CssNode0":[],"AstNode0":[]},"ModifiableCssNode0":{"CssNode0":[],"AstNode0":[]},"ModifiableCssParentNode0":{"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"NodePackageImporter0":{"Importer0":[],"AsyncImporter0":[]},"NullExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"_SassNull0":{"Value0":[]},"NumberExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SassNumber0":{"Value0":[]},"OklabColorSpace0":{"ColorSpace0":[]},"OklchColorSpace0":{"ColorSpace0":[]},"SupportsOperation0":{"SupportsCondition":[],"SassNode":[],"AstNode0":[]},"ParentSelector0":{"SimpleSelector0":[],"AstNode0":[]},"ParentStatement0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"ParenthesizedExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"PlaceholderSelector0":{"SimpleSelector0":[],"AstNode0":[]},"PlainCssCallable0":{"Callable":[],"AsyncCallable0":[]},"PrefixedMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_PrefixedKeys0":{"Iterable":["String"],"Iterable.E":"String"},"ProphotoRgbColorSpace0":{"ColorSpace0":[]},"PseudoSelector0":{"SimpleSelector0":[],"AstNode0":[]},"PublicMemberMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"Rec2020ColorSpace0":{"ColorSpace0":[]},"ReturnRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"RgbColorSpace0":{"ColorSpace0":[]},"Selector0":{"AstNode0":[]},"SelectorExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"ShadowedModuleView0":{"Module1":["1"]},"SilentComment0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"SimpleSelector0":{"AstNode0":[]},"SingleUnitSassNumber0":{"SassNumber0":[],"Value0":[]},"SourceInterpolationVisitor":{"ExpressionVisitor":["~"]},"SrgbColorSpace0":{"ColorSpace0":[]},"SrgbLinearColorSpace0":{"ColorSpace0":[]},"Statement0":{"SassNode":[],"AstNode0":[]},"JSStatementVisitor":{"StatementVisitor":["Object?"]},"StaticImport0":{"Import0":[],"SassNode":[],"AstNode0":[]},"StringExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"SassString0":{"Value0":[]},"ModifiableCssStyleRule0":{"ModifiableCssParentNode0":[],"CssStyleRule0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"StyleRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"CssStylesheet0":{"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"ModifiableCssStylesheet0":{"ModifiableCssParentNode0":[],"CssStylesheet0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"Stylesheet0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"SupportsExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"ModifiableCssSupportsRule0":{"ModifiableCssParentNode0":[],"ModifiableCssNode0":[],"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"SupportsRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"JSToDartImporter":{"Importer0":[],"AsyncImporter0":[]},"TypeSelector0":{"SimpleSelector0":[],"AstNode0":[]},"UnaryOperationExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"UnitlessSassNumber0":{"SassNumber0":[],"Value0":[]},"UniversalSelector0":{"SimpleSelector0":[],"AstNode0":[]},"UnprefixedMapView0":{"MapBase":["String","1"],"Map":["String","1"],"MapBase.V":"1","MapBase.K":"String"},"_UnprefixedKeys0":{"Iterable":["String"],"Iterable.E":"String"},"UseRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"UserDefinedCallable0":{"Callable":[],"AsyncCallable0":[]},"CssValue0":{"AstNode0":[]},"ValueExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"VariableExpression0":{"Expression0":[],"SassNode":[],"AstNode0":[]},"VariableDeclaration0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"WarnRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"WhileRule0":{"Statement0":[],"SassNode":[],"AstNode0":[]},"XyzD50ColorSpace0":{"ColorSpace0":[]},"XyzD65ColorSpace0":{"ColorSpace0":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"CssComment":{"CssNode":[],"AstNode":[]},"CssStyleRule":{"CssParentNode":[],"CssNode":[],"AstNode":[]},"Import":{"AstNode":[]},"Callable0":{"AsyncCallable":[]},"Callable":{"AsyncCallable0":[]},"CssComment0":{"CssNode0":[],"AstNode0":[]},"Import0":{"SassNode":[],"AstNode0":[]},"SassNode":{"AstNode0":[]},"CssStyleRule0":{"CssParentNode0":[],"CssNode0":[],"AstNode0":[]},"SupportsCondition":{"SassNode":[],"AstNode0":[]}}')); + A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"WhereIterator":1,"SkipIterator":1,"SkipWhileIterator":1,"EmptyIterator":1,"FollowedByIterator":1,"NonNullsIterator":1,"FixedLengthListMixin":1,"UnmodifiableListMixin":1,"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"ConstantSet":1,"LinkedHashMapKeyIterator":1,"NativeTypedArray":1,"EventSink":1,"_SyncStarIterator":1,"_SyncStreamControllerDispatch":1,"_AsyncStreamControllerDispatch":1,"_AddStreamState":1,"_StreamControllerAddStreamState":1,"_DelayedEvent":1,"_DelayedData":1,"_PendingEvents":1,"_StreamIterator":1,"_ZoneFunction":1,"Queue":1,"UnmodifiableMapBase":2,"_UnmodifiableMapMixin":2,"MapView":2,"_UnmodifiableSetMixin":1,"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":2,"_UnmodifiableSetView_SetBase__UnmodifiableSetMixin":1,"_StringSinkConversionSink":1,"Expando":1,"_EventRequest":1,"_EmptyUnmodifiableSet_IterableBase_UnmodifiableSetMixin":1,"DefaultEquality":1,"IterableEquality":1,"ListEquality":1,"_QueueList_Object_ListMixin":1,"_UnionSet_SetBase_UnmodifiableSetMixin":1,"UnmodifiableSetMixin":1,"_UnmodifiableSetView_DelegatingSet_UnmodifiableSetMixin":1,"_DelegatingIterableBase":1,"_MapKeySet__DelegatingIterableBase_UnmodifiableSetMixin":1,"ParentStatement":1,"ParentStatement0":1,"ExpressionVisitor":1}')); var string$ = { x0a_BUG_: "\n\nBUG: This should include a source span!", x0a_Morex20: "\n\nMore info and automated migrator: https://sass-lang.com/d/slash-div", - x0a_Morex3a: "\n\nMore info: https://sass-lang.com/d/function-units", + x0a_Morex3ac: "\n\nMore info: https://sass-lang.com/d/color-functions", + x0a_Morex3af: "\n\nMore info: https://sass-lang.com/d/function-units", x0a_See_: "\n\nSee https://sass-lang.com/d/function-units", x0a_This: "\n\nThis is only an error because you've set the ", x0a_To_p: "\n\nTo preserve current behavior: math.random(math.div($limit, 1", @@ -116405,11 +124545,11 @@ self.util = _cliPkgRequires.util; x20It_wi: " It will be omitted from the generated CSS.", x20be_an: " be an extender.\nThis will be an error in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/bogus-combinators", x20can_n: " can not have both conditions and paths at the same level.\nFound ", - x20deprex20i: " deprecation is not yet active, so silencing it is unnecessary.", - x20deprex20m: " deprecation must be enabled before it can be made fatal.", - x20deprex20t: " deprecation to be fatal.\nRemove this setting if you need to keep using this feature.", + x20deprex20: " deprecation to be fatal.\nRemove this setting if you need to keep using this feature.", x20deprex2c: " deprecation, since it has also been made fatal.", + x20hue__: ' hue" may not be set for rectangular color space ', x20in_in: " in interpolation here.\nIt may end up represented as ", + x20inste: " instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", x20is_as: " is asynchronous.\nThis is probably caused by a bug in a Sass plugin.", x20is_av: " is available from multiple global modules.", x20is_de: " is deprecated.\n\nTo preserve current behavior: ", @@ -116420,6 +124560,8 @@ self.util = _cliPkgRequires.util; x20must_n: " must not be greater than the number of characters in the file, ", x20repet: " repetitive deprecation warnings omitted.", x20targe: " targetLocations if the interpolation has ", + x20to_be: " to be in the legacy RGB, HSL, or HWB color space.", + x20to_be_: " to be in the legacy RGB, HSL, or HWB color space.\n\nRecommendation: color.change(", x20to_cl: " to clarify that it's meant to be a binary operation, or wrap\nit in parentheses to make it a unary operation. This will be an error in future\nversions of Sass.\n\nMore info and automated migrator: https://sass-lang.com/d/strict-unary", x20to_co: " to color.opacity() is deprecated.\n\nRecommendation: ", x20was_a: ' was already loaded, so it can\'t be configured using "with".', @@ -116437,14 +124579,19 @@ self.util = _cliPkgRequires.util; x22x29__If: "\").\nIf you really want to use the color value here, use '", x22x2b__an: '"+" and "-" must be surrounded by whitespace in calculations.', x22packa: '"package:" URLs aren\'t supported on this platform.', + x24color: "$color1, $color2, $weight: 50%, $method: null", x24css_a: "$css and $module may not both be passed at once.", x24list1: "$list1, $list2, $separator: auto, $bracketed: auto", x24selec: "$selectors: At least one selector must be passed.", x24separ: '$separator: Must be "space", "comma", "slash", or "auto".', x27x20must: "' must be a path relative to the package root at '", x27x2c_whi: "', which is not a '.scss', '.sass', or '.css' file.", + x28__is_d: '() is deprecated. Suggestion:\n\ncolor.channel($color, "', + x28__is_oa: "() is only supported for legacy colors. Please use color.adjust() instead with an explicit $space argument.", + x28__is_oc: "() is only supported for legacy colors. Please use color.channel() instead with an explicit $space argument.", x28__isn: "() isn't in the sass:color module.\n\nRecommendation: color.adjust(", - x29x0a_Mor: ")\n\nMore info: https://sass-lang.com/documentation/functions/color#", + x29x0a_Mor_: ")\n\nMore info: https://sass-lang.com/d/color-functions", + x29x0a_Moro: ")\n\nMore info: https://sass-lang.com/documentation/functions/color#", x29x20in_a: ") in a future release.\n\nRecommendation: math.random(math.div($limit, 1", x29x20is_d: ") is deprecated.\n\nTo preserve current behavior: ", x29x20to_cg: ") to color.grayscale() is deprecated.\n\nRecommendation: ", @@ -116470,6 +124617,7 @@ self.util = _cliPkgRequires.util; As_of_R: "As of Dart Sass 2.0.0, !global assignments won't be able to declare new variables.\n\nRecommendation: add `", As_of_S: "As of Dart Sass 2.0.0, !global assignments won't be able to declare new variables.\n\nSince this assignment is at the root of the stylesheet, the !global flag is\nunnecessary and can safely be removed.", At_rul: "At-rules may not be used within nested declarations.", + Becaus: "Because the CSS working group is still deciding on the best behavior, Sass doesn't currently support modifying missing channels (color: ", Cannotff: "Cannot extract a file path from a URI with a fragment component", Cannotfq: "Cannot extract a file path from a URI with a query component", Cannotn: "Cannot extract a non-Windows file path from a file URI with an authority", @@ -116483,9 +124631,18 @@ self.util = _cliPkgRequires.util; Entrie: "Entries may not be removed from MergedMapView.", Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type", Evalua: "Evaluation handles @include and its content block together.", - Expect: "Expected variable, mixin, or function name", + Expecta: "Expected a color interpolation method, got an empty list.", + Expectu: 'Expected unquoted string "hue" at the end of ', + Expectv: "Expected variable, mixin, or function name", Functi: "Functions may not be declared in control directives.", - HSL_pa: "HSL parameters may not be passed along with HWB parameters.", + Global: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse ", + Globalcad: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse color.adjust instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Globalcal: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse color.alpha instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Globalcg: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse color.grayscale instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Globalci: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse color.invert instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Globalco: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse color.opacity instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Globalm: "Global built-in functions are deprecated and will be removed in Dart Sass 3.0.0.\nUse math.abs instead.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Hue_in: "Hue interpolation method may not be set for rectangular color space ", If_con: "If conditions is longer than one element, conjunction may not be null.", If_par: "If parsedAsCustomProperty is true, value must contain a SassString (was `", If_str: "If strategy is not null, step is required.", @@ -116496,13 +124653,14 @@ self.util = _cliPkgRequires.util; Invali: 'Invalid return value for custom function "', It_s_n: "It's not clear which file to import. Found:\n", Keywor: "Keyword arguments can't be used with calculations.", - May_on: "May only contains Strings or Expressions.", + May_no: "May not have a value for string elements (at index ", Media_: "Media rules may not be used within nested declarations.", Mixinsb: "Mixins may not be declared in control directives.", Mixinscf: "Mixins may not contain function declarations.", Mixinscm: "Mixins may not contain mixin declarations.", Modulel: "Module loop: this module is already being loaded.", Modulen: "Module namespaces aren't allowed in plain CSS.", + Must_n: "Must not have a value for expression elements (at index ", Nested: "Nested declarations aren't allowed in plain CSS.", New_en: "New entries may not be added to MergedMapView.", No_Sasc: "No Sass callable is currently being evaluated.", @@ -116515,19 +124673,20 @@ self.util = _cliPkgRequires.util; Only_op: "Only one positional argument is allowed. All other arguments must be passed by name.", Other_: "Other modules' members can't be defined with !global.", Parent: "Parent selectors can't have suffixes in plain CSS.", + Passin_: "Passing `alpha: null` without setting `space` is deprecated.\nMore info: https://sass-lang.com/d/null-alpha", Passina: "Passing a string to call() is deprecated and will be illegal in Dart Sass 2.0.0.\n\nRecommendation: call(get-function(", Passinp: "Passing percentage units to the global abs() function is deprecated.\nIn the future, this will emit a CSS abs() function to be resolved by the browser.\nTo preserve current behavior: math.abs(", Placeh: "Placeholder selectors aren't allowed in plain CSS.", Plain_: "Plain CSS functions don't support keyword arguments.", Positi: "Positional arguments must come before keyword arguments.", Privat: "Private members can't be accessed from outside their modules.", - RGB_pa: "RGB parameters may not be passed along with ", Rest_a: "Rest arguments can't be used with calculations.", - Sass__ff: "Sass @function names beginning with -- are deprecated for forward-compatibility with plain CSS functions.\n\nFor details, see https://sass-lang.com/d/css-function-mixin", - Sass__fm: "Sass @function names beginning with -- are deprecated for forward-compatibility with plain CSS mixins.\n\nFor details, see https://sass-lang.com/d/css-function-mixin", - Sass__i: "Sass @import rules will be deprecated in the future.\nRemove the --future-deprecation=import flag to silence this warning for now.", - Sass__m: "Sass @mixin names beginning with -- are deprecated for forward-compatibility with plain CSS mixins.\n\nFor details, see https://sass-lang.com/d/css-function-mixin", - Sass_v: "Sass variables aren't allowed in plain CSS.", + Sassx20_ff: "Sass @function names beginning with -- are deprecated for forward-compatibility with plain CSS functions.\n\nFor details, see https://sass-lang.com/d/css-function-mixin", + Sassx20_fm: "Sass @function names beginning with -- are deprecated for forward-compatibility with plain CSS mixins.\n\nFor details, see https://sass-lang.com/d/css-function-mixin", + Sassx20_i: "Sass @import rules are deprecated and will be removed in Dart Sass 3.0.0.\n\nMore info and automated migrator: https://sass-lang.com/d/import", + Sassx20_m: "Sass @mixin names beginning with -- are deprecated for forward-compatibility with plain CSS mixins.\n\nFor details, see https://sass-lang.com/d/css-function-mixin", + Sassx20v: "Sass variables aren't allowed in plain CSS.", + Sassx27s: "Sass's behavior for declarations that appear after nested\nrules will be changing to match the behavior specified by CSS in an upcoming\nversion. To keep the existing behavior, move the declaration above the nested\nrule. To opt into the new behavior, wrap the declaration in `& {}`.\n\nMore info: https://sass-lang.com/d/mixed-decls", Silent: "Silent comments aren't allowed in plain CSS.", Style_k: "Style rules may not be used within keyframe blocks.", Style_n: "Style rules may not be used within nested declarations.", @@ -116535,9 +124694,12 @@ self.util = _cliPkgRequires.util; The_Ex: "The ExtensionStore and CssStylesheet passed to cloneCssStylesheet() must come from the same compilation.", The_No: "The Node package importer cannot be used without a filesystem.", The_ca: "The canonicalize() method must return a URL.", + The_co: "The color() function doesn't support the color space ", + The_fe: "The feature-exists() function is deprecated.\n\nMore info: https://sass-lang.com/d/feature-exists", The_fie: "The findFileUrl() method must return a URL.", The_fiu: 'The findFileUrl() must return a URL with scheme file://, was "', The_gi: "The given LineScannerState was not returned by this LineScanner.", + The_le: "The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.\n\nMore info: https://sass-lang.com/d/legacy-js-api", The_lo: "The load() function must return an object with contents and syntax fields.", The_pa: "The parent selector isn't allowed in plain CSS.", The_sa: "The same variable may only be configured once.", @@ -116551,6 +124713,8 @@ self.util = _cliPkgRequires.util; This_o: "This operation can't be used in a calculation.", This_s: "This selector doesn't have any properties and won't be rendered.", This_v: "This variable was not declared with !default in the @used module.", + To_usei: "To use color.invert() with non-legacy color ", + To_usem: "To use color.mix() with non-legacy color ", Top_lel: "Top-level leading combinators aren't allowed in plain CSS.", Top_les: 'Top-level selectors may not contain the parent selector "&".', Unable: "Unable to determine which of multiple potential resolutions found for ", @@ -116566,15 +124730,25 @@ self.util = _cliPkgRequires.util; You_pr: "You probably don't mean to use the color value ", x60_inst: "` instead.\nSee https://sass-lang.com/d/extend-compound for details.\n", addExt: "addExtensions() can't be called for a const ExtensionStore.", + adjustd: "adjust-hue() is deprecated. Suggestion:\n\ncolor.adjust($color, $hue: ", + adjusto: "adjust-hue() is only supported for legacy colors. Please use color.adjust() instead with an explicit $space argument.", + alpha_: "alpha() is only supported for legacy colors. Please use color.channel() instead.", canoni: "canonicalizeContext may only be accessed within a call to canonicalize().", + color_a: "color.alpha() is only supported for legacy colors. Please use color.channel() instead.", + color_c: "color.changeHsl() is only supported for legacy colors. Please use color.changeChannels() instead with an explicit $space argument.", + color_t: "color.to-gamut() requires a $method argument for forwards-compatibility with changes in the CSS spec. Suggestion:\n\n$method: local-minde", compou: "compound selectors may no longer be extended.\nConsider `@extend ", conten: "content-exists() may only be called within a mixin.", + darken: "darken() is only supported for legacy colors. Please use color.adjust() instead with an explicit $space argument.", + desatu: "desaturate() is only supported for legacy colors. Please use color.adjust() instead with an explicit $space argument.", fileEx: "fileExists() is only supported on Node.js", leadin: "leadingCombinators and components may not both be empty.", + lighte: "lighten() is only supported for legacy colors. Please use color.adjust() instead with an explicit $space argument.", math_d: "math.div() will only support number arguments in a future release.\nUse list.slash() instead for a slash separator.", math_r: "math.random() will no longer ignore $limit units (", must_b: "must be a UniversalSelector or a TypeSelector", parsed: 'parsedAsCustomProperty must be false if name doesn\'t begin with "--".', + satura: "saturate() is only supported for legacy colors. Please use color.adjust() instead with an explicit $space argument.", semico: "semicolons aren't allowed in the indented syntax.", throug: "through() must return false for at least one parent of ", x7d__Mor: "})\nMore info: https://sass-lang.com/d/abs-percent" @@ -116635,6 +124809,8 @@ self.util = _cliPkgRequires.util; CssMediaQuery_2: findType("CssMediaQuery0"), CssParentNode: findType("CssParentNode"), CssParentNode_2: findType("CssParentNode0"), + CssStyleRule: findType("CssStyleRule"), + CssStyleRule_2: findType("CssStyleRule0"), CssStylesheet: findType("CssStylesheet"), CssStylesheet_2: findType("CssStylesheet0"), CssValue_Combinator: findType("CssValue"), @@ -116681,7 +124857,6 @@ self.util = _cliPkgRequires.util; Future_nullable_Uri: findType("Future"), Future_nullable_Value: findType("Future"), Future_nullable_Value_2: findType("Future"), - Future_void: findType("Future<~>"), IfClause: findType("IfClause"), IfClause_2: findType("IfClause0"), ImmutableList: findType("ImmutableList0"), @@ -116720,6 +124895,8 @@ self.util = _cliPkgRequires.util; JSArray_BuiltInCallable_2: findType("JSArray"), JSArray_Callable: findType("JSArray"), JSArray_Callable_2: findType("JSArray"), + JSArray_ColorChannel: findType("JSArray"), + JSArray_ColorChannel_2: findType("JSArray"), JSArray_ComplexSelector: findType("JSArray"), JSArray_ComplexSelectorComponent: findType("JSArray"), JSArray_ComplexSelectorComponent_2: findType("JSArray"), @@ -116732,6 +124909,8 @@ self.util = _cliPkgRequires.util; JSArray_CssMediaQuery_2: findType("JSArray"), JSArray_CssNode: findType("JSArray"), JSArray_CssNode_2: findType("JSArray"), + JSArray_CssStyleRule: findType("JSArray"), + JSArray_CssStyleRule_2: findType("JSArray"), JSArray_CssValue_Combinator: findType("JSArray>"), JSArray_CssValue_Combinator_2: findType("JSArray>"), JSArray_Entry: findType("JSArray"), @@ -116756,6 +124935,8 @@ self.util = _cliPkgRequires.util; JSArray_Iterable_ComplexSelectorComponent: findType("JSArray>"), JSArray_Iterable_ComplexSelectorComponent_2: findType("JSArray>"), JSArray_JSFunction: findType("JSArray"), + JSArray_LinearChannel: findType("JSArray"), + JSArray_LinearChannel_2: findType("JSArray"), JSArray_List_ComplexSelector: findType("JSArray>"), JSArray_List_ComplexSelectorComponent: findType("JSArray>"), JSArray_List_ComplexSelectorComponent_2: findType("JSArray>"), @@ -116791,6 +124972,8 @@ self.util = _cliPkgRequires.util; JSArray_Record_2_Expression_and_Expression_2: findType("JSArray<+(Expression0,Expression0)>"), JSArray_Record_2_String_and_AstNode: findType("JSArray<+(String,AstNode)>"), JSArray_Record_2_String_and_AstNode_2: findType("JSArray<+(String,AstNode0)>"), + JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span: findType("JSArray<+deprecation,message,span(Deprecation?,String,FileSpan)>"), + JSArray_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2: findType("JSArray<+deprecation,message,span(Deprecation0?,String,FileSpan)>"), JSArray_SassList: findType("JSArray"), JSArray_SassList_2: findType("JSArray"), JSArray_SimpleSelector: findType("JSArray"), @@ -116810,9 +124993,13 @@ self.util = _cliPkgRequires.util; JSArray_WatchEvent: findType("JSArray"), JSArray__Highlight: findType("JSArray<_Highlight>"), JSArray__Line: findType("JSArray<_Line>"), + JSArray_double: findType("JSArray"), JSArray_dynamic: findType("JSArray<@>"), JSArray_int: findType("JSArray"), + JSArray_nullable_FileSpan: findType("JSArray"), JSArray_nullable_Record_3_int_and_String_and_nullable_String: findType("JSArray<+(int,String,String?)?>"), + JSArray_nullable_SassNumber: findType("JSArray"), + JSArray_nullable_SassNumber_2: findType("JSArray"), JSArray_nullable_String: findType("JSArray"), JSClass: findType("JSClass0"), JSFunction: findType("JSFunction0"), @@ -116830,6 +125017,8 @@ self.util = _cliPkgRequires.util; JsSystemError: findType("JsSystemError"), LimitedMapView_String_ConfiguredValue: findType("LimitedMapView"), LimitedMapView_String_ConfiguredValue_2: findType("LimitedMapView0"), + LinearChannel: findType("LinearChannel"), + LinearChannel_2: findType("LinearChannel0"), List_ComplexSelectorComponent: findType("List"), List_ComplexSelectorComponent_2: findType("List"), List_CssComment: findType("List"), @@ -116849,8 +125038,6 @@ self.util = _cliPkgRequires.util; List_Module_Callable: findType("List>"), List_Module_Callable_2: findType("List>"), List_String: findType("List"), - List_Value: findType("List"), - List_Value_2: findType("List"), List_WatchEvent: findType("List"), List_dynamic: findType("List<@>"), List_int: findType("List"), @@ -116913,9 +125100,22 @@ self.util = _cliPkgRequires.util; Never: findType("0&"), NodeCompileResult: findType("NodeCompileResult"), NodeImporterResult: findType("NodeImporterResult0"), + NonNullsIterable_Future_void: findType("NonNullsIterable>"), + NonNullsIterable_Object: findType("NonNullsIterable"), + NonNullsIterable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl: findType("NonNullsIterable<+originalUrl(AsyncImporter,Uri,Uri)>"), + NonNullsIterable_Record_3_AsyncImporter_and_Uri_and_Uri_originalUrl_2: findType("NonNullsIterable<+originalUrl(AsyncImporter0,Uri,Uri)>"), + NonNullsIterable_Record_3_Importer_and_Uri_and_Uri_originalUrl: findType("NonNullsIterable<+originalUrl(Importer,Uri,Uri)>"), + NonNullsIterable_Record_3_Importer_and_Uri_and_Uri_originalUrl_2: findType("NonNullsIterable<+originalUrl(Importer0,Uri,Uri)>"), + NonNullsIterable_SelectorList: findType("NonNullsIterable"), + NonNullsIterable_SelectorList_2: findType("NonNullsIterable"), + NonNullsIterable_String: findType("NonNullsIterable"), Null: findType("Null"), + NumberExpression: findType("NumberExpression"), + NumberExpression_2: findType("NumberExpression0"), Object: findType("Object"), Option: findType("Option"), + ParcelWatcherEvent: findType("ParcelWatcherEvent"), + ParcelWatcherSubscription: findType("ParcelWatcherSubscription"), PathMap_ChangeType: findType("PathMap"), PathMap_Stream_WatchEvent: findType("PathMap>"), PathMap_String: findType("PathMap"), @@ -117003,6 +125203,7 @@ self.util = _cliPkgRequires.util; Stream_WatchEvent: findType("Stream"), String: findType("String"), StringExpression: findType("StringExpression"), + StringExpression_2: findType("StringExpression0"), StylesheetNode: findType("StylesheetNode"), Timer: findType("Timer"), Trace: findType("Trace"), @@ -117024,6 +125225,8 @@ self.util = _cliPkgRequires.util; UnmodifiableListView_ForwardRule_2: findType("UnmodifiableListView"), UnmodifiableListView_ModifiableCssNode: findType("UnmodifiableListView"), UnmodifiableListView_ModifiableCssNode_2: findType("UnmodifiableListView"), + UnmodifiableListView_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span: findType("UnmodifiableListView<+deprecation,message,span(Deprecation?,String,FileSpan)>"), + UnmodifiableListView_Record_3_nullable_Deprecation_deprecation_and_String_message_and_FileSpan_span_2: findType("UnmodifiableListView<+deprecation,message,span(Deprecation0?,String,FileSpan)>"), UnmodifiableListView_String: findType("UnmodifiableListView"), UnmodifiableListView_UseRule: findType("UnmodifiableListView"), UnmodifiableListView_UseRule_2: findType("UnmodifiableListView"), @@ -117109,6 +125312,7 @@ self.util = _cliPkgRequires.util; nullable_CanonicalizeContext_2: findType("CanonicalizeContext0?"), nullable_CssValue_String: findType("CssValue?"), nullable_CssValue_String_2: findType("CssValue0?"), + nullable_FileSpan: findType("FileSpan?"), nullable_Future_Null: findType("Future?"), nullable_Future_void: findType("Future<~>?"), nullable_ImporterResult: findType("ImporterResult?"), @@ -117135,6 +125339,7 @@ self.util = _cliPkgRequires.util; nullable__ConstructorOptions_2: findType("_ConstructorOptions0?"), nullable__ConstructorOptions_3: findType("_ConstructorOptions1?"), nullable__Highlight: findType("_Highlight?"), + nullable_double: findType("double?"), num: findType("num"), void: findType("~"), void_Function_Object: findType("~(Object)"), @@ -117145,6 +125350,7 @@ self.util = _cliPkgRequires.util; var makeConstList = hunkHelpers.makeConstList; B.Interceptor_methods = J.Interceptor.prototype; B.JSArray_methods = J.JSArray.prototype; + B.JSBool_methods = J.JSBool.prototype; B.JSInt_methods = J.JSInt.prototype; B.JSNull_methods = J.JSNull.prototype; B.JSNumber_methods = J.JSNumber.prototype; @@ -117155,6 +125361,16 @@ self.util = _cliPkgRequires.util; B.NativeUint8List_methods = A.NativeUint8List.prototype; B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; B.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + B.LinearChannel_4KI = new A.LinearChannel(0, 1, false, false, false, "red", false, null); + B.LinearChannel_qbH = new A.LinearChannel(0, 1, false, false, false, "green", false, null); + B.LinearChannel_W3m = new A.LinearChannel(0, 1, false, false, false, "blue", false, null); + B.List_V3K = A._setArrayType(makeConstList([B.LinearChannel_4KI, B.LinearChannel_qbH, B.LinearChannel_W3m]), type$.JSArray_LinearChannel); + B.A98RgbColorSpace_bdu = new A.A98RgbColorSpace("a98-rgb", B.List_V3K); + B.LinearChannel_4KI0 = new A.LinearChannel0(0, 1, false, false, false, "red", false, null); + B.LinearChannel_qbH0 = new A.LinearChannel0(0, 1, false, false, false, "green", false, null); + B.LinearChannel_W3m0 = new A.LinearChannel0(0, 1, false, false, false, "blue", false, null); + B.List_V3K0 = A._setArrayType(makeConstList([B.LinearChannel_4KI0, B.LinearChannel_qbH0, B.LinearChannel_W3m0]), type$.JSArray_LinearChannel_2); + B.A98RgbColorSpace_bdu0 = new A.A98RgbColorSpace0("a98-rgb", B.List_V3K0); B.AsciiEncoder_127 = new A.AsciiEncoder(127); B.C_EmptyUnmodifiableSet1 = new A.EmptyUnmodifiableSet(A.findType("EmptyUnmodifiableSet")); B.AtRootQuery_n2q = new A.AtRootQuery(false, B.C_EmptyUnmodifiableSet1, false, true); @@ -117210,6 +125426,8 @@ self.util = _cliPkgRequires.util; B.C_EmptyIterator = new A.EmptyIterator(); B.C_EmptyUnmodifiableSet = new A.EmptyUnmodifiableSet(A.findType("EmptyUnmodifiableSet")); B.C_EmptyUnmodifiableSet0 = new A.EmptyUnmodifiableSet(A.findType("EmptyUnmodifiableSet")); + B.C_IsCalculationSafeVisitor = new A.IsCalculationSafeVisitor(); + B.C_IsCalculationSafeVisitor0 = new A.IsCalculationSafeVisitor0(); B.C_IterableEquality = new A.IterableEquality(); B.C_JS_CONST = function getTagFallback(o) { var s = Object.prototype.toString.call(o); @@ -117345,6 +125563,8 @@ self.util = _cliPkgRequires.util; B.C_UnicodeGlyphSet = new A.UnicodeGlyphSet(); B.C_Utf8Codec = new A.Utf8Codec(); B.C_Utf8Encoder = new A.Utf8Encoder(); + B.C__ColorFormatEnum = new A._ColorFormatEnum(); + B.C__ColorFormatEnum0 = new A._ColorFormatEnum0(); B.C__DelayedDone = new A._DelayedDone(); B.C__HasContentVisitor = new A._HasContentVisitor(); B.C__HasContentVisitor0 = new A._HasContentVisitor0(); @@ -117370,6 +125590,8 @@ self.util = _cliPkgRequires.util; B.ChangeType_add = new A.ChangeType("add"); B.ChangeType_modify = new A.ChangeType("modify"); B.ChangeType_remove = new A.ChangeType("remove"); + B.ClipGamutMap_clip = new A.ClipGamutMap("clip"); + B.ClipGamutMap_clip0 = new A.ClipGamutMap0("clip"); B.Combinator_8I8 = new A.Combinator(">", "child"); B.Combinator_8I80 = new A.Combinator0(">", "child"); B.Combinator_gRV = new A.Combinator("+", "nextSibling"); @@ -117381,40 +125603,52 @@ self.util = _cliPkgRequires.util; B.Configuration_Map_empty_null = new A.Configuration(B.Map_empty17, null); B.Map_empty18 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); B.Configuration_Map_empty_null0 = new A.Configuration0(B.Map_empty18, null); - B.Deprecation_2Vk = new A.Deprecation("strict-unary", "1.55.0", false, "strictUnary"); - B.Deprecation_2jN = new A.Deprecation("function-units", "1.56.0", false, "functionUnits"); - B.Deprecation_2nU = new A.Deprecation("new-global", "1.17.2", false, "newGlobal"); - B.Deprecation_5pG = new A.Deprecation0("bogus-combinators", "1.54.0", "Leading, trailing, and repeated combinators.", false, "bogusCombinators"); - B.Deprecation_Agq = new A.Deprecation0("calc-interp", null, null, false, "calcInterp"); - B.Deprecation_B4v = new A.Deprecation("fs-importer-cwd", "1.73.0", false, "fsImporterCwd"); - B.Deprecation_E8a = new A.Deprecation0("slash-div", "1.33.0", "/ operator for division.", false, "slashDiv"); - B.Deprecation_EJz = new A.Deprecation("elseif", "1.3.2", false, "elseif"); - B.Deprecation_EfO = new A.Deprecation0("color-module-compat", "1.23.0", "Using color module functions in place of plain CSS functions.", false, "colorModuleCompat"); - B.Deprecation_GFc = new A.Deprecation("abs-percent", "1.65.0", false, "absPercent"); - B.Deprecation_HJ0 = new A.Deprecation("css-function-mixin", "1.76.0", false, "cssFunctionMixin"); - B.Deprecation_IMm = new A.Deprecation("relative-canonical", "1.14.2", false, "relativeCanonical"); - B.Deprecation_Iit = new A.Deprecation0("moz-document", "1.7.2", "@-moz-document.", false, "mozDocument"); - B.Deprecation_JeE = new A.Deprecation("user-authored", null, false, "userAuthored"); - B.Deprecation_MMc = new A.Deprecation0("call-string", "0.0.0", "Passing a string directly to meta.call().", false, "callString"); - B.Deprecation_Ssf = new A.Deprecation0("relative-canonical", "1.14.2", "Imports using relative canonical URLs.", false, "relativeCanonical"); - B.Deprecation_W6Z = new A.Deprecation0("new-global", "1.17.2", "Declaring new variables with !global.", false, "newGlobal"); - B.Deprecation_gkc = new A.Deprecation("call-string", "0.0.0", false, "callString"); - B.Deprecation_iDZ = new A.Deprecation("color-module-compat", "1.23.0", false, "colorModuleCompat"); - B.Deprecation_iXE = new A.Deprecation0("duplicate-var-flags", "1.62.0", "Using !default or !global multiple times for one variable.", false, "duplicateVarFlags"); - B.Deprecation_ido = new A.Deprecation("bogus-combinators", "1.54.0", false, "bogusCombinators"); - B.Deprecation_import_null_true_import = new A.Deprecation("import", null, true, "import"); - B.Deprecation_jYb = new A.Deprecation0("abs-percent", "1.65.0", "Passing percentages to the Sass abs() function.", false, "absPercent"); - B.Deprecation_kmo = new A.Deprecation0("fs-importer-cwd", "1.73.0", "Using the current working directory as an implicit load path.", false, "fsImporterCwd"); - B.Deprecation_oCX = new A.Deprecation0("function-units", "1.56.0", "Passing invalid units to built-in functions.", false, "functionUnits"); - B.Deprecation_oJv = new A.Deprecation("slash-div", "1.33.0", false, "slashDiv"); - B.Deprecation_omH = new A.Deprecation0("null-alpha", "1.62.3", "Passing null as alpha in the JS API.", false, "nullAlpha"); - B.Deprecation_oty = new A.Deprecation0("user-authored", null, null, false, "userAuthored"); - B.Deprecation_qBS = new A.Deprecation0("css-function-mixin", "1.76.0", "Function and mixin names beginning with --.", false, "cssFunctionMixin"); - B.Deprecation_qd9 = new A.Deprecation0("import", null, "@import rules.", true, "import"); - B.Deprecation_uNF = new A.Deprecation("moz-document", "1.7.2", false, "mozDocument"); - B.Deprecation_woc = new A.Deprecation0("strict-unary", "1.55.0", "Ambiguous + and - operators.", false, "strictUnary"); - B.Deprecation_xw8 = new A.Deprecation0("elseif", "1.3.2", "@elseif.", false, "elseif"); - B.Deprecation_zrt = new A.Deprecation("duplicate-var-flags", "1.62.0", false, "duplicateVarFlags"); + B.Deprecation_0 = new A.Deprecation("css-function-mixin", "1.76.0", "cssFunctionMixin"); + B.Deprecation_0Gh = new A.Deprecation("global-builtin", "1.80.0", "globalBuiltin"); + B.Deprecation_2My = new A.Deprecation("strict-unary", "1.55.0", "strictUnary"); + B.Deprecation_2No = new A.Deprecation0("legacy-js-api", "1.79.0", "Legacy JS API.", "legacyJsApi"); + B.Deprecation_4QP = new A.Deprecation0("color-module-compat", "1.23.0", "Using color module functions in place of plain CSS functions.", "colorModuleCompat"); + B.Deprecation_6v8 = new A.Deprecation("call-string", "0.0.0", "callString"); + B.Deprecation_A0i = new A.Deprecation0("import", "1.80.0", "@import rules.", "import"); + B.Deprecation_Aec = new A.Deprecation("elseif", "1.3.2", "elseif"); + B.Deprecation_C9i = new A.Deprecation("bogus-combinators", "1.54.0", "bogusCombinators"); + B.Deprecation_Ctw = new A.Deprecation0("moz-document", "1.7.2", "@-moz-document.", "mozDocument"); + B.Deprecation_ErI = new A.Deprecation0("calc-interp", null, null, "calcInterp"); + B.Deprecation_FIw = new A.Deprecation0("color-4-api", "1.79.0", "Certain uses of built-in sass:color functions.", "color4Api"); + B.Deprecation_INA = new A.Deprecation("relative-canonical", "1.14.2", "relativeCanonical"); + B.Deprecation_JeE = new A.Deprecation0("user-authored", null, null, "userAuthored"); + B.Deprecation_KIf = new A.Deprecation("new-global", "1.17.2", "newGlobal"); + B.Deprecation_MT8 = new A.Deprecation0("new-global", "1.17.2", "Declaring new variables with !global.", "newGlobal"); + B.Deprecation_MYu = new A.Deprecation("import", "1.80.0", "import"); + B.Deprecation_Q5r = new A.Deprecation0("global-builtin", "1.80.0", "Global built-in functions that are available in sass: modules.", "globalBuiltin"); + B.Deprecation_QAx = new A.Deprecation0("feature-exists", "1.78.0", "meta.feature-exists", "featureExists"); + B.Deprecation_T5f = new A.Deprecation("moz-document", "1.7.2", "mozDocument"); + B.Deprecation_U43 = new A.Deprecation0("call-string", "0.0.0", "Passing a string directly to meta.call().", "callString"); + B.Deprecation_UW2 = new A.Deprecation0("strict-unary", "1.55.0", "Ambiguous + and - operators.", "strictUnary"); + B.Deprecation_VIq = new A.Deprecation0("mixed-decls", "1.77.7", "Declarations after or between nested rules.", "mixedDecls"); + B.Deprecation_VqL = new A.Deprecation0("duplicate-var-flags", "1.62.0", "Using !default or !global multiple times for one variable.", "duplicateVarFlags"); + B.Deprecation_Vr4 = new A.Deprecation("feature-exists", "1.78.0", "featureExists"); + B.Deprecation_W1R = new A.Deprecation("user-authored", null, "userAuthored"); + B.Deprecation_YKG = new A.Deprecation0("elseif", "1.3.2", "@elseif.", "elseif"); + B.Deprecation_YUI = new A.Deprecation("duplicate-var-flags", "1.62.0", "duplicateVarFlags"); + B.Deprecation_Zk6 = new A.Deprecation("abs-percent", "1.65.0", "absPercent"); + B.Deprecation_bh9 = new A.Deprecation0("bogus-combinators", "1.54.0", "Leading, trailing, and repeated combinators.", "bogusCombinators"); + B.Deprecation_cI8 = new A.Deprecation0("fs-importer-cwd", "1.73.0", "Using the current working directory as an implicit load path.", "fsImporterCwd"); + B.Deprecation_ePO = new A.Deprecation("color-module-compat", "1.23.0", "colorModuleCompat"); + B.Deprecation_fXI = new A.Deprecation0("relative-canonical", "1.14.2", "Imports using relative canonical URLs.", "relativeCanonical"); + B.Deprecation_int = new A.Deprecation("function-units", "1.56.0", "functionUnits"); + B.Deprecation_izR = new A.Deprecation("color-functions", "1.79.0", "colorFunctions"); + B.Deprecation_jV0 = new A.Deprecation0("function-units", "1.56.0", "Passing invalid units to built-in functions.", "functionUnits"); + B.Deprecation_mBb = new A.Deprecation0("null-alpha", "1.62.3", "Passing null as alpha in the JS API.", "nullAlpha"); + B.Deprecation_mRl = new A.Deprecation("slash-div", "1.33.0", "slashDiv"); + B.Deprecation_omC = new A.Deprecation0("css-function-mixin", "1.76.0", "Function and mixin names beginning with --.", "cssFunctionMixin"); + B.Deprecation_q39 = new A.Deprecation0("slash-div", "1.33.0", "/ operator for division.", "slashDiv"); + B.Deprecation_qgq = new A.Deprecation0("abs-percent", "1.65.0", "Passing percentages to the Sass abs() function.", "absPercent"); + B.Deprecation_rb9 = new A.Deprecation0("color-functions", "1.79.0", "Using global color functions instead of sass:color.", "colorFunctions"); + B.Deprecation_u1l = new A.Deprecation("mixed-decls", "1.77.7", "mixedDecls"); + B.Deprecation_vct = new A.Deprecation("fs-importer-cwd", "1.73.0", "fsImporterCwd"); + B.DisplayP3ColorSpace_NQk = new A.DisplayP3ColorSpace("display-p3", B.List_V3K); + B.DisplayP3ColorSpace_NQk0 = new A.DisplayP3ColorSpace0("display-p3", B.List_V3K0); B.Duration_0 = new A.Duration(0); B.ExtendMode_allTargets_allTargets = new A.ExtendMode("allTargets", "allTargets"); B.ExtendMode_allTargets_allTargets0 = new A.ExtendMode0("allTargets", "allTargets"); @@ -117422,13 +125656,63 @@ self.util = _cliPkgRequires.util; B.ExtendMode_normal_normal0 = new A.ExtendMode0("normal", "normal"); B.ExtendMode_replace_replace = new A.ExtendMode("replace", "replace"); B.ExtendMode_replace_replace0 = new A.ExtendMode0("replace", "replace"); + B.ColorChannel_hue_true_deg = new A.ColorChannel("hue", true, "deg"); + B.LinearChannel_Bq6 = new A.LinearChannel(0, 100, true, true, false, "saturation", false, "%"); + B.LinearChannel_cKo = new A.LinearChannel(0, 100, true, false, false, "lightness", false, "%"); + B.List_8aB = A._setArrayType(makeConstList([B.ColorChannel_hue_true_deg, B.LinearChannel_Bq6, B.LinearChannel_cKo]), type$.JSArray_ColorChannel); + B.HslColorSpace_gsm = new A.HslColorSpace("hsl", B.List_8aB); + B.ColorChannel_hue_true_deg0 = new A.ColorChannel0("hue", true, "deg"); + B.LinearChannel_Bq60 = new A.LinearChannel0(0, 100, true, true, false, "saturation", false, "%"); + B.LinearChannel_cKo0 = new A.LinearChannel0(0, 100, true, false, false, "lightness", false, "%"); + B.List_8aB0 = A._setArrayType(makeConstList([B.ColorChannel_hue_true_deg0, B.LinearChannel_Bq60, B.LinearChannel_cKo0]), type$.JSArray_ColorChannel_2); + B.HslColorSpace_gsm0 = new A.HslColorSpace0("hsl", B.List_8aB0); + B.HueInterpolationMethod_0 = new A.HueInterpolationMethod("shorter"); + B.HueInterpolationMethod_00 = new A.HueInterpolationMethod0("shorter"); + B.HueInterpolationMethod_1 = new A.HueInterpolationMethod("longer"); + B.HueInterpolationMethod_10 = new A.HueInterpolationMethod0("longer"); + B.HueInterpolationMethod_2 = new A.HueInterpolationMethod("increasing"); + B.HueInterpolationMethod_20 = new A.HueInterpolationMethod0("increasing"); + B.HueInterpolationMethod_3 = new A.HueInterpolationMethod("decreasing"); + B.HueInterpolationMethod_30 = new A.HueInterpolationMethod0("decreasing"); + B.LinearChannel_A0x = new A.LinearChannel(0, 100, true, false, false, "whiteness", false, "%"); + B.LinearChannel_SYB = new A.LinearChannel(0, 100, true, false, false, "blackness", false, "%"); + B.List_gc6 = A._setArrayType(makeConstList([B.ColorChannel_hue_true_deg, B.LinearChannel_A0x, B.LinearChannel_SYB]), type$.JSArray_ColorChannel); + B.HwbColorSpace_06z = new A.HwbColorSpace("hwb", B.List_gc6); + B.LinearChannel_A0x0 = new A.LinearChannel0(0, 100, true, false, false, "whiteness", false, "%"); + B.LinearChannel_SYB0 = new A.LinearChannel0(0, 100, true, false, false, "blackness", false, "%"); + B.List_gc60 = A._setArrayType(makeConstList([B.ColorChannel_hue_true_deg0, B.LinearChannel_A0x0, B.LinearChannel_SYB0]), type$.JSArray_ColorChannel_2); + B.HwbColorSpace_06z0 = new A.HwbColorSpace0("hwb", B.List_gc60); B.JsonDecoder_null = new A.JsonDecoder(null); B.JsonEncoder_null = new A.JsonEncoder(null); + B.LinearChannel_cKo1 = new A.LinearChannel(0, 100, false, true, true, "lightness", false, "%"); + B.LinearChannel_EgN = new A.LinearChannel(-125, 125, false, false, false, "a", false, null); + B.LinearChannel_WFl = new A.LinearChannel(-125, 125, false, false, false, "b", false, null); + B.List_gT2 = A._setArrayType(makeConstList([B.LinearChannel_cKo1, B.LinearChannel_EgN, B.LinearChannel_WFl]), type$.JSArray_ColorChannel); + B.LabColorSpace_IF2 = new A.LabColorSpace("lab", B.List_gT2); + B.LinearChannel_cKo2 = new A.LinearChannel0(0, 100, false, true, true, "lightness", false, "%"); + B.LinearChannel_EgN0 = new A.LinearChannel0(-125, 125, false, false, false, "a", false, null); + B.LinearChannel_WFl0 = new A.LinearChannel0(-125, 125, false, false, false, "b", false, null); + B.List_gT20 = A._setArrayType(makeConstList([B.LinearChannel_cKo2, B.LinearChannel_EgN0, B.LinearChannel_WFl0]), type$.JSArray_ColorChannel_2); + B.LabColorSpace_IF20 = new A.LabColorSpace0("lab", B.List_gT20); + B.LinearChannel_a4O = new A.LinearChannel(0, 150, false, true, false, "chroma", false, null); + B.List_i7B = A._setArrayType(makeConstList([B.LinearChannel_cKo1, B.LinearChannel_a4O, B.ColorChannel_hue_true_deg]), type$.JSArray_ColorChannel); + B.LchColorSpace_wv8 = new A.LchColorSpace("lch", B.List_i7B); + B.LinearChannel_a4O0 = new A.LinearChannel0(0, 150, false, true, false, "chroma", false, null); + B.List_i7B0 = A._setArrayType(makeConstList([B.LinearChannel_cKo2, B.LinearChannel_a4O0, B.ColorChannel_hue_true_deg0]), type$.JSArray_ColorChannel_2); + B.LchColorSpace_wv80 = new A.LchColorSpace0("lch", B.List_i7B0); B.LineFeed_75j = new A.LineFeed0("lfcr", "\n\r", "lfcr"); B.LineFeed_89t = new A.LineFeed0("cr", "\r", "cr"); B.LineFeed_A4L = new A.LineFeed0("crlf", "\r\n", "crlf"); B.LineFeed_LvD = new A.LineFeed0("lf", "\n", "lf"); B.LineFeed_lf = new A.LineFeed("lf"); + B.LinearChannel_Npb = new A.LinearChannel(0, 255, false, true, true, "blue", false, null); + B.LinearChannel_Npb0 = new A.LinearChannel0(0, 255, false, true, true, "blue", false, null); + B.LinearChannel_bdu = new A.LinearChannel(0, 255, false, true, true, "red", false, null); + B.LinearChannel_bdu0 = new A.LinearChannel0(0, 255, false, true, true, "red", false, null); + B.LinearChannel_kUZ = new A.LinearChannel(0, 255, false, true, true, "green", false, null); + B.LinearChannel_kUZ0 = new A.LinearChannel0(0, 255, false, true, true, "green", false, null); + B.LinearChannel_omH = new A.LinearChannel(0, 1, false, false, false, "alpha", false, null); + B.LinearChannel_omH0 = new A.LinearChannel0(0, 1, false, false, false, "alpha", false, null); B.ListSeparator_ECn = new A.ListSeparator("comma", ",", "comma"); B.ListSeparator_ECn0 = new A.ListSeparator0("comma", ",", "comma"); B.ListSeparator_cQA = new A.ListSeparator("slash", "/", "slash"); @@ -117437,7 +125721,9 @@ self.util = _cliPkgRequires.util; B.ListSeparator_nbm0 = new A.ListSeparator0("space", " ", "space"); B.ListSeparator_undecided_null_undecided = new A.ListSeparator("undecided", null, "undecided"); B.ListSeparator_undecided_null_undecided0 = new A.ListSeparator0("undecided", null, "undecided"); + B.List_23h = A._setArrayType(makeConstList([B.HueInterpolationMethod_00, B.HueInterpolationMethod_10, B.HueInterpolationMethod_20, B.HueInterpolationMethod_30]), A.findType("JSArray")); B.List_2jN = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.List_31K = A._setArrayType(makeConstList([B.Deprecation_U43, B.Deprecation_YKG, B.Deprecation_Ctw, B.Deprecation_fXI, B.Deprecation_MT8, B.Deprecation_4QP, B.Deprecation_q39, B.Deprecation_bh9, B.Deprecation_UW2, B.Deprecation_jV0, B.Deprecation_VqL, B.Deprecation_mBb, B.Deprecation_qgq, B.Deprecation_cI8, B.Deprecation_omC, B.Deprecation_VIq, B.Deprecation_QAx, B.Deprecation_FIw, B.Deprecation_rb9, B.Deprecation_2No, B.Deprecation_A0i, B.Deprecation_Q5r, B.Deprecation_JeE, B.Deprecation_ErI]), A.findType("JSArray")); B.List_42A = A._setArrayType(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), type$.JSArray_int); B.List_4AN = A._setArrayType(makeConstList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]), type$.JSArray_int); B.Object_79D = {em: 0, rem: 1, ex: 2, rex: 3, cap: 4, rcap: 5, ch: 6, rch: 7, ic: 8, ric: 9, lh: 10, rlh: 11, vw: 12, lvw: 13, svw: 14, dvw: 15, vh: 16, lvh: 17, svh: 18, dvh: 19, vi: 20, lvi: 21, svi: 22, dvi: 23, vb: 24, lvb: 25, svb: 26, dvb: 27, vmin: 28, lvmin: 29, svmin: 30, dvmin: 31, vmax: 32, lvmax: 33, svmax: 34, dvmax: 35, cqw: 36, cqh: 37, cqi: 38, cqb: 39, cqmin: 40, cqmax: 41, cm: 42, mm: 43, q: 44, in: 45, pt: 46, pc: 47, px: 48}; @@ -117452,43 +125738,61 @@ self.util = _cliPkgRequires.util; B.Set_Db0y4 = new A.ConstantStringSet(B.Object_3CF, 3, type$.ConstantStringSet_String); B.List_Eeh = A._setArrayType(makeConstList([B.Set_ot1A, B.Set_YZQG9, B.Set_wEo81, B.Set_y00Wb, B.Set_Db0y4]), A.findType("JSArray>")); B.List_GVy = A._setArrayType(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), type$.JSArray_int); + B.Deprecation_0Tm = new A.Deprecation("null-alpha", "1.62.3", "nullAlpha"); + B.Deprecation_izR0 = new A.Deprecation("color-4-api", "1.79.0", "color4Api"); + B.Deprecation_wa9 = new A.Deprecation("legacy-js-api", "1.79.0", "legacyJsApi"); + B.Deprecation_uOS = new A.Deprecation("calc-interp", null, "calcInterp"); + B.List_Hx4 = A._setArrayType(makeConstList([B.Deprecation_6v8, B.Deprecation_Aec, B.Deprecation_T5f, B.Deprecation_INA, B.Deprecation_KIf, B.Deprecation_ePO, B.Deprecation_mRl, B.Deprecation_C9i, B.Deprecation_2My, B.Deprecation_int, B.Deprecation_YUI, B.Deprecation_0Tm, B.Deprecation_Zk6, B.Deprecation_vct, B.Deprecation_0, B.Deprecation_u1l, B.Deprecation_Vr4, B.Deprecation_izR0, B.Deprecation_izR, B.Deprecation_wa9, B.Deprecation_MYu, B.Deprecation_0Gh, B.Deprecation_W1R, B.Deprecation_uOS]), A.findType("JSArray")); B.List_M2I0 = A._setArrayType(makeConstList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int); B.List_M2I = A._setArrayType(makeConstList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]), type$.JSArray_int); - B.Deprecation_gQW = new A.Deprecation("null-alpha", "1.62.3", false, "nullAlpha"); - B.Deprecation_ErI = new A.Deprecation("calc-interp", null, false, "calcInterp"); - B.List_V43 = A._setArrayType(makeConstList([B.Deprecation_gkc, B.Deprecation_EJz, B.Deprecation_uNF, B.Deprecation_IMm, B.Deprecation_2nU, B.Deprecation_iDZ, B.Deprecation_oJv, B.Deprecation_ido, B.Deprecation_2Vk, B.Deprecation_2jN, B.Deprecation_zrt, B.Deprecation_gQW, B.Deprecation_GFc, B.Deprecation_B4v, B.Deprecation_HJ0, B.Deprecation_import_null_true_import, B.Deprecation_JeE, B.Deprecation_ErI]), A.findType("JSArray")); B.List_VOY = A._setArrayType(makeConstList([0, 0, 32776, 33792, 1, 10240, 0, 0]), type$.JSArray_int); - B.List_empty11 = A._setArrayType(makeConstList([]), type$.JSArray_Argument); - B.List_empty22 = A._setArrayType(makeConstList([]), type$.JSArray_Argument_2); - B.List_empty24 = A._setArrayType(makeConstList([]), type$.JSArray_AsyncCallable_2); - B.List_empty25 = A._setArrayType(makeConstList([]), type$.JSArray_AsyncImporter); - B.List_empty2 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelector); + B.List_empty12 = A._setArrayType(makeConstList([]), type$.JSArray_Argument); + B.List_empty24 = A._setArrayType(makeConstList([]), type$.JSArray_Argument_2); + B.List_empty26 = A._setArrayType(makeConstList([]), type$.JSArray_AsyncCallable_2); + B.List_empty27 = A._setArrayType(makeConstList([]), type$.JSArray_AsyncImporter); + B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelector); B.List_empty15 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelector_2); - B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelectorComponent); - B.List_empty13 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelectorComponent_2); + B.List_empty2 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelectorComponent); + B.List_empty16 = A._setArrayType(makeConstList([]), type$.JSArray_ComplexSelectorComponent_2); B.List_empty10 = A._setArrayType(makeConstList([]), type$.JSArray_ConfiguredVariable); - B.List_empty21 = A._setArrayType(makeConstList([]), type$.JSArray_ConfiguredVariable_2); + B.List_empty22 = A._setArrayType(makeConstList([]), type$.JSArray_ConfiguredVariable_2); B.List_empty3 = A._setArrayType(makeConstList([]), type$.JSArray_CssNode); - B.List_empty16 = A._setArrayType(makeConstList([]), type$.JSArray_CssNode_2); - B.List_empty1 = A._setArrayType(makeConstList([]), type$.JSArray_CssValue_Combinator); + B.List_empty17 = A._setArrayType(makeConstList([]), type$.JSArray_CssNode_2); + B.List_empty11 = A._setArrayType(makeConstList([]), type$.JSArray_CssStyleRule); + B.List_empty23 = A._setArrayType(makeConstList([]), type$.JSArray_CssStyleRule_2); + B.List_empty0 = A._setArrayType(makeConstList([]), type$.JSArray_CssValue_Combinator); B.List_empty14 = A._setArrayType(makeConstList([]), type$.JSArray_CssValue_Combinator_2); B.List_empty9 = A._setArrayType(makeConstList([]), type$.JSArray_Expression); - B.List_empty20 = A._setArrayType(makeConstList([]), type$.JSArray_Expression_2); + B.List_empty21 = A._setArrayType(makeConstList([]), type$.JSArray_Expression_2); B.List_empty5 = A._setArrayType(makeConstList([]), type$.JSArray_Extension); - B.List_empty17 = A._setArrayType(makeConstList([]), type$.JSArray_Extension_2); - B.List_empty23 = A._setArrayType(makeConstList([]), type$.JSArray_Importer_2); + B.List_empty18 = A._setArrayType(makeConstList([]), type$.JSArray_Extension_2); + B.List_empty25 = A._setArrayType(makeConstList([]), type$.JSArray_Importer_2); B.List_empty7 = A._setArrayType(makeConstList([]), A.findType("JSArray>")); - B.List_empty18 = A._setArrayType(makeConstList([]), A.findType("JSArray>")); - B.List_empty12 = A._setArrayType(makeConstList([]), type$.JSArray_Statement); + B.List_empty19 = A._setArrayType(makeConstList([]), A.findType("JSArray>")); + B.List_empty28 = A._setArrayType(makeConstList([]), type$.JSArray_Object); + B.List_empty13 = A._setArrayType(makeConstList([]), type$.JSArray_Statement); B.List_empty = A._setArrayType(makeConstList([]), type$.JSArray_String); B.List_empty8 = A._setArrayType(makeConstList([]), type$.JSArray_Value); - B.List_empty19 = A._setArrayType(makeConstList([]), type$.JSArray_Value_2); + B.List_empty20 = A._setArrayType(makeConstList([]), type$.JSArray_Value_2); B.List_empty4 = A._setArrayType(makeConstList([]), type$.JSArray_int); B.List_empty6 = A._setArrayType(makeConstList([]), type$.JSArray_dynamic); - B.List_jM9 = A._setArrayType(makeConstList([B.Deprecation_MMc, B.Deprecation_xw8, B.Deprecation_Iit, B.Deprecation_Ssf, B.Deprecation_W6Z, B.Deprecation_EfO, B.Deprecation_E8a, B.Deprecation_5pG, B.Deprecation_woc, B.Deprecation_oCX, B.Deprecation_iXE, B.Deprecation_omH, B.Deprecation_jYb, B.Deprecation_kmo, B.Deprecation_qBS, B.Deprecation_qd9, B.Deprecation_oty, B.Deprecation_Agq]), A.findType("JSArray")); + B.List_empty29 = A._setArrayType(makeConstList([]), type$.JSArray_nullable_FileSpan); B.List_kUZ = A._setArrayType(makeConstList([B.CalculationOperator_g2q0, B.CalculationOperator_CxF0, B.CalculationOperator_1710, B.CalculationOperator_Qf10]), A.findType("JSArray")); + B.List_null = A._setArrayType(makeConstList([null]), type$.JSArray_nullable_FileSpan); B.List_oyU = A._setArrayType(makeConstList([0, 0, 27858, 1023, 65534, 51199, 65535, 32767]), type$.JSArray_int); B.List_piR = A._setArrayType(makeConstList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]), type$.JSArray_int); + B.LinearChannel_WRn = new A.LinearChannel(0, 1, false, false, false, "long", false, null); + B.LinearChannel_AKA = new A.LinearChannel(0, 1, false, false, false, "medium", false, null); + B.LinearChannel_Kdl = new A.LinearChannel(0, 1, false, false, false, "short", false, null); + B.List_Na9 = A._setArrayType(makeConstList([B.LinearChannel_WRn, B.LinearChannel_AKA, B.LinearChannel_Kdl]), type$.JSArray_ColorChannel); + B.LmsColorSpace_8I8 = new A.LmsColorSpace("lms", B.List_Na9); + B.LinearChannel_WRn0 = new A.LinearChannel0(0, 1, false, false, false, "long", false, null); + B.LinearChannel_AKA0 = new A.LinearChannel0(0, 1, false, false, false, "medium", false, null); + B.LinearChannel_Kdl0 = new A.LinearChannel0(0, 1, false, false, false, "short", false, null); + B.List_Na90 = A._setArrayType(makeConstList([B.LinearChannel_WRn0, B.LinearChannel_AKA0, B.LinearChannel_Kdl0]), type$.JSArray_ColorChannel_2); + B.LmsColorSpace_8I80 = new A.LmsColorSpace0("lms", B.List_Na90); + B.LocalMindeGamutMap_Q7f = new A.LocalMindeGamutMap("local-minde"); + B.LocalMindeGamutMap_Q7f0 = new A.LocalMindeGamutMap0("local-minde"); B.Object_Jgz = {length: 0, angle: 1, time: 2, frequency: 3, "pixel density": 4}; B.List_Mul = A._setArrayType(makeConstList(["in", "cm", "pc", "mm", "q", "pt", "px"]), type$.JSArray_String); B.List_deg_grad_rad_turn = A._setArrayType(makeConstList(["deg", "grad", "rad", "turn"]), type$.JSArray_String); @@ -117536,6 +125840,22 @@ self.util = _cliPkgRequires.util; B.Map_dgLkt = new A.ConstantStringMap(B.Object_3CF, [0.39370078740157477, 1, 37.79527559055118], type$.ConstantStringMap_String_double); B.Map_dgw3K = new A.ConstantStringMap(B.Object_3CF, [0.010416666666666666, 0.026458333333333334, 1], type$.ConstantStringMap_String_double); B.Map_gQqJO = new A.ConstantStringMap(B.Object_AiQ, [B.Map_MuACk, B.Map_MuHeh, B.Map_Mudgs, B.Map_Mu8oi, B.Map_MusBb, B.Map_MuX5a, B.Map_MuVWp, B.Map_P98ha, B.Map_P9IYz, B.Map_P9t42, B.Map_P9ZUB, B.Map_kUCK0, B.Map_kUfVB, B.Map_WfkC8, B.Map_Wfs7p, B.Map_dgy9B, B.Map_dgLkt, B.Map_dgw3K], A.findType("ConstantStringMap>")); + B.LinearChannel_cKo3 = new A.LinearChannel(0, 1, false, true, true, "lightness", false, "%"); + B.LinearChannel_6h9 = new A.LinearChannel(-0.4, 0.4, false, false, false, "a", false, null); + B.LinearChannel_kOG = new A.LinearChannel(-0.4, 0.4, false, false, false, "b", false, null); + B.List_9dS = A._setArrayType(makeConstList([B.LinearChannel_cKo3, B.LinearChannel_6h9, B.LinearChannel_kOG]), type$.JSArray_ColorChannel); + B.OklabColorSpace_yrt = new A.OklabColorSpace("oklab", B.List_9dS); + B.LinearChannel_cKo4 = new A.LinearChannel0(0, 1, false, true, true, "lightness", false, "%"); + B.LinearChannel_6h90 = new A.LinearChannel0(-0.4, 0.4, false, false, false, "a", false, null); + B.LinearChannel_kOG0 = new A.LinearChannel0(-0.4, 0.4, false, false, false, "b", false, null); + B.List_9dS0 = A._setArrayType(makeConstList([B.LinearChannel_cKo4, B.LinearChannel_6h90, B.LinearChannel_kOG0]), type$.JSArray_ColorChannel_2); + B.OklabColorSpace_yrt0 = new A.OklabColorSpace0("oklab", B.List_9dS0); + B.LinearChannel_kmC = new A.LinearChannel(0, 0.4, false, true, false, "chroma", false, null); + B.List_e5Y = A._setArrayType(makeConstList([B.LinearChannel_cKo3, B.LinearChannel_kmC, B.ColorChannel_hue_true_deg]), type$.JSArray_ColorChannel); + B.OklchColorSpace_li8 = new A.OklchColorSpace("oklch", B.List_e5Y); + B.LinearChannel_kmC0 = new A.LinearChannel0(0, 0.4, false, true, false, "chroma", false, null); + B.List_e5Y0 = A._setArrayType(makeConstList([B.LinearChannel_cKo4, B.LinearChannel_kmC0, B.ColorChannel_hue_true_deg0]), type$.JSArray_ColorChannel_2); + B.OklchColorSpace_li80 = new A.OklchColorSpace0("oklch", B.List_e5Y0); B.OptionType_I6i = new A.OptionType("OptionType.flag"); B.OptionType_tew = new A.OptionType("OptionType.single"); B.OptionType_yPm = new A.OptionType("OptionType.multiple"); @@ -117543,25 +125863,36 @@ self.util = _cliPkgRequires.util; B.OutputStyle_00 = new A.OutputStyle0("expanded"); B.OutputStyle_1 = new A.OutputStyle("compressed"); B.OutputStyle_10 = new A.OutputStyle0("compressed"); + B.ProphotoRgbColorSpace_KiG = new A.ProphotoRgbColorSpace("prophoto-rgb", B.List_V3K); + B.ProphotoRgbColorSpace_KiG0 = new A.ProphotoRgbColorSpace0("prophoto-rgb", B.List_V3K0); + B.Rec2020ColorSpace_2jN = new A.Rec2020ColorSpace("rec2020", B.List_V3K); + B.Rec2020ColorSpace_2jN0 = new A.Rec2020ColorSpace0("rec2020", B.List_V3K0); B.Map_empty19 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>")); B.Record2_EmptyExtensionStore_Map_empty = new A._Record_2(B.C_EmptyExtensionStore, B.Map_empty19); B.Map_empty20 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap>")); B.Record2_EmptyExtensionStore_Map_empty0 = new A._Record_2(B.C_EmptyExtensionStore0, B.Map_empty20); + B.List_wEo = A._setArrayType(makeConstList([B.LinearChannel_bdu, B.LinearChannel_kUZ, B.LinearChannel_Npb]), type$.JSArray_ColorChannel); + B.RgbColorSpace_mlz = new A.RgbColorSpace("rgb", B.List_wEo); + B.List_wEo0 = A._setArrayType(makeConstList([B.LinearChannel_bdu0, B.LinearChannel_kUZ0, B.LinearChannel_Npb0]), type$.JSArray_ColorChannel_2); + B.RgbColorSpace_mlz0 = new A.RgbColorSpace0("rgb", B.List_wEo0); B.SassBoolean_false = new A.SassBoolean(false); B.SassBoolean_false0 = new A.SassBoolean0(false); B.SassBoolean_true = new A.SassBoolean(true); B.SassBoolean_true0 = new A.SassBoolean0(true); B.SassList_bdS = new A.SassList(B.List_empty8, B.ListSeparator_ECn, false); B.SassList_bdS0 = new A.SassList(B.List_empty8, B.ListSeparator_ECn, true); - B.SassList_bdS1 = new A.SassList0(B.List_empty19, B.ListSeparator_ECn0, false); - B.SassList_bdS2 = new A.SassList0(B.List_empty19, B.ListSeparator_ECn0, true); - B.SassList_k8F = new A.SassList0(B.List_empty19, B.ListSeparator_undecided_null_undecided0, false); + B.SassList_bdS1 = new A.SassList0(B.List_empty20, B.ListSeparator_ECn0, false); + B.SassList_bdS2 = new A.SassList0(B.List_empty20, B.ListSeparator_ECn0, true); + B.SassList_k8F = new A.SassList0(B.List_empty20, B.ListSeparator_undecided_null_undecided0, false); B.Map_empty21 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); B.SassMap_Map_empty = new A.SassMap(B.Map_empty21); B.Map_empty22 = new A.ConstantStringMap(B.Object_empty, [], A.findType("ConstantStringMap")); B.SassMap_Map_empty0 = new A.SassMap0(B.Map_empty22); + B.Set_0 = new A.GeneralConstantSet([0], A.findType("GeneralConstantSet")); B.Object_oyn = {".scss": 0, ".sass": 1, ".css": 2}; - B.Set_0 = new A.ConstantStringSet(B.Object_oyn, 3, type$.ConstantStringSet_String); + B.Set_00 = new A.ConstantStringSet(B.Object_oyn, 3, type$.ConstantStringSet_String); + B.Set_2Dcfy = new A.GeneralConstantSet([B.RgbColorSpace_mlz, B.HslColorSpace_gsm], A.findType("GeneralConstantSet")); + B.Set_2Dcfy0 = new A.GeneralConstantSet([B.RgbColorSpace_mlz0, B.HslColorSpace_gsm0], A.findType("GeneralConstantSet")); B.Object_6Gw = {sass: 0, style: 1, default: 2}; B.Set_TnQrk = new A.ConstantStringSet(B.Object_6Gw, 3, type$.ConstantStringSet_String); B.Set_empty1 = new A.ConstantStringSet(B.Object_empty, 0, A.findType("ConstantStringSet")); @@ -117579,6 +125910,10 @@ self.util = _cliPkgRequires.util; B.Set_mqKz0 = new A.GeneralConstantSet([B.BinaryOperator_2No0, B.BinaryOperator_U770, B.BinaryOperator_u150, B.BinaryOperator_SjO0], A.findType("GeneralConstantSet")); B.Object_GUq = {calc: 0, clamp: 1, hypot: 2, sin: 3, cos: 4, tan: 5, asin: 6, acos: 7, atan: 8, sqrt: 9, exp: 10, sign: 11, mod: 12, rem: 13, atan2: 14, pow: 15, log: 16}; B.Set_yHF81 = new A.ConstantStringSet(B.Object_GUq, 17, type$.ConstantStringSet_String); + B.SrgbColorSpace_AD4 = new A.SrgbColorSpace("srgb", B.List_V3K); + B.SrgbColorSpace_AD40 = new A.SrgbColorSpace0("srgb", B.List_V3K0); + B.SrgbLinearColorSpace_sEs = new A.SrgbLinearColorSpace("srgb-linear", B.List_V3K); + B.SrgbLinearColorSpace_sEs0 = new A.SrgbLinearColorSpace0("srgb-linear", B.List_V3K0); B.StderrLogger_false = new A.StderrLogger(false); B.StderrLogger_false0 = new A.StderrLogger0(false); B.Symbol__canonicalizeContext = new A.Symbol("_canonicalizeContext"); @@ -117613,10 +125948,18 @@ self.util = _cliPkgRequires.util; B.UnaryOperator_not_not_not = new A.UnaryOperator("not", "not", "not"); B.UnaryOperator_not_not_not0 = new A.UnaryOperator0("not", "not", "not"); B.Utf8Decoder_false = new A.Utf8Decoder(false); - B._ColorFormatEnum_hslFunction = new A._ColorFormatEnum("hslFunction"); - B._ColorFormatEnum_hslFunction0 = new A._ColorFormatEnum0("hslFunction"); - B._ColorFormatEnum_rgbFunction = new A._ColorFormatEnum("rgbFunction"); - B._ColorFormatEnum_rgbFunction0 = new A._ColorFormatEnum0("rgbFunction"); + B.LinearChannel_qJx = new A.LinearChannel(0, 1, false, false, false, "x", false, null); + B.LinearChannel_FCG = new A.LinearChannel(0, 1, false, false, false, "y", false, null); + B.LinearChannel_AWj = new A.LinearChannel(0, 1, false, false, false, "z", false, null); + B.List_8eb = A._setArrayType(makeConstList([B.LinearChannel_qJx, B.LinearChannel_FCG, B.LinearChannel_AWj]), type$.JSArray_LinearChannel); + B.XyzD50ColorSpace_2No = new A.XyzD50ColorSpace("xyz-d50", B.List_8eb); + B.LinearChannel_qJx0 = new A.LinearChannel0(0, 1, false, false, false, "x", false, null); + B.LinearChannel_FCG0 = new A.LinearChannel0(0, 1, false, false, false, "y", false, null); + B.LinearChannel_AWj0 = new A.LinearChannel0(0, 1, false, false, false, "z", false, null); + B.List_8eb0 = A._setArrayType(makeConstList([B.LinearChannel_qJx0, B.LinearChannel_FCG0, B.LinearChannel_AWj0]), type$.JSArray_LinearChannel_2); + B.XyzD50ColorSpace_2No0 = new A.XyzD50ColorSpace0("xyz-d50", B.List_8eb0); + B.XyzD65ColorSpace_4CA = new A.XyzD65ColorSpace("xyz", B.List_8eb); + B.XyzD65ColorSpace_4CA0 = new A.XyzD65ColorSpace0("xyz", B.List_8eb0); B._IsBogusVisitor_false = new A._IsBogusVisitor(false); B._IsBogusVisitor_false0 = new A._IsBogusVisitor0(false); B._IsBogusVisitor_true = new A._IsBogusVisitor(true); @@ -117789,7 +126132,7 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "startVersion", "$get$startVersion", () => A.RegExp_RegExp("^(\\d+)\\.(\\d+)\\.(\\d+)(-([0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*))?(\\+([0-9A-Za-z-]+(\\.[0-9A-Za-z-]+)*))?", false)); _lazyFinal($, "completeVersion", "$get$completeVersion", () => A.RegExp_RegExp($.$get$startVersion().pattern + "$", false)); _lazyFinal($, "IfExpression_declaration", "$get$IfExpression_declaration", () => A.ArgumentDeclaration_ArgumentDeclaration$parse(string$.x40funct, null)); - _lazyFinal($, "colorsByName", "$get$colorsByName", () => A.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", A.SassColor$rgb(154, 205, 50, 1), "yellow", A.SassColor$rgb(255, 255, 0, 1), "whitesmoke", A.SassColor$rgb(245, 245, 245, 1), "white", A.SassColor$rgb(255, 255, 255, 1), "wheat", A.SassColor$rgb(245, 222, 179, 1), "violet", A.SassColor$rgb(238, 130, 238, 1), "turquoise", A.SassColor$rgb(64, 224, 208, 1), "transparent", A.SassColor$rgb(0, 0, 0, 0), "tomato", A.SassColor$rgb(255, 99, 71, 1), "thistle", A.SassColor$rgb(216, 191, 216, 1), "teal", A.SassColor$rgb(0, 128, 128, 1), "tan", A.SassColor$rgb(210, 180, 140, 1), "steelblue", A.SassColor$rgb(70, 130, 180, 1), "springgreen", A.SassColor$rgb(0, 255, 127, 1), "snow", A.SassColor$rgb(255, 250, 250, 1), "slategrey", A.SassColor$rgb(112, 128, 144, 1), "slategray", A.SassColor$rgb(112, 128, 144, 1), "slateblue", A.SassColor$rgb(106, 90, 205, 1), "skyblue", A.SassColor$rgb(135, 206, 235, 1), "silver", A.SassColor$rgb(192, 192, 192, 1), "sienna", A.SassColor$rgb(160, 82, 45, 1), "seashell", A.SassColor$rgb(255, 245, 238, 1), "seagreen", A.SassColor$rgb(46, 139, 87, 1), "sandybrown", A.SassColor$rgb(244, 164, 96, 1), "salmon", A.SassColor$rgb(250, 128, 114, 1), "saddlebrown", A.SassColor$rgb(139, 69, 19, 1), "royalblue", A.SassColor$rgb(65, 105, 225, 1), "rosybrown", A.SassColor$rgb(188, 143, 143, 1), "red", A.SassColor$rgb(255, 0, 0, 1), "rebeccapurple", A.SassColor$rgb(102, 51, 153, 1), "purple", A.SassColor$rgb(128, 0, 128, 1), "powderblue", A.SassColor$rgb(176, 224, 230, 1), "plum", A.SassColor$rgb(221, 160, 221, 1), "pink", A.SassColor$rgb(255, 192, 203, 1), "peru", A.SassColor$rgb(205, 133, 63, 1), "peachpuff", A.SassColor$rgb(255, 218, 185, 1), "papayawhip", A.SassColor$rgb(255, 239, 213, 1), "palevioletred", A.SassColor$rgb(219, 112, 147, 1), "paleturquoise", A.SassColor$rgb(175, 238, 238, 1), "palegreen", A.SassColor$rgb(152, 251, 152, 1), "palegoldenrod", A.SassColor$rgb(238, 232, 170, 1), "orchid", A.SassColor$rgb(218, 112, 214, 1), "orangered", A.SassColor$rgb(255, 69, 0, 1), "orange", A.SassColor$rgb(255, 165, 0, 1), "olivedrab", A.SassColor$rgb(107, 142, 35, 1), "olive", A.SassColor$rgb(128, 128, 0, 1), "oldlace", A.SassColor$rgb(253, 245, 230, 1), "navy", A.SassColor$rgb(0, 0, 128, 1), "navajowhite", A.SassColor$rgb(255, 222, 173, 1), "moccasin", A.SassColor$rgb(255, 228, 181, 1), "mistyrose", A.SassColor$rgb(255, 228, 225, 1), "mintcream", A.SassColor$rgb(245, 255, 250, 1), "midnightblue", A.SassColor$rgb(25, 25, 112, 1), "mediumvioletred", A.SassColor$rgb(199, 21, 133, 1), "mediumturquoise", A.SassColor$rgb(72, 209, 204, 1), "mediumspringgreen", A.SassColor$rgb(0, 250, 154, 1), "mediumslateblue", A.SassColor$rgb(123, 104, 238, 1), "mediumseagreen", A.SassColor$rgb(60, 179, 113, 1), "mediumpurple", A.SassColor$rgb(147, 112, 219, 1), "mediumorchid", A.SassColor$rgb(186, 85, 211, 1), "mediumblue", A.SassColor$rgb(0, 0, 205, 1), "mediumaquamarine", A.SassColor$rgb(102, 205, 170, 1), "maroon", A.SassColor$rgb(128, 0, 0, 1), "magenta", A.SassColor$rgb(255, 0, 255, 1), "linen", A.SassColor$rgb(250, 240, 230, 1), "limegreen", A.SassColor$rgb(50, 205, 50, 1), "lime", A.SassColor$rgb(0, 255, 0, 1), "lightyellow", A.SassColor$rgb(255, 255, 224, 1), "lightsteelblue", A.SassColor$rgb(176, 196, 222, 1), "lightslategrey", A.SassColor$rgb(119, 136, 153, 1), "lightslategray", A.SassColor$rgb(119, 136, 153, 1), "lightskyblue", A.SassColor$rgb(135, 206, 250, 1), "lightseagreen", A.SassColor$rgb(32, 178, 170, 1), "lightsalmon", A.SassColor$rgb(255, 160, 122, 1), "lightpink", A.SassColor$rgb(255, 182, 193, 1), "lightgrey", A.SassColor$rgb(211, 211, 211, 1), "lightgreen", A.SassColor$rgb(144, 238, 144, 1), "lightgray", A.SassColor$rgb(211, 211, 211, 1), "lightgoldenrodyellow", A.SassColor$rgb(250, 250, 210, 1), "lightcyan", A.SassColor$rgb(224, 255, 255, 1), "lightcoral", A.SassColor$rgb(240, 128, 128, 1), "lightblue", A.SassColor$rgb(173, 216, 230, 1), "lemonchiffon", A.SassColor$rgb(255, 250, 205, 1), "lawngreen", A.SassColor$rgb(124, 252, 0, 1), "lavenderblush", A.SassColor$rgb(255, 240, 245, 1), "lavender", A.SassColor$rgb(230, 230, 250, 1), "khaki", A.SassColor$rgb(240, 230, 140, 1), "ivory", A.SassColor$rgb(255, 255, 240, 1), "indigo", A.SassColor$rgb(75, 0, 130, 1), "indianred", A.SassColor$rgb(205, 92, 92, 1), "hotpink", A.SassColor$rgb(255, 105, 180, 1), "honeydew", A.SassColor$rgb(240, 255, 240, 1), "grey", A.SassColor$rgb(128, 128, 128, 1), "greenyellow", A.SassColor$rgb(173, 255, 47, 1), "green", A.SassColor$rgb(0, 128, 0, 1), "gray", A.SassColor$rgb(128, 128, 128, 1), "goldenrod", A.SassColor$rgb(218, 165, 32, 1), "gold", A.SassColor$rgb(255, 215, 0, 1), "ghostwhite", A.SassColor$rgb(248, 248, 255, 1), "gainsboro", A.SassColor$rgb(220, 220, 220, 1), "fuchsia", A.SassColor$rgb(255, 0, 255, 1), "forestgreen", A.SassColor$rgb(34, 139, 34, 1), "floralwhite", A.SassColor$rgb(255, 250, 240, 1), "firebrick", A.SassColor$rgb(178, 34, 34, 1), "dodgerblue", A.SassColor$rgb(30, 144, 255, 1), "dimgrey", A.SassColor$rgb(105, 105, 105, 1), "dimgray", A.SassColor$rgb(105, 105, 105, 1), "deepskyblue", A.SassColor$rgb(0, 191, 255, 1), "deeppink", A.SassColor$rgb(255, 20, 147, 1), "darkviolet", A.SassColor$rgb(148, 0, 211, 1), "darkturquoise", A.SassColor$rgb(0, 206, 209, 1), "darkslategrey", A.SassColor$rgb(47, 79, 79, 1), "darkslategray", A.SassColor$rgb(47, 79, 79, 1), "darkslateblue", A.SassColor$rgb(72, 61, 139, 1), "darkseagreen", A.SassColor$rgb(143, 188, 143, 1), "darksalmon", A.SassColor$rgb(233, 150, 122, 1), "darkred", A.SassColor$rgb(139, 0, 0, 1), "darkorchid", A.SassColor$rgb(153, 50, 204, 1), "darkorange", A.SassColor$rgb(255, 140, 0, 1), "darkolivegreen", A.SassColor$rgb(85, 107, 47, 1), "darkmagenta", A.SassColor$rgb(139, 0, 139, 1), "darkkhaki", A.SassColor$rgb(189, 183, 107, 1), "darkgrey", A.SassColor$rgb(169, 169, 169, 1), "darkgreen", A.SassColor$rgb(0, 100, 0, 1), "darkgray", A.SassColor$rgb(169, 169, 169, 1), "darkgoldenrod", A.SassColor$rgb(184, 134, 11, 1), "darkcyan", A.SassColor$rgb(0, 139, 139, 1), "darkblue", A.SassColor$rgb(0, 0, 139, 1), "cyan", A.SassColor$rgb(0, 255, 255, 1), "crimson", A.SassColor$rgb(220, 20, 60, 1), "cornsilk", A.SassColor$rgb(255, 248, 220, 1), "cornflowerblue", A.SassColor$rgb(100, 149, 237, 1), "coral", A.SassColor$rgb(255, 127, 80, 1), "chocolate", A.SassColor$rgb(210, 105, 30, 1), "chartreuse", A.SassColor$rgb(127, 255, 0, 1), "cadetblue", A.SassColor$rgb(95, 158, 160, 1), "burlywood", A.SassColor$rgb(222, 184, 135, 1), "brown", A.SassColor$rgb(165, 42, 42, 1), "blueviolet", A.SassColor$rgb(138, 43, 226, 1), "blue", A.SassColor$rgb(0, 0, 255, 1), "blanchedalmond", A.SassColor$rgb(255, 235, 205, 1), "black", A.SassColor$rgb(0, 0, 0, 1), "bisque", A.SassColor$rgb(255, 228, 196, 1), "beige", A.SassColor$rgb(245, 245, 220, 1), "azure", A.SassColor$rgb(240, 255, 255, 1), "aquamarine", A.SassColor$rgb(127, 255, 212, 1), "aqua", A.SassColor$rgb(0, 255, 255, 1), "antiquewhite", A.SassColor$rgb(250, 235, 215, 1), "aliceblue", A.SassColor$rgb(240, 248, 255, 1)], type$.String, type$.SassColor)); + _lazyFinal($, "colorsByName", "$get$colorsByName", () => A.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", A.SassColor_SassColor$rgb(154, 205, 50, 1), "yellow", A.SassColor_SassColor$rgb(255, 255, 0, 1), "whitesmoke", A.SassColor_SassColor$rgb(245, 245, 245, 1), "white", A.SassColor_SassColor$rgb(255, 255, 255, 1), "wheat", A.SassColor_SassColor$rgb(245, 222, 179, 1), "violet", A.SassColor_SassColor$rgb(238, 130, 238, 1), "turquoise", A.SassColor_SassColor$rgb(64, 224, 208, 1), "transparent", A.SassColor_SassColor$rgb(0, 0, 0, 0), "tomato", A.SassColor_SassColor$rgb(255, 99, 71, 1), "thistle", A.SassColor_SassColor$rgb(216, 191, 216, 1), "teal", A.SassColor_SassColor$rgb(0, 128, 128, 1), "tan", A.SassColor_SassColor$rgb(210, 180, 140, 1), "steelblue", A.SassColor_SassColor$rgb(70, 130, 180, 1), "springgreen", A.SassColor_SassColor$rgb(0, 255, 127, 1), "snow", A.SassColor_SassColor$rgb(255, 250, 250, 1), "slategrey", A.SassColor_SassColor$rgb(112, 128, 144, 1), "slategray", A.SassColor_SassColor$rgb(112, 128, 144, 1), "slateblue", A.SassColor_SassColor$rgb(106, 90, 205, 1), "skyblue", A.SassColor_SassColor$rgb(135, 206, 235, 1), "silver", A.SassColor_SassColor$rgb(192, 192, 192, 1), "sienna", A.SassColor_SassColor$rgb(160, 82, 45, 1), "seashell", A.SassColor_SassColor$rgb(255, 245, 238, 1), "seagreen", A.SassColor_SassColor$rgb(46, 139, 87, 1), "sandybrown", A.SassColor_SassColor$rgb(244, 164, 96, 1), "salmon", A.SassColor_SassColor$rgb(250, 128, 114, 1), "saddlebrown", A.SassColor_SassColor$rgb(139, 69, 19, 1), "royalblue", A.SassColor_SassColor$rgb(65, 105, 225, 1), "rosybrown", A.SassColor_SassColor$rgb(188, 143, 143, 1), "red", A.SassColor_SassColor$rgb(255, 0, 0, 1), "rebeccapurple", A.SassColor_SassColor$rgb(102, 51, 153, 1), "purple", A.SassColor_SassColor$rgb(128, 0, 128, 1), "powderblue", A.SassColor_SassColor$rgb(176, 224, 230, 1), "plum", A.SassColor_SassColor$rgb(221, 160, 221, 1), "pink", A.SassColor_SassColor$rgb(255, 192, 203, 1), "peru", A.SassColor_SassColor$rgb(205, 133, 63, 1), "peachpuff", A.SassColor_SassColor$rgb(255, 218, 185, 1), "papayawhip", A.SassColor_SassColor$rgb(255, 239, 213, 1), "palevioletred", A.SassColor_SassColor$rgb(219, 112, 147, 1), "paleturquoise", A.SassColor_SassColor$rgb(175, 238, 238, 1), "palegreen", A.SassColor_SassColor$rgb(152, 251, 152, 1), "palegoldenrod", A.SassColor_SassColor$rgb(238, 232, 170, 1), "orchid", A.SassColor_SassColor$rgb(218, 112, 214, 1), "orangered", A.SassColor_SassColor$rgb(255, 69, 0, 1), "orange", A.SassColor_SassColor$rgb(255, 165, 0, 1), "olivedrab", A.SassColor_SassColor$rgb(107, 142, 35, 1), "olive", A.SassColor_SassColor$rgb(128, 128, 0, 1), "oldlace", A.SassColor_SassColor$rgb(253, 245, 230, 1), "navy", A.SassColor_SassColor$rgb(0, 0, 128, 1), "navajowhite", A.SassColor_SassColor$rgb(255, 222, 173, 1), "moccasin", A.SassColor_SassColor$rgb(255, 228, 181, 1), "mistyrose", A.SassColor_SassColor$rgb(255, 228, 225, 1), "mintcream", A.SassColor_SassColor$rgb(245, 255, 250, 1), "midnightblue", A.SassColor_SassColor$rgb(25, 25, 112, 1), "mediumvioletred", A.SassColor_SassColor$rgb(199, 21, 133, 1), "mediumturquoise", A.SassColor_SassColor$rgb(72, 209, 204, 1), "mediumspringgreen", A.SassColor_SassColor$rgb(0, 250, 154, 1), "mediumslateblue", A.SassColor_SassColor$rgb(123, 104, 238, 1), "mediumseagreen", A.SassColor_SassColor$rgb(60, 179, 113, 1), "mediumpurple", A.SassColor_SassColor$rgb(147, 112, 219, 1), "mediumorchid", A.SassColor_SassColor$rgb(186, 85, 211, 1), "mediumblue", A.SassColor_SassColor$rgb(0, 0, 205, 1), "mediumaquamarine", A.SassColor_SassColor$rgb(102, 205, 170, 1), "maroon", A.SassColor_SassColor$rgb(128, 0, 0, 1), "magenta", A.SassColor_SassColor$rgb(255, 0, 255, 1), "linen", A.SassColor_SassColor$rgb(250, 240, 230, 1), "limegreen", A.SassColor_SassColor$rgb(50, 205, 50, 1), "lime", A.SassColor_SassColor$rgb(0, 255, 0, 1), "lightyellow", A.SassColor_SassColor$rgb(255, 255, 224, 1), "lightsteelblue", A.SassColor_SassColor$rgb(176, 196, 222, 1), "lightslategrey", A.SassColor_SassColor$rgb(119, 136, 153, 1), "lightslategray", A.SassColor_SassColor$rgb(119, 136, 153, 1), "lightskyblue", A.SassColor_SassColor$rgb(135, 206, 250, 1), "lightseagreen", A.SassColor_SassColor$rgb(32, 178, 170, 1), "lightsalmon", A.SassColor_SassColor$rgb(255, 160, 122, 1), "lightpink", A.SassColor_SassColor$rgb(255, 182, 193, 1), "lightgrey", A.SassColor_SassColor$rgb(211, 211, 211, 1), "lightgreen", A.SassColor_SassColor$rgb(144, 238, 144, 1), "lightgray", A.SassColor_SassColor$rgb(211, 211, 211, 1), "lightgoldenrodyellow", A.SassColor_SassColor$rgb(250, 250, 210, 1), "lightcyan", A.SassColor_SassColor$rgb(224, 255, 255, 1), "lightcoral", A.SassColor_SassColor$rgb(240, 128, 128, 1), "lightblue", A.SassColor_SassColor$rgb(173, 216, 230, 1), "lemonchiffon", A.SassColor_SassColor$rgb(255, 250, 205, 1), "lawngreen", A.SassColor_SassColor$rgb(124, 252, 0, 1), "lavenderblush", A.SassColor_SassColor$rgb(255, 240, 245, 1), "lavender", A.SassColor_SassColor$rgb(230, 230, 250, 1), "khaki", A.SassColor_SassColor$rgb(240, 230, 140, 1), "ivory", A.SassColor_SassColor$rgb(255, 255, 240, 1), "indigo", A.SassColor_SassColor$rgb(75, 0, 130, 1), "indianred", A.SassColor_SassColor$rgb(205, 92, 92, 1), "hotpink", A.SassColor_SassColor$rgb(255, 105, 180, 1), "honeydew", A.SassColor_SassColor$rgb(240, 255, 240, 1), "grey", A.SassColor_SassColor$rgb(128, 128, 128, 1), "greenyellow", A.SassColor_SassColor$rgb(173, 255, 47, 1), "green", A.SassColor_SassColor$rgb(0, 128, 0, 1), "gray", A.SassColor_SassColor$rgb(128, 128, 128, 1), "goldenrod", A.SassColor_SassColor$rgb(218, 165, 32, 1), "gold", A.SassColor_SassColor$rgb(255, 215, 0, 1), "ghostwhite", A.SassColor_SassColor$rgb(248, 248, 255, 1), "gainsboro", A.SassColor_SassColor$rgb(220, 220, 220, 1), "fuchsia", A.SassColor_SassColor$rgb(255, 0, 255, 1), "forestgreen", A.SassColor_SassColor$rgb(34, 139, 34, 1), "floralwhite", A.SassColor_SassColor$rgb(255, 250, 240, 1), "firebrick", A.SassColor_SassColor$rgb(178, 34, 34, 1), "dodgerblue", A.SassColor_SassColor$rgb(30, 144, 255, 1), "dimgrey", A.SassColor_SassColor$rgb(105, 105, 105, 1), "dimgray", A.SassColor_SassColor$rgb(105, 105, 105, 1), "deepskyblue", A.SassColor_SassColor$rgb(0, 191, 255, 1), "deeppink", A.SassColor_SassColor$rgb(255, 20, 147, 1), "darkviolet", A.SassColor_SassColor$rgb(148, 0, 211, 1), "darkturquoise", A.SassColor_SassColor$rgb(0, 206, 209, 1), "darkslategrey", A.SassColor_SassColor$rgb(47, 79, 79, 1), "darkslategray", A.SassColor_SassColor$rgb(47, 79, 79, 1), "darkslateblue", A.SassColor_SassColor$rgb(72, 61, 139, 1), "darkseagreen", A.SassColor_SassColor$rgb(143, 188, 143, 1), "darksalmon", A.SassColor_SassColor$rgb(233, 150, 122, 1), "darkred", A.SassColor_SassColor$rgb(139, 0, 0, 1), "darkorchid", A.SassColor_SassColor$rgb(153, 50, 204, 1), "darkorange", A.SassColor_SassColor$rgb(255, 140, 0, 1), "darkolivegreen", A.SassColor_SassColor$rgb(85, 107, 47, 1), "darkmagenta", A.SassColor_SassColor$rgb(139, 0, 139, 1), "darkkhaki", A.SassColor_SassColor$rgb(189, 183, 107, 1), "darkgrey", A.SassColor_SassColor$rgb(169, 169, 169, 1), "darkgreen", A.SassColor_SassColor$rgb(0, 100, 0, 1), "darkgray", A.SassColor_SassColor$rgb(169, 169, 169, 1), "darkgoldenrod", A.SassColor_SassColor$rgb(184, 134, 11, 1), "darkcyan", A.SassColor_SassColor$rgb(0, 139, 139, 1), "darkblue", A.SassColor_SassColor$rgb(0, 0, 139, 1), "cyan", A.SassColor_SassColor$rgb(0, 255, 255, 1), "crimson", A.SassColor_SassColor$rgb(220, 20, 60, 1), "cornsilk", A.SassColor_SassColor$rgb(255, 248, 220, 1), "cornflowerblue", A.SassColor_SassColor$rgb(100, 149, 237, 1), "coral", A.SassColor_SassColor$rgb(255, 127, 80, 1), "chocolate", A.SassColor_SassColor$rgb(210, 105, 30, 1), "chartreuse", A.SassColor_SassColor$rgb(127, 255, 0, 1), "cadetblue", A.SassColor_SassColor$rgb(95, 158, 160, 1), "burlywood", A.SassColor_SassColor$rgb(222, 184, 135, 1), "brown", A.SassColor_SassColor$rgb(165, 42, 42, 1), "blueviolet", A.SassColor_SassColor$rgb(138, 43, 226, 1), "blue", A.SassColor_SassColor$rgb(0, 0, 255, 1), "blanchedalmond", A.SassColor_SassColor$rgb(255, 235, 205, 1), "black", A.SassColor_SassColor$rgb(0, 0, 0, 1), "bisque", A.SassColor_SassColor$rgb(255, 228, 196, 1), "beige", A.SassColor_SassColor$rgb(245, 245, 220, 1), "azure", A.SassColor_SassColor$rgb(240, 255, 255, 1), "aquamarine", A.SassColor_SassColor$rgb(127, 255, 212, 1), "aqua", A.SassColor_SassColor$rgb(0, 255, 255, 1), "antiquewhite", A.SassColor_SassColor$rgb(250, 235, 215, 1), "aliceblue", A.SassColor_SassColor$rgb(240, 248, 255, 1)], type$.String, type$.SassColor)); _lazyFinal($, "namesByColor", "$get$namesByColor", () => { var $name, t1 = type$.SassColor, @@ -117806,126 +126149,154 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "ExecutableOptions__parser", "$get$ExecutableOptions__parser", () => new A.ExecutableOptions__parser_closure().call$0()); _lazyFinal($, "globalFunctions", "$get$globalFunctions", () => { var t1 = type$.BuiltInCallable, - t2 = A.List_List$of($.$get$global0(), true, t1); + t2 = A.List_List$of($.$get$global(), true, t1); + B.JSArray_methods.addAll$1(t2, $.$get$global0()); B.JSArray_methods.addAll$1(t2, $.$get$global1()); B.JSArray_methods.addAll$1(t2, $.$get$global2()); B.JSArray_methods.addAll$1(t2, $.$get$global3()); B.JSArray_methods.addAll$1(t2, $.$get$global4()); B.JSArray_methods.addAll$1(t2, $.$get$global5()); - B.JSArray_methods.addAll$1(t2, $.$get$global()); t2.push(A.BuiltInCallable$function("if", "$condition, $if-true, $if-false", new A.globalFunctions_closure(), null)); return A.UnmodifiableListView$(t2, t1); }); _lazyFinal($, "coreModules", "$get$coreModules", () => A.UnmodifiableListView$(A._setArrayType([$.$get$module(), $.$get$module0(), $.$get$module1(), $.$get$module2(), $.$get$module3(), $.$get$module4()], A.findType("JSArray>")), type$.BuiltInModule_Callable)); _lazyFinal($, "_microsoftFilterStart", "$get$_microsoftFilterStart", () => A.RegExp_RegExp("^[a-zA-Z]+\\s*=", false)); - _lazyFinal($, "global", "$get$global0", () => { - var _s27_ = "$red, $green, $blue, $alpha", + _lazyFinal($, "global", "$get$global", () => { + var _s5_ = "color", + _s27_ = "$red, $green, $blue, $alpha", _s19_ = "$red, $green, $blue", + _s9_ = "$channels", _s37_ = "$hue, $saturation, $lightness, $alpha", _s29_ = "$hue, $saturation, $lightness", _s17_ = "$hue, $saturation", + _s6_ = "adjust", _s15_ = "$color, $amount", t1 = type$.String, t2 = type$.Value_Function_List_Value; - return A.UnmodifiableListView$(A._setArrayType([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), A.BuiltInCallable$overloadedFunction("rgb", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure0(), _s19_, new A.global_closure1(), "$color, $alpha", new A.global_closure2(), "$channels", new A.global_closure3()], t1, t2)), A.BuiltInCallable$overloadedFunction("rgba", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure4(), _s19_, new A.global_closure5(), "$color, $alpha", new A.global_closure6(), "$channels", new A.global_closure7()], t1, t2)), A._function4("invert", "$color, $weight: 100%", new A.global_closure8()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), A.BuiltInCallable$overloadedFunction("hsl", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure9(), _s29_, new A.global_closure10(), _s17_, new A.global_closure11(), "$channels", new A.global_closure12()], t1, t2)), A.BuiltInCallable$overloadedFunction("hsla", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure13(), _s29_, new A.global_closure14(), _s17_, new A.global_closure15(), "$channels", new A.global_closure16()], t1, t2)), A._function4("grayscale", "$color", new A.global_closure17()), A._function4("adjust-hue", "$color, $degrees", new A.global_closure18()), A._function4("lighten", _s15_, new A.global_closure19()), A._function4("darken", _s15_, new A.global_closure20()), A.BuiltInCallable$overloadedFunction("saturate", A.LinkedHashMap_LinkedHashMap$_literal(["$amount", new A.global_closure21(), "$color, $amount", new A.global_closure22()], t1, t2)), A._function4("desaturate", _s15_, new A.global_closure23()), A._function4("opacify", _s15_, A.color0___opacify$closure()), A._function4("fade-in", _s15_, A.color0___opacify$closure()), A._function4("transparentize", _s15_, A.color0___transparentize$closure()), A._function4("fade-out", _s15_, A.color0___transparentize$closure()), A.BuiltInCallable$overloadedFunction("alpha", A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.global_closure24(), "$args...", new A.global_closure25()], t1, t2)), A._function4("opacity", "$color", new A.global_closure26()), $.$get$_ieHexStr(), $.$get$_adjust().withName$1("adjust-color"), $.$get$_scale().withName$1("scale-color"), $.$get$_change().withName$1("change-color")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); + return A.UnmodifiableListView$(A._setArrayType([A._channelFunction("red", B.RgbColorSpace_mlz, new A.global_closure0(), true, null).withDeprecationWarning$1(_s5_), A._channelFunction("green", B.RgbColorSpace_mlz, new A.global_closure1(), true, null).withDeprecationWarning$1(_s5_), A._channelFunction("blue", B.RgbColorSpace_mlz, new A.global_closure2(), true, null).withDeprecationWarning$1(_s5_), $.$get$_mix().withDeprecationWarning$1(_s5_), A.BuiltInCallable$overloadedFunction("rgb", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure3(), _s19_, new A.global_closure4(), "$color, $alpha", new A.global_closure5(), "$channels", new A.global_closure6()], t1, t2)), A.BuiltInCallable$overloadedFunction("rgba", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure7(), _s19_, new A.global_closure8(), "$color, $alpha", new A.global_closure9(), "$channels", new A.global_closure10()], t1, t2)), A._function5("invert", "$color, $weight: 100%, $space: null", new A.global_closure11()), A._channelFunction("hue", B.HslColorSpace_gsm, new A.global_closure12(), true, "deg").withDeprecationWarning$1(_s5_), A._channelFunction("saturation", B.HslColorSpace_gsm, new A.global_closure13(), true, "%").withDeprecationWarning$1(_s5_), A._channelFunction("lightness", B.HslColorSpace_gsm, new A.global_closure14(), true, "%").withDeprecationWarning$1(_s5_), A.BuiltInCallable$overloadedFunction("hsl", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure15(), _s29_, new A.global_closure16(), _s17_, new A.global_closure17(), "$channels", new A.global_closure18()], t1, t2)), A.BuiltInCallable$overloadedFunction("hsla", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure19(), _s29_, new A.global_closure20(), _s17_, new A.global_closure21(), "$channels", new A.global_closure22()], t1, t2)), A._function5("grayscale", "$color", new A.global_closure23()), A._function5("adjust-hue", "$color, $degrees", new A.global_closure24()).withDeprecationWarning$2(_s5_, _s6_), A._function5("lighten", _s15_, new A.global_closure25()).withDeprecationWarning$2(_s5_, _s6_), A._function5("darken", _s15_, new A.global_closure26()).withDeprecationWarning$2(_s5_, _s6_), A.BuiltInCallable$overloadedFunction("saturate", A.LinkedHashMap_LinkedHashMap$_literal(["$amount", new A.global_closure27(), "$color, $amount", new A.global_closure28()], t1, t2)), A._function5("desaturate", _s15_, new A.global_closure29()).withDeprecationWarning$2(_s5_, _s6_), A._function5("opacify", _s15_, new A.global_closure30()).withDeprecationWarning$2(_s5_, _s6_), A._function5("fade-in", _s15_, new A.global_closure31()).withDeprecationWarning$2(_s5_, _s6_), A._function5("transparentize", _s15_, new A.global_closure32()).withDeprecationWarning$2(_s5_, _s6_), A._function5("fade-out", _s15_, new A.global_closure33()).withDeprecationWarning$2(_s5_, _s6_), A.BuiltInCallable$overloadedFunction("alpha", A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.global_closure34(), "$args...", new A.global_closure35()], t1, t2)), A._function5("opacity", "$color", new A.global_closure36()), A._function5(_s5_, "$description", new A.global_closure37()), A._function5("hwb", _s9_, new A.global_closure38()), A._function5("lab", _s9_, new A.global_closure39()), A._function5("lch", _s9_, new A.global_closure40()), A._function5("oklab", _s9_, new A.global_closure41()), A._function5("oklch", _s9_, new A.global_closure42()), $.$get$_complement().withDeprecationWarning$1(_s5_), $.$get$_ieHexStr(), $.$get$_adjust().withDeprecationWarning$1(_s5_).withName$1("adjust-color"), $.$get$_scale().withDeprecationWarning$1(_s5_).withName$1("scale-color"), $.$get$_change().withDeprecationWarning$1(_s5_).withName$1("change-color")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); }); _lazyFinal($, "module", "$get$module", () => { - var _s9_ = "lightness", + var _null = null, _s10_ = "saturation", + _s9_ = "lightness", _s6_ = "$color", _s5_ = "alpha", + _s30_ = "$color, $channel, $space: null", t1 = type$.String, t2 = type$.Value_Function_List_Value; - return A.BuiltInModule$("color", A._setArrayType([$.$get$_red(), $.$get$_green(), $.$get$_blue(), $.$get$_mix(), A._function4("invert", "$color, $weight: 100%", new A.module_closure1()), $.$get$_hue(), $.$get$_saturation(), $.$get$_lightness(), $.$get$_complement(), A._removedColorFunction("adjust-hue", "hue", false), A._removedColorFunction("lighten", _s9_, false), A._removedColorFunction("darken", _s9_, true), A._removedColorFunction("saturate", _s10_, false), A._removedColorFunction("desaturate", _s10_, true), A._function4("grayscale", _s6_, new A.module_closure2()), A.BuiltInCallable$overloadedFunction("hwb", A.LinkedHashMap_LinkedHashMap$_literal(["$hue, $whiteness, $blackness, $alpha: 1", new A.module_closure3(), "$channels", new A.module_closure4()], t1, t2)), A._function4("whiteness", _s6_, new A.module_closure5()), A._function4("blackness", _s6_, new A.module_closure6()), A._removedColorFunction("opacify", _s5_, false), A._removedColorFunction("fade-in", _s5_, false), A._removedColorFunction("transparentize", _s5_, true), A._removedColorFunction("fade-out", _s5_, true), A.BuiltInCallable$overloadedFunction(_s5_, A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.module_closure7(), "$args...", new A.module_closure8()], t1, t2)), A._function4("opacity", _s6_, new A.module_closure9()), $.$get$_adjust(), $.$get$_scale(), $.$get$_change(), $.$get$_ieHexStr()], type$.JSArray_Callable), null, null, type$.Callable); + return A.BuiltInModule$("color", A._setArrayType([A._channelFunction("red", B.RgbColorSpace_mlz, new A.module_closure1(), false, _null), A._channelFunction("green", B.RgbColorSpace_mlz, new A.module_closure2(), false, _null), A._channelFunction("blue", B.RgbColorSpace_mlz, new A.module_closure3(), false, _null), $.$get$_mix(), A._function5("invert", "$color, $weight: 100%, $space: null", new A.module_closure4()), A._channelFunction("hue", B.HslColorSpace_gsm, new A.module_closure5(), false, "deg"), A._channelFunction(_s10_, B.HslColorSpace_gsm, new A.module_closure6(), false, "%"), A._channelFunction(_s9_, B.HslColorSpace_gsm, new A.module_closure7(), false, "%"), A._removedColorFunction("adjust-hue", "hue", false), A._removedColorFunction("lighten", _s9_, false), A._removedColorFunction("darken", _s9_, true), A._removedColorFunction("saturate", _s10_, false), A._removedColorFunction("desaturate", _s10_, true), A._function5("grayscale", _s6_, new A.module_closure8()), A.BuiltInCallable$overloadedFunction("hwb", A.LinkedHashMap_LinkedHashMap$_literal(["$hue, $whiteness, $blackness, $alpha: 1", new A.module_closure9(), "$channels", new A.module_closure10()], t1, t2)), A._channelFunction("whiteness", B.HwbColorSpace_06z, new A.module_closure11(), false, "%"), A._channelFunction("blackness", B.HwbColorSpace_06z, new A.module_closure12(), false, "%"), A._removedColorFunction("opacify", _s5_, false), A._removedColorFunction("fade-in", _s5_, false), A._removedColorFunction("transparentize", _s5_, true), A._removedColorFunction("fade-out", _s5_, true), A.BuiltInCallable$overloadedFunction(_s5_, A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.module_closure13(), "$args...", new A.module_closure14()], t1, t2)), A._function5("opacity", _s6_, new A.module_closure15()), A._function5("space", _s6_, new A.module_closure16()), A._function5("to-space", "$color, $space", new A.module_closure17()), A._function5("is-legacy", _s6_, new A.module_closure18()), A._function5("is-missing", "$color, $channel", new A.module_closure19()), A._function5("is-in-gamut", "$color, $space: null", new A.module_closure20()), A._function5("to-gamut", "$color, $space: null, $method: null", new A.module_closure21()), A._function5("channel", _s30_, new A.module_closure22()), A._function5("same", "$color1, $color2", new A.module_closure23()), A._function5("is-powerless", _s30_, new A.module_closure24()), $.$get$_complement(), $.$get$_adjust(), $.$get$_scale(), $.$get$_change(), $.$get$_ieHexStr()], type$.JSArray_Callable), _null, _null, type$.Callable); + }); + _lazyFinal($, "_mix", "$get$_mix", () => A._function5("mix", string$.x24color, new A._mix_closure())); + _lazyFinal($, "_complement", "$get$_complement", () => A._function5("complement", "$color, $space: null", new A._complement_closure())); + _lazyFinal($, "_adjust", "$get$_adjust", () => A._function5("adjust", "$color, $kwargs...", new A._adjust_closure())); + _lazyFinal($, "_scale", "$get$_scale", () => A._function5("scale", "$color, $kwargs...", new A._scale_closure())); + _lazyFinal($, "_change", "$get$_change", () => A._function5("change", "$color, $kwargs...", new A._change_closure())); + _lazyFinal($, "_ieHexStr", "$get$_ieHexStr", () => A._function5("ie-hex-str", "$color", new A._ieHexStr_closure())); + _lazyFinal($, "global0", "$get$global0", () => { + var _s4_ = "list"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_length0().withDeprecationWarning$1(_s4_), $.$get$_nth().withDeprecationWarning$1(_s4_), $.$get$_setNth().withDeprecationWarning$1(_s4_), $.$get$_join().withDeprecationWarning$1(_s4_), $.$get$_append0().withDeprecationWarning$1(_s4_), $.$get$_zip().withDeprecationWarning$1(_s4_), $.$get$_index0().withDeprecationWarning$1(_s4_), $.$get$_isBracketed().withDeprecationWarning$1(_s4_), $.$get$_separator().withDeprecationWarning$1(_s4_).withName$1("list-separator")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); }); - _lazyFinal($, "_red", "$get$_red", () => A._function4("red", "$color", new A._red_closure())); - _lazyFinal($, "_green", "$get$_green", () => A._function4("green", "$color", new A._green_closure())); - _lazyFinal($, "_blue", "$get$_blue", () => A._function4("blue", "$color", new A._blue_closure())); - _lazyFinal($, "_mix", "$get$_mix", () => A._function4("mix", "$color1, $color2, $weight: 50%", new A._mix_closure())); - _lazyFinal($, "_hue", "$get$_hue", () => A._function4("hue", "$color", new A._hue_closure())); - _lazyFinal($, "_saturation", "$get$_saturation", () => A._function4("saturation", "$color", new A._saturation_closure())); - _lazyFinal($, "_lightness", "$get$_lightness", () => A._function4("lightness", "$color", new A._lightness_closure())); - _lazyFinal($, "_complement", "$get$_complement", () => A._function4("complement", "$color", new A._complement_closure())); - _lazyFinal($, "_adjust", "$get$_adjust", () => A._function4("adjust", "$color, $kwargs...", new A._adjust_closure())); - _lazyFinal($, "_scale", "$get$_scale", () => A._function4("scale", "$color, $kwargs...", new A._scale_closure())); - _lazyFinal($, "_change", "$get$_change", () => A._function4("change", "$color, $kwargs...", new A._change_closure())); - _lazyFinal($, "_ieHexStr", "$get$_ieHexStr", () => A._function4("ie-hex-str", "$color", new A._ieHexStr_closure())); - _lazyFinal($, "global0", "$get$global1", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator().withName$1("list-separator")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); _lazyFinal($, "module0", "$get$module0", () => A.BuiltInModule$("list", A._setArrayType([$.$get$_length0(), $.$get$_nth(), $.$get$_setNth(), $.$get$_join(), $.$get$_append0(), $.$get$_zip(), $.$get$_index0(), $.$get$_isBracketed(), $.$get$_separator(), $.$get$_slash()], type$.JSArray_Callable), null, null, type$.Callable)); - _lazyFinal($, "_length", "$get$_length0", () => A._function3("length", "$list", new A._length_closure0())); - _lazyFinal($, "_nth", "$get$_nth", () => A._function3("nth", "$list, $n", new A._nth_closure())); - _lazyFinal($, "_setNth", "$get$_setNth", () => A._function3("set-nth", "$list, $n, $value", new A._setNth_closure())); - _lazyFinal($, "_join", "$get$_join", () => A._function3("join", string$.x24list1, new A._join_closure())); - _lazyFinal($, "_append", "$get$_append0", () => A._function3("append", "$list, $val, $separator: auto", new A._append_closure0())); - _lazyFinal($, "_zip", "$get$_zip", () => A._function3("zip", "$lists...", new A._zip_closure())); - _lazyFinal($, "_index", "$get$_index0", () => A._function3("index", "$list, $value", new A._index_closure0())); - _lazyFinal($, "_separator", "$get$_separator", () => A._function3("separator", "$list", new A._separator_closure())); - _lazyFinal($, "_isBracketed", "$get$_isBracketed", () => A._function3("is-bracketed", "$list", new A._isBracketed_closure())); - _lazyFinal($, "_slash", "$get$_slash", () => A._function3("slash", "$elements...", new A._slash_closure())); - _lazyFinal($, "global1", "$get$global2", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_get().withName$1("map-get"), $.$get$_merge().withName$1("map-merge"), $.$get$_remove().withName$1("map-remove"), $.$get$_keys().withName$1("map-keys"), $.$get$_values().withName$1("map-values"), $.$get$_hasKey().withName$1("map-has-key")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); + _lazyFinal($, "_length", "$get$_length0", () => A._function4("length", "$list", new A._length_closure0())); + _lazyFinal($, "_nth", "$get$_nth", () => A._function4("nth", "$list, $n", new A._nth_closure())); + _lazyFinal($, "_setNth", "$get$_setNth", () => A._function4("set-nth", "$list, $n, $value", new A._setNth_closure())); + _lazyFinal($, "_join", "$get$_join", () => A._function4("join", string$.x24list1, new A._join_closure())); + _lazyFinal($, "_append", "$get$_append0", () => A._function4("append", "$list, $val, $separator: auto", new A._append_closure0())); + _lazyFinal($, "_zip", "$get$_zip", () => A._function4("zip", "$lists...", new A._zip_closure())); + _lazyFinal($, "_index", "$get$_index0", () => A._function4("index", "$list, $value", new A._index_closure0())); + _lazyFinal($, "_separator", "$get$_separator", () => A._function4("separator", "$list", new A._separator_closure())); + _lazyFinal($, "_isBracketed", "$get$_isBracketed", () => A._function4("is-bracketed", "$list", new A._isBracketed_closure())); + _lazyFinal($, "_slash", "$get$_slash", () => A._function4("slash", "$elements...", new A._slash_closure())); + _lazyFinal($, "global1", "$get$global1", () => { + var _s3_ = "map"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_get().withDeprecationWarning$1(_s3_).withName$1("map-get"), $.$get$_merge().withDeprecationWarning$1(_s3_).withName$1("map-merge"), $.$get$_remove().withDeprecationWarning$1(_s3_).withName$1("map-remove"), $.$get$_keys().withDeprecationWarning$1(_s3_).withName$1("map-keys"), $.$get$_values().withDeprecationWarning$1(_s3_).withName$1("map-values"), $.$get$_hasKey().withDeprecationWarning$1(_s3_).withName$1("map-has-key")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); + }); _lazyFinal($, "module1", "$get$module1", () => A.BuiltInModule$("map", A._setArrayType([$.$get$_get(), $.$get$_set(), $.$get$_merge(), $.$get$_remove(), $.$get$_keys(), $.$get$_values(), $.$get$_hasKey(), $.$get$_deepMerge(), $.$get$_deepRemove()], type$.JSArray_Callable), null, null, type$.Callable)); - _lazyFinal($, "_get", "$get$_get", () => A._function2("get", "$map, $key, $keys...", new A._get_closure())); + _lazyFinal($, "_get", "$get$_get", () => A._function3("get", "$map, $key, $keys...", new A._get_closure())); _lazyFinal($, "_set", "$get$_set", () => A.BuiltInCallable$overloadedFunction("set", A.LinkedHashMap_LinkedHashMap$_literal(["$map, $key, $value", new A._set_closure(), "$map, $args...", new A._set_closure0()], type$.String, type$.Value_Function_List_Value))); _lazyFinal($, "_merge", "$get$_merge", () => A.BuiltInCallable$overloadedFunction("merge", A.LinkedHashMap_LinkedHashMap$_literal(["$map1, $map2", new A._merge_closure(), "$map1, $args...", new A._merge_closure0()], type$.String, type$.Value_Function_List_Value))); - _lazyFinal($, "_deepMerge", "$get$_deepMerge", () => A._function2("deep-merge", "$map1, $map2", new A._deepMerge_closure())); - _lazyFinal($, "_deepRemove", "$get$_deepRemove", () => A._function2("deep-remove", "$map, $key, $keys...", new A._deepRemove_closure())); + _lazyFinal($, "_deepMerge", "$get$_deepMerge", () => A._function3("deep-merge", "$map1, $map2", new A._deepMerge_closure())); + _lazyFinal($, "_deepRemove", "$get$_deepRemove", () => A._function3("deep-remove", "$map, $key, $keys...", new A._deepRemove_closure())); _lazyFinal($, "_remove", "$get$_remove", () => A.BuiltInCallable$overloadedFunction("remove", A.LinkedHashMap_LinkedHashMap$_literal(["$map", new A._remove_closure(), "$map, $key, $keys...", new A._remove_closure0()], type$.String, type$.Value_Function_List_Value))); - _lazyFinal($, "_keys", "$get$_keys", () => A._function2("keys", "$map", new A._keys_closure())); - _lazyFinal($, "_values", "$get$_values", () => A._function2("values", "$map", new A._values_closure())); - _lazyFinal($, "_hasKey", "$get$_hasKey", () => A._function2("has-key", "$map, $key, $keys...", new A._hasKey_closure())); - _lazyFinal($, "global2", "$get$global3", () => A.UnmodifiableListView$(A._setArrayType([A._function1("abs", "$number", new A.global_closure()), $.$get$_ceil(), $.$get$_floor(), $.$get$_max(), $.$get$_min(), $.$get$_percentage(), $.$get$_randomFunction(), $.$get$_round(), $.$get$_unit(), $.$get$_compatible().withName$1("comparable"), $.$get$_isUnitless().withName$1("unitless")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); + _lazyFinal($, "_keys", "$get$_keys", () => A._function3("keys", "$map", new A._keys_closure())); + _lazyFinal($, "_values", "$get$_values", () => A._function3("values", "$map", new A._values_closure())); + _lazyFinal($, "_hasKey", "$get$_hasKey", () => A._function3("has-key", "$map, $key, $keys...", new A._hasKey_closure())); + _lazyFinal($, "global2", "$get$global2", () => { + var _s4_ = "math"; + return A.UnmodifiableListView$(A._setArrayType([A._function2("abs", "$number", new A.global_closure()), $.$get$_ceil().withDeprecationWarning$1(_s4_), $.$get$_floor().withDeprecationWarning$1(_s4_), $.$get$_max().withDeprecationWarning$1(_s4_), $.$get$_min().withDeprecationWarning$1(_s4_), $.$get$_percentage().withDeprecationWarning$1(_s4_), $.$get$_randomFunction().withDeprecationWarning$1(_s4_), $.$get$_round().withDeprecationWarning$1(_s4_), $.$get$_unit().withDeprecationWarning$1(_s4_), $.$get$_compatible().withDeprecationWarning$1(_s4_).withName$1("comparable"), $.$get$_isUnitless().withDeprecationWarning$1(_s4_).withName$1("unitless")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); + }); _lazyFinal($, "module2", "$get$module2", () => { var _null = null; return A.BuiltInModule$("math", A._setArrayType([A._numberFunction("abs", new A.module_closure0()), $.$get$_acos(), $.$get$_asin(), $.$get$_atan(), $.$get$_atan2(), $.$get$_ceil(), $.$get$_clamp(), $.$get$_cos(), $.$get$_compatible(), $.$get$_floor(), $.$get$_hypot(), $.$get$_isUnitless(), $.$get$_log(), $.$get$_max(), $.$get$_min(), $.$get$_percentage(), $.$get$_pow(), $.$get$_randomFunction(), $.$get$_round(), $.$get$_sin(), $.$get$_sqrt(), $.$get$_tan(), $.$get$_unit(), $.$get$_div()], type$.JSArray_Callable), _null, A.LinkedHashMap_LinkedHashMap$_literal(["e", A.SassNumber_SassNumber(2.718281828459045, _null), "pi", A.SassNumber_SassNumber(3.141592653589793, _null), "epsilon", A.SassNumber_SassNumber(2220446049250313e-31, _null), "max-safe-integer", A.SassNumber_SassNumber(9007199254740991, _null), "min-safe-integer", A.SassNumber_SassNumber(-9007199254740991, _null), "max-number", A.SassNumber_SassNumber(17976931348623157e292, _null), "min-number", A.SassNumber_SassNumber(5e-324, _null)], type$.String, type$.Value), type$.Callable); }); _lazyFinal($, "_ceil", "$get$_ceil", () => A._numberFunction("ceil", new A._ceil_closure())); - _lazyFinal($, "_clamp", "$get$_clamp", () => A._function1("clamp", "$min, $number, $max", new A._clamp_closure())); + _lazyFinal($, "_clamp", "$get$_clamp", () => A._function2("clamp", "$min, $number, $max", new A._clamp_closure())); _lazyFinal($, "_floor", "$get$_floor", () => A._numberFunction("floor", new A._floor_closure())); - _lazyFinal($, "_max", "$get$_max", () => A._function1("max", "$numbers...", new A._max_closure())); - _lazyFinal($, "_min", "$get$_min", () => A._function1("min", "$numbers...", new A._min_closure())); + _lazyFinal($, "_max", "$get$_max", () => A._function2("max", "$numbers...", new A._max_closure())); + _lazyFinal($, "_min", "$get$_min", () => A._function2("min", "$numbers...", new A._min_closure())); _lazyFinal($, "_round", "$get$_round", () => A._numberFunction("round", new A._round_closure())); - _lazyFinal($, "_hypot", "$get$_hypot", () => A._function1("hypot", "$numbers...", new A._hypot_closure())); - _lazyFinal($, "_log", "$get$_log", () => A._function1("log", "$number, $base: null", new A._log_closure())); - _lazyFinal($, "_pow", "$get$_pow", () => A._function1("pow", "$base, $exponent", new A._pow_closure())); + _lazyFinal($, "_hypot", "$get$_hypot", () => A._function2("hypot", "$numbers...", new A._hypot_closure())); + _lazyFinal($, "_log", "$get$_log", () => A._function2("log", "$number, $base: null", new A._log_closure())); + _lazyFinal($, "_pow", "$get$_pow", () => A._function2("pow", "$base, $exponent", new A._pow_closure())); _lazyFinal($, "_sqrt", "$get$_sqrt", () => A._singleArgumentMathFunc("sqrt", A.number0__sqrt$closure())); _lazyFinal($, "_acos", "$get$_acos", () => A._singleArgumentMathFunc("acos", A.number0__acos$closure())); _lazyFinal($, "_asin", "$get$_asin", () => A._singleArgumentMathFunc("asin", A.number0__asin$closure())); _lazyFinal($, "_atan", "$get$_atan", () => A._singleArgumentMathFunc("atan", A.number0__atan$closure())); - _lazyFinal($, "_atan2", "$get$_atan2", () => A._function1("atan2", "$y, $x", new A._atan2_closure())); + _lazyFinal($, "_atan2", "$get$_atan2", () => A._function2("atan2", "$y, $x", new A._atan2_closure())); _lazyFinal($, "_cos", "$get$_cos", () => A._singleArgumentMathFunc("cos", A.number0__cos$closure())); _lazyFinal($, "_sin", "$get$_sin", () => A._singleArgumentMathFunc("sin", A.number0__sin$closure())); _lazyFinal($, "_tan", "$get$_tan", () => A._singleArgumentMathFunc("tan", A.number0__tan$closure())); - _lazyFinal($, "_compatible", "$get$_compatible", () => A._function1("compatible", "$number1, $number2", new A._compatible_closure())); - _lazyFinal($, "_isUnitless", "$get$_isUnitless", () => A._function1("is-unitless", "$number", new A._isUnitless_closure())); - _lazyFinal($, "_unit", "$get$_unit", () => A._function1("unit", "$number", new A._unit_closure())); - _lazyFinal($, "_percentage", "$get$_percentage", () => A._function1("percentage", "$number", new A._percentage_closure())); + _lazyFinal($, "_compatible", "$get$_compatible", () => A._function2("compatible", "$number1, $number2", new A._compatible_closure())); + _lazyFinal($, "_isUnitless", "$get$_isUnitless", () => A._function2("is-unitless", "$number", new A._isUnitless_closure())); + _lazyFinal($, "_unit", "$get$_unit", () => A._function2("unit", "$number", new A._unit_closure())); + _lazyFinal($, "_percentage", "$get$_percentage", () => A._function2("percentage", "$number", new A._percentage_closure())); _lazyFinal($, "_random", "$get$_random0", () => A.Random_Random()); - _lazyFinal($, "_randomFunction", "$get$_randomFunction", () => A._function1("random", "$limit: null", new A._randomFunction_closure())); - _lazyFinal($, "_div", "$get$_div", () => A._function1("div", "$number1, $number2", new A._div_closure())); - _lazyFinal($, "global3", "$get$global", () => A.UnmodifiableListView$(A._setArrayType([A._function5("feature-exists", "$feature", new A.global_closure27()), A._function5("inspect", "$value", new A.global_closure28()), A._function5("type-of", "$value", new A.global_closure29()), A._function5("keywords", "$args", new A.global_closure30())], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); - _lazyFinal($, "local", "$get$local", () => A.UnmodifiableListView$(A._setArrayType([A._function5("calc-name", "$calc", new A.local_closure()), A._function5("calc-args", "$calc", new A.local_closure0()), A._function5("accepts-content", "$mixin", new A.local_closure1())], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); - _lazyFinal($, "global4", "$get$global4", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse().withName$1("selector-parse"), $.$get$_nest().withName$1("selector-nest"), $.$get$_append().withName$1("selector-append"), $.$get$_extend().withName$1("selector-extend"), $.$get$_replace().withName$1("selector-replace"), $.$get$_unify().withName$1("selector-unify")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); + _lazyFinal($, "_randomFunction", "$get$_randomFunction", () => A._function2("random", "$limit: null", new A._randomFunction_closure())); + _lazyFinal($, "_div", "$get$_div", () => A._function2("div", "$number1, $number2", new A._div_closure())); + _lazyFinal($, "_shared", "$get$_shared", () => A.UnmodifiableListView$(A._setArrayType([A._function("feature-exists", "$feature", new A._shared_closure()), A._function("inspect", "$value", new A._shared_closure0()), A._function("type-of", "$value", new A._shared_closure1()), A._function("keywords", "$args", new A._shared_closure2())], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); + _lazyFinal($, "global3", "$get$global5", () => { + var t2, + t1 = A._setArrayType([], type$.JSArray_BuiltInCallable); + for (t2 = $.$get$_shared(), t2 = t2.get$iterator(t2); t2.moveNext$0();) + t1.push(t2.get$current(0).withDeprecationWarning$1("meta")); + return A.UnmodifiableListView$(t1, type$.BuiltInCallable); + }); + _lazyFinal($, "moduleFunctions", "$get$moduleFunctions", () => { + var t1 = type$.BuiltInCallable, + t2 = A.List_List$of($.$get$_shared(), true, t1); + t2.push(A._function("calc-name", "$calc", new A.moduleFunctions_closure())); + t2.push(A._function("calc-args", "$calc", new A.moduleFunctions_closure0())); + t2.push(A._function("accepts-content", "$mixin", new A.moduleFunctions_closure1())); + return A.UnmodifiableListView$(t2, t1); + }); + _lazyFinal($, "global4", "$get$global3", () => { + var _s8_ = "selector"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_isSuperselector().withDeprecationWarning$1(_s8_), $.$get$_simpleSelectors().withDeprecationWarning$1(_s8_), $.$get$_parse().withDeprecationWarning$1(_s8_).withName$1("selector-parse"), $.$get$_nest().withDeprecationWarning$1(_s8_).withName$1("selector-nest"), $.$get$_append().withDeprecationWarning$1(_s8_).withName$1("selector-append"), $.$get$_extend().withDeprecationWarning$1(_s8_).withName$1("selector-extend"), $.$get$_replace().withDeprecationWarning$1(_s8_).withName$1("selector-replace"), $.$get$_unify().withDeprecationWarning$1(_s8_).withName$1("selector-unify")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); + }); _lazyFinal($, "module3", "$get$module3", () => A.BuiltInModule$("selector", A._setArrayType([$.$get$_isSuperselector(), $.$get$_simpleSelectors(), $.$get$_parse(), $.$get$_nest(), $.$get$_append(), $.$get$_extend(), $.$get$_replace(), $.$get$_unify()], type$.JSArray_Callable), null, null, type$.Callable)); - _lazyFinal($, "_nest", "$get$_nest", () => A._function0("nest", "$selectors...", new A._nest_closure())); - _lazyFinal($, "_append0", "$get$_append", () => A._function0("append", "$selectors...", new A._append_closure())); - _lazyFinal($, "_extend", "$get$_extend", () => A._function0("extend", "$selector, $extendee, $extender", new A._extend_closure())); - _lazyFinal($, "_replace", "$get$_replace", () => A._function0("replace", "$selector, $original, $replacement", new A._replace_closure())); - _lazyFinal($, "_unify", "$get$_unify", () => A._function0("unify", "$selector1, $selector2", new A._unify_closure())); - _lazyFinal($, "_isSuperselector", "$get$_isSuperselector", () => A._function0("is-superselector", "$super, $sub", new A._isSuperselector_closure())); - _lazyFinal($, "_simpleSelectors", "$get$_simpleSelectors", () => A._function0("simple-selectors", "$selector", new A._simpleSelectors_closure())); - _lazyFinal($, "_parse", "$get$_parse", () => A._function0("parse", "$selector", new A._parse_closure())); + _lazyFinal($, "_nest", "$get$_nest", () => A._function1("nest", "$selectors...", new A._nest_closure())); + _lazyFinal($, "_append0", "$get$_append", () => A._function1("append", "$selectors...", new A._append_closure())); + _lazyFinal($, "_extend", "$get$_extend", () => A._function1("extend", "$selector, $extendee, $extender", new A._extend_closure())); + _lazyFinal($, "_replace", "$get$_replace", () => A._function1("replace", "$selector, $original, $replacement", new A._replace_closure())); + _lazyFinal($, "_unify", "$get$_unify", () => A._function1("unify", "$selector1, $selector2", new A._unify_closure())); + _lazyFinal($, "_isSuperselector", "$get$_isSuperselector", () => A._function1("is-superselector", "$super, $sub", new A._isSuperselector_closure())); + _lazyFinal($, "_simpleSelectors", "$get$_simpleSelectors", () => A._function1("simple-selectors", "$selector", new A._simpleSelectors_closure())); + _lazyFinal($, "_parse0", "$get$_parse", () => A._function1("parse", "$selector", new A._parse_closure())); _lazyFinal($, "_random0", "$get$_random", () => A.Random_Random()); _lazy($, "_previousUniqueId", "$get$_previousUniqueId", () => $.$get$_random().nextInt$1(A._asInt(A.pow(36, 6)))); - _lazyFinal($, "global5", "$get$global5", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_uniqueId(), $.$get$_length().withName$1("str-length"), $.$get$_insert().withName$1("str-insert"), $.$get$_index().withName$1("str-index"), $.$get$_slice().withName$1("str-slice")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable)); - _lazyFinal($, "module4", "$get$module4", () => A.BuiltInModule$("string", A._setArrayType([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_length(), $.$get$_insert(), $.$get$_index(), $.$get$_slice(), $.$get$_uniqueId(), A._function("split", "$string, $separator, $limit: null", new A.module_closure())], type$.JSArray_Callable), null, null, type$.Callable)); - _lazyFinal($, "_unquote", "$get$_unquote", () => A._function("unquote", "$string", new A._unquote_closure())); - _lazyFinal($, "_quote", "$get$_quote", () => A._function("quote", "$string", new A._quote_closure())); - _lazyFinal($, "_length0", "$get$_length", () => A._function("length", "$string", new A._length_closure())); - _lazyFinal($, "_insert", "$get$_insert", () => A._function("insert", "$string, $insert, $index", new A._insert_closure())); - _lazyFinal($, "_index0", "$get$_index", () => A._function("index", "$string, $substring", new A._index_closure())); - _lazyFinal($, "_slice", "$get$_slice", () => A._function("slice", "$string, $start-at, $end-at: -1", new A._slice_closure())); - _lazyFinal($, "_toUpperCase", "$get$_toUpperCase", () => A._function("to-upper-case", "$string", new A._toUpperCase_closure())); - _lazyFinal($, "_toLowerCase", "$get$_toLowerCase", () => A._function("to-lower-case", "$string", new A._toLowerCase_closure())); - _lazyFinal($, "_uniqueId", "$get$_uniqueId", () => A._function("unique-id", "", new A._uniqueId_closure())); + _lazyFinal($, "global5", "$get$global4", () => { + var _s6_ = "string"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_unquote().withDeprecationWarning$1(_s6_), $.$get$_quote().withDeprecationWarning$1(_s6_), $.$get$_toUpperCase().withDeprecationWarning$1(_s6_), $.$get$_toLowerCase().withDeprecationWarning$1(_s6_), $.$get$_uniqueId().withDeprecationWarning$1(_s6_), $.$get$_length().withDeprecationWarning$1(_s6_).withName$1("str-length"), $.$get$_insert().withDeprecationWarning$1(_s6_).withName$1("str-insert"), $.$get$_index().withDeprecationWarning$1(_s6_).withName$1("str-index"), $.$get$_slice().withDeprecationWarning$1(_s6_).withName$1("str-slice")], type$.JSArray_BuiltInCallable), type$.BuiltInCallable); + }); + _lazyFinal($, "module4", "$get$module4", () => A.BuiltInModule$("string", A._setArrayType([$.$get$_unquote(), $.$get$_quote(), $.$get$_toUpperCase(), $.$get$_toLowerCase(), $.$get$_length(), $.$get$_insert(), $.$get$_index(), $.$get$_slice(), $.$get$_uniqueId(), A._function0("split", "$string, $separator, $limit: null", new A.module_closure())], type$.JSArray_Callable), null, null, type$.Callable)); + _lazyFinal($, "_unquote", "$get$_unquote", () => A._function0("unquote", "$string", new A._unquote_closure())); + _lazyFinal($, "_quote", "$get$_quote", () => A._function0("quote", "$string", new A._quote_closure())); + _lazyFinal($, "_length0", "$get$_length", () => A._function0("length", "$string", new A._length_closure())); + _lazyFinal($, "_insert", "$get$_insert", () => A._function0("insert", "$string, $insert, $index", new A._insert_closure())); + _lazyFinal($, "_index0", "$get$_index", () => A._function0("index", "$string, $substring", new A._index_closure())); + _lazyFinal($, "_slice", "$get$_slice", () => A._function0("slice", "$string, $start-at, $end-at: -1", new A._slice_closure())); + _lazyFinal($, "_toUpperCase", "$get$_toUpperCase", () => A._function0("to-upper-case", "$string", new A._toUpperCase_closure())); + _lazyFinal($, "_toLowerCase", "$get$_toLowerCase", () => A._function0("to-lower-case", "$string", new A._toLowerCase_closure())); + _lazyFinal($, "_uniqueId", "$get$_uniqueId", () => A._function0("unique-id", "", new A._uniqueId_closure())); _lazyFinal($, "FilesystemImporter_cwd", "$get$FilesystemImporter_cwd", () => { var _null = null; return new A.FilesystemImporter(A.absolute(".", _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null, _null), true); @@ -117957,6 +126328,64 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "bogusSpan", "$get$bogusSpan", () => A.SourceFile$decoded(A._setArrayType([], type$.JSArray_int), null).span$1(0, 0)); _lazyFinal($, "_noSourceUrl", "$get$_noSourceUrl", () => A.Uri_parse("-")); _lazyFinal($, "_traces", "$get$_traces", () => A.Expando$()); + _lazyFinal($, "lmsToOklab", "$get$lmsToOklab", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.210454268309314, 0.7936177747023054, -0.0040720430116193, 1.9779985324311684, -2.42859224204858, 0.450593709617411, 0.0259040424655478, 0.7827717124575296, -0.8086757549230774], type$.JSArray_double))); + _lazyFinal($, "oklabToLms", "$get$oklabToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.0000000000000002, 0.3963377773761749, 0.2158037573099136, 0.9999999999999998, -0.10556134581565854, -0.06385417282581334, 0.9999999999999999, -0.0894841775298118, -1.2914855480194094], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearDisplayP3", "$get$linearSrgbToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8224619687143623, 0.17753803128563775, 0, 0.03319419885096161, 0.9668058011490384, 0, 0.01708263072112003, 0.07239744066396346, 0.9105199286149165], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearSrgb", "$get$linearDisplayP3ToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.2249401762805598, -0.22494017628055996, 0, -0.04205695470968816, 1.042056954709688, 0, -0.01963755459033443, -0.07863604555063188, 1.0982736001409663], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearA98Rgb", "$get$linearSrgbToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7151256068556247, 0.28487439314437535, 0, 0, 1, 0, 0, 0.04116194845011846, 0.9588380515498816], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearSrgb", "$get$linearA98RgbToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.3983557439607783, -0.3983557439607783, 0, 0, 1, 0, 0, -0.04292898929447326, 1.0429289892944733], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearRec2020", "$get$linearSrgbToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.627403895934699, 0.3292830383778837, 0.04331306568741722, 0.06909728935823208, 0.9195403950754587, 0.01136231556630917, 0.01639143887515027, 0.08801330787722575, 0.895595253247624], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearSrgb", "$get$linearRec2020ToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.6604910021084345, -0.5876411387885495, -0.07284986331988487, -0.12455047452159074, 1.1328998971259603, -0.00834942260436947, -0.0181507633549053, -0.10057889800800737, 1.1187296613629127], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToXyzD65", "$get$linearSrgbToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.4123907992659595, 0.35758433938387796, 0.1804807884018343, 0.21263900587151036, 0.7151686787677559, 0.07219231536073371, 0.01933081871559185, 0.11919477979462598, 0.9505321522496606], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearSrgb", "$get$xyzD65ToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([3.2409699419045213, -1.5373831775700935, -0.4986107602930033, -0.9692436362808798, 1.8759675015077206, 0.04155505740717561, 0.0556300796969936, -0.20397695888897657, 1.0569715142428786], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLms", "$get$linearSrgbToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.412221469470763, 0.5363325372617348, 0.0514459932675022, 0.2119034958178252, 0.6806995506452342, 0.1073969535369405, 0.08830245919005641, 0.2817188391361215, 0.6299787016738221], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearSrgb", "$get$lmsToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([4.076741636075958, -3.307711539258062, 0.23096990318210417, -1.268437973285032, 2.609757349287689, -0.3413193760026571, -0.00419607613867551, -0.7034186179359363, 1.707614694074612], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearProphotoRgb", "$get$linearSrgbToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.5292769776226116, 0.33015450197849283, 0.14056852039889556, 0.09836585954044917, 0.8734707129069618, 0.028163427552589, 0.01687534092138684, 0.11765941425612084, 0.8654652448224923], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearSrgb", "$get$linearProphotoRgbToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.034380849516996, -0.7276357899341342, -0.3067450595828618, -0.22882573163305037, 1.2317425411901048, -0.00291680955705449, -0.00855882878391742, -0.1532667021380372, 1.1618255309219547], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToXyzD50", "$get$linearSrgbToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.43606574687426936, 0.3851515095901596, 0.14307841996513868, 0.22249317711056518, 0.7168870130944824, 0.06061980979495235, 0.01392392146316939, 0.09708132423141015, 0.7140993568158807], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearSrgb", "$get$xyzD50ToLinearSrgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([3.1341358529001178, -1.617385998018042, -0.49066221791109754, -0.9787954765557777, 1.9162543773959884, 0.03344287339036693, 0.07195539255794733, -0.228976759815182, 1.4053860351131182], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearA98Rgb", "$get$linearDisplayP3ToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8640051374740484, 0.13599486252595164, 0, -0.04205695470968816, 1.042056954709688, 0, -0.02056038078232985, -0.03250613804550798, 1.0530665188278379], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearDisplayP3", "$get$linearA98RgbToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.1500944181410184, -0.15009441814101834, 0, 0.04641729862941844, 0.9535827013705815, 0, 0.02388759479083904, 0.02650477632633013, 0.9496076288828308], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearRec2020", "$get$linearDisplayP3ToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7538330343617218, 0.1985973690526163, 0.04756959658566187, 0.04574384896535833, 0.9417772198116935, 0.01247893122294812, -0.00121034035451832, 0.01760171730108989, 0.9836086230534284], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearDisplayP3", "$get$linearRec2020ToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.343578252584332, -0.2821796705261357, -0.06139858205819628, -0.06529745278911953, 1.0757879158485746, -0.01049046305945495, 0.00282178726170095, -0.01959849452449406, 1.0167767072627931], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToXyzD65", "$get$linearDisplayP3ToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.48657094864821626, 0.26566769316909294, 0.1982172852343625, 0.22897456406974884, 0.6917385218365062, 0.079286914093745, 0, 0.04511338185890257, 1.0439443689009757], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearDisplayP3", "$get$xyzD65ToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.4934969119414245, -0.9313836179191236, -0.40271078445071684, -0.8294889695615749, 1.7626640603183468, 0.02362468584194359, 0.03584583024378433, -0.0761723892680417, 0.9568845240076873], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLms", "$get$linearDisplayP3ToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.48137985274995443, 0.46211837101131803, 0.05650177623872756, 0.22883194181124472, 0.6532168193835676, 0.11795123880518774, 0.08394575232299319, 0.22416527097756642, 0.6918889766994404], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearDisplayP3", "$get$lmsToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([3.1277689713618737, -2.2571357625916386, 0.12936679122976494, -1.0910090184377979, 2.4133317103069225, -0.32232269186912466, -0.02601080193857045, -0.508041331704167, 1.5340521336427373], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearProphotoRgb", "$get$linearDisplayP3ToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6316869193403589, 0.21393038569465722, 0.1543826949649839, 0.08320371426648458, 0.8858651367630243, 0.03093114897049121, -0.00127273456473881, 0.05075510433665735, 0.9505176302280814], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearDisplayP3", "$get$linearProphotoRgbToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.6325756087069179, -0.3797716184825984, -0.2528039902243195, -0.15370040233755072, 1.1667025472425014, -0.01300214490495082, 0.01039319529676572, -0.0628073126495944, 1.0524141173528287], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToXyzD50", "$get$linearDisplayP3ToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.515146442968116, 0.2920099820638577, 0.15713925139759397, 0.2412003221252552, 0.6922225411313818, 0.06657713674336294, -0.00105013914714014, 0.0418782701890746, 0.7842764714685257], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearDisplayP3", "$get$xyzD50ToLinearDisplayP3", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.4039341218554973, -0.9900304424955931, -0.39761363181465614, -0.8422700161454688, 1.7989580161067082, 0.01604562477090472, 0.04819381686413303, -0.09738519815446048, 1.2736713693321273], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearRec2020", "$get$linearA98RgbToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8773338416636568, 0.07749370651571998, 0.04517245182062317, 0.09662259146620378, 0.8915273202441805, 0.01185008828961569, 0.02292106270284839, 0.04303668501067932, 0.9340422522864723], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearA98Rgb", "$get$linearRec2020ToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.1519783947159163, -0.0975030553024086, -0.05447533941350766, -0.12455047452159074, 1.1328998971259603, -0.00834942260436947, -0.0225303827810559, -0.04980650742838876, 1.0723368902094446], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToXyzD65", "$get$linearA98RgbToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.5766690429101308, 0.18555823790654627, 0.18822864623499472, 0.29734497525053616, 0.627363566255466, 0.07529145849399789, 0.02703136138641237, 0.07068885253582714, 0.9913375368376389], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearA98Rgb", "$get$xyzD65ToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.041587903810746, -0.5650069742788596, -0.3447313507783295, -0.9692436362808798, 1.8759675015077206, 0.04155505740717561, 0.01344428063203102, -0.11836239223101823, 1.0151749943912054], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLms", "$get$linearA98RgbToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.5764322596183941, 0.36991322261987963, 0.05365451776172635, 0.29631647054222465, 0.5916761332521885, 0.11200739620558686, 0.1234782510142776, 0.21949869837199862, 0.6570230506137238], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearA98Rgb", "$get$lmsToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.5540368386115566, -1.6219761806828699, 0.06793934207131327, -1.268437973285032, 2.609757349287689, -0.3413193760026571, -0.05623473593749381, -0.5670418395669061, 1.6232765755043999], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearProphotoRgb", "$get$linearA98RgbToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7401175018047792, 0.11327951328898105, 0.1466029849062397, 0.1375504646980262, 0.833077080269484, 0.02937245503248977, 0.02359772990871766, 0.07378347703906656, 0.9026187930522158], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearA98Rgb", "$get$linearProphotoRgbToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.38965124815152, -0.16945907691487766, -0.22019217123664242, -0.22882573163305037, 1.2317425411901048, -0.00291680955705449, -0.01762544368426068, -0.09625702306122665, 1.1138824667454874], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToXyzD50", "$get$linearA98RgbToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6097750418861814, 0.20530000261929401, 0.14922063192409227, 0.31112461220464155, 0.6256532308346856, 0.06322215696067286, 0.01947059555648168, 0.06087908649415867, 0.7447549204598198], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearA98Rgb", "$get$xyzD50ToLinearA98Rgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.9624670363768806, -0.6107423404815073, -0.3413580980827154, -0.9787954765557777, 1.9162543773959884, 0.03344287339036693, 0.02870443944957101, -0.1406748663317068, 1.3489141814137937], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToXyzD65", "$get$linearRec2020ToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6369580483012913, 0.14461690358620838, 0.16888097516417205, 0.26270021201126703, 0.677998071518871, 0.05930171646986194, 0, 0.0280726930490875, 1.0609850577107909], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearRec2020", "$get$xyzD65ToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.7166511879712676, -0.3556707837763924, -0.2533662813736598, -0.666684351832489, 1.616481236634939, 0.01576854581391113, 0.01763985744531091, -0.04277061325780865, 0.942103121235474], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLms", "$get$linearRec2020ToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6167557848654444, 0.36019840122646335, 0.02304581390809228, 0.2651330593926367, 0.6358393720678491, 0.09902756853951408, 0.10010262952034828, 0.20390652261661452, 0.6959908478630372], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearRec2020", "$get$lmsToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.1399067304346513, -1.246389493760618, 0.10648276332596668, -0.8847358357577674, 2.1632309383612007, -0.2784951026034334, -0.04857374640044396, -0.4545031497140964, 1.5030768961145404], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearProphotoRgb", "$get$linearRec2020ToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8351873331297235, 0.04886884858605698, 0.11594381828421951, 0.05403324519953363, 0.9289184085692044, 0.01704834623126199, -0.00234203897072539, 0.03633215316169465, 0.9660098858090307], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearRec2020", "$get$linearProphotoRgbToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.200659329517408, -0.05756805370122346, -0.14309127581618444, -0.06994154955888504, 1.080617897597214, -0.01067634803832895, 0.00554147334294746, -0.04078219298657951, 1.035240719643632], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToXyzD50", "$get$linearRec2020ToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.673515463188276, 0.16569726370390453, 0.12508294953738705, 0.2790590051411206, 0.6753180057491098, 0.04562298910976962, -0.00193242713400438, 0.02997782679282923, 0.7970592028516355], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearRec2020", "$get$xyzD50ToLinearRec2020", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.647184904671766, -0.3936818981316471, -0.23595963848828266, -0.6826641074173818, 1.6477146127444076, 0.01281708338512084, 0.02966887665275675, -0.0629258964297003, 1.2535578201865771], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLms", "$get$xyzD65ToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.819022437996703, 0.36190626005289034, -0.12887378152098788, 0.03298365393238846, 0.9292868615863433, 0.03614466635064235, 0.0481771893596242, 0.2642395317527308, 0.6335478284694308], type$.JSArray_double))); + _lazyFinal($, "lmsToXyzD65", "$get$lmsToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.2268798758459243, -0.5578149944602171, 0.2813910456659646, -0.04057574521480084, 1.1122868032803173, -0.07171105806551635, -0.07637293667466007, -0.42149333240224324, 1.5869240198367818], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearProphotoRgb", "$get$xyzD65ToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.4031904633774979, -0.22301514479051668, -0.1016066850741379, -0.5262384021633072, 1.4816319629234644, 0.01701879027252688, -0.0112022652862215, 0.01824640347962099, 0.9112472274915048], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToXyzD65", "$get$linearProphotoRgbToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.755590742296921, 0.11271984265940525, 0.0821453420953454, 0.2683218435785719, 0.7151152566617912, 0.01656289975963685, 0.0039159727624258, -0.01293344283684181, 1.0980752208342945], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToXyzD50", "$get$xyzD65ToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.0479297925449966, 0.02294687060160952, -0.05019226628920519, 0.02962780877005567, 0.99043442675388, -0.01707379906341879, -0.00924304064620452, 0.01505519149029816, 0.751874281428137], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToXyzD65", "$get$xyzD50ToXyzD65", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.9554734214880752, -0.02309845494876452, 0.06325924320057065, -0.02836970933386358, 1.0099953980813041, 0.0210414411919173, 0.01231401486448199, -0.02050764929889898, 1.330365926242124], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearProphotoRgb", "$get$lmsToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.7383551481157207, -0.9879509427514458, 0.24959579463572504, -0.7070494015329266, 1.9343700444401382, -0.2273206429072115, -0.08407882206239634, -0.35754060521141334, 1.4416194272738097], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLms", "$get$linearProphotoRgbToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7154484605655534, 0.35279155007721186, -0.0682400106427653, 0.2744116490015671, 0.6677976498412367, 0.05779070115719616, 0.10978443261622942, 0.18619829115002018, 0.7040172762337504], type$.JSArray_double))); + _lazyFinal($, "lmsToXyzD50", "$get$lmsToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.288586218172706, -0.5378717444973745, 0.2135812027542364, -0.00253387643187372, 1.0923167988719165, -0.08978292244004273, -0.06937382305734124, -0.29500839894431263, 1.1894868245121142], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLms", "$get$xyzD50ToLms", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7707000420431172, 0.34924840261939616, -0.11202351884164681, 0.00559649248368848, 0.9370723401136769, 0.06972568836252771, 0.04633714262191069, 0.25277531574310524, 0.851458076746796], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToXyzD50", "$get$linearProphotoRgbToXyzD50", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7977666449006423, 0.13518129740053308, 0.0313477341283922, 0.2880748288194013, 0.711835234241873, 0.00008993693872564, 0, 0, 0.8251046025104602], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearProphotoRgb", "$get$xyzD50ToLinearProphotoRgb", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.3457868816471583, -0.25557208737979464, -0.05110186497554526, -0.5446307051249019, 1.5082477428451468, 0.02052744743642139, 0, 0, 1.2119675456389452], type$.JSArray_double))); _lazyFinal($, "_typesByUnit", "$get$_typesByUnit", () => { var t3, type, t1 = type$.String, @@ -117984,11 +126413,14 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "maxInt32", "$get$maxInt32", () => A._asInt(A.pow(2, 31)) - 1); _lazyFinal($, "minInt32", "$get$minInt32", () => -A._asInt(A.pow(2, 31))); _lazyFinal($, "_vmFrame", "$get$_vmFrame", () => A.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", false)); - _lazyFinal($, "_v8Frame", "$get$_v8Frame", () => A.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", false)); - _lazyFinal($, "_v8UrlLocation", "$get$_v8UrlLocation", () => A.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", false)); + _lazyFinal($, "_v8JsFrame", "$get$_v8JsFrame", () => A.RegExp_RegExp("^\\s*at (?:(\\S.*?)(?: \\[as [^\\]]+\\])? \\((.*)\\)|(.*))$", false)); + _lazyFinal($, "_v8JsUrlLocation", "$get$_v8JsUrlLocation", () => A.RegExp_RegExp("^(.*?):(\\d+)(?::(\\d+))?$|native$", false)); + _lazyFinal($, "_v8WasmFrame", "$get$_v8WasmFrame", () => A.RegExp_RegExp("^\\s*at (?:(?.+) )?(?:\\(?(?:(?\\S+):wasm-function\\[(?\\d+)\\]\\:0x(?[0-9a-fA-F]+))\\)?)$", false)); _lazyFinal($, "_v8EvalLocation", "$get$_v8EvalLocation", () => A.RegExp_RegExp("^eval at (?:\\S.*?) \\((.*)\\)(?:, .*?:\\d+:\\d+)?$", false)); _lazyFinal($, "_firefoxEvalLocation", "$get$_firefoxEvalLocation", () => A.RegExp_RegExp("(\\S+)@(\\S+) line (\\d+) >.* (Function|eval):\\d+:\\d+", false)); - _lazyFinal($, "_firefoxSafariFrame", "$get$_firefoxSafariFrame", () => A.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", false)); + _lazyFinal($, "_firefoxSafariJSFrame", "$get$_firefoxSafariJSFrame", () => A.RegExp_RegExp("^(?:([^@(/]*)(?:\\(.*\\))?((?:/[^/]*)*)(?:\\(.*\\))?@)?(.*?):(\\d*)(?::(\\d*))?$", false)); + _lazyFinal($, "_firefoxWasmFrame", "$get$_firefoxWasmFrame", () => A.RegExp_RegExp("^(?.*?)@(?:(?\\S+).*?:wasm-function\\[(?\\d+)\\]:0x(?[0-9a-fA-F]+))$", false)); + _lazyFinal($, "_safariWasmFrame", "$get$_safariWasmFrame", () => A.RegExp_RegExp("^.*?wasm-function\\[(?.*)\\]@\\[wasm code\\]$", false)); _lazyFinal($, "_friendlyFrame", "$get$_friendlyFrame", () => A.RegExp_RegExp("^(\\S+)(?: (\\d+)(?::(\\d+))?)?\\s+([^\\d].*)$", false)); _lazyFinal($, "_asyncBody", "$get$_asyncBody", () => A.RegExp_RegExp("<(|[^>]+)_async_body>", false)); _lazyFinal($, "_initialDot", "$get$_initialDot", () => A.RegExp_RegExp("^\\.", false)); @@ -118001,7 +126433,7 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "_firefoxSafariTrace", "$get$_firefoxSafariTrace", () => A.RegExp_RegExp("^(([.0-9A-Za-z_$/<]|\\(.*\\))*@)?[^\\s]*:\\d*$", true)); _lazyFinal($, "_friendlyTrace", "$get$_friendlyTrace", () => A.RegExp_RegExp("^[^\\s<][^\\s]*( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true)); _lazyFinal($, "vmChainGap", "$get$vmChainGap", () => A.RegExp_RegExp("^\\n?$", true)); - _lazyFinal($, "_newlineRegExp", "$get$_newlineRegExp", () => A.RegExp_RegExp("\\r\\n?|\\n", false)); + _lazyFinal($, "_newlineRegExp", "$get$_newlineRegExp", () => A.RegExp_RegExp("\\n|\\r\\n|\\r(?!\\n)", false)); _lazyFinal($, "argumentListClass", "$get$argumentListClass", () => new A.argumentListClass_closure().call$0()); _lazyFinal($, "booleanClass", "$get$booleanClass", () => new A.booleanClass_closure().call$0()); _lazyFinal($, "legacyBooleanClass", "$get$legacyBooleanClass", () => new A.legacyBooleanClass_closure().call$0()); @@ -118009,44 +126441,43 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "calculationOperationClass", "$get$calculationOperationClass", () => new A.calculationOperationClass_closure().call$0()); _lazyFinal($, "calculationInterpolationClass", "$get$calculationInterpolationClass", () => new A.calculationInterpolationClass_closure().call$0()); _lazyFinal($, "_microsoftFilterStart0", "$get$_microsoftFilterStart0", () => A.RegExp_RegExp("^[a-zA-Z]+\\s*=", false)); - _lazyFinal($, "global6", "$get$global7", () => { - var _s27_ = "$red, $green, $blue, $alpha", + _lazyFinal($, "global6", "$get$global6", () => { + var _s5_ = "color", + _s27_ = "$red, $green, $blue, $alpha", _s19_ = "$red, $green, $blue", + _s9_ = "$channels", _s37_ = "$hue, $saturation, $lightness, $alpha", _s29_ = "$hue, $saturation, $lightness", _s17_ = "$hue, $saturation", + _s6_ = "adjust", _s15_ = "$color, $amount", t1 = type$.String, t2 = type$.Value_Function_List_Value_2; - return A.UnmodifiableListView$(A._setArrayType([$.$get$_red0(), $.$get$_green0(), $.$get$_blue0(), $.$get$_mix0(), A.BuiltInCallable$overloadedFunction0("rgb", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure32(), _s19_, new A.global_closure33(), "$color, $alpha", new A.global_closure34(), "$channels", new A.global_closure35()], t1, t2)), A.BuiltInCallable$overloadedFunction0("rgba", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure36(), _s19_, new A.global_closure37(), "$color, $alpha", new A.global_closure38(), "$channels", new A.global_closure39()], t1, t2)), A._function11("invert", "$color, $weight: 100%", new A.global_closure40()), $.$get$_hue0(), $.$get$_saturation0(), $.$get$_lightness0(), $.$get$_complement0(), A.BuiltInCallable$overloadedFunction0("hsl", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure41(), _s29_, new A.global_closure42(), _s17_, new A.global_closure43(), "$channels", new A.global_closure44()], t1, t2)), A.BuiltInCallable$overloadedFunction0("hsla", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure45(), _s29_, new A.global_closure46(), _s17_, new A.global_closure47(), "$channels", new A.global_closure48()], t1, t2)), A._function11("grayscale", "$color", new A.global_closure49()), A._function11("adjust-hue", "$color, $degrees", new A.global_closure50()), A._function11("lighten", _s15_, new A.global_closure51()), A._function11("darken", _s15_, new A.global_closure52()), A.BuiltInCallable$overloadedFunction0("saturate", A.LinkedHashMap_LinkedHashMap$_literal(["$amount", new A.global_closure53(), "$color, $amount", new A.global_closure54()], t1, t2)), A._function11("desaturate", _s15_, new A.global_closure55()), A._function11("opacify", _s15_, A.color2___opacify$closure()), A._function11("fade-in", _s15_, A.color2___opacify$closure()), A._function11("transparentize", _s15_, A.color2___transparentize$closure()), A._function11("fade-out", _s15_, A.color2___transparentize$closure()), A.BuiltInCallable$overloadedFunction0("alpha", A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.global_closure56(), "$args...", new A.global_closure57()], t1, t2)), A._function11("opacity", "$color", new A.global_closure58()), $.$get$_ieHexStr0(), $.$get$_adjust0().withName$1("adjust-color"), $.$get$_scale0().withName$1("scale-color"), $.$get$_change0().withName$1("change-color")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); + return A.UnmodifiableListView$(A._setArrayType([A._channelFunction0("red", B.RgbColorSpace_mlz0, new A.global_closure44(), true, null).withDeprecationWarning$1(_s5_), A._channelFunction0("green", B.RgbColorSpace_mlz0, new A.global_closure45(), true, null).withDeprecationWarning$1(_s5_), A._channelFunction0("blue", B.RgbColorSpace_mlz0, new A.global_closure46(), true, null).withDeprecationWarning$1(_s5_), $.$get$_mix0().withDeprecationWarning$1(_s5_), A.BuiltInCallable$overloadedFunction0("rgb", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure47(), _s19_, new A.global_closure48(), "$color, $alpha", new A.global_closure49(), "$channels", new A.global_closure50()], t1, t2)), A.BuiltInCallable$overloadedFunction0("rgba", A.LinkedHashMap_LinkedHashMap$_literal([_s27_, new A.global_closure51(), _s19_, new A.global_closure52(), "$color, $alpha", new A.global_closure53(), "$channels", new A.global_closure54()], t1, t2)), A._function12("invert", "$color, $weight: 100%, $space: null", new A.global_closure55()), A._channelFunction0("hue", B.HslColorSpace_gsm0, new A.global_closure56(), true, "deg").withDeprecationWarning$1(_s5_), A._channelFunction0("saturation", B.HslColorSpace_gsm0, new A.global_closure57(), true, "%").withDeprecationWarning$1(_s5_), A._channelFunction0("lightness", B.HslColorSpace_gsm0, new A.global_closure58(), true, "%").withDeprecationWarning$1(_s5_), A.BuiltInCallable$overloadedFunction0("hsl", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure59(), _s29_, new A.global_closure60(), _s17_, new A.global_closure61(), "$channels", new A.global_closure62()], t1, t2)), A.BuiltInCallable$overloadedFunction0("hsla", A.LinkedHashMap_LinkedHashMap$_literal([_s37_, new A.global_closure63(), _s29_, new A.global_closure64(), _s17_, new A.global_closure65(), "$channels", new A.global_closure66()], t1, t2)), A._function12("grayscale", "$color", new A.global_closure67()), A._function12("adjust-hue", "$color, $degrees", new A.global_closure68()).withDeprecationWarning$2(_s5_, _s6_), A._function12("lighten", _s15_, new A.global_closure69()).withDeprecationWarning$2(_s5_, _s6_), A._function12("darken", _s15_, new A.global_closure70()).withDeprecationWarning$2(_s5_, _s6_), A.BuiltInCallable$overloadedFunction0("saturate", A.LinkedHashMap_LinkedHashMap$_literal(["$amount", new A.global_closure71(), "$color, $amount", new A.global_closure72()], t1, t2)), A._function12("desaturate", _s15_, new A.global_closure73()).withDeprecationWarning$2(_s5_, _s6_), A._function12("opacify", _s15_, new A.global_closure74()).withDeprecationWarning$2(_s5_, _s6_), A._function12("fade-in", _s15_, new A.global_closure75()).withDeprecationWarning$2(_s5_, _s6_), A._function12("transparentize", _s15_, new A.global_closure76()).withDeprecationWarning$2(_s5_, _s6_), A._function12("fade-out", _s15_, new A.global_closure77()).withDeprecationWarning$2(_s5_, _s6_), A.BuiltInCallable$overloadedFunction0("alpha", A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.global_closure78(), "$args...", new A.global_closure79()], t1, t2)), A._function12("opacity", "$color", new A.global_closure80()), A._function12(_s5_, "$description", new A.global_closure81()), A._function12("hwb", _s9_, new A.global_closure82()), A._function12("lab", _s9_, new A.global_closure83()), A._function12("lch", _s9_, new A.global_closure84()), A._function12("oklab", _s9_, new A.global_closure85()), A._function12("oklch", _s9_, new A.global_closure86()), $.$get$_complement0().withDeprecationWarning$1(_s5_), $.$get$_ieHexStr0(), $.$get$_adjust0().withDeprecationWarning$1(_s5_).withName$1("adjust-color"), $.$get$_scale0().withDeprecationWarning$1(_s5_).withName$1("scale-color"), $.$get$_change0().withDeprecationWarning$1(_s5_).withName$1("change-color")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); }); _lazyFinal($, "module5", "$get$module5", () => { - var _s9_ = "lightness", + var _null = null, _s10_ = "saturation", + _s9_ = "lightness", _s6_ = "$color", _s5_ = "alpha", + _s30_ = "$color, $channel, $space: null", t1 = type$.String, t2 = type$.Value_Function_List_Value_2; - return A.BuiltInModule$0("color", A._setArrayType([$.$get$_red0(), $.$get$_green0(), $.$get$_blue0(), $.$get$_mix0(), A._function11("invert", "$color, $weight: 100%", new A.module_closure12()), $.$get$_hue0(), $.$get$_saturation0(), $.$get$_lightness0(), $.$get$_complement0(), A._removedColorFunction0("adjust-hue", "hue", false), A._removedColorFunction0("lighten", _s9_, false), A._removedColorFunction0("darken", _s9_, true), A._removedColorFunction0("saturate", _s10_, false), A._removedColorFunction0("desaturate", _s10_, true), A._function11("grayscale", _s6_, new A.module_closure13()), A.BuiltInCallable$overloadedFunction0("hwb", A.LinkedHashMap_LinkedHashMap$_literal(["$hue, $whiteness, $blackness, $alpha: 1", new A.module_closure14(), "$channels", new A.module_closure15()], t1, t2)), A._function11("whiteness", _s6_, new A.module_closure16()), A._function11("blackness", _s6_, new A.module_closure17()), A._removedColorFunction0("opacify", _s5_, false), A._removedColorFunction0("fade-in", _s5_, false), A._removedColorFunction0("transparentize", _s5_, true), A._removedColorFunction0("fade-out", _s5_, true), A.BuiltInCallable$overloadedFunction0(_s5_, A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.module_closure18(), "$args...", new A.module_closure19()], t1, t2)), A._function11("opacity", _s6_, new A.module_closure20()), $.$get$_adjust0(), $.$get$_scale0(), $.$get$_change0(), $.$get$_ieHexStr0()], type$.JSArray_Callable_2), null, null, type$.Callable_2); + return A.BuiltInModule$0("color", A._setArrayType([A._channelFunction0("red", B.RgbColorSpace_mlz0, new A.module_closure27(), false, _null), A._channelFunction0("green", B.RgbColorSpace_mlz0, new A.module_closure28(), false, _null), A._channelFunction0("blue", B.RgbColorSpace_mlz0, new A.module_closure29(), false, _null), $.$get$_mix0(), A._function12("invert", "$color, $weight: 100%, $space: null", new A.module_closure30()), A._channelFunction0("hue", B.HslColorSpace_gsm0, new A.module_closure31(), false, "deg"), A._channelFunction0(_s10_, B.HslColorSpace_gsm0, new A.module_closure32(), false, "%"), A._channelFunction0(_s9_, B.HslColorSpace_gsm0, new A.module_closure33(), false, "%"), A._removedColorFunction0("adjust-hue", "hue", false), A._removedColorFunction0("lighten", _s9_, false), A._removedColorFunction0("darken", _s9_, true), A._removedColorFunction0("saturate", _s10_, false), A._removedColorFunction0("desaturate", _s10_, true), A._function12("grayscale", _s6_, new A.module_closure34()), A.BuiltInCallable$overloadedFunction0("hwb", A.LinkedHashMap_LinkedHashMap$_literal(["$hue, $whiteness, $blackness, $alpha: 1", new A.module_closure35(), "$channels", new A.module_closure36()], t1, t2)), A._channelFunction0("whiteness", B.HwbColorSpace_06z0, new A.module_closure37(), false, "%"), A._channelFunction0("blackness", B.HwbColorSpace_06z0, new A.module_closure38(), false, "%"), A._removedColorFunction0("opacify", _s5_, false), A._removedColorFunction0("fade-in", _s5_, false), A._removedColorFunction0("transparentize", _s5_, true), A._removedColorFunction0("fade-out", _s5_, true), A.BuiltInCallable$overloadedFunction0(_s5_, A.LinkedHashMap_LinkedHashMap$_literal(["$color", new A.module_closure39(), "$args...", new A.module_closure40()], t1, t2)), A._function12("opacity", _s6_, new A.module_closure41()), A._function12("space", _s6_, new A.module_closure42()), A._function12("to-space", "$color, $space", new A.module_closure43()), A._function12("is-legacy", _s6_, new A.module_closure44()), A._function12("is-missing", "$color, $channel", new A.module_closure45()), A._function12("is-in-gamut", "$color, $space: null", new A.module_closure46()), A._function12("to-gamut", "$color, $space: null, $method: null", new A.module_closure47()), A._function12("channel", _s30_, new A.module_closure48()), A._function12("same", "$color1, $color2", new A.module_closure49()), A._function12("is-powerless", _s30_, new A.module_closure50()), $.$get$_complement0(), $.$get$_adjust0(), $.$get$_scale0(), $.$get$_change0(), $.$get$_ieHexStr0()], type$.JSArray_Callable_2), _null, _null, type$.Callable_2); }); - _lazyFinal($, "_red0", "$get$_red0", () => A._function11("red", "$color", new A._red_closure0())); - _lazyFinal($, "_green0", "$get$_green0", () => A._function11("green", "$color", new A._green_closure0())); - _lazyFinal($, "_blue0", "$get$_blue0", () => A._function11("blue", "$color", new A._blue_closure0())); - _lazyFinal($, "_mix0", "$get$_mix0", () => A._function11("mix", "$color1, $color2, $weight: 50%", new A._mix_closure0())); - _lazyFinal($, "_hue0", "$get$_hue0", () => A._function11("hue", "$color", new A._hue_closure0())); - _lazyFinal($, "_saturation0", "$get$_saturation0", () => A._function11("saturation", "$color", new A._saturation_closure0())); - _lazyFinal($, "_lightness0", "$get$_lightness0", () => A._function11("lightness", "$color", new A._lightness_closure0())); - _lazyFinal($, "_complement0", "$get$_complement0", () => A._function11("complement", "$color", new A._complement_closure0())); - _lazyFinal($, "_adjust0", "$get$_adjust0", () => A._function11("adjust", "$color, $kwargs...", new A._adjust_closure0())); - _lazyFinal($, "_scale0", "$get$_scale0", () => A._function11("scale", "$color, $kwargs...", new A._scale_closure0())); - _lazyFinal($, "_change0", "$get$_change0", () => A._function11("change", "$color, $kwargs...", new A._change_closure0())); - _lazyFinal($, "_ieHexStr0", "$get$_ieHexStr0", () => A._function11("ie-hex-str", "$color", new A._ieHexStr_closure0())); + _lazyFinal($, "_mix0", "$get$_mix0", () => A._function12("mix", string$.x24color, new A._mix_closure0())); + _lazyFinal($, "_complement0", "$get$_complement0", () => A._function12("complement", "$color, $space: null", new A._complement_closure0())); + _lazyFinal($, "_adjust0", "$get$_adjust0", () => A._function12("adjust", "$color, $kwargs...", new A._adjust_closure0())); + _lazyFinal($, "_scale0", "$get$_scale0", () => A._function12("scale", "$color, $kwargs...", new A._scale_closure0())); + _lazyFinal($, "_change0", "$get$_change0", () => A._function12("change", "$color, $kwargs...", new A._change_closure0())); + _lazyFinal($, "_ieHexStr0", "$get$_ieHexStr0", () => A._function12("ie-hex-str", "$color", new A._ieHexStr_closure0())); _lazyFinal($, "colorClass", "$get$colorClass", () => new A.colorClass_closure().call$0()); _lazyFinal($, "legacyColorClass", "$get$legacyColorClass", () => { var t1 = A.createJSClass("sass.types.Color", new A.legacyColorClass_closure()); A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getR", new A.legacyColorClass_closure0(), "getG", new A.legacyColorClass_closure1(), "getB", new A.legacyColorClass_closure2(), "getA", new A.legacyColorClass_closure3(), "setR", new A.legacyColorClass_closure4(), "setG", new A.legacyColorClass_closure5(), "setB", new A.legacyColorClass_closure6(), "setA", new A.legacyColorClass_closure7()], type$.String, type$.Function)); return t1; }); - _lazyFinal($, "colorsByName0", "$get$colorsByName0", () => A.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", A.SassColor$rgb0(154, 205, 50, 1), "yellow", A.SassColor$rgb0(255, 255, 0, 1), "whitesmoke", A.SassColor$rgb0(245, 245, 245, 1), "white", A.SassColor$rgb0(255, 255, 255, 1), "wheat", A.SassColor$rgb0(245, 222, 179, 1), "violet", A.SassColor$rgb0(238, 130, 238, 1), "turquoise", A.SassColor$rgb0(64, 224, 208, 1), "transparent", A.SassColor$rgb0(0, 0, 0, 0), "tomato", A.SassColor$rgb0(255, 99, 71, 1), "thistle", A.SassColor$rgb0(216, 191, 216, 1), "teal", A.SassColor$rgb0(0, 128, 128, 1), "tan", A.SassColor$rgb0(210, 180, 140, 1), "steelblue", A.SassColor$rgb0(70, 130, 180, 1), "springgreen", A.SassColor$rgb0(0, 255, 127, 1), "snow", A.SassColor$rgb0(255, 250, 250, 1), "slategrey", A.SassColor$rgb0(112, 128, 144, 1), "slategray", A.SassColor$rgb0(112, 128, 144, 1), "slateblue", A.SassColor$rgb0(106, 90, 205, 1), "skyblue", A.SassColor$rgb0(135, 206, 235, 1), "silver", A.SassColor$rgb0(192, 192, 192, 1), "sienna", A.SassColor$rgb0(160, 82, 45, 1), "seashell", A.SassColor$rgb0(255, 245, 238, 1), "seagreen", A.SassColor$rgb0(46, 139, 87, 1), "sandybrown", A.SassColor$rgb0(244, 164, 96, 1), "salmon", A.SassColor$rgb0(250, 128, 114, 1), "saddlebrown", A.SassColor$rgb0(139, 69, 19, 1), "royalblue", A.SassColor$rgb0(65, 105, 225, 1), "rosybrown", A.SassColor$rgb0(188, 143, 143, 1), "red", A.SassColor$rgb0(255, 0, 0, 1), "rebeccapurple", A.SassColor$rgb0(102, 51, 153, 1), "purple", A.SassColor$rgb0(128, 0, 128, 1), "powderblue", A.SassColor$rgb0(176, 224, 230, 1), "plum", A.SassColor$rgb0(221, 160, 221, 1), "pink", A.SassColor$rgb0(255, 192, 203, 1), "peru", A.SassColor$rgb0(205, 133, 63, 1), "peachpuff", A.SassColor$rgb0(255, 218, 185, 1), "papayawhip", A.SassColor$rgb0(255, 239, 213, 1), "palevioletred", A.SassColor$rgb0(219, 112, 147, 1), "paleturquoise", A.SassColor$rgb0(175, 238, 238, 1), "palegreen", A.SassColor$rgb0(152, 251, 152, 1), "palegoldenrod", A.SassColor$rgb0(238, 232, 170, 1), "orchid", A.SassColor$rgb0(218, 112, 214, 1), "orangered", A.SassColor$rgb0(255, 69, 0, 1), "orange", A.SassColor$rgb0(255, 165, 0, 1), "olivedrab", A.SassColor$rgb0(107, 142, 35, 1), "olive", A.SassColor$rgb0(128, 128, 0, 1), "oldlace", A.SassColor$rgb0(253, 245, 230, 1), "navy", A.SassColor$rgb0(0, 0, 128, 1), "navajowhite", A.SassColor$rgb0(255, 222, 173, 1), "moccasin", A.SassColor$rgb0(255, 228, 181, 1), "mistyrose", A.SassColor$rgb0(255, 228, 225, 1), "mintcream", A.SassColor$rgb0(245, 255, 250, 1), "midnightblue", A.SassColor$rgb0(25, 25, 112, 1), "mediumvioletred", A.SassColor$rgb0(199, 21, 133, 1), "mediumturquoise", A.SassColor$rgb0(72, 209, 204, 1), "mediumspringgreen", A.SassColor$rgb0(0, 250, 154, 1), "mediumslateblue", A.SassColor$rgb0(123, 104, 238, 1), "mediumseagreen", A.SassColor$rgb0(60, 179, 113, 1), "mediumpurple", A.SassColor$rgb0(147, 112, 219, 1), "mediumorchid", A.SassColor$rgb0(186, 85, 211, 1), "mediumblue", A.SassColor$rgb0(0, 0, 205, 1), "mediumaquamarine", A.SassColor$rgb0(102, 205, 170, 1), "maroon", A.SassColor$rgb0(128, 0, 0, 1), "magenta", A.SassColor$rgb0(255, 0, 255, 1), "linen", A.SassColor$rgb0(250, 240, 230, 1), "limegreen", A.SassColor$rgb0(50, 205, 50, 1), "lime", A.SassColor$rgb0(0, 255, 0, 1), "lightyellow", A.SassColor$rgb0(255, 255, 224, 1), "lightsteelblue", A.SassColor$rgb0(176, 196, 222, 1), "lightslategrey", A.SassColor$rgb0(119, 136, 153, 1), "lightslategray", A.SassColor$rgb0(119, 136, 153, 1), "lightskyblue", A.SassColor$rgb0(135, 206, 250, 1), "lightseagreen", A.SassColor$rgb0(32, 178, 170, 1), "lightsalmon", A.SassColor$rgb0(255, 160, 122, 1), "lightpink", A.SassColor$rgb0(255, 182, 193, 1), "lightgrey", A.SassColor$rgb0(211, 211, 211, 1), "lightgreen", A.SassColor$rgb0(144, 238, 144, 1), "lightgray", A.SassColor$rgb0(211, 211, 211, 1), "lightgoldenrodyellow", A.SassColor$rgb0(250, 250, 210, 1), "lightcyan", A.SassColor$rgb0(224, 255, 255, 1), "lightcoral", A.SassColor$rgb0(240, 128, 128, 1), "lightblue", A.SassColor$rgb0(173, 216, 230, 1), "lemonchiffon", A.SassColor$rgb0(255, 250, 205, 1), "lawngreen", A.SassColor$rgb0(124, 252, 0, 1), "lavenderblush", A.SassColor$rgb0(255, 240, 245, 1), "lavender", A.SassColor$rgb0(230, 230, 250, 1), "khaki", A.SassColor$rgb0(240, 230, 140, 1), "ivory", A.SassColor$rgb0(255, 255, 240, 1), "indigo", A.SassColor$rgb0(75, 0, 130, 1), "indianred", A.SassColor$rgb0(205, 92, 92, 1), "hotpink", A.SassColor$rgb0(255, 105, 180, 1), "honeydew", A.SassColor$rgb0(240, 255, 240, 1), "grey", A.SassColor$rgb0(128, 128, 128, 1), "greenyellow", A.SassColor$rgb0(173, 255, 47, 1), "green", A.SassColor$rgb0(0, 128, 0, 1), "gray", A.SassColor$rgb0(128, 128, 128, 1), "goldenrod", A.SassColor$rgb0(218, 165, 32, 1), "gold", A.SassColor$rgb0(255, 215, 0, 1), "ghostwhite", A.SassColor$rgb0(248, 248, 255, 1), "gainsboro", A.SassColor$rgb0(220, 220, 220, 1), "fuchsia", A.SassColor$rgb0(255, 0, 255, 1), "forestgreen", A.SassColor$rgb0(34, 139, 34, 1), "floralwhite", A.SassColor$rgb0(255, 250, 240, 1), "firebrick", A.SassColor$rgb0(178, 34, 34, 1), "dodgerblue", A.SassColor$rgb0(30, 144, 255, 1), "dimgrey", A.SassColor$rgb0(105, 105, 105, 1), "dimgray", A.SassColor$rgb0(105, 105, 105, 1), "deepskyblue", A.SassColor$rgb0(0, 191, 255, 1), "deeppink", A.SassColor$rgb0(255, 20, 147, 1), "darkviolet", A.SassColor$rgb0(148, 0, 211, 1), "darkturquoise", A.SassColor$rgb0(0, 206, 209, 1), "darkslategrey", A.SassColor$rgb0(47, 79, 79, 1), "darkslategray", A.SassColor$rgb0(47, 79, 79, 1), "darkslateblue", A.SassColor$rgb0(72, 61, 139, 1), "darkseagreen", A.SassColor$rgb0(143, 188, 143, 1), "darksalmon", A.SassColor$rgb0(233, 150, 122, 1), "darkred", A.SassColor$rgb0(139, 0, 0, 1), "darkorchid", A.SassColor$rgb0(153, 50, 204, 1), "darkorange", A.SassColor$rgb0(255, 140, 0, 1), "darkolivegreen", A.SassColor$rgb0(85, 107, 47, 1), "darkmagenta", A.SassColor$rgb0(139, 0, 139, 1), "darkkhaki", A.SassColor$rgb0(189, 183, 107, 1), "darkgrey", A.SassColor$rgb0(169, 169, 169, 1), "darkgreen", A.SassColor$rgb0(0, 100, 0, 1), "darkgray", A.SassColor$rgb0(169, 169, 169, 1), "darkgoldenrod", A.SassColor$rgb0(184, 134, 11, 1), "darkcyan", A.SassColor$rgb0(0, 139, 139, 1), "darkblue", A.SassColor$rgb0(0, 0, 139, 1), "cyan", A.SassColor$rgb0(0, 255, 255, 1), "crimson", A.SassColor$rgb0(220, 20, 60, 1), "cornsilk", A.SassColor$rgb0(255, 248, 220, 1), "cornflowerblue", A.SassColor$rgb0(100, 149, 237, 1), "coral", A.SassColor$rgb0(255, 127, 80, 1), "chocolate", A.SassColor$rgb0(210, 105, 30, 1), "chartreuse", A.SassColor$rgb0(127, 255, 0, 1), "cadetblue", A.SassColor$rgb0(95, 158, 160, 1), "burlywood", A.SassColor$rgb0(222, 184, 135, 1), "brown", A.SassColor$rgb0(165, 42, 42, 1), "blueviolet", A.SassColor$rgb0(138, 43, 226, 1), "blue", A.SassColor$rgb0(0, 0, 255, 1), "blanchedalmond", A.SassColor$rgb0(255, 235, 205, 1), "black", A.SassColor$rgb0(0, 0, 0, 1), "bisque", A.SassColor$rgb0(255, 228, 196, 1), "beige", A.SassColor$rgb0(245, 245, 220, 1), "azure", A.SassColor$rgb0(240, 255, 255, 1), "aquamarine", A.SassColor$rgb0(127, 255, 212, 1), "aqua", A.SassColor$rgb0(0, 255, 255, 1), "antiquewhite", A.SassColor$rgb0(250, 235, 215, 1), "aliceblue", A.SassColor$rgb0(240, 248, 255, 1)], type$.String, type$.SassColor_2)); + _lazyFinal($, "colorsByName0", "$get$colorsByName0", () => A.LinkedHashMap_LinkedHashMap$_literal(["yellowgreen", A.SassColor_SassColor$rgb0(154, 205, 50, 1), "yellow", A.SassColor_SassColor$rgb0(255, 255, 0, 1), "whitesmoke", A.SassColor_SassColor$rgb0(245, 245, 245, 1), "white", A.SassColor_SassColor$rgb0(255, 255, 255, 1), "wheat", A.SassColor_SassColor$rgb0(245, 222, 179, 1), "violet", A.SassColor_SassColor$rgb0(238, 130, 238, 1), "turquoise", A.SassColor_SassColor$rgb0(64, 224, 208, 1), "transparent", A.SassColor_SassColor$rgb0(0, 0, 0, 0), "tomato", A.SassColor_SassColor$rgb0(255, 99, 71, 1), "thistle", A.SassColor_SassColor$rgb0(216, 191, 216, 1), "teal", A.SassColor_SassColor$rgb0(0, 128, 128, 1), "tan", A.SassColor_SassColor$rgb0(210, 180, 140, 1), "steelblue", A.SassColor_SassColor$rgb0(70, 130, 180, 1), "springgreen", A.SassColor_SassColor$rgb0(0, 255, 127, 1), "snow", A.SassColor_SassColor$rgb0(255, 250, 250, 1), "slategrey", A.SassColor_SassColor$rgb0(112, 128, 144, 1), "slategray", A.SassColor_SassColor$rgb0(112, 128, 144, 1), "slateblue", A.SassColor_SassColor$rgb0(106, 90, 205, 1), "skyblue", A.SassColor_SassColor$rgb0(135, 206, 235, 1), "silver", A.SassColor_SassColor$rgb0(192, 192, 192, 1), "sienna", A.SassColor_SassColor$rgb0(160, 82, 45, 1), "seashell", A.SassColor_SassColor$rgb0(255, 245, 238, 1), "seagreen", A.SassColor_SassColor$rgb0(46, 139, 87, 1), "sandybrown", A.SassColor_SassColor$rgb0(244, 164, 96, 1), "salmon", A.SassColor_SassColor$rgb0(250, 128, 114, 1), "saddlebrown", A.SassColor_SassColor$rgb0(139, 69, 19, 1), "royalblue", A.SassColor_SassColor$rgb0(65, 105, 225, 1), "rosybrown", A.SassColor_SassColor$rgb0(188, 143, 143, 1), "red", A.SassColor_SassColor$rgb0(255, 0, 0, 1), "rebeccapurple", A.SassColor_SassColor$rgb0(102, 51, 153, 1), "purple", A.SassColor_SassColor$rgb0(128, 0, 128, 1), "powderblue", A.SassColor_SassColor$rgb0(176, 224, 230, 1), "plum", A.SassColor_SassColor$rgb0(221, 160, 221, 1), "pink", A.SassColor_SassColor$rgb0(255, 192, 203, 1), "peru", A.SassColor_SassColor$rgb0(205, 133, 63, 1), "peachpuff", A.SassColor_SassColor$rgb0(255, 218, 185, 1), "papayawhip", A.SassColor_SassColor$rgb0(255, 239, 213, 1), "palevioletred", A.SassColor_SassColor$rgb0(219, 112, 147, 1), "paleturquoise", A.SassColor_SassColor$rgb0(175, 238, 238, 1), "palegreen", A.SassColor_SassColor$rgb0(152, 251, 152, 1), "palegoldenrod", A.SassColor_SassColor$rgb0(238, 232, 170, 1), "orchid", A.SassColor_SassColor$rgb0(218, 112, 214, 1), "orangered", A.SassColor_SassColor$rgb0(255, 69, 0, 1), "orange", A.SassColor_SassColor$rgb0(255, 165, 0, 1), "olivedrab", A.SassColor_SassColor$rgb0(107, 142, 35, 1), "olive", A.SassColor_SassColor$rgb0(128, 128, 0, 1), "oldlace", A.SassColor_SassColor$rgb0(253, 245, 230, 1), "navy", A.SassColor_SassColor$rgb0(0, 0, 128, 1), "navajowhite", A.SassColor_SassColor$rgb0(255, 222, 173, 1), "moccasin", A.SassColor_SassColor$rgb0(255, 228, 181, 1), "mistyrose", A.SassColor_SassColor$rgb0(255, 228, 225, 1), "mintcream", A.SassColor_SassColor$rgb0(245, 255, 250, 1), "midnightblue", A.SassColor_SassColor$rgb0(25, 25, 112, 1), "mediumvioletred", A.SassColor_SassColor$rgb0(199, 21, 133, 1), "mediumturquoise", A.SassColor_SassColor$rgb0(72, 209, 204, 1), "mediumspringgreen", A.SassColor_SassColor$rgb0(0, 250, 154, 1), "mediumslateblue", A.SassColor_SassColor$rgb0(123, 104, 238, 1), "mediumseagreen", A.SassColor_SassColor$rgb0(60, 179, 113, 1), "mediumpurple", A.SassColor_SassColor$rgb0(147, 112, 219, 1), "mediumorchid", A.SassColor_SassColor$rgb0(186, 85, 211, 1), "mediumblue", A.SassColor_SassColor$rgb0(0, 0, 205, 1), "mediumaquamarine", A.SassColor_SassColor$rgb0(102, 205, 170, 1), "maroon", A.SassColor_SassColor$rgb0(128, 0, 0, 1), "magenta", A.SassColor_SassColor$rgb0(255, 0, 255, 1), "linen", A.SassColor_SassColor$rgb0(250, 240, 230, 1), "limegreen", A.SassColor_SassColor$rgb0(50, 205, 50, 1), "lime", A.SassColor_SassColor$rgb0(0, 255, 0, 1), "lightyellow", A.SassColor_SassColor$rgb0(255, 255, 224, 1), "lightsteelblue", A.SassColor_SassColor$rgb0(176, 196, 222, 1), "lightslategrey", A.SassColor_SassColor$rgb0(119, 136, 153, 1), "lightslategray", A.SassColor_SassColor$rgb0(119, 136, 153, 1), "lightskyblue", A.SassColor_SassColor$rgb0(135, 206, 250, 1), "lightseagreen", A.SassColor_SassColor$rgb0(32, 178, 170, 1), "lightsalmon", A.SassColor_SassColor$rgb0(255, 160, 122, 1), "lightpink", A.SassColor_SassColor$rgb0(255, 182, 193, 1), "lightgrey", A.SassColor_SassColor$rgb0(211, 211, 211, 1), "lightgreen", A.SassColor_SassColor$rgb0(144, 238, 144, 1), "lightgray", A.SassColor_SassColor$rgb0(211, 211, 211, 1), "lightgoldenrodyellow", A.SassColor_SassColor$rgb0(250, 250, 210, 1), "lightcyan", A.SassColor_SassColor$rgb0(224, 255, 255, 1), "lightcoral", A.SassColor_SassColor$rgb0(240, 128, 128, 1), "lightblue", A.SassColor_SassColor$rgb0(173, 216, 230, 1), "lemonchiffon", A.SassColor_SassColor$rgb0(255, 250, 205, 1), "lawngreen", A.SassColor_SassColor$rgb0(124, 252, 0, 1), "lavenderblush", A.SassColor_SassColor$rgb0(255, 240, 245, 1), "lavender", A.SassColor_SassColor$rgb0(230, 230, 250, 1), "khaki", A.SassColor_SassColor$rgb0(240, 230, 140, 1), "ivory", A.SassColor_SassColor$rgb0(255, 255, 240, 1), "indigo", A.SassColor_SassColor$rgb0(75, 0, 130, 1), "indianred", A.SassColor_SassColor$rgb0(205, 92, 92, 1), "hotpink", A.SassColor_SassColor$rgb0(255, 105, 180, 1), "honeydew", A.SassColor_SassColor$rgb0(240, 255, 240, 1), "grey", A.SassColor_SassColor$rgb0(128, 128, 128, 1), "greenyellow", A.SassColor_SassColor$rgb0(173, 255, 47, 1), "green", A.SassColor_SassColor$rgb0(0, 128, 0, 1), "gray", A.SassColor_SassColor$rgb0(128, 128, 128, 1), "goldenrod", A.SassColor_SassColor$rgb0(218, 165, 32, 1), "gold", A.SassColor_SassColor$rgb0(255, 215, 0, 1), "ghostwhite", A.SassColor_SassColor$rgb0(248, 248, 255, 1), "gainsboro", A.SassColor_SassColor$rgb0(220, 220, 220, 1), "fuchsia", A.SassColor_SassColor$rgb0(255, 0, 255, 1), "forestgreen", A.SassColor_SassColor$rgb0(34, 139, 34, 1), "floralwhite", A.SassColor_SassColor$rgb0(255, 250, 240, 1), "firebrick", A.SassColor_SassColor$rgb0(178, 34, 34, 1), "dodgerblue", A.SassColor_SassColor$rgb0(30, 144, 255, 1), "dimgrey", A.SassColor_SassColor$rgb0(105, 105, 105, 1), "dimgray", A.SassColor_SassColor$rgb0(105, 105, 105, 1), "deepskyblue", A.SassColor_SassColor$rgb0(0, 191, 255, 1), "deeppink", A.SassColor_SassColor$rgb0(255, 20, 147, 1), "darkviolet", A.SassColor_SassColor$rgb0(148, 0, 211, 1), "darkturquoise", A.SassColor_SassColor$rgb0(0, 206, 209, 1), "darkslategrey", A.SassColor_SassColor$rgb0(47, 79, 79, 1), "darkslategray", A.SassColor_SassColor$rgb0(47, 79, 79, 1), "darkslateblue", A.SassColor_SassColor$rgb0(72, 61, 139, 1), "darkseagreen", A.SassColor_SassColor$rgb0(143, 188, 143, 1), "darksalmon", A.SassColor_SassColor$rgb0(233, 150, 122, 1), "darkred", A.SassColor_SassColor$rgb0(139, 0, 0, 1), "darkorchid", A.SassColor_SassColor$rgb0(153, 50, 204, 1), "darkorange", A.SassColor_SassColor$rgb0(255, 140, 0, 1), "darkolivegreen", A.SassColor_SassColor$rgb0(85, 107, 47, 1), "darkmagenta", A.SassColor_SassColor$rgb0(139, 0, 139, 1), "darkkhaki", A.SassColor_SassColor$rgb0(189, 183, 107, 1), "darkgrey", A.SassColor_SassColor$rgb0(169, 169, 169, 1), "darkgreen", A.SassColor_SassColor$rgb0(0, 100, 0, 1), "darkgray", A.SassColor_SassColor$rgb0(169, 169, 169, 1), "darkgoldenrod", A.SassColor_SassColor$rgb0(184, 134, 11, 1), "darkcyan", A.SassColor_SassColor$rgb0(0, 139, 139, 1), "darkblue", A.SassColor_SassColor$rgb0(0, 0, 139, 1), "cyan", A.SassColor_SassColor$rgb0(0, 255, 255, 1), "crimson", A.SassColor_SassColor$rgb0(220, 20, 60, 1), "cornsilk", A.SassColor_SassColor$rgb0(255, 248, 220, 1), "cornflowerblue", A.SassColor_SassColor$rgb0(100, 149, 237, 1), "coral", A.SassColor_SassColor$rgb0(255, 127, 80, 1), "chocolate", A.SassColor_SassColor$rgb0(210, 105, 30, 1), "chartreuse", A.SassColor_SassColor$rgb0(127, 255, 0, 1), "cadetblue", A.SassColor_SassColor$rgb0(95, 158, 160, 1), "burlywood", A.SassColor_SassColor$rgb0(222, 184, 135, 1), "brown", A.SassColor_SassColor$rgb0(165, 42, 42, 1), "blueviolet", A.SassColor_SassColor$rgb0(138, 43, 226, 1), "blue", A.SassColor_SassColor$rgb0(0, 0, 255, 1), "blanchedalmond", A.SassColor_SassColor$rgb0(255, 235, 205, 1), "black", A.SassColor_SassColor$rgb0(0, 0, 0, 1), "bisque", A.SassColor_SassColor$rgb0(255, 228, 196, 1), "beige", A.SassColor_SassColor$rgb0(245, 245, 220, 1), "azure", A.SassColor_SassColor$rgb0(240, 255, 255, 1), "aquamarine", A.SassColor_SassColor$rgb0(127, 255, 212, 1), "aqua", A.SassColor_SassColor$rgb0(0, 255, 255, 1), "antiquewhite", A.SassColor_SassColor$rgb0(250, 235, 215, 1), "aliceblue", A.SassColor_SassColor$rgb0(240, 248, 255, 1)], type$.String, type$.SassColor_2)); _lazyFinal($, "namesByColor0", "$get$namesByColor0", () => { var $name, t1 = type$.SassColor_2, @@ -118062,6 +126493,64 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "nodePackageImporterClass", "$get$nodePackageImporterClass", () => new A.nodePackageImporterClass_closure().call$0()); _lazyFinal($, "compilerClass", "$get$compilerClass", () => new A.compilerClass_closure().call$0()); _lazyFinal($, "asyncCompilerClass", "$get$asyncCompilerClass", () => new A.asyncCompilerClass_closure().call$0()); + _lazyFinal($, "lmsToOklab0", "$get$lmsToOklab0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.210454268309314, 0.7936177747023054, -0.0040720430116193, 1.9779985324311684, -2.42859224204858, 0.450593709617411, 0.0259040424655478, 0.7827717124575296, -0.8086757549230774], type$.JSArray_double))); + _lazyFinal($, "oklabToLms0", "$get$oklabToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.0000000000000002, 0.3963377773761749, 0.2158037573099136, 0.9999999999999998, -0.10556134581565854, -0.06385417282581334, 0.9999999999999999, -0.0894841775298118, -1.2914855480194094], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearDisplayP30", "$get$linearSrgbToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8224619687143623, 0.17753803128563775, 0, 0.03319419885096161, 0.9668058011490384, 0, 0.01708263072112003, 0.07239744066396346, 0.9105199286149165], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearSrgb0", "$get$linearDisplayP3ToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.2249401762805598, -0.22494017628055996, 0, -0.04205695470968816, 1.042056954709688, 0, -0.01963755459033443, -0.07863604555063188, 1.0982736001409663], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearA98Rgb0", "$get$linearSrgbToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7151256068556247, 0.28487439314437535, 0, 0, 1, 0, 0, 0.04116194845011846, 0.9588380515498816], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearSrgb0", "$get$linearA98RgbToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.3983557439607783, -0.3983557439607783, 0, 0, 1, 0, 0, -0.04292898929447326, 1.0429289892944733], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearRec20200", "$get$linearSrgbToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.627403895934699, 0.3292830383778837, 0.04331306568741722, 0.06909728935823208, 0.9195403950754587, 0.01136231556630917, 0.01639143887515027, 0.08801330787722575, 0.895595253247624], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearSrgb0", "$get$linearRec2020ToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.6604910021084345, -0.5876411387885495, -0.07284986331988487, -0.12455047452159074, 1.1328998971259603, -0.00834942260436947, -0.0181507633549053, -0.10057889800800737, 1.1187296613629127], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToXyzD650", "$get$linearSrgbToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.4123907992659595, 0.35758433938387796, 0.1804807884018343, 0.21263900587151036, 0.7151686787677559, 0.07219231536073371, 0.01933081871559185, 0.11919477979462598, 0.9505321522496606], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearSrgb0", "$get$xyzD65ToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([3.2409699419045213, -1.5373831775700935, -0.4986107602930033, -0.9692436362808798, 1.8759675015077206, 0.04155505740717561, 0.0556300796969936, -0.20397695888897657, 1.0569715142428786], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLms0", "$get$linearSrgbToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.412221469470763, 0.5363325372617348, 0.0514459932675022, 0.2119034958178252, 0.6806995506452342, 0.1073969535369405, 0.08830245919005641, 0.2817188391361215, 0.6299787016738221], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearSrgb0", "$get$lmsToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([4.076741636075958, -3.307711539258062, 0.23096990318210417, -1.268437973285032, 2.609757349287689, -0.3413193760026571, -0.00419607613867551, -0.7034186179359363, 1.707614694074612], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToLinearProphotoRgb0", "$get$linearSrgbToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.5292769776226116, 0.33015450197849283, 0.14056852039889556, 0.09836585954044917, 0.8734707129069618, 0.028163427552589, 0.01687534092138684, 0.11765941425612084, 0.8654652448224923], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearSrgb0", "$get$linearProphotoRgbToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.034380849516996, -0.7276357899341342, -0.3067450595828618, -0.22882573163305037, 1.2317425411901048, -0.00291680955705449, -0.00855882878391742, -0.1532667021380372, 1.1618255309219547], type$.JSArray_double))); + _lazyFinal($, "linearSrgbToXyzD500", "$get$linearSrgbToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.43606574687426936, 0.3851515095901596, 0.14307841996513868, 0.22249317711056518, 0.7168870130944824, 0.06061980979495235, 0.01392392146316939, 0.09708132423141015, 0.7140993568158807], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearSrgb0", "$get$xyzD50ToLinearSrgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([3.1341358529001178, -1.617385998018042, -0.49066221791109754, -0.9787954765557777, 1.9162543773959884, 0.03344287339036693, 0.07195539255794733, -0.228976759815182, 1.4053860351131182], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearA98Rgb0", "$get$linearDisplayP3ToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8640051374740484, 0.13599486252595164, 0, -0.04205695470968816, 1.042056954709688, 0, -0.02056038078232985, -0.03250613804550798, 1.0530665188278379], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearDisplayP30", "$get$linearA98RgbToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.1500944181410184, -0.15009441814101834, 0, 0.04641729862941844, 0.9535827013705815, 0, 0.02388759479083904, 0.02650477632633013, 0.9496076288828308], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearRec20200", "$get$linearDisplayP3ToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7538330343617218, 0.1985973690526163, 0.04756959658566187, 0.04574384896535833, 0.9417772198116935, 0.01247893122294812, -0.00121034035451832, 0.01760171730108989, 0.9836086230534284], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearDisplayP30", "$get$linearRec2020ToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.343578252584332, -0.2821796705261357, -0.06139858205819628, -0.06529745278911953, 1.0757879158485746, -0.01049046305945495, 0.00282178726170095, -0.01959849452449406, 1.0167767072627931], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToXyzD650", "$get$linearDisplayP3ToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.48657094864821626, 0.26566769316909294, 0.1982172852343625, 0.22897456406974884, 0.6917385218365062, 0.079286914093745, 0, 0.04511338185890257, 1.0439443689009757], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearDisplayP30", "$get$xyzD65ToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.4934969119414245, -0.9313836179191236, -0.40271078445071684, -0.8294889695615749, 1.7626640603183468, 0.02362468584194359, 0.03584583024378433, -0.0761723892680417, 0.9568845240076873], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLms0", "$get$linearDisplayP3ToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.48137985274995443, 0.46211837101131803, 0.05650177623872756, 0.22883194181124472, 0.6532168193835676, 0.11795123880518774, 0.08394575232299319, 0.22416527097756642, 0.6918889766994404], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearDisplayP30", "$get$lmsToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([3.1277689713618737, -2.2571357625916386, 0.12936679122976494, -1.0910090184377979, 2.4133317103069225, -0.32232269186912466, -0.02601080193857045, -0.508041331704167, 1.5340521336427373], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToLinearProphotoRgb0", "$get$linearDisplayP3ToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6316869193403589, 0.21393038569465722, 0.1543826949649839, 0.08320371426648458, 0.8858651367630243, 0.03093114897049121, -0.00127273456473881, 0.05075510433665735, 0.9505176302280814], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearDisplayP30", "$get$linearProphotoRgbToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.6325756087069179, -0.3797716184825984, -0.2528039902243195, -0.15370040233755072, 1.1667025472425014, -0.01300214490495082, 0.01039319529676572, -0.0628073126495944, 1.0524141173528287], type$.JSArray_double))); + _lazyFinal($, "linearDisplayP3ToXyzD500", "$get$linearDisplayP3ToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.515146442968116, 0.2920099820638577, 0.15713925139759397, 0.2412003221252552, 0.6922225411313818, 0.06657713674336294, -0.00105013914714014, 0.0418782701890746, 0.7842764714685257], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearDisplayP30", "$get$xyzD50ToLinearDisplayP30", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.4039341218554973, -0.9900304424955931, -0.39761363181465614, -0.8422700161454688, 1.7989580161067082, 0.01604562477090472, 0.04819381686413303, -0.09738519815446048, 1.2736713693321273], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearRec20200", "$get$linearA98RgbToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8773338416636568, 0.07749370651571998, 0.04517245182062317, 0.09662259146620378, 0.8915273202441805, 0.01185008828961569, 0.02292106270284839, 0.04303668501067932, 0.9340422522864723], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearA98Rgb0", "$get$linearRec2020ToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.1519783947159163, -0.0975030553024086, -0.05447533941350766, -0.12455047452159074, 1.1328998971259603, -0.00834942260436947, -0.0225303827810559, -0.04980650742838876, 1.0723368902094446], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToXyzD650", "$get$linearA98RgbToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.5766690429101308, 0.18555823790654627, 0.18822864623499472, 0.29734497525053616, 0.627363566255466, 0.07529145849399789, 0.02703136138641237, 0.07068885253582714, 0.9913375368376389], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearA98Rgb0", "$get$xyzD65ToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.041587903810746, -0.5650069742788596, -0.3447313507783295, -0.9692436362808798, 1.8759675015077206, 0.04155505740717561, 0.01344428063203102, -0.11836239223101823, 1.0151749943912054], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLms0", "$get$linearA98RgbToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.5764322596183941, 0.36991322261987963, 0.05365451776172635, 0.29631647054222465, 0.5916761332521885, 0.11200739620558686, 0.1234782510142776, 0.21949869837199862, 0.6570230506137238], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearA98Rgb0", "$get$lmsToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.5540368386115566, -1.6219761806828699, 0.06793934207131327, -1.268437973285032, 2.609757349287689, -0.3413193760026571, -0.05623473593749381, -0.5670418395669061, 1.6232765755043999], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToLinearProphotoRgb0", "$get$linearA98RgbToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7401175018047792, 0.11327951328898105, 0.1466029849062397, 0.1375504646980262, 0.833077080269484, 0.02937245503248977, 0.02359772990871766, 0.07378347703906656, 0.9026187930522158], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearA98Rgb0", "$get$linearProphotoRgbToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.38965124815152, -0.16945907691487766, -0.22019217123664242, -0.22882573163305037, 1.2317425411901048, -0.00291680955705449, -0.01762544368426068, -0.09625702306122665, 1.1138824667454874], type$.JSArray_double))); + _lazyFinal($, "linearA98RgbToXyzD500", "$get$linearA98RgbToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6097750418861814, 0.20530000261929401, 0.14922063192409227, 0.31112461220464155, 0.6256532308346856, 0.06322215696067286, 0.01947059555648168, 0.06087908649415867, 0.7447549204598198], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearA98Rgb0", "$get$xyzD50ToLinearA98Rgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.9624670363768806, -0.6107423404815073, -0.3413580980827154, -0.9787954765557777, 1.9162543773959884, 0.03344287339036693, 0.02870443944957101, -0.1406748663317068, 1.3489141814137937], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToXyzD650", "$get$linearRec2020ToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6369580483012913, 0.14461690358620838, 0.16888097516417205, 0.26270021201126703, 0.677998071518871, 0.05930171646986194, 0, 0.0280726930490875, 1.0609850577107909], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearRec20200", "$get$xyzD65ToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.7166511879712676, -0.3556707837763924, -0.2533662813736598, -0.666684351832489, 1.616481236634939, 0.01576854581391113, 0.01763985744531091, -0.04277061325780865, 0.942103121235474], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLms0", "$get$linearRec2020ToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.6167557848654444, 0.36019840122646335, 0.02304581390809228, 0.2651330593926367, 0.6358393720678491, 0.09902756853951408, 0.10010262952034828, 0.20390652261661452, 0.6959908478630372], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearRec20200", "$get$lmsToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([2.1399067304346513, -1.246389493760618, 0.10648276332596668, -0.8847358357577674, 2.1632309383612007, -0.2784951026034334, -0.04857374640044396, -0.4545031497140964, 1.5030768961145404], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToLinearProphotoRgb0", "$get$linearRec2020ToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.8351873331297235, 0.04886884858605698, 0.11594381828421951, 0.05403324519953363, 0.9289184085692044, 0.01704834623126199, -0.00234203897072539, 0.03633215316169465, 0.9660098858090307], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLinearRec20200", "$get$linearProphotoRgbToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.200659329517408, -0.05756805370122346, -0.14309127581618444, -0.06994154955888504, 1.080617897597214, -0.01067634803832895, 0.00554147334294746, -0.04078219298657951, 1.035240719643632], type$.JSArray_double))); + _lazyFinal($, "linearRec2020ToXyzD500", "$get$linearRec2020ToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.673515463188276, 0.16569726370390453, 0.12508294953738705, 0.2790590051411206, 0.6753180057491098, 0.04562298910976962, -0.00193242713400438, 0.02997782679282923, 0.7970592028516355], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearRec20200", "$get$xyzD50ToLinearRec20200", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.647184904671766, -0.3936818981316471, -0.23595963848828266, -0.6826641074173818, 1.6477146127444076, 0.01281708338512084, 0.02966887665275675, -0.0629258964297003, 1.2535578201865771], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLms0", "$get$xyzD65ToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.819022437996703, 0.36190626005289034, -0.12887378152098788, 0.03298365393238846, 0.9292868615863433, 0.03614466635064235, 0.0481771893596242, 0.2642395317527308, 0.6335478284694308], type$.JSArray_double))); + _lazyFinal($, "lmsToXyzD650", "$get$lmsToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.2268798758459243, -0.5578149944602171, 0.2813910456659646, -0.04057574521480084, 1.1122868032803173, -0.07171105806551635, -0.07637293667466007, -0.42149333240224324, 1.5869240198367818], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToLinearProphotoRgb0", "$get$xyzD65ToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.4031904633774979, -0.22301514479051668, -0.1016066850741379, -0.5262384021633072, 1.4816319629234644, 0.01701879027252688, -0.0112022652862215, 0.01824640347962099, 0.9112472274915048], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToXyzD650", "$get$linearProphotoRgbToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.755590742296921, 0.11271984265940525, 0.0821453420953454, 0.2683218435785719, 0.7151152566617912, 0.01656289975963685, 0.0039159727624258, -0.01293344283684181, 1.0980752208342945], type$.JSArray_double))); + _lazyFinal($, "xyzD65ToXyzD500", "$get$xyzD65ToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.0479297925449966, 0.02294687060160952, -0.05019226628920519, 0.02962780877005567, 0.99043442675388, -0.01707379906341879, -0.00924304064620452, 0.01505519149029816, 0.751874281428137], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToXyzD650", "$get$xyzD50ToXyzD650", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.9554734214880752, -0.02309845494876452, 0.06325924320057065, -0.02836970933386358, 1.0099953980813041, 0.0210414411919173, 0.01231401486448199, -0.02050764929889898, 1.330365926242124], type$.JSArray_double))); + _lazyFinal($, "lmsToLinearProphotoRgb0", "$get$lmsToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.7383551481157207, -0.9879509427514458, 0.24959579463572504, -0.7070494015329266, 1.9343700444401382, -0.2273206429072115, -0.08407882206239634, -0.35754060521141334, 1.4416194272738097], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToLms0", "$get$linearProphotoRgbToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7154484605655534, 0.35279155007721186, -0.0682400106427653, 0.2744116490015671, 0.6677976498412367, 0.05779070115719616, 0.10978443261622942, 0.18619829115002018, 0.7040172762337504], type$.JSArray_double))); + _lazyFinal($, "lmsToXyzD500", "$get$lmsToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.288586218172706, -0.5378717444973745, 0.2135812027542364, -0.00253387643187372, 1.0923167988719165, -0.08978292244004273, -0.06937382305734124, -0.29500839894431263, 1.1894868245121142], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLms0", "$get$xyzD50ToLms0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7707000420431172, 0.34924840261939616, -0.11202351884164681, 0.00559649248368848, 0.9370723401136769, 0.06972568836252771, 0.04633714262191069, 0.25277531574310524, 0.851458076746796], type$.JSArray_double))); + _lazyFinal($, "linearProphotoRgbToXyzD500", "$get$linearProphotoRgbToXyzD500", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([0.7977666449006423, 0.13518129740053308, 0.0313477341283922, 0.2880748288194013, 0.711835234241873, 0.00008993693872564, 0, 0, 0.8251046025104602], type$.JSArray_double))); + _lazyFinal($, "xyzD50ToLinearProphotoRgb0", "$get$xyzD50ToLinearProphotoRgb0", () => A.NativeFloat64List_NativeFloat64List$fromList(A._setArrayType([1.3457868816471583, -0.25557208737979464, -0.05110186497554526, -0.5446307051249019, 1.5082477428451468, 0.02052744743642139, 0, 0, 1.2119675456389452], type$.JSArray_double))); _lazyFinal($, "_disallowedFunctionNames0", "$get$_disallowedFunctionNames0", () => { var t1 = $.$get$globalFunctions0(); t1 = t1.map$1$1(t1, new A._disallowedFunctionNames_closure0(), type$.String).toSet$0(0); @@ -118084,9 +126573,9 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "deprecations", "$get$deprecations", () => { var _i, deprecation, t2, t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("Deprecation1?")); - for (_i = 0; _i < 18; ++_i) { - deprecation = B.List_jM9[_i]; - if (deprecation !== B.Deprecation_Agq) { + for (_i = 0; _i < 24; ++_i) { + deprecation = B.List_31K[_i]; + if (deprecation !== B.Deprecation_ErI) { t2 = deprecation.id; t1.$indexSet(0, t2, {id: t2, status: new A.deprecations_closure(deprecation).call$0(), description: deprecation.description, deprecatedIn: deprecation.get$deprecatedIn(0), obsoleteIn: deprecation.get$deprecatedIn(0)}); } @@ -118102,85 +126591,107 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "functionClass", "$get$functionClass", () => new A.functionClass_closure().call$0()); _lazyFinal($, "globalFunctions0", "$get$globalFunctions0", () => { var t1 = type$.BuiltInCallable_2, - t2 = A.List_List$of($.$get$global7(), true, t1); + t2 = A.List_List$of($.$get$global6(), true, t1); + B.JSArray_methods.addAll$1(t2, $.$get$global7()); B.JSArray_methods.addAll$1(t2, $.$get$global8()); B.JSArray_methods.addAll$1(t2, $.$get$global9()); B.JSArray_methods.addAll$1(t2, $.$get$global10()); B.JSArray_methods.addAll$1(t2, $.$get$global11()); B.JSArray_methods.addAll$1(t2, $.$get$global12()); - B.JSArray_methods.addAll$1(t2, $.$get$global6()); t2.push(A.BuiltInCallable$function0("if", "$condition, $if-true, $if-false", new A.globalFunctions_closure0(), null)); return A.UnmodifiableListView$(t2, t1); }); _lazyFinal($, "coreModules0", "$get$coreModules0", () => A.UnmodifiableListView$(A._setArrayType([$.$get$module5(), $.$get$module6(), $.$get$module7(), $.$get$module8(), $.$get$module9(), $.$get$module10()], A.findType("JSArray>")), type$.BuiltInModule_Callable_2)); _lazyFinal($, "IfExpression_declaration0", "$get$IfExpression_declaration0", () => A.ArgumentDeclaration_ArgumentDeclaration$parse0(string$.x40funct, null)); - _lazyFinal($, "global7", "$get$global8", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_length2(), $.$get$_nth0(), $.$get$_setNth0(), $.$get$_join0(), $.$get$_append2(), $.$get$_zip0(), $.$get$_index2(), $.$get$_isBracketed0(), $.$get$_separator0().withName$1("list-separator")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); + _lazyFinal($, "global7", "$get$global7", () => { + var _s4_ = "list"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_length2().withDeprecationWarning$1(_s4_), $.$get$_nth0().withDeprecationWarning$1(_s4_), $.$get$_setNth0().withDeprecationWarning$1(_s4_), $.$get$_join0().withDeprecationWarning$1(_s4_), $.$get$_append2().withDeprecationWarning$1(_s4_), $.$get$_zip0().withDeprecationWarning$1(_s4_), $.$get$_index2().withDeprecationWarning$1(_s4_), $.$get$_isBracketed0().withDeprecationWarning$1(_s4_), $.$get$_separator0().withDeprecationWarning$1(_s4_).withName$1("list-separator")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); + }); _lazyFinal($, "module6", "$get$module6", () => A.BuiltInModule$0("list", A._setArrayType([$.$get$_length2(), $.$get$_nth0(), $.$get$_setNth0(), $.$get$_join0(), $.$get$_append2(), $.$get$_zip0(), $.$get$_index2(), $.$get$_isBracketed0(), $.$get$_separator0(), $.$get$_slash0()], type$.JSArray_Callable_2), null, null, type$.Callable_2)); - _lazyFinal($, "_length1", "$get$_length2", () => A._function10("length", "$list", new A._length_closure2())); - _lazyFinal($, "_nth0", "$get$_nth0", () => A._function10("nth", "$list, $n", new A._nth_closure0())); - _lazyFinal($, "_setNth0", "$get$_setNth0", () => A._function10("set-nth", "$list, $n, $value", new A._setNth_closure0())); - _lazyFinal($, "_join0", "$get$_join0", () => A._function10("join", string$.x24list1, new A._join_closure0())); - _lazyFinal($, "_append1", "$get$_append2", () => A._function10("append", "$list, $val, $separator: auto", new A._append_closure2())); - _lazyFinal($, "_zip0", "$get$_zip0", () => A._function10("zip", "$lists...", new A._zip_closure0())); - _lazyFinal($, "_index1", "$get$_index2", () => A._function10("index", "$list, $value", new A._index_closure2())); - _lazyFinal($, "_separator0", "$get$_separator0", () => A._function10("separator", "$list", new A._separator_closure0())); - _lazyFinal($, "_isBracketed0", "$get$_isBracketed0", () => A._function10("is-bracketed", "$list", new A._isBracketed_closure0())); - _lazyFinal($, "_slash0", "$get$_slash0", () => A._function10("slash", "$elements...", new A._slash_closure0())); + _lazyFinal($, "_length1", "$get$_length2", () => A._function11("length", "$list", new A._length_closure2())); + _lazyFinal($, "_nth0", "$get$_nth0", () => A._function11("nth", "$list, $n", new A._nth_closure0())); + _lazyFinal($, "_setNth0", "$get$_setNth0", () => A._function11("set-nth", "$list, $n, $value", new A._setNth_closure0())); + _lazyFinal($, "_join0", "$get$_join0", () => A._function11("join", string$.x24list1, new A._join_closure0())); + _lazyFinal($, "_append1", "$get$_append2", () => A._function11("append", "$list, $val, $separator: auto", new A._append_closure2())); + _lazyFinal($, "_zip0", "$get$_zip0", () => A._function11("zip", "$lists...", new A._zip_closure0())); + _lazyFinal($, "_index1", "$get$_index2", () => A._function11("index", "$list, $value", new A._index_closure2())); + _lazyFinal($, "_separator0", "$get$_separator0", () => A._function11("separator", "$list", new A._separator_closure0())); + _lazyFinal($, "_isBracketed0", "$get$_isBracketed0", () => A._function11("is-bracketed", "$list", new A._isBracketed_closure0())); + _lazyFinal($, "_slash0", "$get$_slash0", () => A._function11("slash", "$elements...", new A._slash_closure0())); _lazyFinal($, "listClass", "$get$listClass", () => new A.listClass_closure().call$0()); _lazyFinal($, "legacyListClass", "$get$legacyListClass", () => { var t1 = A.createJSClass("sass.types.List", new A.legacyListClass_closure()); A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getValue", new A.legacyListClass_closure0(), "setValue", new A.legacyListClass_closure1(), "getSeparator", new A.legacyListClass_closure2(), "setSeparator", new A.legacyListClass_closure3(), "getLength", new A.legacyListClass_closure4()], type$.String, type$.Function)); return t1; }); - _lazyFinal($, "Logger_quiet0", "$get$Logger_quiet0", () => new A._QuietLogger0()); - _lazyFinal($, "global8", "$get$global9", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_get0().withName$1("map-get"), $.$get$_merge0().withName$1("map-merge"), $.$get$_remove0().withName$1("map-remove"), $.$get$_keys0().withName$1("map-keys"), $.$get$_values0().withName$1("map-values"), $.$get$_hasKey0().withName$1("map-has-key")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); + _lazyFinal($, "global8", "$get$global8", () => { + var _s3_ = "map"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_get0().withDeprecationWarning$1(_s3_).withName$1("map-get"), $.$get$_merge0().withDeprecationWarning$1(_s3_).withName$1("map-merge"), $.$get$_remove0().withDeprecationWarning$1(_s3_).withName$1("map-remove"), $.$get$_keys0().withDeprecationWarning$1(_s3_).withName$1("map-keys"), $.$get$_values0().withDeprecationWarning$1(_s3_).withName$1("map-values"), $.$get$_hasKey0().withDeprecationWarning$1(_s3_).withName$1("map-has-key")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); + }); _lazyFinal($, "module7", "$get$module7", () => A.BuiltInModule$0("map", A._setArrayType([$.$get$_get0(), $.$get$_set0(), $.$get$_merge0(), $.$get$_remove0(), $.$get$_keys0(), $.$get$_values0(), $.$get$_hasKey0(), $.$get$_deepMerge0(), $.$get$_deepRemove0()], type$.JSArray_Callable_2), null, null, type$.Callable_2)); - _lazyFinal($, "_get0", "$get$_get0", () => A._function9("get", "$map, $key, $keys...", new A._get_closure0())); + _lazyFinal($, "_get0", "$get$_get0", () => A._function10("get", "$map, $key, $keys...", new A._get_closure0())); _lazyFinal($, "_set0", "$get$_set0", () => A.BuiltInCallable$overloadedFunction0("set", A.LinkedHashMap_LinkedHashMap$_literal(["$map, $key, $value", new A._set_closure1(), "$map, $args...", new A._set_closure2()], type$.String, type$.Value_Function_List_Value_2))); _lazyFinal($, "_merge0", "$get$_merge0", () => A.BuiltInCallable$overloadedFunction0("merge", A.LinkedHashMap_LinkedHashMap$_literal(["$map1, $map2", new A._merge_closure1(), "$map1, $args...", new A._merge_closure2()], type$.String, type$.Value_Function_List_Value_2))); - _lazyFinal($, "_deepMerge0", "$get$_deepMerge0", () => A._function9("deep-merge", "$map1, $map2", new A._deepMerge_closure0())); - _lazyFinal($, "_deepRemove0", "$get$_deepRemove0", () => A._function9("deep-remove", "$map, $key, $keys...", new A._deepRemove_closure0())); + _lazyFinal($, "_deepMerge0", "$get$_deepMerge0", () => A._function10("deep-merge", "$map1, $map2", new A._deepMerge_closure0())); + _lazyFinal($, "_deepRemove0", "$get$_deepRemove0", () => A._function10("deep-remove", "$map, $key, $keys...", new A._deepRemove_closure0())); _lazyFinal($, "_remove0", "$get$_remove0", () => A.BuiltInCallable$overloadedFunction0("remove", A.LinkedHashMap_LinkedHashMap$_literal(["$map", new A._remove_closure1(), "$map, $key, $keys...", new A._remove_closure2()], type$.String, type$.Value_Function_List_Value_2))); - _lazyFinal($, "_keys0", "$get$_keys0", () => A._function9("keys", "$map", new A._keys_closure0())); - _lazyFinal($, "_values0", "$get$_values0", () => A._function9("values", "$map", new A._values_closure0())); - _lazyFinal($, "_hasKey0", "$get$_hasKey0", () => A._function9("has-key", "$map, $key, $keys...", new A._hasKey_closure0())); + _lazyFinal($, "_keys0", "$get$_keys0", () => A._function10("keys", "$map", new A._keys_closure0())); + _lazyFinal($, "_values0", "$get$_values0", () => A._function10("values", "$map", new A._values_closure0())); + _lazyFinal($, "_hasKey0", "$get$_hasKey0", () => A._function10("has-key", "$map, $key, $keys...", new A._hasKey_closure0())); _lazyFinal($, "mapClass", "$get$mapClass", () => new A.mapClass_closure().call$0()); _lazyFinal($, "legacyMapClass", "$get$legacyMapClass", () => { var t1 = A.createJSClass("sass.types.Map", new A.legacyMapClass_closure()); A.JSClassExtension_defineMethods(t1, A.LinkedHashMap_LinkedHashMap$_literal(["getKey", new A.legacyMapClass_closure0(), "getValue", new A.legacyMapClass_closure1(), "getLength", new A.legacyMapClass_closure2(), "setKey", new A.legacyMapClass_closure3(), "setValue", new A.legacyMapClass_closure4()], type$.String, type$.Function)); return t1; }); - _lazyFinal($, "global9", "$get$global10", () => A.UnmodifiableListView$(A._setArrayType([A._function8("abs", "$number", new A.global_closure31()), $.$get$_ceil0(), $.$get$_floor0(), $.$get$_max0(), $.$get$_min0(), $.$get$_percentage0(), $.$get$_randomFunction0(), $.$get$_round0(), $.$get$_unit0(), $.$get$_compatible0().withName$1("comparable"), $.$get$_isUnitless0().withName$1("unitless")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); + _lazyFinal($, "global9", "$get$global9", () => { + var _s4_ = "math"; + return A.UnmodifiableListView$(A._setArrayType([A._function9("abs", "$number", new A.global_closure43()), $.$get$_ceil0().withDeprecationWarning$1(_s4_), $.$get$_floor0().withDeprecationWarning$1(_s4_), $.$get$_max0().withDeprecationWarning$1(_s4_), $.$get$_min0().withDeprecationWarning$1(_s4_), $.$get$_percentage0().withDeprecationWarning$1(_s4_), $.$get$_randomFunction0().withDeprecationWarning$1(_s4_), $.$get$_round0().withDeprecationWarning$1(_s4_), $.$get$_unit0().withDeprecationWarning$1(_s4_), $.$get$_compatible0().withDeprecationWarning$1(_s4_).withName$1("comparable"), $.$get$_isUnitless0().withDeprecationWarning$1(_s4_).withName$1("unitless")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); + }); _lazyFinal($, "module8", "$get$module8", () => { var _null = null; - return A.BuiltInModule$0("math", A._setArrayType([A._numberFunction0("abs", new A.module_closure11()), $.$get$_acos0(), $.$get$_asin0(), $.$get$_atan0(), $.$get$_atan20(), $.$get$_ceil0(), $.$get$_clamp0(), $.$get$_cos0(), $.$get$_compatible0(), $.$get$_floor0(), $.$get$_hypot0(), $.$get$_isUnitless0(), $.$get$_log0(), $.$get$_max0(), $.$get$_min0(), $.$get$_percentage0(), $.$get$_pow0(), $.$get$_randomFunction0(), $.$get$_round0(), $.$get$_sin0(), $.$get$_sqrt0(), $.$get$_tan0(), $.$get$_unit0(), $.$get$_div0()], type$.JSArray_Callable_2), _null, A.LinkedHashMap_LinkedHashMap$_literal(["e", A.SassNumber_SassNumber0(2.718281828459045, _null), "pi", A.SassNumber_SassNumber0(3.141592653589793, _null), "epsilon", A.SassNumber_SassNumber0(2220446049250313e-31, _null), "max-safe-integer", A.SassNumber_SassNumber0(9007199254740991, _null), "min-safe-integer", A.SassNumber_SassNumber0(-9007199254740991, _null), "max-number", A.SassNumber_SassNumber0(17976931348623157e292, _null), "min-number", A.SassNumber_SassNumber0(5e-324, _null)], type$.String, type$.Value_2), type$.Callable_2); + return A.BuiltInModule$0("math", A._setArrayType([A._numberFunction0("abs", new A.module_closure26()), $.$get$_acos0(), $.$get$_asin0(), $.$get$_atan0(), $.$get$_atan20(), $.$get$_ceil0(), $.$get$_clamp0(), $.$get$_cos0(), $.$get$_compatible0(), $.$get$_floor0(), $.$get$_hypot0(), $.$get$_isUnitless0(), $.$get$_log0(), $.$get$_max0(), $.$get$_min0(), $.$get$_percentage0(), $.$get$_pow0(), $.$get$_randomFunction0(), $.$get$_round0(), $.$get$_sin0(), $.$get$_sqrt0(), $.$get$_tan0(), $.$get$_unit0(), $.$get$_div0()], type$.JSArray_Callable_2), _null, A.LinkedHashMap_LinkedHashMap$_literal(["e", A.SassNumber_SassNumber0(2.718281828459045, _null), "pi", A.SassNumber_SassNumber0(3.141592653589793, _null), "epsilon", A.SassNumber_SassNumber0(2220446049250313e-31, _null), "max-safe-integer", A.SassNumber_SassNumber0(9007199254740991, _null), "min-safe-integer", A.SassNumber_SassNumber0(-9007199254740991, _null), "max-number", A.SassNumber_SassNumber0(17976931348623157e292, _null), "min-number", A.SassNumber_SassNumber0(5e-324, _null)], type$.String, type$.Value_2), type$.Callable_2); }); _lazyFinal($, "_ceil0", "$get$_ceil0", () => A._numberFunction0("ceil", new A._ceil_closure0())); - _lazyFinal($, "_clamp0", "$get$_clamp0", () => A._function8("clamp", "$min, $number, $max", new A._clamp_closure0())); + _lazyFinal($, "_clamp0", "$get$_clamp0", () => A._function9("clamp", "$min, $number, $max", new A._clamp_closure0())); _lazyFinal($, "_floor0", "$get$_floor0", () => A._numberFunction0("floor", new A._floor_closure0())); - _lazyFinal($, "_max0", "$get$_max0", () => A._function8("max", "$numbers...", new A._max_closure0())); - _lazyFinal($, "_min0", "$get$_min0", () => A._function8("min", "$numbers...", new A._min_closure0())); + _lazyFinal($, "_max0", "$get$_max0", () => A._function9("max", "$numbers...", new A._max_closure0())); + _lazyFinal($, "_min0", "$get$_min0", () => A._function9("min", "$numbers...", new A._min_closure0())); _lazyFinal($, "_round0", "$get$_round0", () => A._numberFunction0("round", new A._round_closure0())); - _lazyFinal($, "_hypot0", "$get$_hypot0", () => A._function8("hypot", "$numbers...", new A._hypot_closure0())); - _lazyFinal($, "_log0", "$get$_log0", () => A._function8("log", "$number, $base: null", new A._log_closure0())); - _lazyFinal($, "_pow0", "$get$_pow0", () => A._function8("pow", "$base, $exponent", new A._pow_closure0())); + _lazyFinal($, "_hypot0", "$get$_hypot0", () => A._function9("hypot", "$numbers...", new A._hypot_closure0())); + _lazyFinal($, "_log0", "$get$_log0", () => A._function9("log", "$number, $base: null", new A._log_closure0())); + _lazyFinal($, "_pow0", "$get$_pow0", () => A._function9("pow", "$base, $exponent", new A._pow_closure0())); _lazyFinal($, "_sqrt0", "$get$_sqrt0", () => A._singleArgumentMathFunc0("sqrt", A.number2__sqrt$closure())); _lazyFinal($, "_acos0", "$get$_acos0", () => A._singleArgumentMathFunc0("acos", A.number2__acos$closure())); _lazyFinal($, "_asin0", "$get$_asin0", () => A._singleArgumentMathFunc0("asin", A.number2__asin$closure())); _lazyFinal($, "_atan0", "$get$_atan0", () => A._singleArgumentMathFunc0("atan", A.number2__atan$closure())); - _lazyFinal($, "_atan20", "$get$_atan20", () => A._function8("atan2", "$y, $x", new A._atan2_closure0())); + _lazyFinal($, "_atan20", "$get$_atan20", () => A._function9("atan2", "$y, $x", new A._atan2_closure0())); _lazyFinal($, "_cos0", "$get$_cos0", () => A._singleArgumentMathFunc0("cos", A.number2__cos$closure())); _lazyFinal($, "_sin0", "$get$_sin0", () => A._singleArgumentMathFunc0("sin", A.number2__sin$closure())); _lazyFinal($, "_tan0", "$get$_tan0", () => A._singleArgumentMathFunc0("tan", A.number2__tan$closure())); - _lazyFinal($, "_compatible0", "$get$_compatible0", () => A._function8("compatible", "$number1, $number2", new A._compatible_closure0())); - _lazyFinal($, "_isUnitless0", "$get$_isUnitless0", () => A._function8("is-unitless", "$number", new A._isUnitless_closure0())); - _lazyFinal($, "_unit0", "$get$_unit0", () => A._function8("unit", "$number", new A._unit_closure0())); - _lazyFinal($, "_percentage0", "$get$_percentage0", () => A._function8("percentage", "$number", new A._percentage_closure0())); + _lazyFinal($, "_compatible0", "$get$_compatible0", () => A._function9("compatible", "$number1, $number2", new A._compatible_closure0())); + _lazyFinal($, "_isUnitless0", "$get$_isUnitless0", () => A._function9("is-unitless", "$number", new A._isUnitless_closure0())); + _lazyFinal($, "_unit0", "$get$_unit0", () => A._function9("unit", "$number", new A._unit_closure0())); + _lazyFinal($, "_percentage0", "$get$_percentage0", () => A._function9("percentage", "$number", new A._percentage_closure0())); _lazyFinal($, "_random1", "$get$_random2", () => A.Random_Random()); - _lazyFinal($, "_randomFunction0", "$get$_randomFunction0", () => A._function8("random", "$limit: null", new A._randomFunction_closure0())); - _lazyFinal($, "_div0", "$get$_div0", () => A._function8("div", "$number1, $number2", new A._div_closure0())); - _lazyFinal($, "global10", "$get$global6", () => A.UnmodifiableListView$(A._setArrayType([A._function12("feature-exists", "$feature", new A.global_closure59()), A._function12("inspect", "$value", new A.global_closure60()), A._function12("type-of", "$value", new A.global_closure61()), A._function12("keywords", "$args", new A.global_closure62())], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); - _lazyFinal($, "local0", "$get$local0", () => A.UnmodifiableListView$(A._setArrayType([A._function12("calc-name", "$calc", new A.local_closure2()), A._function12("calc-args", "$calc", new A.local_closure3()), A._function12("accepts-content", "$mixin", new A.local_closure4())], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); + _lazyFinal($, "_randomFunction0", "$get$_randomFunction0", () => A._function9("random", "$limit: null", new A._randomFunction_closure0())); + _lazyFinal($, "_div0", "$get$_div0", () => A._function9("div", "$number1, $number2", new A._div_closure0())); + _lazyFinal($, "_shared0", "$get$_shared0", () => A.UnmodifiableListView$(A._setArrayType([A._function6("feature-exists", "$feature", new A._shared_closure3()), A._function6("inspect", "$value", new A._shared_closure4()), A._function6("type-of", "$value", new A._shared_closure5()), A._function6("keywords", "$args", new A._shared_closure6())], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); + _lazyFinal($, "global10", "$get$global12", () => { + var t2, + t1 = A._setArrayType([], type$.JSArray_BuiltInCallable_2); + for (t2 = $.$get$_shared0(), t2 = t2.get$iterator(t2); t2.moveNext$0();) + t1.push(t2.get$current(0).withDeprecationWarning$1("meta")); + return A.UnmodifiableListView$(t1, type$.BuiltInCallable_2); + }); + _lazyFinal($, "moduleFunctions0", "$get$moduleFunctions0", () => { + var t1 = type$.BuiltInCallable_2, + t2 = A.List_List$of($.$get$_shared0(), true, t1); + t2.push(A._function6("calc-name", "$calc", new A.moduleFunctions_closure2())); + t2.push(A._function6("calc-args", "$calc", new A.moduleFunctions_closure3())); + t2.push(A._function6("accepts-content", "$mixin", new A.moduleFunctions_closure4())); + return A.UnmodifiableListView$(t2, t1); + }); _lazyFinal($, "mixinClass", "$get$mixinClass", () => new A.mixinClass_closure().call$0()); _lazyFinal($, "legacyNullClass", "$get$legacyNullClass", () => new A.legacyNullClass_closure().call$0()); _lazyFinal($, "_epsilon0", "$get$_epsilon0", () => A.pow(10, -11)); @@ -118203,16 +126714,21 @@ self.util = _cliPkgRequires.util; } return t2; }); - _lazyFinal($, "global11", "$get$global11", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_isSuperselector0(), $.$get$_simpleSelectors0(), $.$get$_parse0().withName$1("selector-parse"), $.$get$_nest0().withName$1("selector-nest"), $.$get$_append1().withName$1("selector-append"), $.$get$_extend0().withName$1("selector-extend"), $.$get$_replace0().withName$1("selector-replace"), $.$get$_unify0().withName$1("selector-unify")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); + _lazyFinal($, "_interpolation", "$get$_interpolation", () => A.Interpolation$0(B.List_empty28, B.List_empty29, $.$get$bogusSpan0())); + _lazyFinal($, "_expression", "$get$_expression", () => A.NullExpression$($.$get$bogusSpan0())); + _lazyFinal($, "global11", "$get$global10", () => { + var _s8_ = "selector"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_isSuperselector0().withDeprecationWarning$1(_s8_), $.$get$_simpleSelectors0().withDeprecationWarning$1(_s8_), $.$get$_parse0().withDeprecationWarning$1(_s8_).withName$1("selector-parse"), $.$get$_nest0().withDeprecationWarning$1(_s8_).withName$1("selector-nest"), $.$get$_append1().withDeprecationWarning$1(_s8_).withName$1("selector-append"), $.$get$_extend0().withDeprecationWarning$1(_s8_).withName$1("selector-extend"), $.$get$_replace0().withDeprecationWarning$1(_s8_).withName$1("selector-replace"), $.$get$_unify0().withDeprecationWarning$1(_s8_).withName$1("selector-unify")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); + }); _lazyFinal($, "module9", "$get$module9", () => A.BuiltInModule$0("selector", A._setArrayType([$.$get$_isSuperselector0(), $.$get$_simpleSelectors0(), $.$get$_parse0(), $.$get$_nest0(), $.$get$_append1(), $.$get$_extend0(), $.$get$_replace0(), $.$get$_unify0()], type$.JSArray_Callable_2), null, null, type$.Callable_2)); - _lazyFinal($, "_nest0", "$get$_nest0", () => A._function7("nest", "$selectors...", new A._nest_closure0())); - _lazyFinal($, "_append2", "$get$_append1", () => A._function7("append", "$selectors...", new A._append_closure1())); - _lazyFinal($, "_extend0", "$get$_extend0", () => A._function7("extend", "$selector, $extendee, $extender", new A._extend_closure0())); - _lazyFinal($, "_replace0", "$get$_replace0", () => A._function7("replace", "$selector, $original, $replacement", new A._replace_closure0())); - _lazyFinal($, "_unify0", "$get$_unify0", () => A._function7("unify", "$selector1, $selector2", new A._unify_closure0())); - _lazyFinal($, "_isSuperselector0", "$get$_isSuperselector0", () => A._function7("is-superselector", "$super, $sub", new A._isSuperselector_closure0())); - _lazyFinal($, "_simpleSelectors0", "$get$_simpleSelectors0", () => A._function7("simple-selectors", "$selector", new A._simpleSelectors_closure0())); - _lazyFinal($, "_parse0", "$get$_parse0", () => A._function7("parse", "$selector", new A._parse_closure0())); + _lazyFinal($, "_nest0", "$get$_nest0", () => A._function8("nest", "$selectors...", new A._nest_closure0())); + _lazyFinal($, "_append2", "$get$_append1", () => A._function8("append", "$selectors...", new A._append_closure1())); + _lazyFinal($, "_extend0", "$get$_extend0", () => A._function8("extend", "$selector, $extendee, $extender", new A._extend_closure0())); + _lazyFinal($, "_replace0", "$get$_replace0", () => A._function8("replace", "$selector, $original, $replacement", new A._replace_closure0())); + _lazyFinal($, "_unify0", "$get$_unify0", () => A._function8("unify", "$selector1, $selector2", new A._unify_closure0())); + _lazyFinal($, "_isSuperselector0", "$get$_isSuperselector0", () => A._function8("is-superselector", "$super, $sub", new A._isSuperselector_closure0())); + _lazyFinal($, "_simpleSelectors0", "$get$_simpleSelectors0", () => A._function8("simple-selectors", "$selector", new A._simpleSelectors_closure0())); + _lazyFinal($, "_parse1", "$get$_parse0", () => A._function8("parse", "$selector", new A._parse_closure0())); _lazyFinal($, "_knownCompatibilitiesByUnit0", "$get$_knownCompatibilitiesByUnit0", () => { var _i, set, t2, t1 = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, A.findType("Set")); @@ -118226,17 +126742,20 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "bogusSpan0", "$get$bogusSpan0", () => A.SourceFile$decoded(A._setArrayType([], type$.JSArray_int), null).span$1(0, 0)); _lazyFinal($, "_random2", "$get$_random1", () => A.Random_Random()); _lazy($, "_previousUniqueId0", "$get$_previousUniqueId0", () => $.$get$_random1().nextInt$1(A._asInt(A.pow(36, 6)))); - _lazyFinal($, "global12", "$get$global12", () => A.UnmodifiableListView$(A._setArrayType([$.$get$_unquote0(), $.$get$_quote0(), $.$get$_toUpperCase0(), $.$get$_toLowerCase0(), $.$get$_uniqueId0(), $.$get$_length1().withName$1("str-length"), $.$get$_insert0().withName$1("str-insert"), $.$get$_index1().withName$1("str-index"), $.$get$_slice0().withName$1("str-slice")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2)); - _lazyFinal($, "module10", "$get$module10", () => A.BuiltInModule$0("string", A._setArrayType([$.$get$_unquote0(), $.$get$_quote0(), $.$get$_toUpperCase0(), $.$get$_toLowerCase0(), $.$get$_length1(), $.$get$_insert0(), $.$get$_index1(), $.$get$_slice0(), $.$get$_uniqueId0(), A._function6("split", "$string, $separator, $limit: null", new A.module_closure10())], type$.JSArray_Callable_2), null, null, type$.Callable_2)); - _lazyFinal($, "_unquote0", "$get$_unquote0", () => A._function6("unquote", "$string", new A._unquote_closure0())); - _lazyFinal($, "_quote0", "$get$_quote0", () => A._function6("quote", "$string", new A._quote_closure0())); - _lazyFinal($, "_length2", "$get$_length1", () => A._function6("length", "$string", new A._length_closure1())); - _lazyFinal($, "_insert0", "$get$_insert0", () => A._function6("insert", "$string, $insert, $index", new A._insert_closure0())); - _lazyFinal($, "_index2", "$get$_index1", () => A._function6("index", "$string, $substring", new A._index_closure1())); - _lazyFinal($, "_slice0", "$get$_slice0", () => A._function6("slice", "$string, $start-at, $end-at: -1", new A._slice_closure0())); - _lazyFinal($, "_toUpperCase0", "$get$_toUpperCase0", () => A._function6("to-upper-case", "$string", new A._toUpperCase_closure0())); - _lazyFinal($, "_toLowerCase0", "$get$_toLowerCase0", () => A._function6("to-lower-case", "$string", new A._toLowerCase_closure0())); - _lazyFinal($, "_uniqueId0", "$get$_uniqueId0", () => A._function6("unique-id", "", new A._uniqueId_closure0())); + _lazyFinal($, "global12", "$get$global11", () => { + var _s6_ = "string"; + return A.UnmodifiableListView$(A._setArrayType([$.$get$_unquote0().withDeprecationWarning$1(_s6_), $.$get$_quote0().withDeprecationWarning$1(_s6_), $.$get$_toUpperCase0().withDeprecationWarning$1(_s6_), $.$get$_toLowerCase0().withDeprecationWarning$1(_s6_), $.$get$_uniqueId0().withDeprecationWarning$1(_s6_), $.$get$_length1().withDeprecationWarning$1(_s6_).withName$1("str-length"), $.$get$_insert0().withDeprecationWarning$1(_s6_).withName$1("str-insert"), $.$get$_index1().withDeprecationWarning$1(_s6_).withName$1("str-index"), $.$get$_slice0().withDeprecationWarning$1(_s6_).withName$1("str-slice")], type$.JSArray_BuiltInCallable_2), type$.BuiltInCallable_2); + }); + _lazyFinal($, "module10", "$get$module10", () => A.BuiltInModule$0("string", A._setArrayType([$.$get$_unquote0(), $.$get$_quote0(), $.$get$_toUpperCase0(), $.$get$_toLowerCase0(), $.$get$_length1(), $.$get$_insert0(), $.$get$_index1(), $.$get$_slice0(), $.$get$_uniqueId0(), A._function7("split", "$string, $separator, $limit: null", new A.module_closure25())], type$.JSArray_Callable_2), null, null, type$.Callable_2)); + _lazyFinal($, "_unquote0", "$get$_unquote0", () => A._function7("unquote", "$string", new A._unquote_closure0())); + _lazyFinal($, "_quote0", "$get$_quote0", () => A._function7("quote", "$string", new A._quote_closure0())); + _lazyFinal($, "_length2", "$get$_length1", () => A._function7("length", "$string", new A._length_closure1())); + _lazyFinal($, "_insert0", "$get$_insert0", () => A._function7("insert", "$string, $insert, $index", new A._insert_closure0())); + _lazyFinal($, "_index2", "$get$_index1", () => A._function7("index", "$string, $substring", new A._index_closure1())); + _lazyFinal($, "_slice0", "$get$_slice0", () => A._function7("slice", "$string, $start-at, $end-at: -1", new A._slice_closure0())); + _lazyFinal($, "_toUpperCase0", "$get$_toUpperCase0", () => A._function7("to-upper-case", "$string", new A._toUpperCase_closure0())); + _lazyFinal($, "_toLowerCase0", "$get$_toLowerCase0", () => A._function7("to-lower-case", "$string", new A._toLowerCase_closure0())); + _lazyFinal($, "_uniqueId0", "$get$_uniqueId0", () => A._function7("unique-id", "", new A._uniqueId_closure0())); _lazyFinal($, "stringClass", "$get$stringClass", () => new A.stringClass_closure().call$0()); _lazyFinal($, "legacyStringClass", "$get$legacyStringClass", () => { var t1 = A.createJSClass("sass.types.String", new A.legacyStringClass_closure()); @@ -118248,6 +126767,7 @@ self.util = _cliPkgRequires.util; _lazyFinal($, "_urlSchemeRegExp", "$get$_urlSchemeRegExp", () => A.RegExp_RegExp("^[a-z0-9+.-]+$", false)); _lazyFinal($, "_jsThrow0", "$get$_jsThrow", () => new self.Function("error", "throw error;")); _lazyFinal($, "_isUndefined", "$get$_isUndefined", () => new self.Function("value", "return value === undefined;")); + _lazyFinal($, "_isNull", "$get$_isNull", () => new self.Function("value", "return value === null;")); _lazyFinal($, "_noSourceUrl0", "$get$_noSourceUrl0", () => A.Uri_parse("-")); _lazyFinal($, "_traces0", "$get$_traces0", () => A.Expando$()); _lazyFinal($, "valueClass", "$get$valueClass", () => new A.valueClass_closure().call$0()); diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/sass.default.js b/src/main/webapp/css/admins/sass/node_modules/sass/sass.default.js index 77acae0..4a0540a 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/sass.default.js +++ b/src/main/webapp/css/admins/sass/node_modules/sass/sass.default.js @@ -45,3 +45,4 @@ export const types = _cliPkgExports.types; export const NodePackageImporter = _cliPkgExports.NodePackageImporter; export const deprecations = _cliPkgExports.deprecations; export const Version = _cliPkgExports.Version; +export const parser_ = _cliPkgExports.parser_; diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/sass.js b/src/main/webapp/css/admins/sass/node_modules/sass/sass.js index 992dbb5..7997062 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/sass.js +++ b/src/main/webapp/css/admins/sass/node_modules/sass/sass.js @@ -7,6 +7,7 @@ if (globalThis._cliPkgExports.length === 0) delete globalThis._cliPkgExports; library.load({ readline: require("readline"), chokidar: require("chokidar"), + parcel_watcher: require("@parcel/watcher"), util: require("util"), stream: require("stream"), nodeModule: require("module"), diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/sass.node.mjs b/src/main/webapp/css/admins/sass/node_modules/sass/sass.node.mjs index f59a3d8..dfeadc4 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/sass.node.mjs +++ b/src/main/webapp/css/admins/sass/node_modules/sass/sass.node.mjs @@ -39,6 +39,7 @@ export const types = cjs.types; export const NodePackageImporter = cjs.NodePackageImporter; export const deprecations = cjs.deprecations; export const Version = cjs.Version; +export const parser_ = cjs.parser_; let printedDefaultExportDeprecation = false; function defaultExportDeprecation() { @@ -206,4 +207,8 @@ export default { defaultExportDeprecation(); return cjs.Version; }, + get parser_() { + defaultExportDeprecation(); + return cjs.parser_; + }, }; diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/types/deprecations.d.ts b/src/main/webapp/css/admins/sass/node_modules/sass/types/deprecations.d.ts index 390f361..19c24ce 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/types/deprecations.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/sass/types/deprecations.d.ts @@ -6,7 +6,7 @@ */ export interface Deprecations { // START AUTOGENERATED LIST - // Checksum: 22d9bdbe92eb39b3c0d6d64ebe1879a431c0037e + // Checksum: 47c97f7824eb25d7f1e64e3230938b88330d40b4 /** * Deprecation for passing a string directly to meta.call(). @@ -113,13 +113,55 @@ export interface Deprecations { */ 'css-function-mixin': Deprecation<'css-function-mixin'>; + /** + * Deprecation for declarations after or between nested rules. + * + * This deprecation became active in Dart Sass 1.77.7. + */ + 'mixed-decls': Deprecation<'mixed-decls'>; + + /** + * Deprecation for meta.feature-exists + * + * This deprecation became active in Dart Sass 1.78.0. + */ + 'feature-exists': Deprecation<'feature-exists'>; + + /** + * Deprecation for certain uses of built-in sass:color functions. + * + * This deprecation became active in Dart Sass 1.79.0. + */ + 'color-4-api': Deprecation<'color-4-api'>; + + /** + * Deprecation for using global color functions instead of sass:color. + * + * This deprecation became active in Dart Sass 1.79.0. + */ + 'color-functions': Deprecation<'color-functions'>; + + /** + * Deprecation for legacy JS API. + * + * This deprecation became active in Dart Sass 1.79.0. + */ + 'legacy-js-api': Deprecation<'legacy-js-api'>; + /** * Deprecation for @import rules. * - * This deprecation is not yet active, but will be soon. + * This deprecation became active in Dart Sass 1.80.0. */ import: Deprecation<'import'>; + /** + * Deprecation for global built-in functions that are available in sass: modules. + * + * This deprecation became active in Dart Sass 1.80.0. + */ + 'global-builtin': Deprecation<'global-builtin'>; + // END AUTOGENERATED LIST /** diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/types/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/sass/types/index.d.ts index f0df680..3520dda 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/types/index.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/sass/types/index.d.ts @@ -29,7 +29,7 @@ export { ImporterResult, NodePackageImporter, } from './importer'; -export {Logger, SourceSpan, SourceLocation} from './logger'; +export {Logger, LoggerWarnOptions, SourceSpan, SourceLocation} from './logger'; export { CustomFunction, Options, @@ -45,7 +45,25 @@ export { CalculationOperation, CalculationOperator, CalculationValue, + ChannelName, + ChannelNameHsl, + ChannelNameHwb, + ChannelNameLch, + ChannelNameLab, + ChannelNameRgb, + ChannelNameXyz, + ColorSpaceHsl, + ColorSpaceHwb, + ColorSpaceLch, + ColorSpaceLab, + ColorSpaceRgb, + ColorSpaceXyz, + GamutMapMethod, + HueInterpolationMethod, + KnownColorSpace, ListSeparator, + PolarColorSpace, + RectangularColorSpace, SassArgumentList, SassBoolean, SassCalculation, diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/types/legacy/options.d.ts b/src/main/webapp/css/admins/sass/node_modules/sass/types/legacy/options.d.ts index 788fc90..922fd5d 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/types/legacy/options.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/sass/types/legacy/options.d.ts @@ -1,3 +1,4 @@ +import {DeprecationOrId, Version} from '../deprecations'; import {Logger} from '../logger'; import {LegacyImporter} from './importer'; import {LegacyFunction} from './function'; @@ -483,6 +484,45 @@ export interface LegacySharedOptions { */ quietDeps?: boolean; + /** + * A set of deprecations to treat as fatal. + * + * If a deprecation warning of any provided type is encountered during + * compilation, the compiler will error instead. + * + * If a `Version` is provided, then all deprecations that were active in that + * compiler version will be treated as fatal. + * + * @category Messages + * @compatiblity dart: "1.78.0", node: false + */ + fatalDeprecations?: (DeprecationOrId | Version)[]; + + /** + * A set of future deprecations to opt into early. + * + * Future deprecations passed here will be treated as active by the compiler, + * emitting warnings as necessary. + * + * @category Messages + * @compatiblity dart: "1.78.0", node: false + */ + futureDeprecations?: DeprecationOrId[]; + + /** + * A set of active deprecations to ignore. + * + * If a deprecation warning of any provided type is encountered during + * compilation, the compiler will ignore it instead. + * + * **Heads up!** The deprecated functionality you're depending on will + * eventually break. + * + * @category Messages + * @compatiblity dart: "1.78.0", node: false + */ + silenceDeprecations?: DeprecationOrId[]; + /** * By default, Dart Sass will print only five instances of the same * deprecation warning per compilation to avoid deluging users in console diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/types/logger/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/sass/types/logger/index.d.ts index 937051e..84ee9c2 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/types/logger/index.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/sass/types/logger/index.d.ts @@ -4,6 +4,35 @@ import {SourceSpan} from './source_span'; export {SourceLocation} from './source_location'; export {SourceSpan} from './source_span'; +/** + * The options passed to {@link Logger.warn}. + * + * * `deprecation`: Whether this is a deprecation warning. + * + * * `deprecationType`: The type of deprecation. Only set if `deprecation` is + * true. + * + * * `span`: The location in the Sass source code that generated this warning. + * This may be unset if the warning didn't come from Sass source, for + * example if it's from a deprecated JavaScript option. + * + * * `stack`: The Sass stack trace at the point the warning was issued. This may + * be unset if the warning didn't come from Sass source, for example if it's + * from a deprecated JavaScript option. + * + * @category Logger + */ +export type LoggerWarnOptions = ( + | { + deprecation: true; + deprecationType: Deprecation; + } + | {deprecation: false} +) & { + span?: SourceSpan; + stack?: string; +}; + /** * An object that can be passed to {@link LegacySharedOptions.logger} to control * how Sass emits warnings and debug messages. @@ -42,24 +71,11 @@ export interface Logger { * * If this is `undefined`, Sass will print warnings to standard error. * + * `options` may contain the following fields: + * * @param message - The warning message. - * @param options.deprecation - Whether this is a deprecation warning. - * @param options.deprecationType - The type of deprecation this warning is - * for, if any. - * @param options.span - The location in the Sass source code that generated this - * warning. - * @param options.stack - The Sass stack trace at the point the warning was issued. */ - warn?( - message: string, - options: ( - | { - deprecation: true; - deprecationType: Deprecation; - } - | {deprecation: false} - ) & {span?: SourceSpan; stack?: string} - ): void; + warn?(message: string, options: LoggerWarnOptions): void; /** * This method is called when Sass emits a debug message due to a [`@debug` diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/types/value/color.d.ts b/src/main/webapp/css/admins/sass/node_modules/sass/types/value/color.d.ts index d016baf..643d692 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/types/value/color.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/sass/types/value/color.d.ts @@ -1,5 +1,103 @@ +import {List} from 'immutable'; + import {Value} from './index'; +/** The HSL color space name. */ +export type ColorSpaceHsl = 'hsl'; + +/** The HSL color space channel names. */ +export type ChannelNameHsl = 'hue' | 'saturation' | 'lightness' | 'alpha'; + +/** The HWB color space name. */ +export type ColorSpaceHwb = 'hwb'; + +/** The HWB color space channel names. */ +export type ChannelNameHwb = 'hue' | 'whiteness' | 'blackness' | 'alpha'; + +/** The Lab / Oklab color space names. */ +export type ColorSpaceLab = 'lab' | 'oklab'; + +/** The Lab / Oklab color space channel names. */ +export type ChannelNameLab = 'lightness' | 'a' | 'b' | 'alpha'; + +/** The LCH / Oklch color space names. */ +export type ColorSpaceLch = 'lch' | 'oklch'; + +/** The LCH / Oklch color space channel names. */ +export type ChannelNameLch = 'lightness' | 'chroma' | 'hue' | 'alpha'; + +/** Names of color spaces with RGB channels. */ +export type ColorSpaceRgb = + | 'a98-rgb' + | 'display-p3' + | 'prophoto-rgb' + | 'rec2020' + | 'rgb' + | 'srgb' + | 'srgb-linear'; + +/** RGB channel names. */ +export type ChannelNameRgb = 'red' | 'green' | 'blue' | 'alpha'; + +/** Names of color spaces with XYZ channels. */ +export type ColorSpaceXyz = 'xyz' | 'xyz-d50' | 'xyz-d65'; + +/** XYZ channel names. */ +export type ChannelNameXyz = 'x' | 'y' | 'z' | 'alpha'; + +/** All supported color space channel names. */ +export type ChannelName = + | ChannelNameHsl + | ChannelNameHwb + | ChannelNameLab + | ChannelNameLch + | ChannelNameRgb + | ChannelNameXyz; + +/** All supported color space names. */ +export type KnownColorSpace = + | ColorSpaceHsl + | ColorSpaceHwb + | ColorSpaceLab + | ColorSpaceLch + | ColorSpaceRgb + | ColorSpaceXyz; + +/** Polar color space names (HSL, HWB, LCH, and Oklch spaces). */ +export type PolarColorSpace = ColorSpaceHsl | ColorSpaceHwb | ColorSpaceLch; + +/** Rectangular color space names (Lab, Oklab, RGB, and XYZ spaces). */ +export type RectangularColorSpace = Exclude; + +/** + * Methods by which two hues are adjusted when interpolating between polar + * colors. + */ +export type HueInterpolationMethod = + | 'decreasing' + | 'increasing' + | 'longer' + | 'shorter'; + +/** + * Methods by which colors in bounded spaces can be mapped to within their + * gamut. + * + * * `local-minde`: The algorithm specified in [the original Color Level 4 + * candidate recommendation]. This maps in the Oklch color space, using the + * [deltaEOK] color difference formula and the [local-MINDE] improvement. + * + * * `clip`: Clamp each color channel that's outside the gamut to the minimum or + * maximum value for that channel. This algorithm will produce poor visual + * results, but it may be useful to match the behavior of other situations in + * which a color can be clipped. + * + * [the original Color Level 4 candidate recommendation]: https://www.w3.org/TR/2024/CRD-css-color-4-20240213/#css-gamut-mapping + * [deltaEOK]: https://www.w3.org/TR/2024/CRD-css-color-4-20240213/#color-difference-OK + * [local-MINDE]: https://www.w3.org/TR/2024/CRD-css-color-4-20240213/#GM-chroma-local-MINDE + */ +export type GamutMapMethod = 'clip' | 'local-minde'; + /** * Sass's [color type](https://sass-lang.com/documentation/values/colors). * @@ -10,119 +108,459 @@ import {Value} from './index'; */ export class SassColor extends Value { /** - * Creates an RGB color. + * Creates an [RGB color]. * - * **Only** `undefined` should be passed to indicate a missing `alpha`. If - * `null` is passed instead, it will be treated as a [missing component] in - * future versions of Dart Sass. See [breaking changes] for details. + * If `space` is missing, **only** `undefined` should be used to indicate that + * `alpha` isn't passed. If `null` is used instead, it will be treated as a + * [missing component]. See [breaking changes] for details. * + * If `space` is defined and `null` is passed for any component, it will be + * treated as a [missing component]. + * + * [RGB color]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/rgb * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components * [breaking changes]: /documentation/breaking-changes/null-alpha * - * @throws `Error` if `red`, `green`, and `blue` aren't between `0` and - * `255`, or if `alpha` isn't between `0` and `1`. + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. */ constructor(options: { - red: number; - green: number; - blue: number; - alpha?: number; + red: number | null; + green: number | null; + blue: number | null; + alpha?: number | null; + space?: 'rgb'; }); /** - * Creates an HSL color. + * Creates an [HSL color]. * - * **Only** `undefined` should be passed to indicate a missing `alpha`. If - * `null` is passed instead, it will be treated as a [missing component] in - * future versions of Dart Sass. See [breaking changes] for details. + * If `space` is missing, **only** `undefined` should be used to indicate that + * `alpha` isn't passed. If `null` is used instead, it will be treated as a + * [missing component]. See [breaking changes] for details. * + * If `space` is defined and `null` is passed for any component, it will be + * treated as a [missing component]. + * + * [HSL color]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hsl * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components * [breaking changes]: /documentation/breaking-changes/null-alpha * - * @throws `Error` if `saturation` or `lightness` aren't between `0` and - * `100`, or if `alpha` isn't between `0` and `1`. + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. */ constructor(options: { - hue: number; - saturation: number; - lightness: number; - alpha?: number; + hue: number | null; + saturation: number | null; + lightness: number | null; + alpha?: number | null; + space?: ColorSpaceHsl; }); /** - * Creates an HWB color. + * Creates an [HWB color]. * - * **Only** `undefined` should be passed to indicate a missing `alpha`. If - * `null` is passed instead, it will be treated as a [missing component] in - * future versions of Dart Sass. See [breaking changes] for details. + * If `space` is missing, **only** `undefined` should be used to indicate that + * `alpha` isn't passed. If `null` is used instead, it will be treated as a + * [missing component]. See [breaking changes] for details. * + * If `space` is defined and `null` is passed for any component, it will be + * treated as a [missing component]. + * + * [HWB color]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/hwb * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components * [breaking changes]: /documentation/breaking-changes/null-alpha * - * @throws `Error` if `whiteness` or `blackness` aren't between `0` and `100`, - * or if `alpha` isn't between `0` and `1`. + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. */ constructor(options: { - hue: number; - whiteness: number; - blackness: number; - alpha?: number; + hue: number | null; + whiteness: number | null; + blackness: number | null; + alpha?: number | null; + space?: ColorSpaceHwb; }); - /** This color's red channel, between `0` and `255`. */ - get red(): number; + /** + * Creates a [Lab] or [Oklab] color. + * + * If `null` is passed for any component, it will be treated as a [missing + * component]. + * + * [Lab]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lab + * [Oklab]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklab + * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + * + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + constructor(options: { + lightness: number | null; + a: number | null; + b: number | null; + alpha?: number | null; + space: ColorSpaceLab; + }); - /** This color's green channel, between `0` and `255`. */ - get green(): number; + /** + * Creates an [LCH] or [Oklch] color. + * + * If `null` is passed for any component, it will be treated as a [missing + * component]. + * + * [LCH]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/lch + * [Oklch]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/oklch + * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + * + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + constructor(options: { + lightness: number | null; + chroma: number | null; + hue: number | null; + alpha?: number | null; + space: ColorSpaceLch; + }); - /** This color's blue channel, between `0` and `255`. */ - get blue(): number; + /** + * Creates a color in a predefined [RGB color space]. + * + * If `null` is passed for any component, it will be treated as a [missing + * component]. + * + * [RGB color space]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color#using_predefined_colorspaces_with_color + * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + * + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + constructor(options: { + red: number | null; + green: number | null; + blue: number | null; + alpha?: number | null; + space: Exclude; + }); - /** This color's hue, between `0` and `360`. */ - get hue(): number; + /** + * Creates a color in a predefined [XYZ color space]. + * + * If `null` is passed for any component, it will be treated as a [missing + * component]. + * + * [XYZ color space]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value/color#using_the_xyz_colorspace_with_color + * [missing component]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + * + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + constructor(options: { + x: number | null; + y: number | null; + z: number | null; + alpha?: number | null; + space: ColorSpaceXyz; + }); - /** This color's saturation, between `0` and `100`. */ - get saturation(): number; + /** The name of this color's space. */ + get space(): KnownColorSpace; - /** This color's lightness, between `0` and `100`. */ - get lightness(): number; + /** + * Returns a new color that's the result of converting this color to the + * specified `space`. + */ + toSpace(space: KnownColorSpace): SassColor; - /** This color's whiteness, between `0` and `100`. */ - get whiteness(): number; + /** + * A boolean indicating whether this color is in a legacy color space (`rgb`, + * `hsl`, or `hwb`). + */ + get isLegacy(): boolean; - /** This color's blackness, between `0` and `100`. */ - get blackness(): number; + /** + * Returns a boolean indicating whether this color is in-gamut (as opposed to + * having one or more of its channels out of bounds) for the specified + * `space`, or its current color space if `space` is not specified. + */ + isInGamut(space?: KnownColorSpace): boolean; + + /** + * Returns a copy of this color, modified so it is in-gamut for the specified + * `space`—or the current color space if `space` is not specified—using + * `method` to map out-of-gamut colors into the desired gamut. + */ + toGamut(options: { + space?: KnownColorSpace; + method: GamutMapMethod; + }): SassColor; + + /** + * A list of this color's channel values (excluding alpha), with [missing + * channels] converted to `null`. + * + * [missing channels]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + */ + get channelsOrNull(): List; + + /** + * A list of this color's channel values (excluding alpha), with [missing + * channels] converted to `0`. + * + * [missing channels]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + */ + get channels(): List; + + /** + * Returns the value of a single specified `channel` of this color, with + * [missing channels] converted to `0`. + * + * [missing channels]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + * + * @throws `Error` if `channel` is not `alpha` or a channel in this color's + * space. + */ + channel(channel: ChannelName): number; + + /** + * Returns the value of a single specified `channel` of this color after + * converting this color to the specified `space`, with [missing channels] + * converted to `0`. + * + * [missing channels]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components + * + * @throws `Error` if `channel` is not `alpha` or a channel in `space`. + */ + channel(channel: ChannelNameHsl, options: {space: ColorSpaceHsl}): number; + channel(channel: ChannelNameHwb, options: {space: ColorSpaceHwb}): number; + channel(channel: ChannelNameLab, options: {space: ColorSpaceLab}): number; + channel(channel: ChannelNameLch, options: {space: ColorSpaceLch}): number; + channel(channel: ChannelNameRgb, options: {space: ColorSpaceRgb}): number; + channel(channel: ChannelNameXyz, options: {space: ColorSpaceXyz}): number; /** This color's alpha channel, between `0` and `1`. */ get alpha(): number; /** - * Changes one or more of this color's RGB channels and returns the result. + * Returns a boolean indicating whether a given channel value is a [missing + * channel]. + * + * [missing channel]: https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#missing_color_components */ - change(options: { - red?: number; - green?: number; - blue?: number; - alpha?: number; - }): SassColor; + isChannelMissing(channel: ChannelName): boolean; /** - * Changes one or more of this color's HSL channels and returns the result. + * Returns a boolean indicating whether a given `channel` is [powerless] in + * this color. This is a special state that's defined for individual color + * spaces, which indicates that a channel's value won't affect how a color is + * displayed. + * + * [powerless]: https://www.w3.org/TR/css-color-4/#powerless */ - change(options: { - hue?: number; - saturation?: number; - lightness?: number; - alpha?: number; - }): SassColor; + isChannelPowerless(channel: ChannelName): boolean; + isChannelPowerless( + channel: ChannelNameHsl, + options?: {space: ColorSpaceHsl} + ): boolean; + isChannelPowerless( + channel: ChannelNameHwb, + options?: {space: ColorSpaceHwb} + ): boolean; + isChannelPowerless( + channel: ChannelNameLab, + options?: {space: ColorSpaceLab} + ): boolean; + isChannelPowerless( + channel: ChannelNameLch, + options?: {space: ColorSpaceLch} + ): boolean; + isChannelPowerless( + channel: ChannelNameRgb, + options?: {space: ColorSpaceRgb} + ): boolean; + isChannelPowerless( + channel: ChannelNameXyz, + options?: {space: ColorSpaceXyz} + ): boolean; /** - * Changes one or more of this color's HWB channels and returns the result. + * Returns a color partway between this color and `color2` according to + * `method`, as defined by the CSS Color 4 [color interpolation] procedure. + * + * [color interpolation]: https://www.w3.org/TR/css-color-4/#interpolation + * + * If `method` is missing and this color is in a rectangular color space (Lab, + * Oklab, RGB, and XYZ spaces), `method` defaults to the color space of this + * color. Otherwise, `method` defaults to a space separated list containing + * the color space of this color and the string "shorter". + * + * The `weight` is a number between 0 and 1 that indicates how much of this + * color should be in the resulting color. If omitted, it defaults to 0.5. */ - change(options: { - hue?: number; - whiteness?: number; - blackness?: number; - alpha?: number; - }): SassColor; + interpolate( + color2: SassColor, + options?: { + weight?: number; + method?: HueInterpolationMethod; + } + ): SassColor; + + /** + * Returns a new color that's the result of changing one or more of this + * color's HSL channels. + * + * @throws `Error` if `space` is missing and this color is not in a legacy + * color space (`rgb`, `hsl`, or `hwb`). + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + change( + options: { + [key in ChannelNameHsl]?: number | null; + } & { + space?: ColorSpaceHsl; + } + ): SassColor; + + /** + * Returns a new color that's the result of changing one or more of this + * color's HWB channels. + * + * @throws `Error` if `space` is missing and this color is not in a legacy + * color space (`rgb`, `hsl`, or `hwb`). + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + change( + options: { + [key in ChannelNameHwb]?: number | null; + } & { + space?: ColorSpaceHwb; + } + ): SassColor; + + /** + * Returns a new color that's the result of changing one or more of this + * color's Lab channels. + * + * @throws `Error` if `space` is missing and this color is not in the Lab or + * Oklab color spaces. + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + change( + options: { + [key in ChannelNameLab]?: number | null; + } & { + space?: ColorSpaceLab; + } + ): SassColor; + + /** + * Returns a new color that's the result of changing one or more of this + * color's LCH channels. + * + * @throws `Error` if `space` is missing and this color is not in the LCH or + * Oklch color spaces. + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + change( + options: { + [key in ChannelNameLch]?: number | null; + } & { + space?: ColorSpaceLch; + } + ): SassColor; + + /** + * Returns a new color that's the result of changing one or more of this + * color's RGB channels. + * + * @throws `Error` if `space` is missing and this color is not in a legacy + * color space (`rgb`, `hsl`, or `hwb`). + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + change( + options: { + [key in ChannelNameRgb]?: number | null; + } & { + space?: ColorSpaceRgb; + } + ): SassColor; + + /** + * Returns a new color that's the result of changing one or more of this + * color's XYZ channels. + * + * @throws `Error` if `space` is missing and this color is not in an XYZ color + * space. + * @throws `Error` if `alpha` is set and isn't `null` or a number between `0` + * and `1`. + */ + change( + options: { + [key in ChannelNameXyz]?: number | null; + } & { + space?: ColorSpaceXyz; + } + ): SassColor; + + /** + * This color's red channel in the RGB color space. + * + * @deprecated Use {@link channel} instead. + */ + get red(): number; + + /** + * This color's green channel in the RGB color space. + * + * @deprecated Use {@link channel} instead. + */ + get green(): number; + + /** + * This color's blue channel in the RGB color space. + * + * @deprecated Use {@link channel} instead. + */ + get blue(): number; + + /** + * This color's hue in the HSL color space. + * + * @deprecated Use {@link channel} instead. + */ + get hue(): number; + + /** + * This color's saturation in the HSL color space. + * + * @deprecated Use {@link channel} instead. + */ + get saturation(): number; + + /** + * This color's lightness in the HSL color space. + * + * @deprecated Use {@link channel} instead. + */ + get lightness(): number; + + /** + * This color's whiteness in the HWB color space. + * + * @deprecated Use {@link channel} instead. + */ + get whiteness(): number; + + /** + * This color's blackness in the HWB color space. + * + * @deprecated Use {@link channel} instead. + */ + get blackness(): number; } diff --git a/src/main/webapp/css/admins/sass/node_modules/sass/types/value/index.d.ts b/src/main/webapp/css/admins/sass/node_modules/sass/types/value/index.d.ts index 38d28df..0877d5d 100644 --- a/src/main/webapp/css/admins/sass/node_modules/sass/types/value/index.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/sass/types/value/index.d.ts @@ -19,7 +19,27 @@ export { CalculationOperation, CalculationInterpolation, } from './calculation'; -export {SassColor} from './color'; +export { + SassColor, + ColorSpaceHsl, + ChannelNameHsl, + ColorSpaceHwb, + ChannelNameHwb, + ColorSpaceLab, + ChannelNameLab, + ColorSpaceLch, + ChannelNameLch, + ColorSpaceRgb, + ChannelNameRgb, + ColorSpaceXyz, + ChannelNameXyz, + ChannelName, + GamutMapMethod, + KnownColorSpace, + PolarColorSpace, + RectangularColorSpace, + HueInterpolationMethod, +} from './color'; export {SassFunction} from './function'; export {SassList, ListSeparator} from './list'; export {SassMap} from './map'; diff --git a/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.d.ts b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.d.ts new file mode 100644 index 0000000..744bda7 --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.d.ts @@ -0,0 +1 @@ +export { SourceMapConsumer } from '..'; diff --git a/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.js b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.js index db0a532..ee66114 100644 --- a/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.js +++ b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-consumer.js @@ -151,7 +151,9 @@ SourceMapConsumer.prototype.eachMapping = for (var i = 0, n = mappings.length; i < n; i++) { var mapping = mappings[i]; var source = mapping.source === null ? null : sources.at(mapping.source); - source = util.computeSourceURL(sourceRoot, source, sourceMapURL); + if(source !== null) { + source = util.computeSourceURL(sourceRoot, source, sourceMapURL); + } boundCallback({ source: source, generatedLine: mapping.generatedLine, @@ -1142,7 +1144,9 @@ IndexedSourceMapConsumer.prototype._parseMappings = var mapping = sectionMappings[j]; var source = section.consumer._sources.at(mapping.source); - source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + if(source !== null) { + source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL); + } this._sources.add(source); source = this._sources.indexOf(source); diff --git a/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-generator.d.ts b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-generator.d.ts new file mode 100644 index 0000000..f59d70a --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-map-generator.d.ts @@ -0,0 +1 @@ +export { SourceMapGenerator } from '..'; diff --git a/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-node.d.ts b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-node.d.ts new file mode 100644 index 0000000..4df6a1a --- /dev/null +++ b/src/main/webapp/css/admins/sass/node_modules/source-map-js/lib/source-node.d.ts @@ -0,0 +1 @@ +export { SourceNode } from '..'; diff --git a/src/main/webapp/css/admins/sass/node_modules/source-map-js/package.json b/src/main/webapp/css/admins/sass/node_modules/source-map-js/package.json index f16eb36..f58dbeb 100644 --- a/src/main/webapp/css/admins/sass/node_modules/source-map-js/package.json +++ b/src/main/webapp/css/admins/sass/node_modules/source-map-js/package.json @@ -1,7 +1,7 @@ { "name": "source-map-js", "description": "Generates and consumes source maps", - "version": "1.2.0", + "version": "1.2.1", "homepage": "https://github.com/7rulnik/source-map-js", "author": "Valentin 7rulnik Semirulnik ", "contributors": [ diff --git a/src/main/webapp/css/admins/sass/node_modules/source-map-js/source-map.d.ts b/src/main/webapp/css/admins/sass/node_modules/source-map-js/source-map.d.ts index 9f8a4b3..ec8892f 100644 --- a/src/main/webapp/css/admins/sass/node_modules/source-map-js/source-map.d.ts +++ b/src/main/webapp/css/admins/sass/node_modules/source-map-js/source-map.d.ts @@ -1,115 +1,104 @@ -declare module 'source-map-js' { - export interface StartOfSourceMap { - file?: string; - sourceRoot?: string; - } - - export interface RawSourceMap extends StartOfSourceMap { - version: string; - sources: string[]; - names: string[]; - sourcesContent?: string[]; - mappings: string; - } - - export interface Position { - line: number; - column: number; - } - - export interface LineRange extends Position { - lastColumn: number; - } - - export interface FindPosition extends Position { - // SourceMapConsumer.GREATEST_LOWER_BOUND or SourceMapConsumer.LEAST_UPPER_BOUND - bias?: number; - } - - export interface SourceFindPosition extends FindPosition { - source: string; - } - - export interface MappedPosition extends Position { - source: string; - name?: string; - } - - export interface MappingItem { - source: string; - generatedLine: number; - generatedColumn: number; - originalLine: number; - originalColumn: number; - name: string; - } - - export class SourceMapConsumer { - static GENERATED_ORDER: number; - static ORIGINAL_ORDER: number; - - static GREATEST_LOWER_BOUND: number; - static LEAST_UPPER_BOUND: number; - - constructor(rawSourceMap: RawSourceMap); - computeColumnSpans(): void; - originalPositionFor(generatedPosition: FindPosition): MappedPosition; - generatedPositionFor(originalPosition: SourceFindPosition): LineRange; - allGeneratedPositionsFor(originalPosition: MappedPosition): Position[]; - hasContentsOfAllSources(): boolean; - sourceContentFor(source: string, returnNullOnMissing?: boolean): string; - eachMapping(callback: (mapping: MappingItem) => void, context?: any, order?: number): void; - } - - export interface Mapping { - generated: Position; - original: Position; - source: string; - name?: string; - } - - export class SourceMapGenerator { - constructor(startOfSourceMap?: StartOfSourceMap); - static fromSourceMap(sourceMapConsumer: SourceMapConsumer): SourceMapGenerator; - addMapping(mapping: Mapping): void; - setSourceContent(sourceFile: string, sourceContent: string): void; - applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile?: string, sourceMapPath?: string): void; - toString(): string; - } - - export interface CodeWithSourceMap { - code: string; - map: SourceMapGenerator; - } - - export class SourceNode { - constructor(); - constructor(line: number, column: number, source: string); - constructor(line: number, column: number, source: string, chunk?: string, name?: string); - static fromStringWithSourceMap(code: string, sourceMapConsumer: SourceMapConsumer, relativePath?: string): SourceNode; - add(chunk: string): void; - prepend(chunk: string): void; - setSourceContent(sourceFile: string, sourceContent: string): void; - walk(fn: (chunk: string, mapping: MappedPosition) => void): void; - walkSourceContents(fn: (file: string, content: string) => void): void; - join(sep: string): SourceNode; - replaceRight(pattern: string, replacement: string): SourceNode; - toString(): string; - toStringWithSourceMap(startOfSourceMap?: StartOfSourceMap): CodeWithSourceMap; - } +export interface StartOfSourceMap { + file?: string; + sourceRoot?: string; } -declare module 'source-map-js/lib/source-map-generator' { - import { SourceMapGenerator } from 'source-map-js' - export { SourceMapGenerator } +export interface RawSourceMap extends StartOfSourceMap { + version: string; + sources: string[]; + names: string[]; + sourcesContent?: string[]; + mappings: string; } -declare module 'source-map-js/lib/source-map-consumer' { - import { SourceMapConsumer } from 'source-map-js' - export { SourceMapConsumer } +export interface Position { + line: number; + column: number; } -declare module 'source-map-js/lib/source-node' { - import { SourceNode } from 'source-map-js' - export { SourceNode } +export interface LineRange extends Position { + lastColumn: number; +} + +export interface FindPosition extends Position { + // SourceMapConsumer.GREATEST_LOWER_BOUND or SourceMapConsumer.LEAST_UPPER_BOUND + bias?: number; +} + +export interface SourceFindPosition extends FindPosition { + source: string; +} + +export interface MappedPosition extends Position { + source: string; + name?: string; +} + +export interface MappingItem { + source: string | null; + generatedLine: number; + generatedColumn: number; + originalLine: number | null; + originalColumn: number | null; + name: string | null; +} + +export class SourceMapConsumer { + static GENERATED_ORDER: number; + static ORIGINAL_ORDER: number; + + static GREATEST_LOWER_BOUND: number; + static LEAST_UPPER_BOUND: number; + + constructor(rawSourceMap: RawSourceMap); + readonly file: string | undefined | null; + readonly sourceRoot: string | undefined | null; + readonly sourcesContent: readonly string[] | null | undefined; + readonly sources: readonly string[] + + computeColumnSpans(): void; + originalPositionFor(generatedPosition: FindPosition): MappedPosition; + generatedPositionFor(originalPosition: SourceFindPosition): LineRange; + allGeneratedPositionsFor(originalPosition: MappedPosition): Position[]; + hasContentsOfAllSources(): boolean; + sourceContentFor(source: string, returnNullOnMissing?: boolean): string | null; + eachMapping(callback: (mapping: MappingItem) => void, context?: any, order?: number): void; +} + +export interface Mapping { + generated: Position; + original?: Position | null; + source?: string | null; + name?: string | null; +} + +export class SourceMapGenerator { + constructor(startOfSourceMap?: StartOfSourceMap); + static fromSourceMap(sourceMapConsumer: SourceMapConsumer, startOfSourceMap?: StartOfSourceMap): SourceMapGenerator; + addMapping(mapping: Mapping): void; + setSourceContent(sourceFile: string, sourceContent: string | null | undefined): void; + applySourceMap(sourceMapConsumer: SourceMapConsumer, sourceFile?: string, sourceMapPath?: string): void; + toString(): string; + toJSON(): RawSourceMap; +} + +export interface CodeWithSourceMap { + code: string; + map: SourceMapGenerator; +} + +export class SourceNode { + constructor(); + constructor(line: number, column: number, source: string); + constructor(line: number, column: number, source: string, chunk?: string, name?: string); + static fromStringWithSourceMap(code: string, sourceMapConsumer: SourceMapConsumer, relativePath?: string): SourceNode; + add(chunk: string): void; + prepend(chunk: string): void; + setSourceContent(sourceFile: string, sourceContent: string): void; + walk(fn: (chunk: string, mapping: MappedPosition) => void): void; + walkSourceContents(fn: (file: string, content: string) => void): void; + join(sep: string): SourceNode; + replaceRight(pattern: string, replacement: string): SourceNode; + toString(): string; + toStringWithSourceMap(startOfSourceMap?: StartOfSourceMap): CodeWithSourceMap; } diff --git a/src/main/webapp/css/admins/sass/package-lock.json b/src/main/webapp/css/admins/sass/package-lock.json index 723a3a4..96f4677 100644 --- a/src/main/webapp/css/admins/sass/package-lock.json +++ b/src/main/webapp/css/admins/sass/package-lock.json @@ -11,27 +11,264 @@ "sass": "^1.16.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@parcel/watcher": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz", + "integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" }, "engines": { - "node": ">= 8" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "engines": { - "node": ">=8" + "node": ">= 10.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.4.1", + "@parcel/watcher-darwin-arm64": "2.4.1", + "@parcel/watcher-darwin-x64": "2.4.1", + "@parcel/watcher-freebsd-x64": "2.4.1", + "@parcel/watcher-linux-arm-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-glibc": "2.4.1", + "@parcel/watcher-linux-arm64-musl": "2.4.1", + "@parcel/watcher-linux-x64-glibc": "2.4.1", + "@parcel/watcher-linux-x64-musl": "2.4.1", + "@parcel/watcher-win32-arm64": "2.4.1", + "@parcel/watcher-win32-ia32": "2.4.1", + "@parcel/watcher-win32-x64": "2.4.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz", + "integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz", + "integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz", + "integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz", + "integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz", + "integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz", + "integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz", + "integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz", + "integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz", + "integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz", + "integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz", + "integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz", + "integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, "node_modules/braces": { @@ -46,26 +283,28 @@ } }, "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "readdirp": "^4.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">= 14.16.0" }, "funding": { "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "bin": { + "detect-libc": "bin/detect-libc.js" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "engines": { + "node": ">=0.10" } }, "node_modules/fill-range": { @@ -79,45 +318,10 @@ "node": ">=8" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/immutable": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", - "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==" }, "node_modules/is-extglob": { "version": "2.1.1", @@ -146,14 +350,23 @@ "node": ">=0.12.0" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==" + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -166,22 +379,24 @@ } }, "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", "engines": { - "node": ">=8.10.0" + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, "node_modules/sass": { - "version": "1.77.4", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.4.tgz", - "integrity": "sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==", + "version": "1.80.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.4.tgz", + "integrity": "sha512-rhMQ2tSF5CsuuspvC94nPM9rToiAFw2h3JTrLlgmNw1MH79v8Cr3DH6KF6o6r+8oofY3iYVPUf66KzC8yuVN1w==", "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", + "@parcel/watcher": "^2.4.1", + "chokidar": "^4.0.0", "immutable": "^4.0.0", "source-map-js": ">=0.6.2 <2.0.0" }, @@ -193,9 +408,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" }