Socket
Socket
Sign inDemoInstall

babel-plugin-ember-template-compilation

Package Overview
Dependencies
Maintainers
17
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-plugin-ember-template-compilation - npm Package Compare versions

Comparing version 2.2.2 to 2.2.3

42

package.json
{
"name": "babel-plugin-ember-template-compilation",
"version": "2.2.2",
"version": "2.2.3",
"description": "Babel implementation of Ember's low-level template-compilation API",

@@ -8,17 +8,2 @@ "repository": "https://github.com/emberjs/babel-plugin-ember-template-compilation",

"author": "Edward Faulkner <edward@eaf4.com>",
"scripts": {
"prepare": "tsc",
"build": "tsc",
"pretest": "tsc",
"lint": "eslint --cache --ext .ts .",
"test": "jest",
"clean": "git clean -d -f -x src __tests__"
},
"jest": {
"testPathIgnorePatterns": [
"mock-precompile",
".*\\.ts"
]
},
"main": "src/node-main.js",
"exports": {

@@ -32,2 +17,3 @@ ".": {

},
"main": "src/node-main.js",
"files": [

@@ -38,5 +24,11 @@ "src/**/*.js",

],
"jest": {
"testPathIgnorePatterns": [
"mock-precompile",
".*\\.ts"
]
},
"dependencies": {
"@glimmer/syntax": "^0.84.3",
"babel-import-util": "^2.0.0"
"babel-import-util": "^3.0.0"
},

@@ -70,2 +62,3 @@ "devDependencies": {

"release-it-lerna-changelog": "^3.1.0",
"release-plan": "^0.9.0",
"sinon": "^14.0.0",

@@ -77,2 +70,6 @@ "typescript": "^4.3.5"

},
"volta": {
"node": "18.20.2",
"pnpm": "9.0.6"
},
"release-it": {

@@ -93,6 +90,9 @@ "plugins": {

},
"volta": {
"node": "18.15.0",
"yarn": "1.22.19"
"scripts": {
"build": "tsc",
"clean": "git clean -d -f -x src __tests__",
"lint": "eslint --cache --ext .ts .",
"pretest": "tsc",
"test": "jest"
}
}
}

@@ -201,2 +201,7 @@ "use strict";

import(moduleSpecifier, exportedName, nameHint) {
// this method in babel-import-util is the lower-level one that doesn't try
// to create valid references for us. It's our responsibility to do so. But
// that's OK here, because we have the same responsibility for every
// scope-bag identifier, not just the imported ones, and it will be easier
// to handle them all at once.
return __classPrivateFieldGet(this, _ExpressionContext_importer, "f").import(__classPrivateFieldGet(this, _ExpressionContext_target, "f"), moduleSpecifier, exportedName, nameHint).name;

@@ -206,2 +211,2 @@ }

_ExpressionContext_importer = new WeakMap(), _ExpressionContext_target = new WeakMap();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqcy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFLQSwyQ0FBZ0Q7QUFPaEQsNkVBQTZFO0FBQzdFLCtCQUErQjtBQUMvQixNQUFhLE9BQU87SUFPbEIsWUFDRSxLQUFtQixFQUNuQixLQUFZLEVBQ1osUUFBZ0MsRUFDaEMsWUFBb0MsRUFDcEMsUUFBb0I7O1FBWHRCLGlDQUFxQjtRQUNyQixpQ0FBYztRQUNkLG9DQUFrQztRQUNsQyx3Q0FBc0M7UUFDdEMsb0NBQXNCO1FBU3BCLHVCQUFBLElBQUksa0JBQVUsS0FBSyxNQUFBLENBQUM7UUFDcEIsdUJBQUEsSUFBSSxrQkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLHFCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUkseUJBQWlCLFlBQVksTUFBQSxDQUFDO1FBQ2xDLHVCQUFBLElBQUkscUJBQWEsUUFBUSxNQUFBLENBQUM7UUFFMUIsSUFBSSxDQUFDLHVCQUFBLElBQUksc0JBQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqQyxJQUFJLE1BQXlDLENBQUM7WUFDOUMsS0FBSyxJQUFJLFNBQVMsSUFBSSx1QkFBQSxJQUFJLHNCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO29CQUNwQyxNQUFNO2lCQUNQO2dCQUNELE1BQU0sR0FBRyxTQUFTLENBQUM7YUFDcEI7WUFDRCxJQUFJLE1BQU0sRUFBRTtnQkFDVix1QkFBQSxJQUFJLHNCQUFPLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO2FBQ3ZDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILGNBQWMsQ0FDWixVQUFzQixFQUN0QixNQUE4QixFQUM5QixJQUE0Qjs7UUFFNUIs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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQzFCO1NBQU07UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbEI7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQjtJQUlyQixZQUFZLFFBQW9CLEVBQUUsTUFBd0I7UUFIMUQsOENBQXNCO1FBQ3RCLDRDQUEwQjtRQUd4Qix1QkFBQSxJQUFJLCtCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksNkJBQVcsTUFBTSxNQUFBLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsTUFBTSxDQUFDLGVBQXVCLEVBQUUsWUFBb0IsRUFBRSxRQUFpQjtRQUNyRSxPQUFPLHVCQUFBLElBQUksbUNBQVUsQ0FBQyxNQUFNLENBQUMsdUJBQUEsSUFBSSxpQ0FBUSxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzNGLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgdHlwZXMgYXMgdCB9IGZyb20gJ0BiYWJlbC9jb3JlJztcbmltcG9ydCB0eXBlICogYXMgQmFiZWwgZnJvbSAnQGJhYmVsL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBOb2RlUGF0aCB9IGZyb20gJ0BiYWJlbC90cmF2ZXJzZSc7XG5pbXBvcnQgdHlwZSB7IEFTVFBsdWdpbkJ1aWxkZXIsIEFTVFBsdWdpbkVudmlyb25tZW50LCBBU1R2MSwgV2Fsa2VyUGF0aCB9IGZyb20gJ0BnbGltbWVyL3N5bnRheCc7XG5pbXBvcnQgdHlwZSB7IEltcG9ydFV0aWwgfSBmcm9tICdiYWJlbC1pbXBvcnQtdXRpbCc7XG5pbXBvcnQgeyBhc3ROb2RlSGFzQmluZGluZyB9IGZyb20gJy4vaGJzLXV0aWxzJztcblxuaW50ZXJmYWNlIFN0YXRlIHtcbiAgcHJvZ3JhbTogTm9kZVBhdGg8QmFiZWwudHlwZXMuUHJvZ3JhbT47XG4gIGxhc3RJbnNlcnRlZFBhdGg6IE5vZGVQYXRoPEJhYmVsLnR5cGVzLlN0YXRlbWVudD4gfCB1bmRlZmluZWQ7XG59XG5cbi8vIFRoaXMgZXhpc3RzIHRvIGdpdmUgQVNUIHBsdWdpbnMgYSBjb250cm9sbGVkIGludGVyZmFjZSBmb3IgaW5mbHVlbmNpbmcgdGhlXG4vLyBzdXJyb3VuZGluZyBKYXZhc2NyaXB0IHNjb3BlXG5leHBvcnQgY2xhc3MgSlNVdGlscyB7XG4gICNiYWJlbDogdHlwZW9mIEJhYmVsO1xuICAjc3RhdGU6IFN0YXRlO1xuICAjdGVtcGxhdGU6IE5vZGVQYXRoPHQuRXhwcmVzc2lvbj47XG4gICNhZGRlZEJpbmRpbmc6IChuYW1lOiBzdHJpbmcpID0+IHZvaWQ7XG4gICNpbXBvcnRlcjogSW1wb3J0VXRpbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBiYWJlbDogdHlwZW9mIEJhYmVsLFxuICAgIHN0YXRlOiBTdGF0ZSxcbiAgICB0ZW1wbGF0ZTogTm9kZVBhdGg8dC5FeHByZXNzaW9uPixcbiAgICBhZGRlZEJpbmRpbmc6IChuYW1lOiBzdHJpbmcpID0+IHZvaWQsXG4gICAgaW1wb3J0ZXI6IEltcG9ydFV0aWxcbiAgKSB7XG4gICAgdGhpcy4jYmFiZWwgPSBiYWJlbDtcbiAgICB0aGlzLiNzdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuI3RlbXBsYXRlID0gdGVtcGxhdGU7XG4gICAgdGhpcy4jYWRkZWRCaW5kaW5nID0gYWRkZWRCaW5kaW5nO1xuICAgIHRoaXMuI2ltcG9ydGVyID0gaW1wb3J0ZXI7XG5cbiAgICBpZiAoIXRoaXMuI3N0YXRlLmxhc3RJbnNlcnRlZFBhdGgpIHtcbiAgICAgIGxldCB0YXJnZXQ6IE5vZGVQYXRoPHQuU3RhdGVtZW50PiB8IHVuZGVmaW5lZDtcbiAgICAgIGZvciAobGV0IHN0YXRlbWVudCBvZiB0aGlzLiNzdGF0ZS5wcm9ncmFtLmdldCgnYm9keScpKSB7XG4gICAgICAgIGlmICghc3RhdGVtZW50LmlzSW1wb3J0RGVjbGFyYXRpb24oKSkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHRhcmdldCA9IHN0YXRlbWVudDtcbiAgICAgIH1cbiAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgdGhpcy4jc3RhdGUubGFzdEluc2VydGVkUGF0aCA9IHRhcmdldDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IGJpbmRpbmcgdGhhdCB5b3UgY2FuIHVzZSBpbiB5b3VyIHRlbXBsYXRlLCBpbml0aWFsaXplZCB3aXRoXG4gICAqIHRoZSBnaXZlbiBKYXZhc2NyaXB0IGV4cHJlc3Npb24uXG4gICAqXG4gICAqIEBwYXJhbSB7IEV4cHJlc3Npb24gfSBleHByZXNzaW9uIEEgamF2YXNjcmlwdCBleHByZXNzaW9uIHdob3NlIHZhbHVlIHdpbGxcbiAgICogaW5pdGlhbGl6ZSB5b3VyIG5ldyBiaW5kaW5nLiBTZWUgZG9jcyBvbiB0aGUgRXhwcmVzc2lvbiB0eXBlIGZvciBkZXRhaWxzLlxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSBsb2NhdGlvbiB3aXRoaW4geW91ciB0ZW1wbGF0ZSB3aGVyZSB0aGUgYmluZGluZyB3aWxsIGJlXG4gICAqIHVzZWQuIFRoaXMgbWF0dGVycyBzbyB3ZSBjYW4gYXZvaWQgbmFtaW5nIGNvbGxpc2lvbnMuXG4gICAqIEBwYXJhbSBvcHRzLm5hbWVIaW50IE9wdGlvbmFsbHksIHByb3ZpZGUgYSBkZXNjcmlwdGl2ZSBuYW1lIGZvciB5b3VyIG5ld1xuICAgKiBiaW5kaW5nLiBXZSB3aWxsIG1hbmdsZSB0aGlzIG5hbWUgYXMgbmVlZGVkIHRvIGF2b2lkIGNvbGxpc2lvbnMsIGJ1dFxuICAgKiBwaWNraW5nIGEgZ29vZCBuYW1lIGhlcmUgY2FuIGFpZCBpbiBkZWJ1Z2dpbmcuXG4gICAqXG4gICAqIEByZXR1cm4gVGhlIG5hbWUgeW91IGNhbiB1c2UgaW4geW91ciB0ZW1wbGF0ZSB0byBhY2Nlc3MgdGhlIGJpbmRpbmcuXG4gICAqL1xuICBiaW5kRXhwcmVzc2lvbihcbiAgICBleHByZXNzaW9uOiBFeHByZXNzaW9uLFxuICAgIHRhcmdldDogV2Fsa2VyUGF0aDxBU1R2MS5Ob2RlPixcbiAgICBvcHRzPzogeyBuYW1lSGludD86IHN0cmluZyB9XG4gICk6IHN0cmluZyB7XG4gICAgbGV0IG5hbWUgPSB1bnVzZWROYW1lTGlrZShcbiAgICAgIG9wdHM/Lm5hbWVIaW50ID8/ICdhJyxcbiAgICAgIChjYW5kaWRhdGUpID0+XG4gICAgICAgIHRoaXMuI3RlbXBsYXRlLnNjb3BlLmhhc0JpbmRpbmcoY2FuZGlkYXRlKSB8fCBhc3ROb2RlSGFzQmluZGluZyh0YXJnZXQsIGNhbmRpZGF0ZSlcbiAgICApO1xuICAgIGxldCB0ID0gdGhpcy4jYmFiZWwudHlwZXM7XG4gICAgbGV0IGRlY2xhcmF0aW9uOiBOb2RlUGF0aDx0LlZhcmlhYmxlRGVjbGFyYXRpb24+ID0gdGhpcy4jZW1pdFN0YXRlbWVudChcbiAgICAgIHQudmFyaWFibGVEZWNsYXJhdGlvbignbGV0JywgW1xuICAgICAgICB0LnZhcmlhYmxlRGVjbGFyYXRvcihcbiAgICAgICAgICB0LmlkZW50aWZpZXIobmFtZSksXG4gICAgICAgICAgdGhpcy4jcGFyc2VFeHByZXNzaW9uKHRoaXMuI3N0YXRlLnByb2dyYW0sIGV4cHJlc3Npb24pXG4gICAgICAgICksXG4gICAgICBdKVxuICAgICk7XG4gICAgZGVjbGFyYXRpb24uc2NvcGUucmVnaXN0ZXJCaW5kaW5nKCdsZXQnLCBkZWNsYXJhdGlvbi5nZXQoJ2RlY2xhcmF0aW9ucy4wJykgYXMgTm9kZVBhdGgpO1xuICAgIHRoaXMuI2FkZGVkQmluZGluZyhuYW1lKTtcbiAgICByZXR1cm4gbmFtZTtcbiAgfVxuXG4gICNlbWl0U3RhdGVtZW50PFQgZXh0ZW5kcyB0LlN0YXRlbWVudD4oc3RhdGVtZW50OiBUKTogTm9kZVBhdGg8VD4ge1xuICAgIGlmICh0aGlzLiNzdGF0ZS5sYXN0SW5zZXJ0ZWRQYXRoKSB7XG4gICAgICB0aGlzLiNzdGF0ZS5sYXN0SW5zZXJ0ZWRQYXRoID0gdGhpcy4jc3RhdGUubGFzdEluc2VydGVkUGF0aC5pbnNlcnRBZnRlcihzdGF0ZW1lbnQpWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiNzdGF0ZS5sYXN0SW5zZXJ0ZWRQYXRoID0gdGhpcy4jc3RhdGUucHJvZ3JhbS51bnNoaWZ0Q29udGFpbmVyKCdib2R5Jywgc3RhdGVtZW50KVswXTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuI3N0YXRlLmxhc3RJbnNlcnRlZFBhdGggYXMgTm9kZVBhdGg8VD47XG4gIH1cblxuICAvKipcbiAgICogR2FpbiBhY2Nlc3MgdG8gYW4gaW1wb3J0ZWQgdmFsdWUgd2l0aGluIHlvdXIgdGVtcGxhdGUuXG4gICAqXG4gICAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgVGhlIHBhdGggdG8gaW1wb3J0IGZyb20uXG4gICAqIEBwYXJhbSBleHBvcnRlZE5hbWUgVGhlIG5hbWVkIGV4cG9ydCB5b3Ugd2lzaCB0byBhY2Nlc3MsIG9yIFwiZGVmYXVsdFwiIGZvclxuICAgKiB0aGUgZGVmYXVsdCBleHBvcnQsIG9yIFwiKlwiIGZvciB0aGUgbmFtZXNwYWNlIGV4cG9ydC5cbiAgICogQHBhcmFtIHRhcmdldCBUaGUgbG9jYXRpb24gd2l0aGluIHlvdXIgdGVtcGxhdGUgd2hlcmUgdGhlIGJpbmRpbmcgd2lsbCBiZVxuICAgKiB1c2VkLiBUaGlzIG1hdHRlcnMgc28gd2UgY2FuIGF2b2lkIG5hbWluZyBjb2xsaXNpb25zLlxuICAgKiBAcGFyYW0gb3B0cy5uYW1lSGludCBPcHRpb25hbGx5LCBwcm92aWRlIGEgZGVzY3JpcHRpdmUgbmFtZSBmb3IgeW91ciBuZXdcbiAgICogYmluZGluZy4gV2Ugd2lsbCBtYW5nbGUgdGhpcyBuYW1lIGFzIG5lZWRlZCB0byBhdm9pZCBjb2xsaXNpb25zLCBidXRcbiAgICogcGlja2luZyBhIGdvb2QgbmFtZSBoZXJlIGNhbiBhaWQgaW4gZGVidWdnaW5nLlxuICAgKlxuICAgKiBAcmV0dXJuIFRoZSBuYW1lIHlvdSBjYW4gdXNlIGluIHlvdXIgdGVtcGxhdGUgdG8gYWNjZXNzIHRoZSBpbXBvcnRlZCB2YWx1ZS5cbiAgICovXG4gIGJpbmRJbXBvcnQoXG4gICAgbW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsXG4gICAgZXhwb3J0ZWROYW1lOiBzdHJpbmcsXG4gICAgdGFyZ2V0OiBXYWxrZXJQYXRoPEFTVHYxLk5vZGU+LFxuICAgIG9wdHM/OiB7IG5hbWVIaW50Pzogc3RyaW5nIH1cbiAgKTogc3RyaW5nIHtcbiAgICAvLyBUaGlzIHdpbGwgZGlzY292ZXIgb3IgY3JlYXRlIHRoZSBsb2NhbCBuYW1lIGZvciBhY2Nlc3NpbmcgdGhlIGdpdmVuIGltcG9ydC5cbiAgICBsZXQgaW1wb3J0ZWRJZGVudGlmaWVyID0gdGhpcy4jaW1wb3J0ZXIuaW1wb3J0KFxuICAgICAgdGhpcy4jdGVtcGxhdGUsXG4gICAgICBtb2R1bGVTcGVjaWZpZXIsXG4gICAgICBleHBvcnRlZE5hbWUsXG4gICAgICBvcHRzPy5uYW1lSGludFxuICAgICk7XG5cbiAgICAvLyBTaW1wbGUgYmFzZSBjYXNlOiB0aGUgSlMgbmFtZSB0aGF0J3MgYXZhaWxhYmxlIGlzIGFsc28gdW51c2VkIGF0IG91ciBzcG90XG4gICAgLy8gaW4gSEJTLCBzbyBqdXN0IHVzZSBpdC5cbiAgICBpZiAoIWFzdE5vZGVIYXNCaW5kaW5nKHRhcmdldCwgaW1wb3J0ZWRJZGVudGlmaWVyLm5hbWUpKSB7XG4gICAgICB0aGlzLiNhZGRlZEJpbmRpbmcoaW1wb3J0ZWRJZGVudGlmaWVyLm5hbWUpO1xuICAgICAgcmV0dXJuIGltcG9ydGVkSWRlbnRpZmllci5uYW1lO1xuICAgIH1cblxuICAgIC8vIFRoZSBpbXBvcnRlZElkZW50aWZpZXIgdGhhdCB3ZSBoYXZlIGluIEphdmFzY3JpcHQgaXMgbm90IHVzYWJsZSB3aXRoaW5cbiAgICAvLyBvdXIgSEJTIGJlY2F1c2UgaXQncyBzaGFkb3dlZCBieSBhIGJsb2NrIHBhcmFtLiBTbyB3ZSB3aWxsIGludHJvZHVjZSBhXG4gICAgLy8gc2Vjb25kIG5hbWUgdmlhIGEgdmFyaWFibGUgZGVjbGFyYXRpb24uXG4gICAgLy9cbiAgICAvLyBUaGUgcmVhc29uIHdlIGRvbid0IGZvcmNlIHRoZSBpbXBvcnQgaXRzZWxmIHRvIGhhdmUgdGhpcyBuYW1lIGlzIHRoYXRcbiAgICAvLyB3ZSBtaWdodCBiZSByZS11c2luZyBhbiBleGlzdGluZyBpbXBvcnQsIGFuZCB3ZSBkb24ndCB3YW50IHRvIGdvXG4gICAgLy8gcmV3cml0aW5nIGFsbCBvZiBpdHMgY2FsbHNpdGVzIHRoYXQgYXJlIHVucmVsYXRlZCB0byB1cy5cbiAgICBsZXQgaWRlbnRpZmllciA9IHVudXNlZE5hbWVMaWtlKFxuICAgICAgaW1wb3J0ZWRJZGVudGlmaWVyLm5hbWUsXG4gICAgICAoY2FuZGlkYXRlKSA9PlxuICAgICAgICB0aGlzLiN0ZW1wbGF0ZS5zY29wZS5oYXNCaW5kaW5nKGNhbmRpZGF0ZSkgfHwgYXN0Tm9kZUhhc0JpbmRpbmcodGFyZ2V0LCBjYW5kaWRhdGUpXG4gICAgKTtcbiAgICBsZXQgdCA9IHRoaXMuI2JhYmVsLnR5cGVzO1xuICAgIGxldCBkZWNsYXJhdGlvbiA9IHRoaXMuI2VtaXRTdGF0ZW1lbnQoXG4gICAgICB0LnZhcmlhYmxlRGVjbGFyYXRpb24oJ2xldCcsIFtcbiAgICAgICAgdC52YXJpYWJsZURlY2xhcmF0b3IodC5pZGVudGlmaWVyKGlkZW50aWZpZXIpLCBpbXBvcnRlZElkZW50aWZpZXIpLFxuICAgICAgXSlcbiAgICApO1xuICAgIGRlY2xhcmF0aW9uLnNjb3BlLnJlZ2lzdGVyQmluZGluZygnbGV0JywgZGVjbGFyYXRpb24uZ2V0KCdkZWNsYXJhdGlvbnMuMCcpIGFzIE5vZGVQYXRoKTtcblxuICAgIHRoaXMuI2FkZGVkQmluZGluZyhpZGVudGlmaWVyKTtcbiAgICByZXR1cm4gaWRlbnRpZmllcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYW4gaW1wb3J0IHN0YXRlbWVudCBwdXJlbHkgZm9yIHNpZGUgZWZmZWN0LlxuICAgKlxuICAgKiBAcGFyYW0gbW9kdWxlU3BlY2lmaWVyIHRoZSBtb2R1bGUgdG8gaW1wb3J0XG4gICAqL1xuICBpbXBvcnRGb3JTaWRlRWZmZWN0KG1vZHVsZVNwZWNpZmllcjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy4jaW1wb3J0ZXIuaW1wb3J0Rm9yU2lkZUVmZmVjdChtb2R1bGVTcGVjaWZpZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtaXQgYSBqYXZhc2NyaXB0IGV4cHJlc2lzb24gZm9yIHNpZGUtZWZmZWN0LiBUaGlzIG9ubHkgYWNjZXB0c1xuICAgKiBleHByZXNzaW9ucywgbm90IHN0YXRlbWVudHMsIGJlY2F1c2UgeW91IHNob3VsZCBub3QgaW50cm9kdWNlIG5ldyBiaW5kaW5ncy5cbiAgICogVG8gaW50cm9kdWNlIGEgYmluZGluZyBzZWUgYmluZEV4cHJlc3Npb24gb3IgYmluZEltcG9ydCBpbnN0ZWFkLlxuICAgKlxuICAgKiBAcGFyYW0geyBFeHByZXNzaW9uIH0gZXhwcmVzc2lvbiBBIGphdmFzY3JpcHQgZXhwcmVzc2lvbiB3aG9zZSB2YWx1ZSB3aWxsXG4gICAqIGluaXRpYWxpemUgeW91ciBuZXcgYmluZGluZy4gU2VlIGRvY3Mgb24gdGhlIEV4cHJlc3Npb24gdHlwZSBiZWxvdyBmb3JcbiAgICogZGV0YWlscy5cbiAgICovXG4gIGVtaXRFeHByZXNzaW9uKGV4cHJlc3Npb246IEV4cHJlc3Npb24pOiB2b2lkIHtcbiAgICBsZXQgdCA9IHRoaXMuI2JhYmVsLnR5cGVzO1xuICAgIHRoaXMuI2VtaXRTdGF0ZW1lbnQoXG4gICAgICB0LmV4cHJlc3Npb25TdGF0ZW1lbnQodGhpcy4jcGFyc2VFeHByZXNzaW9uKHRoaXMuI3N0YXRlLnByb2dyYW0sIGV4cHJlc3Npb24pKVxuICAgICk7XG4gIH1cblxuICAjcGFyc2VFeHByZXNzaW9uKHRhcmdldDogTm9kZVBhdGg8dC5Ob2RlPiwgZXhwcmVzc2lvbjogRXhwcmVzc2lvbik6IHQuRXhwcmVzc2lvbiB7XG4gICAgbGV0IGV4cHJlc3Npb25TdHJpbmc6IHN0cmluZztcbiAgICBpZiAodHlwZW9mIGV4cHJlc3Npb24gPT09ICdzdHJpbmcnKSB7XG4gICAgICBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24obmV3IEV4cHJlc3Npb25Db250ZXh0KHRoaXMuI2ltcG9ydGVyLCB0YXJnZXQpKTtcbiAgICB9XG5cbiAgICBsZXQgcGFyc2VkID0gdGhpcy4jYmFiZWwucGFyc2UoZXhwcmVzc2lvblN0cmluZyk7XG4gICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEpTVXRpbHMuYmluZEV4cHJlc3Npb24gY291bGQgbm90IHVuZGVyc3RhbmQgdGhlIGV4cHJlc3Npb246ICR7ZXhwcmVzc2lvblN0cmluZ31gXG4gICAgICApO1xuICAgIH1cbiAgICBsZXQgc3RhdGVtZW50cyA9IGJvZHkocGFyc2VkKTtcbiAgICBpZiAoc3RhdGVtZW50cy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEpTVXRpbHMuYmluZEV4cHJlc3Npb24gZXhwZWN0ZWQgdG8gZmluZCBleGFjdGx5IG9uZSBleHByZXNzaW9uIGJ1dCBmb3VuZCAke3N0YXRlbWVudHMubGVuZ3RofSBpbjogJHtleHByZXNzaW9uU3RyaW5nfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGxldCBzdGF0ZW1lbnQgPSBzdGF0ZW1lbnRzWzBdO1xuICAgIGlmIChzdGF0ZW1lbnQudHlwZSAhPT0gJ0V4cHJlc3Npb25TdGF0ZW1lbnQnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBKU1V0aWxzLmJpbmRFeHByZXNzaW9uIGV4cGVjdGVkIHRvIGZpbmQgYW4gZXhwcmVzc2lvbiBidXQgZm91bmQgJHtzdGF0ZW1lbnQudHlwZX0gaW46ICR7ZXhwcmVzc2lvblN0cmluZ31gXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gc3RhdGVtZW50LmV4cHJlc3Npb247XG4gIH1cbn1cblxuZnVuY3Rpb24gdW51c2VkTmFtZUxpa2UoZGVzaXJlZE5hbWU6IHN0cmluZywgaXNVc2VkOiAobmFtZTogc3RyaW5nKSA9PiBib29sZWFuKTogc3RyaW5nIHtcbiAgbGV0IGNhbmRpZGF0ZSA9IGRlc2lyZWROYW1lO1xuICBsZXQgY291bnRlciA9IDA7XG4gIHdoaWxlIChpc1VzZWQoY2FuZGlkYXRlKSkge1xuICAgIGNhbmRpZGF0ZSA9IGAke2Rlc2lyZWROYW1lfSR7Y291bnRlcisrfWA7XG4gIH1cbiAgcmV0dXJuIGNhbmRpZGF0ZTtcbn1cblxuLyoqXG4gKiBUaGlzIGV4dGVuZHMgR2xpbW1lcidzIEFTVFBsdWdpbkVudmlyb25tZW50IHR5cGUgdG8gcHV0IG91ciBqc3V0aWxzIGludG8gbWV0YVxuICovXG5leHBvcnQgdHlwZSBXaXRoSlNVdGlsczxUIGV4dGVuZHMgeyBtZXRhPzogb2JqZWN0IH0+ID0ge1xuICBtZXRhOiBUWydtZXRhJ10gJiB7IGpzdXRpbHM6IEpTVXRpbHMgfTtcbn0gJiBUO1xuXG5leHBvcnQgdHlwZSBFeHRlbmRlZFBsdWdpbkJ1aWxkZXIgPSBBU1RQbHVnaW5CdWlsZGVyPFdpdGhKU1V0aWxzPEFTVFBsdWdpbkVudmlyb25tZW50Pj47XG5cbmZ1bmN0aW9uIGJvZHkobm9kZTogdC5Qcm9ncmFtIHwgdC5GaWxlKSB7XG4gIGlmIChub2RlLnR5cGUgPT09ICdGaWxlJykge1xuICAgIHJldHVybiBub2RlLnByb2dyYW0uYm9keTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbm9kZS5ib2R5O1xuICB9XG59XG5cbi8qKlxuICogQWxsb3dzIHlvdSB0byBjb25zdHJ1Y3QgYW4gZXhwcmVzc2lvbiB0aGF0IHJlbGllcyBvbiBpbXBvcnRlZCB2YWx1ZXMuXG4gKi9cbmNsYXNzIEV4cHJlc3Npb25Db250ZXh0IHtcbiAgI2ltcG9ydGVyOiBJbXBvcnRVdGlsO1xuICAjdGFyZ2V0OiBOb2RlUGF0aDx0Lk5vZGU+O1xuXG4gIGNvbnN0cnVjdG9yKGltcG9ydGVyOiBJbXBvcnRVdGlsLCB0YXJnZXQ6IE5vZGVQYXRoPHQuTm9kZT4pIHtcbiAgICB0aGlzLiNpbXBvcnRlciA9IGltcG9ydGVyO1xuICAgIHRoaXMuI3RhcmdldCA9IHRhcmdldDtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaW5kIG9yIGNyZWF0ZSBhIGxvY2FsIGJpbmRpbmcgZm9yIHRoZSBnaXZlbiBpbXBvcnQuXG4gICAqXG4gICAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgVGhlIHBhdGggdG8gaW1wb3J0IGZyb20uXG4gICAqIEBwYXJhbSBleHBvcnRlZE5hbWUgVGhlIG5hbWVkIGV4cG9ydCB5b3Ugd2lzaCB0byBhY2Nlc3MsIG9yIFwiZGVmYXVsdFwiIGZvclxuICAgKiB0aGUgZGVmYXVsdCBleHBvcnQsIG9yIFwiKlwiIGZvciB0aGUgbmFtZXNwYWNlIGV4cG9ydC5cbiAgICogQHBhcmFtIG5hbWVIaW50IE9wdGlvbmFsbHksIHByb3ZpZGUgYSBkZXNjcmlwdGl2ZSBuYW1lIGZvciB5b3VyIG5ld1xuICAgKiBiaW5kaW5nLiBXZSB3aWxsIG1hbmdsZSB0aGlzIG5hbWUgYXMgbmVlZGVkIHRvIGF2b2lkIGNvbGxpc2lvbnMsIGJ1dFxuICAgKiBwaWNraW5nIGEgZ29vZCBuYW1lIGhlcmUgY2FuIGFpZCBpbiBkZWJ1Z2dpbmcuXG5cbiAgICogQHJldHVybiB0aGUgbG9jYWwgaWRlbnRpZmllciBmb3IgdGhlIGltcG9ydGVkIHZhbHVlXG4gICAqL1xuICBpbXBvcnQobW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcsIGV4cG9ydGVkTmFtZTogc3RyaW5nLCBuYW1lSGludD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI2ltcG9ydGVyLmltcG9ydCh0aGlzLiN0YXJnZXQsIG1vZHVsZVNwZWNpZmllciwgZXhwb3J0ZWROYW1lLCBuYW1lSGludCkubmFtZTtcbiAgfVxufVxuXG4vKipcbiAqIFlvdSBjYW4gcGFzcyBhIEphdmFzY3JpcHQgZXhwcmVzc2lvbiBhcyBhIHN0cmluZyBsaWtlOlxuICpcbiAqICAgXCJuZXcgRGF0ZSgpXCJcbiAqXG4gKiBPciBhcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHN0cmluZzpcbiAqXG4gKiAgICgpID0+IFwibmV3IERhdGUoKVwiXG4gKlxuICogV2hlbiB5b3UgdXNlIGEgZnVuY3Rpb24sIGl0IGNhbiB1c2UgaW1wb3J0ZWQgdmFsdWVzOlxuICpcbiAqICAgKGNvbnRleHQpID0+IGBuZXcgJHtjb250ZXh0LmltcG9ydChcImx1eG9uXCIsIFwiRGF0ZVRpbWVcIil9KClgXG4gKlxuICovXG5leHBvcnQgdHlwZSBFeHByZXNzaW9uID0gc3RyaW5nIHwgKChjb250ZXh0OiBFeHByZXNzaW9uQ29udGV4dCkgPT4gc3RyaW5nKTtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJqcy11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFLQSwyQ0FBZ0Q7QUFPaEQsNkVBQTZFO0FBQzdFLCtCQUErQjtBQUMvQixNQUFhLE9BQU87SUFPbEIsWUFDRSxLQUFtQixFQUNuQixLQUFZLEVBQ1osUUFBZ0MsRUFDaEMsWUFBb0MsRUFDcEMsUUFBb0I7O1FBWHRCLGlDQUFxQjtRQUNyQixpQ0FBYztRQUNkLG9DQUFrQztRQUNsQyx3Q0FBc0M7UUFDdEMsb0NBQXNCO1FBU3BCLHVCQUFBLElBQUksa0JBQVUsS0FBSyxNQUFBLENBQUM7UUFDcEIsdUJBQUEsSUFBSSxrQkFBVSxLQUFLLE1BQUEsQ0FBQztRQUNwQix1QkFBQSxJQUFJLHFCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUkseUJBQWlCLFlBQVksTUFBQSxDQUFDO1FBQ2xDLHVCQUFBLElBQUkscUJBQWEsUUFBUSxNQUFBLENBQUM7UUFFMUIsSUFBSSxDQUFDLHVCQUFBLElBQUksc0JBQU8sQ0FBQyxnQkFBZ0IsRUFBRTtZQUNqQyxJQUFJLE1BQXlDLENBQUM7WUFDOUMsS0FBSyxJQUFJLFNBQVMsSUFBSSx1QkFBQSxJQUFJLHNCQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxFQUFFO29CQUNwQyxNQUFNO2lCQUNQO2dCQUNELE1BQU0sR0FBRyxTQUFTLENBQUM7YUFDcEI7WUFDRCxJQUFJLE1BQU0sRUFBRTtnQkFDVix1QkFBQSxJQUFJLHNCQUFPLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDO2FBQ3ZDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7T0FhRztJQUNILGNBQWMsQ0FDWixVQUFzQixFQUN0QixNQUE4QixFQUM5QixJQUE0Qjs7UUFFNUIs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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO0tBQzFCO1NBQU07UUFDTCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7S0FDbEI7QUFDSCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQjtJQUlyQixZQUFZLFFBQW9CLEVBQUUsTUFBd0I7UUFIMUQsOENBQXNCO1FBQ3RCLDRDQUEwQjtRQUd4Qix1QkFBQSxJQUFJLCtCQUFhLFFBQVEsTUFBQSxDQUFDO1FBQzFCLHVCQUFBLElBQUksNkJBQVcsTUFBTSxNQUFBLENBQUM7SUFDeEIsQ0FBQztJQUVEOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsTUFBTSxDQUFDLGVBQXVCLEVBQUUsWUFBb0IsRUFBRSxRQUFpQjtRQUNyRSwyRUFBMkU7UUFDM0UsMkVBQTJFO1FBQzNFLG9FQUFvRTtRQUNwRSwwRUFBMEU7UUFDMUUsOEJBQThCO1FBQzlCLE9BQU8sdUJBQUEsSUFBSSxtQ0FBVSxDQUFDLE1BQU0sQ0FBQyx1QkFBQSxJQUFJLGlDQUFRLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDM0YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyB0eXBlcyBhcyB0IH0gZnJvbSAnQGJhYmVsL2NvcmUnO1xuaW1wb3J0IHR5cGUgKiBhcyBCYWJlbCBmcm9tICdAYmFiZWwvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE5vZGVQYXRoIH0gZnJvbSAnQGJhYmVsL3RyYXZlcnNlJztcbmltcG9ydCB0eXBlIHsgQVNUUGx1Z2luQnVpbGRlciwgQVNUUGx1Z2luRW52aXJvbm1lbnQsIEFTVHYxLCBXYWxrZXJQYXRoIH0gZnJvbSAnQGdsaW1tZXIvc3ludGF4JztcbmltcG9ydCB0eXBlIHsgSW1wb3J0VXRpbCB9IGZyb20gJ2JhYmVsLWltcG9ydC11dGlsJztcbmltcG9ydCB7IGFzdE5vZGVIYXNCaW5kaW5nIH0gZnJvbSAnLi9oYnMtdXRpbHMnO1xuXG5pbnRlcmZhY2UgU3RhdGUge1xuICBwcm9ncmFtOiBOb2RlUGF0aDxCYWJlbC50eXBlcy5Qcm9ncmFtPjtcbiAgbGFzdEluc2VydGVkUGF0aDogTm9kZVBhdGg8QmFiZWwudHlwZXMuU3RhdGVtZW50PiB8IHVuZGVmaW5lZDtcbn1cblxuLy8gVGhpcyBleGlzdHMgdG8gZ2l2ZSBBU1QgcGx1Z2lucyBhIGNvbnRyb2xsZWQgaW50ZXJmYWNlIGZvciBpbmZsdWVuY2luZyB0aGVcbi8vIHN1cnJvdW5kaW5nIEphdmFzY3JpcHQgc2NvcGVcbmV4cG9ydCBjbGFzcyBKU1V0aWxzIHtcbiAgI2JhYmVsOiB0eXBlb2YgQmFiZWw7XG4gICNzdGF0ZTogU3RhdGU7XG4gICN0ZW1wbGF0ZTogTm9kZVBhdGg8dC5FeHByZXNzaW9uPjtcbiAgI2FkZGVkQmluZGluZzogKG5hbWU6IHN0cmluZykgPT4gdm9pZDtcbiAgI2ltcG9ydGVyOiBJbXBvcnRVdGlsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGJhYmVsOiB0eXBlb2YgQmFiZWwsXG4gICAgc3RhdGU6IFN0YXRlLFxuICAgIHRlbXBsYXRlOiBOb2RlUGF0aDx0LkV4cHJlc3Npb24+LFxuICAgIGFkZGVkQmluZGluZzogKG5hbWU6IHN0cmluZykgPT4gdm9pZCxcbiAgICBpbXBvcnRlcjogSW1wb3J0VXRpbFxuICApIHtcbiAgICB0aGlzLiNiYWJlbCA9IGJhYmVsO1xuICAgIHRoaXMuI3N0YXRlID0gc3RhdGU7XG4gICAgdGhpcy4jdGVtcGxhdGUgPSB0ZW1wbGF0ZTtcbiAgICB0aGlzLiNhZGRlZEJpbmRpbmcgPSBhZGRlZEJpbmRpbmc7XG4gICAgdGhpcy4jaW1wb3J0ZXIgPSBpbXBvcnRlcjtcblxuICAgIGlmICghdGhpcy4jc3RhdGUubGFzdEluc2VydGVkUGF0aCkge1xuICAgICAgbGV0IHRhcmdldDogTm9kZVBhdGg8dC5TdGF0ZW1lbnQ+IHwgdW5kZWZpbmVkO1xuICAgICAgZm9yIChsZXQgc3RhdGVtZW50IG9mIHRoaXMuI3N0YXRlLnByb2dyYW0uZ2V0KCdib2R5JykpIHtcbiAgICAgICAgaWYgKCFzdGF0ZW1lbnQuaXNJbXBvcnREZWNsYXJhdGlvbigpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0ID0gc3RhdGVtZW50O1xuICAgICAgfVxuICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICB0aGlzLiNzdGF0ZS5sYXN0SW5zZXJ0ZWRQYXRoID0gdGFyZ2V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYmluZGluZyB0aGF0IHlvdSBjYW4gdXNlIGluIHlvdXIgdGVtcGxhdGUsIGluaXRpYWxpemVkIHdpdGhcbiAgICogdGhlIGdpdmVuIEphdmFzY3JpcHQgZXhwcmVzc2lvbi5cbiAgICpcbiAgICogQHBhcmFtIHsgRXhwcmVzc2lvbiB9IGV4cHJlc3Npb24gQSBqYXZhc2NyaXB0IGV4cHJlc3Npb24gd2hvc2UgdmFsdWUgd2lsbFxuICAgKiBpbml0aWFsaXplIHlvdXIgbmV3IGJpbmRpbmcuIFNlZSBkb2NzIG9uIHRoZSBFeHByZXNzaW9uIHR5cGUgZm9yIGRldGFpbHMuXG4gICAqIEBwYXJhbSB0YXJnZXQgVGhlIGxvY2F0aW9uIHdpdGhpbiB5b3VyIHRlbXBsYXRlIHdoZXJlIHRoZSBiaW5kaW5nIHdpbGwgYmVcbiAgICogdXNlZC4gVGhpcyBtYXR0ZXJzIHNvIHdlIGNhbiBhdm9pZCBuYW1pbmcgY29sbGlzaW9ucy5cbiAgICogQHBhcmFtIG9wdHMubmFtZUhpbnQgT3B0aW9uYWxseSwgcHJvdmlkZSBhIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHlvdXIgbmV3XG4gICAqIGJpbmRpbmcuIFdlIHdpbGwgbWFuZ2xlIHRoaXMgbmFtZSBhcyBuZWVkZWQgdG8gYXZvaWQgY29sbGlzaW9ucywgYnV0XG4gICAqIHBpY2tpbmcgYSBnb29kIG5hbWUgaGVyZSBjYW4gYWlkIGluIGRlYnVnZ2luZy5cbiAgICpcbiAgICogQHJldHVybiBUaGUgbmFtZSB5b3UgY2FuIHVzZSBpbiB5b3VyIHRlbXBsYXRlIHRvIGFjY2VzcyB0aGUgYmluZGluZy5cbiAgICovXG4gIGJpbmRFeHByZXNzaW9uKFxuICAgIGV4cHJlc3Npb246IEV4cHJlc3Npb24sXG4gICAgdGFyZ2V0OiBXYWxrZXJQYXRoPEFTVHYxLk5vZGU+LFxuICAgIG9wdHM/OiB7IG5hbWVIaW50Pzogc3RyaW5nIH1cbiAgKTogc3RyaW5nIHtcbiAgICBsZXQgbmFtZSA9IHVudXNlZE5hbWVMaWtlKFxuICAgICAgb3B0cz8ubmFtZUhpbnQgPz8gJ2EnLFxuICAgICAgKGNhbmRpZGF0ZSkgPT5cbiAgICAgICAgdGhpcy4jdGVtcGxhdGUuc2NvcGUuaGFzQmluZGluZyhjYW5kaWRhdGUpIHx8IGFzdE5vZGVIYXNCaW5kaW5nKHRhcmdldCwgY2FuZGlkYXRlKVxuICAgICk7XG4gICAgbGV0IHQgPSB0aGlzLiNiYWJlbC50eXBlcztcbiAgICBsZXQgZGVjbGFyYXRpb246IE5vZGVQYXRoPHQuVmFyaWFibGVEZWNsYXJhdGlvbj4gPSB0aGlzLiNlbWl0U3RhdGVtZW50KFxuICAgICAgdC52YXJpYWJsZURlY2xhcmF0aW9uKCdsZXQnLCBbXG4gICAgICAgIHQudmFyaWFibGVEZWNsYXJhdG9yKFxuICAgICAgICAgIHQuaWRlbnRpZmllcihuYW1lKSxcbiAgICAgICAgICB0aGlzLiNwYXJzZUV4cHJlc3Npb24odGhpcy4jc3RhdGUucHJvZ3JhbSwgZXhwcmVzc2lvbilcbiAgICAgICAgKSxcbiAgICAgIF0pXG4gICAgKTtcbiAgICBkZWNsYXJhdGlvbi5zY29wZS5yZWdpc3RlckJpbmRpbmcoJ2xldCcsIGRlY2xhcmF0aW9uLmdldCgnZGVjbGFyYXRpb25zLjAnKSBhcyBOb2RlUGF0aCk7XG4gICAgdGhpcy4jYWRkZWRCaW5kaW5nKG5hbWUpO1xuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgI2VtaXRTdGF0ZW1lbnQ8VCBleHRlbmRzIHQuU3RhdGVtZW50PihzdGF0ZW1lbnQ6IFQpOiBOb2RlUGF0aDxUPiB7XG4gICAgaWYgKHRoaXMuI3N0YXRlLmxhc3RJbnNlcnRlZFBhdGgpIHtcbiAgICAgIHRoaXMuI3N0YXRlLmxhc3RJbnNlcnRlZFBhdGggPSB0aGlzLiNzdGF0ZS5sYXN0SW5zZXJ0ZWRQYXRoLmluc2VydEFmdGVyKHN0YXRlbWVudClbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI3N0YXRlLmxhc3RJbnNlcnRlZFBhdGggPSB0aGlzLiNzdGF0ZS5wcm9ncmFtLnVuc2hpZnRDb250YWluZXIoJ2JvZHknLCBzdGF0ZW1lbnQpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy4jc3RhdGUubGFzdEluc2VydGVkUGF0aCBhcyBOb2RlUGF0aDxUPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHYWluIGFjY2VzcyB0byBhbiBpbXBvcnRlZCB2YWx1ZSB3aXRoaW4geW91ciB0ZW1wbGF0ZS5cbiAgICpcbiAgICogQHBhcmFtIG1vZHVsZVNwZWNpZmllciBUaGUgcGF0aCB0byBpbXBvcnQgZnJvbS5cbiAgICogQHBhcmFtIGV4cG9ydGVkTmFtZSBUaGUgbmFtZWQgZXhwb3J0IHlvdSB3aXNoIHRvIGFjY2Vzcywgb3IgXCJkZWZhdWx0XCIgZm9yXG4gICAqIHRoZSBkZWZhdWx0IGV4cG9ydCwgb3IgXCIqXCIgZm9yIHRoZSBuYW1lc3BhY2UgZXhwb3J0LlxuICAgKiBAcGFyYW0gdGFyZ2V0IFRoZSBsb2NhdGlvbiB3aXRoaW4geW91ciB0ZW1wbGF0ZSB3aGVyZSB0aGUgYmluZGluZyB3aWxsIGJlXG4gICAqIHVzZWQuIFRoaXMgbWF0dGVycyBzbyB3ZSBjYW4gYXZvaWQgbmFtaW5nIGNvbGxpc2lvbnMuXG4gICAqIEBwYXJhbSBvcHRzLm5hbWVIaW50IE9wdGlvbmFsbHksIHByb3ZpZGUgYSBkZXNjcmlwdGl2ZSBuYW1lIGZvciB5b3VyIG5ld1xuICAgKiBiaW5kaW5nLiBXZSB3aWxsIG1hbmdsZSB0aGlzIG5hbWUgYXMgbmVlZGVkIHRvIGF2b2lkIGNvbGxpc2lvbnMsIGJ1dFxuICAgKiBwaWNraW5nIGEgZ29vZCBuYW1lIGhlcmUgY2FuIGFpZCBpbiBkZWJ1Z2dpbmcuXG4gICAqXG4gICAqIEByZXR1cm4gVGhlIG5hbWUgeW91IGNhbiB1c2UgaW4geW91ciB0ZW1wbGF0ZSB0byBhY2Nlc3MgdGhlIGltcG9ydGVkIHZhbHVlLlxuICAgKi9cbiAgYmluZEltcG9ydChcbiAgICBtb2R1bGVTcGVjaWZpZXI6IHN0cmluZyxcbiAgICBleHBvcnRlZE5hbWU6IHN0cmluZyxcbiAgICB0YXJnZXQ6IFdhbGtlclBhdGg8QVNUdjEuTm9kZT4sXG4gICAgb3B0cz86IHsgbmFtZUhpbnQ/OiBzdHJpbmcgfVxuICApOiBzdHJpbmcge1xuICAgIC8vIFRoaXMgd2lsbCBkaXNjb3ZlciBvciBjcmVhdGUgdGhlIGxvY2FsIG5hbWUgZm9yIGFjY2Vzc2luZyB0aGUgZ2l2ZW4gaW1wb3J0LlxuICAgIGxldCBpbXBvcnRlZElkZW50aWZpZXIgPSB0aGlzLiNpbXBvcnRlci5pbXBvcnQoXG4gICAgICB0aGlzLiN0ZW1wbGF0ZSxcbiAgICAgIG1vZHVsZVNwZWNpZmllcixcbiAgICAgIGV4cG9ydGVkTmFtZSxcbiAgICAgIG9wdHM/Lm5hbWVIaW50XG4gICAgKTtcblxuICAgIC8vIFNpbXBsZSBiYXNlIGNhc2U6IHRoZSBKUyBuYW1lIHRoYXQncyBhdmFpbGFibGUgaXMgYWxzbyB1bnVzZWQgYXQgb3VyIHNwb3RcbiAgICAvLyBpbiBIQlMsIHNvIGp1c3QgdXNlIGl0LlxuICAgIGlmICghYXN0Tm9kZUhhc0JpbmRpbmcodGFyZ2V0LCBpbXBvcnRlZElkZW50aWZpZXIubmFtZSkpIHtcbiAgICAgIHRoaXMuI2FkZGVkQmluZGluZyhpbXBvcnRlZElkZW50aWZpZXIubmFtZSk7XG4gICAgICByZXR1cm4gaW1wb3J0ZWRJZGVudGlmaWVyLm5hbWU7XG4gICAgfVxuXG4gICAgLy8gVGhlIGltcG9ydGVkSWRlbnRpZmllciB0aGF0IHdlIGhhdmUgaW4gSmF2YXNjcmlwdCBpcyBub3QgdXNhYmxlIHdpdGhpblxuICAgIC8vIG91ciBIQlMgYmVjYXVzZSBpdCdzIHNoYWRvd2VkIGJ5IGEgYmxvY2sgcGFyYW0uIFNvIHdlIHdpbGwgaW50cm9kdWNlIGFcbiAgICAvLyBzZWNvbmQgbmFtZSB2aWEgYSB2YXJpYWJsZSBkZWNsYXJhdGlvbi5cbiAgICAvL1xuICAgIC8vIFRoZSByZWFzb24gd2UgZG9uJ3QgZm9yY2UgdGhlIGltcG9ydCBpdHNlbGYgdG8gaGF2ZSB0aGlzIG5hbWUgaXMgdGhhdFxuICAgIC8vIHdlIG1pZ2h0IGJlIHJlLXVzaW5nIGFuIGV4aXN0aW5nIGltcG9ydCwgYW5kIHdlIGRvbid0IHdhbnQgdG8gZ29cbiAgICAvLyByZXdyaXRpbmcgYWxsIG9mIGl0cyBjYWxsc2l0ZXMgdGhhdCBhcmUgdW5yZWxhdGVkIHRvIHVzLlxuICAgIGxldCBpZGVudGlmaWVyID0gdW51c2VkTmFtZUxpa2UoXG4gICAgICBpbXBvcnRlZElkZW50aWZpZXIubmFtZSxcbiAgICAgIChjYW5kaWRhdGUpID0+XG4gICAgICAgIHRoaXMuI3RlbXBsYXRlLnNjb3BlLmhhc0JpbmRpbmcoY2FuZGlkYXRlKSB8fCBhc3ROb2RlSGFzQmluZGluZyh0YXJnZXQsIGNhbmRpZGF0ZSlcbiAgICApO1xuICAgIGxldCB0ID0gdGhpcy4jYmFiZWwudHlwZXM7XG4gICAgbGV0IGRlY2xhcmF0aW9uID0gdGhpcy4jZW1pdFN0YXRlbWVudChcbiAgICAgIHQudmFyaWFibGVEZWNsYXJhdGlvbignbGV0JywgW1xuICAgICAgICB0LnZhcmlhYmxlRGVjbGFyYXRvcih0LmlkZW50aWZpZXIoaWRlbnRpZmllciksIGltcG9ydGVkSWRlbnRpZmllciksXG4gICAgICBdKVxuICAgICk7XG4gICAgZGVjbGFyYXRpb24uc2NvcGUucmVnaXN0ZXJCaW5kaW5nKCdsZXQnLCBkZWNsYXJhdGlvbi5nZXQoJ2RlY2xhcmF0aW9ucy4wJykgYXMgTm9kZVBhdGgpO1xuXG4gICAgdGhpcy4jYWRkZWRCaW5kaW5nKGlkZW50aWZpZXIpO1xuICAgIHJldHVybiBpZGVudGlmaWVyO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBpbXBvcnQgc3RhdGVtZW50IHB1cmVseSBmb3Igc2lkZSBlZmZlY3QuXG4gICAqXG4gICAqIEBwYXJhbSBtb2R1bGVTcGVjaWZpZXIgdGhlIG1vZHVsZSB0byBpbXBvcnRcbiAgICovXG4gIGltcG9ydEZvclNpZGVFZmZlY3QobW9kdWxlU3BlY2lmaWVyOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLiNpbXBvcnRlci5pbXBvcnRGb3JTaWRlRWZmZWN0KG1vZHVsZVNwZWNpZmllcik7XG4gIH1cblxuICAvKipcbiAgICogRW1pdCBhIGphdmFzY3JpcHQgZXhwcmVzaXNvbiBmb3Igc2lkZS1lZmZlY3QuIFRoaXMgb25seSBhY2NlcHRzXG4gICAqIGV4cHJlc3Npb25zLCBub3Qgc3RhdGVtZW50cywgYmVjYXVzZSB5b3Ugc2hvdWxkIG5vdCBpbnRyb2R1Y2UgbmV3IGJpbmRpbmdzLlxuICAgKiBUbyBpbnRyb2R1Y2UgYSBiaW5kaW5nIHNlZSBiaW5kRXhwcmVzc2lvbiBvciBiaW5kSW1wb3J0IGluc3RlYWQuXG4gICAqXG4gICAqIEBwYXJhbSB7IEV4cHJlc3Npb24gfSBleHByZXNzaW9uIEEgamF2YXNjcmlwdCBleHByZXNzaW9uIHdob3NlIHZhbHVlIHdpbGxcbiAgICogaW5pdGlhbGl6ZSB5b3VyIG5ldyBiaW5kaW5nLiBTZWUgZG9jcyBvbiB0aGUgRXhwcmVzc2lvbiB0eXBlIGJlbG93IGZvclxuICAgKiBkZXRhaWxzLlxuICAgKi9cbiAgZW1pdEV4cHJlc3Npb24oZXhwcmVzc2lvbjogRXhwcmVzc2lvbik6IHZvaWQge1xuICAgIGxldCB0ID0gdGhpcy4jYmFiZWwudHlwZXM7XG4gICAgdGhpcy4jZW1pdFN0YXRlbWVudChcbiAgICAgIHQuZXhwcmVzc2lvblN0YXRlbWVudCh0aGlzLiNwYXJzZUV4cHJlc3Npb24odGhpcy4jc3RhdGUucHJvZ3JhbSwgZXhwcmVzc2lvbikpXG4gICAgKTtcbiAgfVxuXG4gICNwYXJzZUV4cHJlc3Npb24odGFyZ2V0OiBOb2RlUGF0aDx0Lk5vZGU+LCBleHByZXNzaW9uOiBFeHByZXNzaW9uKTogdC5FeHByZXNzaW9uIHtcbiAgICBsZXQgZXhwcmVzc2lvblN0cmluZzogc3RyaW5nO1xuICAgIGlmICh0eXBlb2YgZXhwcmVzc2lvbiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbihuZXcgRXhwcmVzc2lvbkNvbnRleHQodGhpcy4jaW1wb3J0ZXIsIHRhcmdldCkpO1xuICAgIH1cblxuICAgIGxldCBwYXJzZWQgPSB0aGlzLiNiYWJlbC5wYXJzZShleHByZXNzaW9uU3RyaW5nKTtcbiAgICBpZiAoIXBhcnNlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSlNVdGlscy5iaW5kRXhwcmVzc2lvbiBjb3VsZCBub3QgdW5kZXJzdGFuZCB0aGUgZXhwcmVzc2lvbjogJHtleHByZXNzaW9uU3RyaW5nfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGxldCBzdGF0ZW1lbnRzID0gYm9keShwYXJzZWQpO1xuICAgIGlmIChzdGF0ZW1lbnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgSlNVdGlscy5iaW5kRXhwcmVzc2lvbiBleHBlY3RlZCB0byBmaW5kIGV4YWN0bHkgb25lIGV4cHJlc3Npb24gYnV0IGZvdW5kICR7c3RhdGVtZW50cy5sZW5ndGh9IGluOiAke2V4cHJlc3Npb25TdHJpbmd9YFxuICAgICAgKTtcbiAgICB9XG4gICAgbGV0IHN0YXRlbWVudCA9IHN0YXRlbWVudHNbMF07XG4gICAgaWYgKHN0YXRlbWVudC50eXBlICE9PSAnRXhwcmVzc2lvblN0YXRlbWVudCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEpTVXRpbHMuYmluZEV4cHJlc3Npb24gZXhwZWN0ZWQgdG8gZmluZCBhbiBleHByZXNzaW9uIGJ1dCBmb3VuZCAke3N0YXRlbWVudC50eXBlfSBpbjogJHtleHByZXNzaW9uU3RyaW5nfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZW1lbnQuZXhwcmVzc2lvbjtcbiAgfVxufVxuXG5mdW5jdGlvbiB1bnVzZWROYW1lTGlrZShkZXNpcmVkTmFtZTogc3RyaW5nLCBpc1VzZWQ6IChuYW1lOiBzdHJpbmcpID0+IGJvb2xlYW4pOiBzdHJpbmcge1xuICBsZXQgY2FuZGlkYXRlID0gZGVzaXJlZE5hbWU7XG4gIGxldCBjb3VudGVyID0gMDtcbiAgd2hpbGUgKGlzVXNlZChjYW5kaWRhdGUpKSB7XG4gICAgY2FuZGlkYXRlID0gYCR7ZGVzaXJlZE5hbWV9JHtjb3VudGVyKyt9YDtcbiAgfVxuICByZXR1cm4gY2FuZGlkYXRlO1xufVxuXG4vKipcbiAqIFRoaXMgZXh0ZW5kcyBHbGltbWVyJ3MgQVNUUGx1Z2luRW52aXJvbm1lbnQgdHlwZSB0byBwdXQgb3VyIGpzdXRpbHMgaW50byBtZXRhXG4gKi9cbmV4cG9ydCB0eXBlIFdpdGhKU1V0aWxzPFQgZXh0ZW5kcyB7IG1ldGE/OiBvYmplY3QgfT4gPSB7XG4gIG1ldGE6IFRbJ21ldGEnXSAmIHsganN1dGlsczogSlNVdGlscyB9O1xufSAmIFQ7XG5cbmV4cG9ydCB0eXBlIEV4dGVuZGVkUGx1Z2luQnVpbGRlciA9IEFTVFBsdWdpbkJ1aWxkZXI8V2l0aEpTVXRpbHM8QVNUUGx1Z2luRW52aXJvbm1lbnQ+PjtcblxuZnVuY3Rpb24gYm9keShub2RlOiB0LlByb2dyYW0gfCB0LkZpbGUpIHtcbiAgaWYgKG5vZGUudHlwZSA9PT0gJ0ZpbGUnKSB7XG4gICAgcmV0dXJuIG5vZGUucHJvZ3JhbS5ib2R5O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBub2RlLmJvZHk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbGxvd3MgeW91IHRvIGNvbnN0cnVjdCBhbiBleHByZXNzaW9uIHRoYXQgcmVsaWVzIG9uIGltcG9ydGVkIHZhbHVlcy5cbiAqL1xuY2xhc3MgRXhwcmVzc2lvbkNvbnRleHQge1xuICAjaW1wb3J0ZXI6IEltcG9ydFV0aWw7XG4gICN0YXJnZXQ6IE5vZGVQYXRoPHQuTm9kZT47XG5cbiAgY29uc3RydWN0b3IoaW1wb3J0ZXI6IEltcG9ydFV0aWwsIHRhcmdldDogTm9kZVBhdGg8dC5Ob2RlPikge1xuICAgIHRoaXMuI2ltcG9ydGVyID0gaW1wb3J0ZXI7XG4gICAgdGhpcy4jdGFyZ2V0ID0gdGFyZ2V0O1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgb3IgY3JlYXRlIGEgbG9jYWwgYmluZGluZyBmb3IgdGhlIGdpdmVuIGltcG9ydC5cbiAgICpcbiAgICogQHBhcmFtIG1vZHVsZVNwZWNpZmllciBUaGUgcGF0aCB0byBpbXBvcnQgZnJvbS5cbiAgICogQHBhcmFtIGV4cG9ydGVkTmFtZSBUaGUgbmFtZWQgZXhwb3J0IHlvdSB3aXNoIHRvIGFjY2Vzcywgb3IgXCJkZWZhdWx0XCIgZm9yXG4gICAqIHRoZSBkZWZhdWx0IGV4cG9ydCwgb3IgXCIqXCIgZm9yIHRoZSBuYW1lc3BhY2UgZXhwb3J0LlxuICAgKiBAcGFyYW0gbmFtZUhpbnQgT3B0aW9uYWxseSwgcHJvdmlkZSBhIGRlc2NyaXB0aXZlIG5hbWUgZm9yIHlvdXIgbmV3XG4gICAqIGJpbmRpbmcuIFdlIHdpbGwgbWFuZ2xlIHRoaXMgbmFtZSBhcyBuZWVkZWQgdG8gYXZvaWQgY29sbGlzaW9ucywgYnV0XG4gICAqIHBpY2tpbmcgYSBnb29kIG5hbWUgaGVyZSBjYW4gYWlkIGluIGRlYnVnZ2luZy5cblxuICAgKiBAcmV0dXJuIHRoZSBsb2NhbCBpZGVudGlmaWVyIGZvciB0aGUgaW1wb3J0ZWQgdmFsdWVcbiAgICovXG4gIGltcG9ydChtb2R1bGVTcGVjaWZpZXI6IHN0cmluZywgZXhwb3J0ZWROYW1lOiBzdHJpbmcsIG5hbWVIaW50Pzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyB0aGlzIG1ldGhvZCBpbiBiYWJlbC1pbXBvcnQtdXRpbCBpcyB0aGUgbG93ZXItbGV2ZWwgb25lIHRoYXQgZG9lc24ndCB0cnlcbiAgICAvLyB0byBjcmVhdGUgdmFsaWQgcmVmZXJlbmNlcyBmb3IgdXMuIEl0J3Mgb3VyIHJlc3BvbnNpYmlsaXR5IHRvIGRvIHNvLiBCdXRcbiAgICAvLyB0aGF0J3MgT0sgaGVyZSwgYmVjYXVzZSB3ZSBoYXZlIHRoZSBzYW1lIHJlc3BvbnNpYmlsaXR5IGZvciBldmVyeVxuICAgIC8vIHNjb3BlLWJhZyBpZGVudGlmaWVyLCBub3QganVzdCB0aGUgaW1wb3J0ZWQgb25lcywgYW5kIGl0IHdpbGwgYmUgZWFzaWVyXG4gICAgLy8gdG8gaGFuZGxlIHRoZW0gYWxsIGF0IG9uY2UuXG4gICAgcmV0dXJuIHRoaXMuI2ltcG9ydGVyLmltcG9ydCh0aGlzLiN0YXJnZXQsIG1vZHVsZVNwZWNpZmllciwgZXhwb3J0ZWROYW1lLCBuYW1lSGludCkubmFtZTtcbiAgfVxufVxuXG4vKipcbiAqIFlvdSBjYW4gcGFzcyBhIEphdmFzY3JpcHQgZXhwcmVzc2lvbiBhcyBhIHN0cmluZyBsaWtlOlxuICpcbiAqICAgXCJuZXcgRGF0ZSgpXCJcbiAqXG4gKiBPciBhcyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHN0cmluZzpcbiAqXG4gKiAgICgpID0+IFwibmV3IERhdGUoKVwiXG4gKlxuICogV2hlbiB5b3UgdXNlIGEgZnVuY3Rpb24sIGl0IGNhbiB1c2UgaW1wb3J0ZWQgdmFsdWVzOlxuICpcbiAqICAgKGNvbnRleHQpID0+IGBuZXcgJHtjb250ZXh0LmltcG9ydChcImx1eG9uXCIsIFwiRGF0ZVRpbWVcIil9KClgXG4gKlxuICovXG5leHBvcnQgdHlwZSBFeHByZXNzaW9uID0gc3RyaW5nIHwgKChjb250ZXh0OiBFeHByZXNzaW9uQ29udGV4dCkgPT4gc3RyaW5nKTtcbiJdfQ==

@@ -16,3 +16,2 @@ import type { NodePath } from '@babel/traverse';

isEmpty(): boolean;
needsRemapping(): boolean;
entries(): [string, string][];

@@ -19,0 +18,0 @@ add(hbsName: string, jsName?: string): void;

@@ -46,5 +46,2 @@ "use strict";

}
needsRemapping() {
return Object.entries(__classPrivateFieldGet(this, _ScopeLocals_mapping, "f")).some(([k, v]) => k !== v);
}
entries() {

@@ -122,4 +119,4 @@ return Object.entries(__classPrivateFieldGet(this, _ScopeLocals_mapping, "f"));

let jsName = (_a = __classPrivateFieldGet(this, _ScopeLocals_mapping, "f")[hbsName]) !== null && _a !== void 0 ? _a : hbsName;
return ['this', 'globalThis'].includes(jsName) || jsPath.scope.getBinding(jsName);
return ['globalThis'].includes(jsName) || jsPath.scope.getBinding(jsName);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUtbG9jYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NvcGUtbG9jYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztFQU9FOzs7Ozs7Ozs7Ozs7Ozs7QUFJRiwyQ0FBZ0Q7QUFDaEQsdURBQWtEO0FBcUJsRCxNQUFhLFdBQVc7SUFDdEIsWUFBWSxNQUFjOztRQUkxQiwrQkFBbUMsRUFBRSxFQUFDO1FBQ3RDLDhCQUFvQixFQUFFLEVBQUM7UUFDdkIsc0NBQWdCO1FBTGQsdUJBQUEsSUFBSSx1QkFBVyxNQUFNLE1BQUEsQ0FBQztJQUN4QixDQUFDO0lBTUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFBLCtCQUFhLEVBQ2xCLHVCQUFBLElBQUksMkJBQVEsRUFDWixtTUFBbU0sQ0FDcE0sQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sR0FBRyxJQUFJLHVCQUFBLElBQUksNEJBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLHVCQUFBLElBQUksNEJBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sdUJBQUEsSUFBSSwyQkFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQUEsSUFBSSw0QkFBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBQSxJQUFJLDRCQUFTLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQWUsRUFBRSxNQUFlO1FBQ2xDLHVCQUFBLElB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dUJBQUEsSUFBSSw0QkFBUyxDQUFDLE9BQU8sQ0FBQyxtQ0FBSSxPQUFPLENBQUM7SUFDL0MsT0FBTyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDcEYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gIFRoaXMgY2xhc3MgZXhpc3RzIGJlY2F1c2U6XG4gICAtIGJlZm9yZSB0ZW1wbGF0ZSBjb21waWxhdGlvbiBzdGFydHMsIHdlIG5lZWQgdG8gcGFzcyBhIGBsb2NhbHNgIGFycmF5IHRvXG4gICAgIGVtYmVyLXRlbXBsYXRlLWNvbXBpbGVyXG4gICAtIHRoZSBKU1V0aWxzIEFQSSBjYW4gbXV0YXRlIHRoZSBzY29wZSBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbiAgIC0gdGhvc2Ugc2NvcGUgbXV0YXRpb25zIG5lZWQgdG8gdXBkYXRlIGJvdGggdGhlIG9yaWdpbmFsIGBsb2NhbHNgIGFycmF5IGFuZFxuICAgICBvdXIgb3duIG5hbWUgbWFwcGluZywga2VlcGluZyB0aGVtIGluIHN5bmMuXG4qL1xuXG5pbXBvcnQgdHlwZSB7IE5vZGVQYXRoIH0gZnJvbSAnQGJhYmVsL3RyYXZlcnNlJztcbmltcG9ydCB7IEFTVFBsdWdpbkVudmlyb25tZW50LCBOb2RlVmlzaXRvciB9IGZyb20gJ0BnbGltbWVyL3N5bnRheCc7XG5pbXBvcnQgeyBhc3ROb2RlSGFzQmluZGluZyB9IGZyb20gJy4vaGJzLXV0aWxzJztcbmltcG9ydCB7IHJlYWRPbmx5QXJyYXkgfSBmcm9tICcuL3JlYWQtb25seS1hcnJheSc7XG5cbi8qXG4gICAgYG1vZGVgIHJlZmVycyB0byB0aGUgaW1wbGljaXQgYW5kIGV4cGxpY2l0IGZvcm1hdHMgZGVmaW5lZCBoZXJlOlxuXG4gICAgICBodHRwczovL2dpdGh1Yi5jb20vZW1iZXJqcy9yZmNzL2Jsb2IvOWZkNmNlYWMyNTU5YmVlMWMzM2FjZjBkNzgzNGU2NzUxMjVhNGYxNi90ZXh0LzA5MzEtdGVtcGxhdGUtY29tcGlsZXItYXBpLm1kI2V4cGxpY2l0LWZvcm1cbiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9lbWJlcmpzL3JmY3MvYmxvYi85ZmQ2Y2VhYzI1NTliZWUxYzMzYWNmMGQ3ODM0ZTY3NTEyNWE0ZjE2L3RleHQvMDkzMS10ZW1wbGF0ZS1jb21waWxlci1hcGkubWQjaW1wbGljaXQtZm9ybVxuXG4gICAgVGhpcyBjbGFzcyBuZWVkcyB0byBrbm93IHRoZSBkaWZmZXJlbmNlIGJlY2F1c2UgaW4gaW1wbGljaXQgZm9ybWF0LCB1cHZhcnNcbiAgICBpbiBoYnMgYXJlIGF1dG9tYWdpY2FsbHkgY29ubmVjdGVkIHdpdGggb3V0ZXIgSmF2YXNjcmlwdCBiaW5kaW5ncywgYW5kIGluXG4gICAgZXhwbGljaXQgZm9ybSB0aGV5IGFyZSBub3QuXG4qL1xudHlwZSBQYXJhbXMgPVxuICB8IHtcbiAgICAgIG1vZGU6ICdleHBsaWNpdCc7XG4gICAgfVxuICB8IHtcbiAgICAgIG1vZGU6ICdpbXBsaWNpdCc7XG4gICAgICBqc1BhdGg6IE5vZGVQYXRoO1xuICAgIH07XG5cbmV4cG9ydCBjbGFzcyBTY29wZUxvY2FscyB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogUGFyYW1zKSB7XG4gICAgdGhpcy4jcGFyYW1zID0gcGFyYW1zO1xuICB9XG5cbiAgI21hcHBpbmc6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgI2xvY2Fsczogc3RyaW5nW10gPSBbXTtcbiAgI3BhcmFtczogUGFyYW1zO1xuXG4gIGdldCBsb2NhbHMoKSB7XG4gICAgcmV0dXJuIHJlYWRPbmx5QXJyYXkoXG4gICAgICB0aGlzLiNsb2NhbHMsXG4gICAgICAnVGhlIG9ubHkgc3VwcG9ydGVkIHdheSB0byBtYW5pcHVsYXRlIGxvY2FscyBpcyB2aWEgdGhlIGpzdXRpbHMgQVBJXFxuaHR0cHM6Ly9naXRodWIuY29tL2VtYmVyanMvYmFiZWwtcGx1Z2luLWVtYmVyLXRlbXBsYXRlLWNvbXBpbGF0aW9uI2pzdXRpbHMtbWFuaXB1bGF0aW5nLWphdmFzY3JpcHQtZnJvbS13aXRoaW4tYXN0LXRyYW5zZm9ybXMnXG4gICAgKTtcbiAgfVxuXG4gIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBrZXkgaW4gdGhpcy4jbWFwcGluZztcbiAgfVxuXG4gIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI21hcHBpbmdba2V5XTtcbiAgfVxuXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2Fscy5sZW5ndGggPT09IDA7XG4gIH1cblxuICBuZWVkc1JlbWFwcGluZygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy4jbWFwcGluZykuc29tZSgoW2ssIHZdKSA9PiBrICE9PSB2KTtcbiAgfVxuXG4gIGVudHJpZXMoKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuI21hcHBpbmcpO1xuICB9XG5cbiAgYWRkKGhic05hbWU6IHN0cmluZywganNOYW1lPzogc3RyaW5nKSB7XG4gICAgdGhpcy4jbWFwcGluZ1toYnNOYW1lXSA9IGpzTmFtZSA/PyBoYnNOYW1lO1xuICAgIGlmICghdGhpcy4jbG9jYWxzLmluY2x1ZGVzKGhic05hbWUpKSB7XG4gICAgICB0aGlzLiNsb2NhbHMucHVzaChoYnNOYW1lKTtcbiAgICB9XG4gIH1cblxuICAjaXNJbkpzU2NvcGUoaGJzTmFtZTogc3RyaW5nLCBqc1BhdGg6IE5vZGVQYXRoKSB7XG4gICAgbGV0IGpzTmFtZSA9IHRoaXMuI21hcHBpbmdbaGJzTmFtZV0gPz8gaGJzTmFtZTtcbiAgICByZXR1cm4gWyd0aGlzJywgJ2dsb2JhbFRoaXMnXS5pbmNsdWRlcyhqc05hbWUpIHx8IGpzUGF0aC5zY29wZS5nZXRCaW5kaW5nKGpzTmFtZSk7XG4gIH1cblxuICAvLyB0aGlzIEFTVCB0cmFuc2Zvcm0gZGlzY292ZXJzIGFsbCBwb3NzaWJsZSB1cHZhcnMgaW4gSEJTIHRoYXQgcmVmZXIgdG8gdmFsaWRcbiAgLy8gYmluZGluZ3MgaW4gSlMsIGFuZCB0aGVuIGRlcGVuZGluZyBvbiB0aGUgbW9kZSBhZGp1c3RzIG91ciBhY3R1YWwgc2NvcGUgYmFnXG4gIC8vIGNvbnRlbnRzLlxuICBjcmF3bCgpIHtcbiAgICByZXR1cm4gKF9lbnY6IEFTVFBsdWdpbkVudmlyb25tZW50KTogeyBuYW1lOiBzdHJpbmc7IHZpc2l0b3I6IE5vZGVWaXNpdG9yIH0gPT4ge1xuICAgICAgbGV0IHNlZW46IFNldDxzdHJpbmc+O1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogJ3Njb3BlLWxvY2Fscy1jcmF3bCcsXG4gICAgICAgIHZpc2l0b3I6IHtcbiAgICAgICAgICBUZW1wbGF0ZToge1xuICAgICAgICAgICAgZW50ZXI6ICgpID0+IHtcbiAgICAgICAgICAgICAgc2VlbiA9IG5ldyBTZXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBleGl0OiAoX25vZGUsIF9wYXRoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0aGlzLiNwYXJhbXMubW9kZSA9PT0gJ2ltcGxpY2l0Jykge1xuICAgICAgICAgICAgICAgIC8vIGFsbCBoYnMgdXB2YXJzIHRoYXQgaGF2ZSBtYXRjaGluZyBKUyBiaW5kaW5ncyBnbyBpbnRvIHRoZVxuICAgICAgICAgICAgICAgIC8vIHNjb3BlXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgbmFtZSBvZiBzZWVuKSB7XG4gICAgICAgICAgICAgICAgICBpZiAodGhpcy4jaXNJbkpzU2NvcGUobmFtZSwgdGhpcy4jcGFyYW1zLmpzUGF0aCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGQobmFtZSk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIGluIGV4cGxpY2l0IGZvcm0sIHdlIG1pZ2h0IHBydW5lIGJhY2sgdGhlIHByZWV4aXNpbmcgc2NvcGUgaW5cbiAgICAgICAgICAgICAgICAvLyB0aGUgY2FzZSB3aGVyZSBhbm90aGVyIEFTVCB0cmFuc2Zvcm0gaGFzIGVsaW1pbmF0ZWQgdGhlIHVzZVxuICAgICAgICAgICAgICAgIC8vIG9mIHRoZSBvcmlnaW5hbCBiaW5kaW5nLiBCdXQgd2UgZG9uJ3QgYWRkIGFueXRoaW5nIG5ldy4gVGhlXG4gICAgICAgICAgICAgICAgLy8gb25seSB3YXkgZm9yIG5ldyBiaW5kaW5ncyB0byBiZSBpbnRyb2R1Y2VkIGludG8gc2NvcGUgaXMgZm9yXG4gICAgICAgICAgICAgICAgLy8gYW5vdGhlciBBU1QgdHJhbnNmb3JtIHRvIGV4cGxpY2l0bHkgY2FsbCB0aGUganN1dGlscywgd2hpY2hcbiAgICAgICAgICAgICAgICAvLyBjYWxscyBvdXIgYGFkZGAuXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgbmFtZSBvZiBPYmplY3Qua2V5cyh0aGlzLiNtYXBwaW5nKSkge1xuICAgICAgICAgICAgICAgICAgaWYgKCFzZWVuLmhhcyhuYW1lKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNsb2NhbHMuc3BsaWNlKHRoaXMuI2xvY2Fscy5pbmRleE9mKG5hbWUpLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHRoaXMuI21hcHBpbmdbbmFtZV07XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgUGF0aEV4cHJlc3Npb246IChub2RlLCBwYXRoKSA9PiB7XG4gICAgICAgICAgICBpZiAobm9kZS5oZWFkLnR5cGUgIT09ICdWYXJIZWFkJykge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gbm9kZS5oZWFkLm5hbWU7XG4gICAgICAgICAgICBpZiAoIWFzdE5vZGVIYXNCaW5kaW5nKHBhdGgsIG5hbWUpKSB7XG4gICAgICAgICAgICAgIHNlZW4uYWRkKG5hbWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgRWxlbWVudE5vZGU6IChub2RlLCBwYXRoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBuYW1lID0gbm9kZS50YWcuc3BsaXQoJy4nKVswXTtcbiAgICAgICAgICAgIGlmICghYXN0Tm9kZUhhc0JpbmRpbmcocGF0aCwgbmFtZSkpIHtcbiAgICAgICAgICAgICAgc2Vlbi5hZGQobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgfTtcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcGUtbG9jYWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NvcGUtbG9jYWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7OztFQU9FOzs7Ozs7Ozs7Ozs7Ozs7QUFJRiwyQ0FBZ0Q7QUFDaEQsdURBQWtEO0FBcUJsRCxNQUFhLFdBQVc7SUFDdEIsWUFBWSxNQUFjOztRQUkxQiwrQkFBbUMsRUFBRSxFQUFDO1FBQ3RDLDhCQUFvQixFQUFFLEVBQUM7UUFDdkIsc0NBQWdCO1FBTGQsdUJBQUEsSUFBSSx1QkFBVyxNQUFNLE1BQUEsQ0FBQztJQUN4QixDQUFDO0lBTUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFBLCtCQUFhLEVBQ2xCLHVCQUFBLElBQUksMkJBQVEsRUFDWixtTUFBbU0sQ0FDcE0sQ0FBQztJQUNKLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sR0FBRyxJQUFJLHVCQUFBLElBQUksNEJBQVMsQ0FBQztJQUM5QixDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVc7UUFDYixPQUFPLHVCQUFBLElBQUksNEJBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sdUJBQUEsSUFBSSwyQkFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsdUJBQUEsSUFBSSw0QkFBUyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUFlLEVBQUUsTUFBZTtRQUNsQyx1QkFBQSxJQUFJLDRCQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxhQUFOLE1BQU0sY0FBTixNQUFNLEdBQUksT0FBTyxDQUFDO1FBQzNDLElBQUksQ0FBQyx1QkFBQSxJQUFJLDJCQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ25DLHVCQUFBLElBQUksMkJBQVEsQ0FB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QyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gIFRoaXMgY2xhc3MgZXhpc3RzIGJlY2F1c2U6XG4gICAtIGJlZm9yZSB0ZW1wbGF0ZSBjb21waWxhdGlvbiBzdGFydHMsIHdlIG5lZWQgdG8gcGFzcyBhIGBsb2NhbHNgIGFycmF5IHRvXG4gICAgIGVtYmVyLXRlbXBsYXRlLWNvbXBpbGVyXG4gICAtIHRoZSBKU1V0aWxzIEFQSSBjYW4gbXV0YXRlIHRoZSBzY29wZSBkdXJpbmcgdGVtcGxhdGUgY29tcGlsYXRpb25cbiAgIC0gdGhvc2Ugc2NvcGUgbXV0YXRpb25zIG5lZWQgdG8gdXBkYXRlIGJvdGggdGhlIG9yaWdpbmFsIGBsb2NhbHNgIGFycmF5IGFuZFxuICAgICBvdXIgb3duIG5hbWUgbWFwcGluZywga2VlcGluZyB0aGVtIGluIHN5bmMuXG4qL1xuXG5pbXBvcnQgdHlwZSB7IE5vZGVQYXRoIH0gZnJvbSAnQGJhYmVsL3RyYXZlcnNlJztcbmltcG9ydCB7IEFTVFBsdWdpbkVudmlyb25tZW50LCBOb2RlVmlzaXRvciB9IGZyb20gJ0BnbGltbWVyL3N5bnRheCc7XG5pbXBvcnQgeyBhc3ROb2RlSGFzQmluZGluZyB9IGZyb20gJy4vaGJzLXV0aWxzJztcbmltcG9ydCB7IHJlYWRPbmx5QXJyYXkgfSBmcm9tICcuL3JlYWQtb25seS1hcnJheSc7XG5cbi8qXG4gICAgYG1vZGVgIHJlZmVycyB0byB0aGUgaW1wbGljaXQgYW5kIGV4cGxpY2l0IGZvcm1hdHMgZGVmaW5lZCBoZXJlOlxuXG4gICAgICBodHRwczovL2dpdGh1Yi5jb20vZW1iZXJqcy9yZmNzL2Jsb2IvOWZkNmNlYWMyNTU5YmVlMWMzM2FjZjBkNzgzNGU2NzUxMjVhNGYxNi90ZXh0LzA5MzEtdGVtcGxhdGUtY29tcGlsZXItYXBpLm1kI2V4cGxpY2l0LWZvcm1cbiAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9lbWJlcmpzL3JmY3MvYmxvYi85ZmQ2Y2VhYzI1NTliZWUxYzMzYWNmMGQ3ODM0ZTY3NTEyNWE0ZjE2L3RleHQvMDkzMS10ZW1wbGF0ZS1jb21waWxlci1hcGkubWQjaW1wbGljaXQtZm9ybVxuXG4gICAgVGhpcyBjbGFzcyBuZWVkcyB0byBrbm93IHRoZSBkaWZmZXJlbmNlIGJlY2F1c2UgaW4gaW1wbGljaXQgZm9ybWF0LCB1cHZhcnNcbiAgICBpbiBoYnMgYXJlIGF1dG9tYWdpY2FsbHkgY29ubmVjdGVkIHdpdGggb3V0ZXIgSmF2YXNjcmlwdCBiaW5kaW5ncywgYW5kIGluXG4gICAgZXhwbGljaXQgZm9ybSB0aGV5IGFyZSBub3QuXG4qL1xudHlwZSBQYXJhbXMgPVxuICB8IHtcbiAgICAgIG1vZGU6ICdleHBsaWNpdCc7XG4gICAgfVxuICB8IHtcbiAgICAgIG1vZGU6ICdpbXBsaWNpdCc7XG4gICAgICBqc1BhdGg6IE5vZGVQYXRoO1xuICAgIH07XG5cbmV4cG9ydCBjbGFzcyBTY29wZUxvY2FscyB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogUGFyYW1zKSB7XG4gICAgdGhpcy4jcGFyYW1zID0gcGFyYW1zO1xuICB9XG5cbiAgI21hcHBpbmc6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgI2xvY2Fsczogc3RyaW5nW10gPSBbXTtcbiAgI3BhcmFtczogUGFyYW1zO1xuXG4gIGdldCBsb2NhbHMoKSB7XG4gICAgcmV0dXJuIHJlYWRPbmx5QXJyYXkoXG4gICAgICB0aGlzLiNsb2NhbHMsXG4gICAgICAnVGhlIG9ubHkgc3VwcG9ydGVkIHdheSB0byBtYW5pcHVsYXRlIGxvY2FscyBpcyB2aWEgdGhlIGpzdXRpbHMgQVBJXFxuaHR0cHM6Ly9naXRodWIuY29tL2VtYmVyanMvYmFiZWwtcGx1Z2luLWVtYmVyLXRlbXBsYXRlLWNvbXBpbGF0aW9uI2pzdXRpbHMtbWFuaXB1bGF0aW5nLWphdmFzY3JpcHQtZnJvbS13aXRoaW4tYXN0LXRyYW5zZm9ybXMnXG4gICAgKTtcbiAgfVxuXG4gIGhhcyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBrZXkgaW4gdGhpcy4jbWFwcGluZztcbiAgfVxuXG4gIGdldChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuI21hcHBpbmdba2V5XTtcbiAgfVxuXG4gIGlzRW1wdHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2xvY2Fscy5sZW5ndGggPT09IDA7XG4gIH1cblxuICBlbnRyaWVzKCkge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLiNtYXBwaW5nKTtcbiAgfVxuXG4gIGFkZChoYnNOYW1lOiBzdHJpbmcsIGpzTmFtZT86IHN0cmluZykge1xuICAgIHRoaXMuI21hcHBpbmdbaGJzTmFtZV0gPSBqc05hbWUgPz8gaGJzTmFtZTtcbiAgICBpZiAoIXRoaXMuI2xvY2Fscy5pbmNsdWRlcyhoYnNOYW1lKSkge1xuICAgICAgdGhpcy4jbG9jYWxzLnB1c2goaGJzTmFtZSk7XG4gICAgfVxuICB9XG5cbiAgI2lzSW5Kc1Njb3BlKGhic05hbWU6IHN0cmluZywganNQYXRoOiBOb2RlUGF0aCkge1xuICAgIGxldCBqc05hbWUgPSB0aGlzLiNtYXBwaW5nW2hic05hbWVdID8/IGhic05hbWU7XG4gICAgcmV0dXJuIFsnZ2xvYmFsVGhpcyddLmluY2x1ZGVzKGpzTmFtZSkgfHwganNQYXRoLnNjb3BlLmdldEJpbmRpbmcoanNOYW1lKTtcbiAgfVxuXG4gIC8vIHRoaXMgQVNUIHRyYW5zZm9ybSBkaXNjb3ZlcnMgYWxsIHBvc3NpYmxlIHVwdmFycyBpbiBIQlMgdGhhdCByZWZlciB0byB2YWxpZFxuICAvLyBiaW5kaW5ncyBpbiBKUywgYW5kIHRoZW4gZGVwZW5kaW5nIG9uIHRoZSBtb2RlIGFkanVzdHMgb3VyIGFjdHVhbCBzY29wZSBiYWdcbiAgLy8gY29udGVudHMuXG4gIGNyYXdsKCkge1xuICAgIHJldHVybiAoX2VudjogQVNUUGx1Z2luRW52aXJvbm1lbnQpOiB7IG5hbWU6IHN0cmluZzsgdmlzaXRvcjogTm9kZVZpc2l0b3IgfSA9PiB7XG4gICAgICBsZXQgc2VlbjogU2V0PHN0cmluZz47XG4gICAgICByZXR1cm4ge1xuICAgICAgICBuYW1lOiAnc2NvcGUtbG9jYWxzLWNyYXdsJyxcbiAgICAgICAgdmlzaXRvcjoge1xuICAgICAgICAgIFRlbXBsYXRlOiB7XG4gICAgICAgICAgICBlbnRlcjogKCkgPT4ge1xuICAgICAgICAgICAgICBzZWVuID0gbmV3IFNldCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGV4aXQ6IChfbm9kZSwgX3BhdGgpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHRoaXMuI3BhcmFtcy5tb2RlID09PSAnaW1wbGljaXQnKSB7XG4gICAgICAgICAgICAgICAgLy8gYWxsIGhicyB1cHZhcnMgdGhhdCBoYXZlIG1hdGNoaW5nIEpTIGJpbmRpbmdzIGdvIGludG8gdGhlXG4gICAgICAgICAgICAgICAgLy8gc2NvcGVcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBuYW1lIG9mIHNlZW4pIHtcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLiNpc0luSnNTY29wZShuYW1lLCB0aGlzLiNwYXJhbXMuanNQYXRoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZChuYW1lKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gaW4gZXhwbGljaXQgZm9ybSwgd2UgbWlnaHQgcHJ1bmUgYmFjayB0aGUgcHJlZXhpc2luZyBzY29wZSBpblxuICAgICAgICAgICAgICAgIC8vIHRoZSBjYXNlIHdoZXJlIGFub3RoZXIgQVNUIHRyYW5zZm9ybSBoYXMgZWxpbWluYXRlZCB0aGUgdXNlXG4gICAgICAgICAgICAgICAgLy8gb2YgdGhlIG9yaWdpbmFsIGJpbmRpbmcuIEJ1dCB3ZSBkb24ndCBhZGQgYW55dGhpbmcgbmV3LiBUaGVcbiAgICAgICAgICAgICAgICAvLyBvbmx5IHdheSBmb3IgbmV3IGJpbmRpbmdzIHRvIGJlIGludHJvZHVjZWQgaW50byBzY29wZSBpcyBmb3JcbiAgICAgICAgICAgICAgICAvLyBhbm90aGVyIEFTVCB0cmFuc2Zvcm0gdG8gZXhwbGljaXRseSBjYWxsIHRoZSBqc3V0aWxzLCB3aGljaFxuICAgICAgICAgICAgICAgIC8vIGNhbGxzIG91ciBgYWRkYC5cbiAgICAgICAgICAgICAgICBmb3IgKGxldCBuYW1lIG9mIE9iamVjdC5rZXlzKHRoaXMuI21hcHBpbmcpKSB7XG4gICAgICAgICAgICAgICAgICBpZiAoIXNlZW4uaGFzKG5hbWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2xvY2Fscy5zcGxpY2UodGhpcy4jbG9jYWxzLmluZGV4T2YobmFtZSksIDEpO1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy4jbWFwcGluZ1tuYW1lXTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBQYXRoRXhwcmVzc2lvbjogKG5vZGUsIHBhdGgpID0+IHtcbiAgICAgICAgICAgIGlmIChub2RlLmhlYWQudHlwZSAhPT0gJ1ZhckhlYWQnKSB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBub2RlLmhlYWQubmFtZTtcbiAgICAgICAgICAgIGlmICghYXN0Tm9kZUhhc0JpbmRpbmcocGF0aCwgbmFtZSkpIHtcbiAgICAgICAgICAgICAgc2Vlbi5hZGQobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBFbGVtZW50Tm9kZTogKG5vZGUsIHBhdGgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBub2RlLnRhZy5zcGxpdCgnLicpWzBdO1xuICAgICAgICAgICAgaWYgKCFhc3ROb2RlSGFzQmluZGluZyhwYXRoLCBuYW1lKSkge1xuICAgICAgICAgICAgICBzZWVuLmFkZChuYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9O1xuICB9XG59XG4iXX0=

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc