New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

simple-nlp

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

simple-nlp - npm Package Compare versions

Comparing version 0.1.10 to 0.1.11

index.d.ts

8

package.json

@@ -8,3 +8,3 @@ {

],
"version": "0.1.10",
"version": "0.1.11",
"homepage": "https://github.com/vleandersson/simple-nlp",

@@ -20,6 +20,8 @@ "license": "MIT",

"types/",
"index.d.ts",
"index.js",
"umd/"
],
"main": "umd/simple-nlp.production.min.js",
"types": "types/index.d.ts",
"main": "index.js",
"types": "index.d.ts",
"engines": {

@@ -26,0 +28,0 @@ "node": ">=0.10.0"

@@ -1,1 +0,2 @@

!function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function r(e){return e.replace(/[^aeiouy]+y/g,"CV").replace(/[aeiou]+/g,"V").replace(/[^V]+/g,"C")}function i(e){return e.replace(/[^aeiouy]y/g,"CV").replace(/[aeiou]/g,"V").replace(/[^V]/g,"C")}function u(e){return e?r(e).replace(/^C/,"").replace(/V$/,"").length/2:-1}function l(e,t,n,r){var i=null;return"string"==typeof t&&e.substr(0-t.length)==t?i=e.replace(new RegExp(t+"$"),n):t instanceof RegExp&&e.match(t)&&(i=e.replace(t,n)),i&&r?r(i):i}function a(e,t,n){for(var r=e,i=0;i<t.length;i++)(null===n||n&&u(l(e,t[i][0],t[i][1]))>n)&&(r=l(r,t[i][0],t[i][2])||r);return r}function o(e,t,n){return a(e,t,n)||e}function c(e,t,n,r){var i="";if(t.test(e)){var l=t.exec(e);null!==l&&n.forEach((function(e){i+=l[e]}))}return u(i)>r?i:null}n.r(t);var s=function(e){return e.length<3?e:function(e){return u(e)>1?e.replace(/ll$/,"l"):e}(function(e){var t=u(e.replace(/e$/,""));return(t>1||1==t&&("CVC"!=i(e).substr(-4,3)||!e.match(/[^wxy].$/)))&&(e=e.replace(/e$/,"")),e}(function(e){return c(e,/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,[1],1)||c(e,/^(.+?)(s|t)(ion)$/,[1,2],1)||e}(function(e){return o(e,[["icate","","ic"],["ative","",""],["alize","","al"],["iciti","","ic"],["ical","","ic"],["ful","",""],["ness","",""]],0)}(function(e){return e=o(e,[["ational","","ate"],["tional","","tion"],["enci","","ence"],["anci","","ance"],["izer","","ize"],["abli","","able"],["bli","","ble"],["alli","","al"],["entli","","ent"],["eli","","e"],["ousli","","ous"],["ization","","ize"],["ation","","ate"],["ator","","ate"],["alism","","al"],["iveness","","ive"],["fulness","","ful"],["ousness","","ous"],["aliti","","al"],["iviti","","ive"],["biliti","","ble"],["logi","","log"]],0)}(function(e){var t=r(e);return"y"==e.substr(-1)&&t.substr(0,t.length-1).indexOf("V")>-1?e.replace(/y$/,"i"):e}(function(e){if("eed"==e.substr(-3)){if(u(e.substr(0,e.length-3))>0)return e.replace(/eed$/,"ee")}else{var t=l(e,/(ed|ing)$/,"",(function(e){return r(e).indexOf("V")>=0?(t=a(e,[["at","","ate"],["bl","","ble"],["iz","","ize"]]))!=e?t:function(e){return e.match(/([^aeiou])\1$/)}(e)&&e.match(/[^lsz]$/)?e.replace(/([^aeiou])\1$/,"$1"):1==u(e)&&"CVC"==i(e).substr(-3)&&e.match(/[^wxy]$/)?e+"e":e:null}));if(t)return t}return e}(function(e){return e.match(/(ss|i)es$/)?e.replace(/(ss|i)es$/,"$1"):"s"==e.substr(-1)&&"s"!=e.substr(-2,1)&&e.length>2?e.replace(/s?$/,""):e}(e.toLowerCase())))))))).toString()};n.d(t,"porterStemFn",(function(){return s}))}]);
!function(e,t){for(var n in t)e[n]=t[n]}(exports,function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";e.exports=n(1)},function(e,t,n){"use strict";function r(e){return e.replace(/[^aeiouy]+y/g,"CV").replace(/[aeiou]+/g,"V").replace(/[^V]+/g,"C")}function i(e){return e.replace(/[^aeiouy]y/g,"CV").replace(/[aeiou]/g,"V").replace(/[^V]/g,"C")}function u(e){return e?r(e).replace(/^C/,"").replace(/V$/,"").length/2:-1}function l(e,t,n,r){var i=null;return"string"==typeof t&&e.substr(0-t.length)==t?i=e.replace(new RegExp(t+"$"),n):t instanceof RegExp&&e.match(t)&&(i=e.replace(t,n)),i&&r?r(i):i}function o(e,t,n){for(var r=e,i=0;i<t.length;i++)(null===n||n&&u(l(e,t[i][0],t[i][1]))>n)&&(r=l(r,t[i][0],t[i][2])||r);return r}function a(e,t,n){return o(e,t,n)||e}function c(e,t,n,r){var i="";if(t.test(e)){var l=t.exec(e);null!==l&&n.forEach((function(e){i+=l[e]}))}return u(i)>r?i:null}n.r(t);var s=function(e){return e.length<3?e:function(e){return u(e)>1?e.replace(/ll$/,"l"):e}(function(e){var t=u(e.replace(/e$/,""));return(t>1||1==t&&("CVC"!=i(e).substr(-4,3)||!e.match(/[^wxy].$/)))&&(e=e.replace(/e$/,"")),e}(function(e){return c(e,/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,[1],1)||c(e,/^(.+?)(s|t)(ion)$/,[1,2],1)||e}(function(e){return a(e,[["icate","","ic"],["ative","",""],["alize","","al"],["iciti","","ic"],["ical","","ic"],["ful","",""],["ness","",""]],0)}(function(e){return e=a(e,[["ational","","ate"],["tional","","tion"],["enci","","ence"],["anci","","ance"],["izer","","ize"],["abli","","able"],["bli","","ble"],["alli","","al"],["entli","","ent"],["eli","","e"],["ousli","","ous"],["ization","","ize"],["ation","","ate"],["ator","","ate"],["alism","","al"],["iveness","","ive"],["fulness","","ful"],["ousness","","ous"],["aliti","","al"],["iviti","","ive"],["biliti","","ble"],["logi","","log"]],0)}(function(e){var t=r(e);return"y"==e.substr(-1)&&t.substr(0,t.length-1).indexOf("V")>-1?e.replace(/y$/,"i"):e}(function(e){if("eed"==e.substr(-3)){if(u(e.substr(0,e.length-3))>0)return e.replace(/eed$/,"ee")}else{var t=l(e,/(ed|ing)$/,"",(function(e){return r(e).indexOf("V")>=0?(t=o(e,[["at","","ate"],["bl","","ble"],["iz","","ize"]]))!=e?t:function(e){return e.match(/([^aeiou])\1$/)}(e)&&e.match(/[^lsz]$/)?e.replace(/([^aeiou])\1$/,"$1"):1==u(e)&&"CVC"==i(e).substr(-3)&&e.match(/[^wxy]$/)?e+"e":e:null}));if(t)return t}return e}(function(e){return e.match(/(ss|i)es$/)?e.replace(/(ss|i)es$/,"$1"):"s"==e.substr(-1)&&"s"!=e.substr(-2,1)&&e.length>2?e.replace(/s?$/,""):e}(e.toLowerCase())))))))).toString()};n.d(t,"porterStemFn",(function(){return s}))}]));
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vLy4vcGFja2FnZXMvc2ltcGxlLW5scC9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9wYWNrYWdlcy9zaW1wbGUtbmxwL3NyYy9zdGVtbWVycy9wb3J0ZXJTdGVtbWVyL3BvcnRlclN0ZW1tZXIudHMiLCJ3ZWJwYWNrOi8vLy4vcGFja2FnZXMvc2ltcGxlLW5scC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOlsiaW5zdGFsbGVkTW9kdWxlcyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJtb2R1bGVJZCIsImV4cG9ydHMiLCJtb2R1bGUiLCJpIiwibCIsIm1vZHVsZXMiLCJjYWxsIiwibSIsImMiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJyIiwiU3ltYm9sIiwidG9TdHJpbmdUYWciLCJ2YWx1ZSIsInQiLCJtb2RlIiwiX19lc01vZHVsZSIsIm5zIiwiY3JlYXRlIiwia2V5IiwiYmluZCIsIm4iLCJvYmplY3QiLCJwcm9wZXJ0eSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwicCIsInMiLCJjYXRlZ29yaXplR3JvdXBzIiwidG9rZW4iLCJyZXBsYWNlIiwiY2F0ZWdvcml6ZUNoYXJzIiwibWVhc3VyZSIsImxlbmd0aCIsImF0dGVtcHRSZXBsYWNlIiwicGF0dGVybiIsInJlcGxhY2VtZW50IiwiY2FsbGJhY2siLCJyZXN1bHQiLCJzdWJzdHIiLCJSZWdFeHAiLCJtYXRjaCIsImF0dGVtcHRSZXBsYWNlUGF0dGVybnMiLCJyZXBsYWNlbWVudHMiLCJtZWFzdXJlVGhyZXNob2xkIiwicmVwbGFjZVBhdHRlcm5zIiwicmVwbGFjZVJlZ2V4IiwicmVnZXgiLCJpbmNsdWRlUGFydHMiLCJtaW5pbXVtTWVhc3VyZSIsInRlc3QiLCJleGVjIiwiZm9yRWFjaCIsInBvcnRlclN0ZW1GbiIsInN0ZXA1YiIsInN0ZXA1YSIsInN0ZXA0Iiwic3RlcDMiLCJzdGVwMiIsImNhdGVnb3JpemVkR3JvdXBzIiwiaW5kZXhPZiIsInN0ZXAxYyIsImVuZHNXaXRoRG91YmxDb25zIiwic3RlcDFiIiwic3RlcDFhIiwidG9Mb3dlckNhc2UiLCJ0b1N0cmluZyJdLCJtYXBwaW5ncyI6IjZEQUNFLElBQUlBLEVBQW1CLEdBR3ZCLFNBQVNDLEVBQW9CQyxHQUc1QixHQUFHRixFQUFpQkUsR0FDbkIsT0FBT0YsRUFBaUJFLEdBQVVDLFFBR25DLElBQUlDLEVBQVNKLEVBQWlCRSxHQUFZLENBQ3pDRyxFQUFHSCxFQUNISSxHQUFHLEVBQ0hILFFBQVMsSUFVVixPQU5BSSxFQUFRTCxHQUFVTSxLQUFLSixFQUFPRCxRQUFTQyxFQUFRQSxFQUFPRCxRQUFTRixHQUcvREcsRUFBT0UsR0FBSSxFQUdKRixFQUFPRCxRQTBEZixPQXJEQUYsRUFBb0JRLEVBQUlGLEVBR3hCTixFQUFvQlMsRUFBSVYsRUFHeEJDLEVBQW9CVSxFQUFJLFNBQVNSLEVBQVNTLEVBQU1DLEdBQzNDWixFQUFvQmEsRUFBRVgsRUFBU1MsSUFDbENHLE9BQU9DLGVBQWViLEVBQVNTLEVBQU0sQ0FBRUssWUFBWSxFQUFNQyxJQUFLTCxLQUtoRVosRUFBb0JrQixFQUFJLFNBQVNoQixHQUNYLG9CQUFYaUIsUUFBMEJBLE9BQU9DLGFBQzFDTixPQUFPQyxlQUFlYixFQUFTaUIsT0FBT0MsWUFBYSxDQUFFQyxNQUFPLFdBRTdEUCxPQUFPQyxlQUFlYixFQUFTLGFBQWMsQ0FBRW1CLE9BQU8sS0FRdkRyQixFQUFvQnNCLEVBQUksU0FBU0QsRUFBT0UsR0FFdkMsR0FEVSxFQUFQQSxJQUFVRixFQUFRckIsRUFBb0JxQixJQUMvQixFQUFQRSxFQUFVLE9BQU9GLEVBQ3BCLEdBQVcsRUFBUEUsR0FBOEIsaUJBQVZGLEdBQXNCQSxHQUFTQSxFQUFNRyxXQUFZLE9BQU9ILEVBQ2hGLElBQUlJLEVBQUtYLE9BQU9ZLE9BQU8sTUFHdkIsR0FGQTFCLEVBQW9Ca0IsRUFBRU8sR0FDdEJYLE9BQU9DLGVBQWVVLEVBQUksVUFBVyxDQUFFVCxZQUFZLEVBQU1LLE1BQU9BLElBQ3RELEVBQVBFLEdBQTRCLGlCQUFURixFQUFtQixJQUFJLElBQUlNLEtBQU9OLEVBQU9yQixFQUFvQlUsRUFBRWUsRUFBSUUsRUFBSyxTQUFTQSxHQUFPLE9BQU9OLEVBQU1NLElBQVFDLEtBQUssS0FBTUQsSUFDOUksT0FBT0YsR0FJUnpCLEVBQW9CNkIsRUFBSSxTQUFTMUIsR0FDaEMsSUFBSVMsRUFBU1QsR0FBVUEsRUFBT3FCLFdBQzdCLFdBQXdCLE9BQU9yQixFQUFnQixTQUMvQyxXQUE4QixPQUFPQSxHQUV0QyxPQURBSCxFQUFvQlUsRUFBRUUsRUFBUSxJQUFLQSxHQUM1QkEsR0FJUlosRUFBb0JhLEVBQUksU0FBU2lCLEVBQVFDLEdBQVksT0FBT2pCLE9BQU9rQixVQUFVQyxlQUFlMUIsS0FBS3VCLEVBQVFDLElBR3pHL0IsRUFBb0JrQyxFQUFJLEdBSWpCbEMsRUFBb0JBLEVBQW9CbUMsRUFBSSxHLCtCQ2xGckRoQyxFQUFPRCxRQUFVLEVBQVEsSSw2QkNFekIsU0FBU2tDLEVBQWlCQyxHQUN4QixPQUFPQSxFQUNKQyxRQUFRLGVBQWdCLE1BQ3hCQSxRQUFRLFlBQWEsS0FDckJBLFFBQVEsU0FBVSxLQUl2QixTQUFTQyxFQUFnQkYsR0FDdkIsT0FBT0EsRUFDSkMsUUFBUSxjQUFlLE1BQ3ZCQSxRQUFRLFdBQVksS0FDcEJBLFFBQVEsUUFBUyxLQUt0QixTQUFTRSxFQUFRSCxHQUNmLE9BQUtBLEVBR0hELEVBQWlCQyxHQUNkQyxRQUFRLEtBQU0sSUFDZEEsUUFBUSxLQUFNLElBQUlHLE9BQVMsR0FMWixFQWlCdEIsU0FBU0MsRUFDUEwsRUFDQU0sRUFDQUMsRUFDQUMsR0FFQSxJQUFJQyxFQUFTLEtBT2IsTUFMc0IsaUJBQVhILEdBQXVCTixFQUFNVSxPQUFPLEVBQUlKLEVBQVFGLFNBQVdFLEVBQ3BFRyxFQUFTVCxFQUFNQyxRQUFRLElBQUlVLE9BQU9MLEVBQVUsS0FBTUMsR0FDM0NELGFBQW1CSyxRQUFVWCxFQUFNWSxNQUFNTixLQUNoREcsRUFBU1QsRUFBTUMsUUFBUUssRUFBU0MsSUFFOUJFLEdBQVVELEVBQWlCQSxFQUFTQyxHQUM1QkEsRUFLZCxTQUFTSSxFQUNQYixFQUNBYyxFQUNBQyxHQUlBLElBRkEsSUFBSVIsRUFBY1AsRUFFVGpDLEVBQUksRUFBR0EsRUFBSStDLEVBQWFWLE9BQVFyQyxLQUVoQixPQUFyQmdELEdBQ0NBLEdBQ0NaLEVBQVFFLEVBQWVMLEVBQU9jLEVBQWEvQyxHQUFHLEdBQUkrQyxFQUFhL0MsR0FBRyxLQUNoRWdELEtBRUpSLEVBQ0VGLEVBQWVFLEVBQWFPLEVBQWEvQyxHQUFHLEdBQUkrQyxFQUFhL0MsR0FBRyxLQUNoRXdDLEdBSU4sT0FBT0EsRUFLVCxTQUFTUyxFQUNQaEIsRUFDQWMsRUFDQUMsR0FFQSxPQUFPRixFQUF1QmIsRUFBT2MsRUFBY0MsSUFBcUJmLEVBSTFFLFNBQVNpQixFQUNQakIsRUFDQWtCLEVBQ0FDLEVBQ0FDLEdBRUEsSUFBSVgsRUFBUyxHQUViLEdBQUlTLEVBQU1HLEtBQUtyQixHQUFRLENBQ3JCLElBQU0sRUFBUWtCLEVBQU1JLEtBQUt0QixHQUVYLE9BQVYsR0FDRm1CLEVBQWFJLFNBQVEsU0FBQXhELEdBQ25CMEMsR0FBVSxFQUFNMUMsTUFLdEIsT0FBSW9DLEVBQVFNLEdBQVVXLEVBQ2JYLEVBR0YsSyxPQTBLRixJQUFNZSxFQUFlLFNBQUN4QixHQUMzQixPQUFJQSxFQUFNSSxPQUFTLEVBQVVKLEVBVi9CLFNBQWdCQSxHQUNkLE9BQUlHLEVBQVFILEdBQVMsRUFDWkEsRUFBTUMsUUFBUSxNQUFPLEtBR3ZCRCxFQU1BeUIsQ0E1QlQsU0FBZ0J6QixHQUNkLElBQU03QixFQUFJZ0MsRUFBUUgsRUFBTUMsUUFBUSxLQUFNLEtBWXRDLE9BVEU5QixFQUFJLEdBQ0UsR0FBTEEsSUFFMkMsT0FBeEMrQixFQUFnQkYsR0FBT1UsUUFBUSxFQUFHLEtBQWVWLEVBQU1ZLE1BQU0sZ0JBR2pFWixFQUFRQSxFQUFNQyxRQUFRLEtBQU0sS0FHdkJELEVBZ0JMMEIsQ0EzQ0osU0FBZTFCLEdBQ2IsT0FDRWlCLEVBQ0VqQixFQUNBLHNGQUNBLENBQUMsR0FDRCxJQUVGaUIsRUFBYWpCLEVBQU8sb0JBQXFCLENBQUMsRUFBRyxHQUFJLElBQ2pEQSxFQWtDTzJCLENBNURYLFNBQWUzQixHQUNiLE9BQU9nQixFQUNMaEIsRUFDQSxDQUNFLENBQUMsUUFBUyxHQUFJLE1BQ2QsQ0FBQyxRQUFTLEdBQUksSUFDZCxDQUFDLFFBQVMsR0FBSSxNQUNkLENBQUMsUUFBUyxHQUFJLE1BQ2QsQ0FBQyxPQUFRLEdBQUksTUFDYixDQUFDLE1BQU8sR0FBSSxJQUNaLENBQUMsT0FBUSxHQUFJLEtBRWYsR0FnRGE0QixDQTlGakIsU0FBZTVCLEdBOEJiLE9BN0JBQSxFQUFRZ0IsRUFDTmhCLEVBQ0EsQ0FDRSxDQUFDLFVBQVcsR0FBSSxPQUNoQixDQUFDLFNBQVUsR0FBSSxRQUNmLENBQUMsT0FBUSxHQUFJLFFBQ2IsQ0FBQyxPQUFRLEdBQUksUUFDYixDQUFDLE9BQVEsR0FBSSxPQUNiLENBQUMsT0FBUSxHQUFJLFFBQ2IsQ0FBQyxNQUFPLEdBQUksT0FDWixDQUFDLE9BQVEsR0FBSSxNQUNiLENBQUMsUUFBUyxHQUFJLE9BQ2QsQ0FBQyxNQUFPLEdBQUksS0FDWixDQUFDLFFBQVMsR0FBSSxPQUNkLENBQUMsVUFBVyxHQUFJLE9BQ2hCLENBQUMsUUFBUyxHQUFJLE9BQ2QsQ0FBQyxPQUFRLEdBQUksT0FDYixDQUFDLFFBQVMsR0FBSSxNQUNkLENBQUMsVUFBVyxHQUFJLE9BQ2hCLENBQUMsVUFBVyxHQUFJLE9BQ2hCLENBQUMsVUFBVyxHQUFJLE9BQ2hCLENBQUMsUUFBUyxHQUFJLE1BQ2QsQ0FBQyxRQUFTLEdBQUksT0FDZCxDQUFDLFNBQVUsR0FBSSxPQUNmLENBQUMsT0FBUSxHQUFJLFFBRWYsR0FtRW1CNkIsQ0E1R3ZCLFNBQWdCN0IsR0FDZCxJQUFNOEIsRUFBb0IvQixFQUFpQkMsR0FFM0MsTUFDc0IsS0FBcEJBLEVBQU1VLFFBQVEsSUFDZG9CLEVBQWtCcEIsT0FBTyxFQUFHb0IsRUFBa0IxQixPQUFTLEdBQUcyQixRQUFRLE1BQVEsRUFFbkUvQixFQUFNQyxRQUFRLEtBQU0sS0FHdEJELEVBa0dvQmdDLENBeEo3QixTQUFnQmhDLEdBQ2QsR0FBd0IsT0FBcEJBLEVBQU1VLFFBQVEsSUFDaEIsR0FBSVAsRUFBUUgsRUFBTVUsT0FBTyxFQUFHVixFQUFNSSxPQUFTLElBQU0sRUFDL0MsT0FBT0osRUFBTUMsUUFBUSxPQUFRLFVBQzFCLENBQ0wsSUFBSSxFQUFTSSxFQUFlTCxFQUFPLFlBQWEsSUFBSSxTQUFBQSxHQUNsRCxPQUFJRCxFQUFpQkMsR0FBTytCLFFBQVEsTUFBUSxHQUMxQyxFQUFTbEIsRUFBdUJiLEVBQU8sQ0FDckMsQ0FBQyxLQUFNLEdBQUksT0FDWCxDQUFDLEtBQU0sR0FBSSxPQUNYLENBQUMsS0FBTSxHQUFJLFdBR0NBLEVBQ0wsRUFySGpCLFNBQTJCQSxHQUN6QixPQUFPQSxFQUFNWSxNQUFNLGlCQXNIUHFCLENBQWtCakMsSUFBVUEsRUFBTVksTUFBTSxXQUNuQ1osRUFBTUMsUUFBUSxnQkFBaUIsTUFJcEIsR0FBbEJFLEVBQVFILElBQzZCLE9BQXJDRSxFQUFnQkYsR0FBT1UsUUFBUSxJQUMvQlYsRUFBTVksTUFBTSxXQUVMWixFQUFRLElBSVpBLEVBR0YsUUFHVCxHQUFJLEVBQ0YsT0FBTyxFQUlYLE9BQU9BLEVBZ0gyQmtDLENBektwQyxTQUFnQmxDLEdBQ2QsT0FBSUEsRUFBTVksTUFBTSxhQUNQWixFQUFNQyxRQUFRLFlBQWEsTUFJZCxLQUFwQkQsRUFBTVUsUUFBUSxJQUNTLEtBQXZCVixFQUFNVSxRQUFRLEVBQUcsSUFDakJWLEVBQU1JLE9BQVMsRUFFUkosRUFBTUMsUUFBUSxNQUFPLElBR3ZCRCxFQTRKa0NtQyxDQUFPbkMsRUFBTW9DLHNCQUNwREMsWUM5UkoiLCJmaWxlIjoidW1kL3NpbXBsZS1ubHAucHJvZHVjdGlvbi5taW4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMCk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuL3NyY1wiKTtcbiIsIi8vIGRlbm90ZSBncm91cHMgb2YgY29uc2VjdXRpdmUgY29uc29uYW50cyB3aXRoIGEgQyBhbmQgY29uc2VjdXRpdmUgdm93ZWxzXG4vLyB3aXRoIGEgVi5cbmZ1bmN0aW9uIGNhdGVnb3JpemVHcm91cHModG9rZW46IHN0cmluZykge1xuICByZXR1cm4gdG9rZW5cbiAgICAucmVwbGFjZSgvW15hZWlvdXldK3kvZywgXCJDVlwiKVxuICAgIC5yZXBsYWNlKC9bYWVpb3VdKy9nLCBcIlZcIilcbiAgICAucmVwbGFjZSgvW15WXSsvZywgXCJDXCIpO1xufVxuXG4vLyBkZW5vdGUgc2luZ2xlIGNvbnNvbmFudHMgd2l0aCBhIEMgYW5kIHNpbmdsZSB2b3dlbHMgd2l0aCBhIFZcbmZ1bmN0aW9uIGNhdGVnb3JpemVDaGFycyh0b2tlbjogc3RyaW5nKSB7XG4gIHJldHVybiB0b2tlblxuICAgIC5yZXBsYWNlKC9bXmFlaW91eV15L2csIFwiQ1ZcIilcbiAgICAucmVwbGFjZSgvW2FlaW91XS9nLCBcIlZcIilcbiAgICAucmVwbGFjZSgvW15WXS9nLCBcIkNcIik7XG59XG5cbi8vIGNhbGN1bGF0ZSB0aGUgXCJtZWFzdXJlXCIgTSBvZiBhIHdvcmQuIE0gaXMgdGhlIGNvdW50IG9mIFZDIHNlcXVlbmNlcyBkcm9wcGluZ1xuLy8gYW4gaW5pdGlhbCBDIGlmIGl0IGV4aXN0cyBhbmQgYSB0cmFpbGluZyBWIGlmIGl0IGV4aXN0cy5cbmZ1bmN0aW9uIG1lYXN1cmUodG9rZW46IHN0cmluZyB8IG51bGwpIHtcbiAgaWYgKCF0b2tlbikgcmV0dXJuIC0xO1xuXG4gIHJldHVybiAoXG4gICAgY2F0ZWdvcml6ZUdyb3Vwcyh0b2tlbilcbiAgICAgIC5yZXBsYWNlKC9eQy8sIFwiXCIpXG4gICAgICAucmVwbGFjZSgvViQvLCBcIlwiKS5sZW5ndGggLyAyXG4gICk7XG59XG5cbi8vIGRldGVybWluZSBpZiBhIHRva2VuIGVuZCB3aXRoIGEgZG91YmxlIGNvbnNvbmFudCBpLmUuIGhhcHBcbmZ1bmN0aW9uIGVuZHNXaXRoRG91YmxDb25zKHRva2VuOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHRva2VuLm1hdGNoKC8oW15hZWlvdV0pXFwxJC8pO1xufVxuXG4vLyByZXBsYWNlIGEgcGF0dGVybiBpbiBhIHdvcmQuIGlmIGEgcmVwbGFjZW1lbnQgb2NjdXJzIGFuIG9wdGlvbmFsIGNhbGxiYWNrXG4vLyBjYW4gYmUgY2FsbGVkIHRvIHBvc3QtcHJvY2VzcyB0aGUgcmVzdWx0LiBpZiBubyBtYXRjaCBpcyBtYWRlIE5VTEwgaXNcbi8vIHJldHVybmVkLlxuZnVuY3Rpb24gYXR0ZW1wdFJlcGxhY2UoXG4gIHRva2VuOiBzdHJpbmcsXG4gIHBhdHRlcm46IFJlZ0V4cCB8IHN0cmluZyxcbiAgcmVwbGFjZW1lbnQ6IHN0cmluZyxcbiAgY2FsbGJhY2s/OiAocmVzdWx0OiBzdHJpbmcpID0+IHN0cmluZyB8IG51bGxcbikge1xuICBsZXQgcmVzdWx0ID0gbnVsbDtcblxuICBpZiAodHlwZW9mIHBhdHRlcm4gPT0gXCJzdHJpbmdcIiAmJiB0b2tlbi5zdWJzdHIoMCAtIHBhdHRlcm4ubGVuZ3RoKSA9PSBwYXR0ZXJuKVxuICAgIHJlc3VsdCA9IHRva2VuLnJlcGxhY2UobmV3IFJlZ0V4cChwYXR0ZXJuICsgXCIkXCIpLCByZXBsYWNlbWVudCk7XG4gIGVsc2UgaWYgKHBhdHRlcm4gaW5zdGFuY2VvZiBSZWdFeHAgJiYgdG9rZW4ubWF0Y2gocGF0dGVybikpXG4gICAgcmVzdWx0ID0gdG9rZW4ucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlbWVudCk7XG5cbiAgaWYgKHJlc3VsdCAmJiBjYWxsYmFjaykgcmV0dXJuIGNhbGxiYWNrKHJlc3VsdCk7XG4gIGVsc2UgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gYXR0ZW1wdCB0byByZXBsYWNlIGEgbGlzdCBvZiBwYXR0ZXJucy9yZXBsYWNlbWVudHMgb24gYSB0b2tlbiBmb3IgYSBtaW5pbXVtXG4vLyBtZWFzdXJlIE0uXG5mdW5jdGlvbiBhdHRlbXB0UmVwbGFjZVBhdHRlcm5zKFxuICB0b2tlbjogc3RyaW5nLFxuICByZXBsYWNlbWVudHM6IHN0cmluZ1tdW10sXG4gIG1lYXN1cmVUaHJlc2hvbGQ/OiBudW1iZXIgfCBudWxsXG4pIHtcbiAgbGV0IHJlcGxhY2VtZW50ID0gdG9rZW47XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXBsYWNlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoXG4gICAgICBtZWFzdXJlVGhyZXNob2xkID09PSBudWxsIHx8XG4gICAgICAobWVhc3VyZVRocmVzaG9sZCAmJlxuICAgICAgICBtZWFzdXJlKGF0dGVtcHRSZXBsYWNlKHRva2VuLCByZXBsYWNlbWVudHNbaV1bMF0sIHJlcGxhY2VtZW50c1tpXVsxXSkpID5cbiAgICAgICAgICBtZWFzdXJlVGhyZXNob2xkKVxuICAgICkge1xuICAgICAgcmVwbGFjZW1lbnQgPVxuICAgICAgICBhdHRlbXB0UmVwbGFjZShyZXBsYWNlbWVudCwgcmVwbGFjZW1lbnRzW2ldWzBdLCByZXBsYWNlbWVudHNbaV1bMl0pIHx8XG4gICAgICAgIHJlcGxhY2VtZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXBsYWNlbWVudDtcbn1cblxuLy8gcmVwbGFjZSBhIGxpc3Qgb2YgcGF0dGVybnMvcmVwbGFjZW1lbnRzIG9uIGEgd29yZC4gaWYgbm8gbWF0Y2ggaXMgbWFkZSByZXR1cm5cbi8vIHRoZSBvcmlnaW5hbCB0b2tlbi5cbmZ1bmN0aW9uIHJlcGxhY2VQYXR0ZXJucyhcbiAgdG9rZW46IHN0cmluZyxcbiAgcmVwbGFjZW1lbnRzOiBzdHJpbmdbXVtdLFxuICBtZWFzdXJlVGhyZXNob2xkOiBudW1iZXIgfCBudWxsXG4pIHtcbiAgcmV0dXJuIGF0dGVtcHRSZXBsYWNlUGF0dGVybnModG9rZW4sIHJlcGxhY2VtZW50cywgbWVhc3VyZVRocmVzaG9sZCkgfHwgdG9rZW47XG59XG5cbi8vIFRPRE86IHRoaXMgc2hvdWxkIHJlcGxhY2UgYWxsIG9mIHRoZSBtZXNzeSByZXBsYWNlbWVudCBzdHVmZiBhYm92ZVxuZnVuY3Rpb24gcmVwbGFjZVJlZ2V4KFxuICB0b2tlbjogc3RyaW5nLFxuICByZWdleDogUmVnRXhwLFxuICBpbmNsdWRlUGFydHM6IG51bWJlcltdLFxuICBtaW5pbXVtTWVhc3VyZTogbnVtYmVyXG4pIHtcbiAgbGV0IHJlc3VsdCA9IFwiXCI7XG5cbiAgaWYgKHJlZ2V4LnRlc3QodG9rZW4pKSB7XG4gICAgY29uc3QgcGFydHMgPSByZWdleC5leGVjKHRva2VuKTtcblxuICAgIGlmIChwYXJ0cyAhPT0gbnVsbCkge1xuICAgICAgaW5jbHVkZVBhcnRzLmZvckVhY2goaSA9PiB7XG4gICAgICAgIHJlc3VsdCArPSBwYXJ0c1tpXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtZWFzdXJlKHJlc3VsdCkgPiBtaW5pbXVtTWVhc3VyZSkge1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gc3RlcCAxYSBhcyBkZWZpbmVkIGZvciB0aGUgcG9ydGVyIHN0ZW1tZXIgYWxnb3JpdGhtLlxuZnVuY3Rpb24gc3RlcDFhKHRva2VuOiBzdHJpbmcpIHtcbiAgaWYgKHRva2VuLm1hdGNoKC8oc3N8aSllcyQvKSkge1xuICAgIHJldHVybiB0b2tlbi5yZXBsYWNlKC8oc3N8aSllcyQvLCBcIiQxXCIpO1xuICB9XG5cbiAgaWYgKFxuICAgIHRva2VuLnN1YnN0cigtMSkgPT0gXCJzXCIgJiZcbiAgICB0b2tlbi5zdWJzdHIoLTIsIDEpICE9IFwic1wiICYmXG4gICAgdG9rZW4ubGVuZ3RoID4gMlxuICApIHtcbiAgICByZXR1cm4gdG9rZW4ucmVwbGFjZSgvcz8kLywgXCJcIik7XG4gIH1cblxuICByZXR1cm4gdG9rZW47XG59XG5cbi8vIHN0ZXAgMWIgYXMgZGVmaW5lZCBmb3IgdGhlIHBvcnRlciBzdGVtbWVyIGFsZ29yaXRobS5cbmZ1bmN0aW9uIHN0ZXAxYih0b2tlbjogc3RyaW5nKSB7XG4gIGlmICh0b2tlbi5zdWJzdHIoLTMpID09IFwiZWVkXCIpIHtcbiAgICBpZiAobWVhc3VyZSh0b2tlbi5zdWJzdHIoMCwgdG9rZW4ubGVuZ3RoIC0gMykpID4gMClcbiAgICAgIHJldHVybiB0b2tlbi5yZXBsYWNlKC9lZWQkLywgXCJlZVwiKTtcbiAgfSBlbHNlIHtcbiAgICBsZXQgcmVzdWx0ID0gYXR0ZW1wdFJlcGxhY2UodG9rZW4sIC8oZWR8aW5nKSQvLCBcIlwiLCB0b2tlbiA9PiB7XG4gICAgICBpZiAoY2F0ZWdvcml6ZUdyb3Vwcyh0b2tlbikuaW5kZXhPZihcIlZcIikgPj0gMCkge1xuICAgICAgICByZXN1bHQgPSBhdHRlbXB0UmVwbGFjZVBhdHRlcm5zKHRva2VuLCBbXG4gICAgICAgICAgW1wiYXRcIiwgXCJcIiwgXCJhdGVcIl0sXG4gICAgICAgICAgW1wiYmxcIiwgXCJcIiwgXCJibGVcIl0sXG4gICAgICAgICAgW1wiaXpcIiwgXCJcIiwgXCJpemVcIl1cbiAgICAgICAgXSk7XG5cbiAgICAgICAgaWYgKHJlc3VsdCAhPSB0b2tlbikge1xuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKGVuZHNXaXRoRG91YmxDb25zKHRva2VuKSAmJiB0b2tlbi5tYXRjaCgvW15sc3pdJC8pKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9rZW4ucmVwbGFjZSgvKFteYWVpb3VdKVxcMSQvLCBcIiQxXCIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIG1lYXN1cmUodG9rZW4pID09IDEgJiZcbiAgICAgICAgICAgIGNhdGVnb3JpemVDaGFycyh0b2tlbikuc3Vic3RyKC0zKSA9PSBcIkNWQ1wiICYmXG4gICAgICAgICAgICB0b2tlbi5tYXRjaCgvW153eHldJC8pXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdG9rZW4gKyBcImVcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdG9rZW47XG59XG5cbi8vIHN0ZXAgMWMgYXMgZGVmaW5lZCBmb3IgdGhlIHBvcnRlciBzdGVtbWVyIGFsZ29yaXRobS5cbmZ1bmN0aW9uIHN0ZXAxYyh0b2tlbjogc3RyaW5nKSB7XG4gIGNvbnN0IGNhdGVnb3JpemVkR3JvdXBzID0gY2F0ZWdvcml6ZUdyb3Vwcyh0b2tlbik7XG5cbiAgaWYgKFxuICAgIHRva2VuLnN1YnN0cigtMSkgPT0gXCJ5XCIgJiZcbiAgICBjYXRlZ29yaXplZEdyb3Vwcy5zdWJzdHIoMCwgY2F0ZWdvcml6ZWRHcm91cHMubGVuZ3RoIC0gMSkuaW5kZXhPZihcIlZcIikgPiAtMVxuICApIHtcbiAgICByZXR1cm4gdG9rZW4ucmVwbGFjZSgveSQvLCBcImlcIik7XG4gIH1cblxuICByZXR1cm4gdG9rZW47XG59XG5cbi8vIHN0ZXAgMiBhcyBkZWZpbmVkIGZvciB0aGUgcG9ydGVyIHN0ZW1tZXIgYWxnb3JpdGhtLlxuZnVuY3Rpb24gc3RlcDIodG9rZW46IHN0cmluZykge1xuICB0b2tlbiA9IHJlcGxhY2VQYXR0ZXJucyhcbiAgICB0b2tlbixcbiAgICBbXG4gICAgICBbXCJhdGlvbmFsXCIsIFwiXCIsIFwiYXRlXCJdLFxuICAgICAgW1widGlvbmFsXCIsIFwiXCIsIFwidGlvblwiXSxcbiAgICAgIFtcImVuY2lcIiwgXCJcIiwgXCJlbmNlXCJdLFxuICAgICAgW1wiYW5jaVwiLCBcIlwiLCBcImFuY2VcIl0sXG4gICAgICBbXCJpemVyXCIsIFwiXCIsIFwiaXplXCJdLFxuICAgICAgW1wiYWJsaVwiLCBcIlwiLCBcImFibGVcIl0sXG4gICAgICBbXCJibGlcIiwgXCJcIiwgXCJibGVcIl0sXG4gICAgICBbXCJhbGxpXCIsIFwiXCIsIFwiYWxcIl0sXG4gICAgICBbXCJlbnRsaVwiLCBcIlwiLCBcImVudFwiXSxcbiAgICAgIFtcImVsaVwiLCBcIlwiLCBcImVcIl0sXG4gICAgICBbXCJvdXNsaVwiLCBcIlwiLCBcIm91c1wiXSxcbiAgICAgIFtcIml6YXRpb25cIiwgXCJcIiwgXCJpemVcIl0sXG4gICAgICBbXCJhdGlvblwiLCBcIlwiLCBcImF0ZVwiXSxcbiAgICAgIFtcImF0b3JcIiwgXCJcIiwgXCJhdGVcIl0sXG4gICAgICBbXCJhbGlzbVwiLCBcIlwiLCBcImFsXCJdLFxuICAgICAgW1wiaXZlbmVzc1wiLCBcIlwiLCBcIml2ZVwiXSxcbiAgICAgIFtcImZ1bG5lc3NcIiwgXCJcIiwgXCJmdWxcIl0sXG4gICAgICBbXCJvdXNuZXNzXCIsIFwiXCIsIFwib3VzXCJdLFxuICAgICAgW1wiYWxpdGlcIiwgXCJcIiwgXCJhbFwiXSxcbiAgICAgIFtcIml2aXRpXCIsIFwiXCIsIFwiaXZlXCJdLFxuICAgICAgW1wiYmlsaXRpXCIsIFwiXCIsIFwiYmxlXCJdLFxuICAgICAgW1wibG9naVwiLCBcIlwiLCBcImxvZ1wiXVxuICAgIF0sXG4gICAgMFxuICApO1xuXG4gIHJldHVybiB0b2tlbjtcbn1cblxuLy8gc3RlcCAzIGFzIGRlZmluZWQgZm9yIHRoZSBwb3J0ZXIgc3RlbW1lciBhbGdvcml0aG0uXG5mdW5jdGlvbiBzdGVwMyh0b2tlbjogc3RyaW5nKSB7XG4gIHJldHVybiByZXBsYWNlUGF0dGVybnMoXG4gICAgdG9rZW4sXG4gICAgW1xuICAgICAgW1wiaWNhdGVcIiwgXCJcIiwgXCJpY1wiXSxcbiAgICAgIFtcImF0aXZlXCIsIFwiXCIsIFwiXCJdLFxuICAgICAgW1wiYWxpemVcIiwgXCJcIiwgXCJhbFwiXSxcbiAgICAgIFtcImljaXRpXCIsIFwiXCIsIFwiaWNcIl0sXG4gICAgICBbXCJpY2FsXCIsIFwiXCIsIFwiaWNcIl0sXG4gICAgICBbXCJmdWxcIiwgXCJcIiwgXCJcIl0sXG4gICAgICBbXCJuZXNzXCIsIFwiXCIsIFwiXCJdXG4gICAgXSxcbiAgICAwXG4gICk7XG59XG5cbi8vIHN0ZXAgNCBhcyBkZWZpbmVkIGZvciB0aGUgcG9ydGVyIHN0ZW1tZXIgYWxnb3JpdGhtLlxuZnVuY3Rpb24gc3RlcDQodG9rZW46IHN0cmluZykge1xuICByZXR1cm4gKFxuICAgIHJlcGxhY2VSZWdleChcbiAgICAgIHRva2VuLFxuICAgICAgL14oLis/KShhbHxhbmNlfGVuY2V8ZXJ8aWN8YWJsZXxpYmxlfGFudHxlbWVudHxtZW50fGVudHxvdXxpc218YXRlfGl0aXxvdXN8aXZlfGl6ZSkkLyxcbiAgICAgIFsxXSxcbiAgICAgIDFcbiAgICApIHx8XG4gICAgcmVwbGFjZVJlZ2V4KHRva2VuLCAvXiguKz8pKHN8dCkoaW9uKSQvLCBbMSwgMl0sIDEpIHx8XG4gICAgdG9rZW5cbiAgKTtcbn1cblxuLy8gc3RlcCA1YSBhcyBkZWZpbmVkIGZvciB0aGUgcG9ydGVyIHN0ZW1tZXIgYWxnb3JpdGhtLlxuZnVuY3Rpb24gc3RlcDVhKHRva2VuOiBzdHJpbmcpIHtcbiAgY29uc3QgbSA9IG1lYXN1cmUodG9rZW4ucmVwbGFjZSgvZSQvLCBcIlwiKSk7XG5cbiAgaWYgKFxuICAgIG0gPiAxIHx8XG4gICAgKG0gPT0gMSAmJlxuICAgICAgIShcbiAgICAgICAgY2F0ZWdvcml6ZUNoYXJzKHRva2VuKS5zdWJzdHIoLTQsIDMpID09IFwiQ1ZDXCIgJiYgdG9rZW4ubWF0Y2goL1ted3h5XS4kLylcbiAgICAgICkpXG4gICkge1xuICAgIHRva2VuID0gdG9rZW4ucmVwbGFjZSgvZSQvLCBcIlwiKTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbjtcbn1cblxuLy8gc3RlcCA1YiBhcyBkZWZpbmVkIGZvciB0aGUgcG9ydGVyIHN0ZW1tZXIgYWxnb3JpdGhtLlxuZnVuY3Rpb24gc3RlcDViKHRva2VuOiBzdHJpbmcpIHtcbiAgaWYgKG1lYXN1cmUodG9rZW4pID4gMSkge1xuICAgIHJldHVybiB0b2tlbi5yZXBsYWNlKC9sbCQvLCBcImxcIik7XG4gIH1cblxuICByZXR1cm4gdG9rZW47XG59XG5cbi8vIHBlcmZvcm0gZnVsbCBzdGVtbWluZyBhbGdvcml0aG0gb24gYSBzaW5nbGUgd29yZFxuZXhwb3J0IGNvbnN0IHBvcnRlclN0ZW1GbiA9ICh0b2tlbjogc3RyaW5nKSA9PiB7XG4gIGlmICh0b2tlbi5sZW5ndGggPCAzKSByZXR1cm4gdG9rZW47XG4gIHJldHVybiBzdGVwNWIoXG4gICAgc3RlcDVhKHN0ZXA0KHN0ZXAzKHN0ZXAyKHN0ZXAxYyhzdGVwMWIoc3RlcDFhKHRva2VuLnRvTG93ZXJDYXNlKCkpKSkpKSkpXG4gICkudG9TdHJpbmcoKTtcbn07XG4iLCJleHBvcnQgKiBmcm9tIFwiLi9zdGVtbWVycy9pbmRleFwiO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==
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