Socket
Socket
Sign inDemoInstall

optimal-select

Package Overview
Dependencies
Maintainers
1
Versions
22
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

optimal-select - npm Package Compare versions

Comparing version 2.0.2 to 2.0.3

9

CHANGELOG.md

@@ -0,1 +1,8 @@

## [v2.0.2]
> Mar 07, 2016
- fix splitting of select segments in case attribute values contain spaces
- lookup the `class` attribute instead of the `className` property to support svg elements
## [v2.0.1]

@@ -27,3 +34,3 @@ > Jan 24, 2016

- add '.npmignore'
- add `.npmignore`

@@ -30,0 +37,0 @@

2

lib/index.js

@@ -21,2 +21,2 @@ 'use strict';

exports.default = _select3.default;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBQU8sTUFBTTtRQUNOLFFBQVE7UUFFUixPQUFPIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHNlbGVjdCBmcm9tICcuL3NlbGVjdCdcbmV4cG9ydCBvcHRpbWl6ZSBmcm9tICcuL29wdGltaXplJ1xuXG5leHBvcnQgZGVmYXVsdCBmcm9tICcuL3NlbGVjdCdcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O1FBQU87UUFDQTtRQUVBIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHNlbGVjdCBmcm9tICcuL3NlbGVjdCdcbmV4cG9ydCBvcHRpbWl6ZSBmcm9tICcuL29wdGltaXplJ1xuXG5leHBvcnQgZGVmYXVsdCBmcm9tICcuL3NlbGVjdCdcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==

@@ -90,3 +90,3 @@ 'use strict';

function checkClassChild(element, path, options) {
var className = element.className;
var className = element.getAttribute('class');
if (!className || compareExcludes(className, options.excludes.class)) {

@@ -198,3 +198,3 @@ return false;

function checkClass(element, path, parent, options) {
var className = element.className;
var className = element.getAttribute('class');
if (!className || compareExcludes(className, options.excludes.class)) {

@@ -288,2 +288,2 @@ return false;

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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QUFBO0FBQ3BELE1BQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7QUFDeEIsUUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNyQixXQUFPLElBQUksQ0FBQTtHQUNaO0FBQ0QsU0FBTyxLQUFLLENBQUE7Q0FDYjs7Ozs7Ozs7O0FBQUEsQUFTRCxTQUFTLFVBQVUsQ0FBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtBQUM1QyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFBO0FBQ2pDLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUE7QUFDaEMsT0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUMvQyxRQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUU7QUFDM0IsVUFBSSxDQUFDLE9BQU8sUUFBTSxRQUFRLG9CQUFjLENBQUMsR0FBQyxDQUFDLENBQUEsT0FBSSxDQUFBO0FBQy9DLGFBQU8sSUFBSSxDQUFBO0tBQ1o7R0FDRjtBQUNELFNBQU8sS0FBSyxDQUFBO0NBQ2I7Ozs7Ozs7O0FBQUEsQUFRRCxTQUFTLGVBQWUsQ0FBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0FBQ3pDLE1BQUksQ0FBQyxRQUFRLEVBQUU7QUFDYixXQUFPLEtBQUssQ0FBQTtHQUNiO0FBQ0QsU0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQUMsT0FBTztXQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0dBQUEsQ0FBQyxDQUFBO0NBQ3ZEIiwiZmlsZSI6Im1hdGNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAjIE1hdGNoXG4gKlxuICogUmV0cmlldmVzIHNlbGVjdG9yXG4gKi9cblxuLyoqXG4gKiBHZXQgdGhlIHBhdGggb2YgdGhlIGVsZW1lbnRcbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBub2RlICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7T2JqZWN0fSAgICAgIG9wdGlvbnMgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtTdHJpbmd9ICAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWF0Y2ggKG5vZGUsIG9wdGlvbnMpIHtcbiAgY29uc3QgcGF0aCA9IFtdXG4gIHZhciBlbGVtZW50ID0gbm9kZVxuICB2YXIgbGVuZ3RoID0gcGF0aC5sZW5ndGhcblxuICB3aGlsZSAoZWxlbWVudCAhPT0gZG9jdW1lbnQpIHtcbiAgICAvLyBnbG9iYWxcbiAgICBpZiAoY2hlY2tJZChlbGVtZW50LCBwYXRoLCBvcHRpb25zKSkgYnJlYWtcbiAgICBpZiAoY2hlY2tDbGFzc0dsb2JhbChlbGVtZW50LCBwYXRoLCBvcHRpb25zKSkgYnJlYWtcbiAgICBpZiAoY2hlY2tBdHRyaWJ1dGVHbG9iYWwoZWxlbWVudCwgcGF0aCwgb3B0aW9ucykpIGJyZWFrXG4gICAgaWYgKGNoZWNrVGFnR2xvYmFsKGVsZW1lbnQsIHBhdGgpKSBicmVha1xuXG4gICAgLy8gbG9jYWxcbiAgICBjaGVja0NsYXNzTG9jYWwoZWxlbWVudCwgcGF0aCwgb3B0aW9ucylcblxuICAgIC8vIGRlZmluZSBvbmx5IG9uZSBzZWxlY3RvciBlYWNoIGl0ZXJhdGlvblxuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICBjaGVja0F0dHJpYnV0ZUxvY2FsKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpXG4gICAgfVxuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICBjaGVja1RhZ0xvY2FsKGVsZW1lbnQsIHBhdGgpXG4gICAgfVxuXG4gICAgaWYgKHBhdGgubGVuZ3RoID09PSBsZW5ndGgpIHtcbiAgICAgIGNoZWNrQ2xhc3NDaGlsZChlbGVtZW50LCBwYXRoLCBvcHRpb25zKVxuICAgIH1cbiAgICBpZiAocGF0aC5sZW5ndGggPT09IGxlbmd0aCkge1xuICAgICAgY2hlY2tBdHRyaWJ1dGVDaGlsZChlbGVtZW50LCBwYXRoLCBvcHRpb25zKVxuICAgIH1cbiAgICBpZiAocGF0aC5sZW5ndGggPT09IGxlbmd0aCkge1xuICAgICAgY2hlY2tUYWdDaGlsZChlbGVtZW50LCBwYXRoKVxuICAgIH1cblxuICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGVcbiAgICBsZW5ndGggPSBwYXRoLmxlbmd0aFxuICB9XG5cbiAgaWYgKGVsZW1lbnQgPT09IGRvY3VtZW50KSB7XG4gICAgcGF0aC51bnNoaWZ0KCcqJylcbiAgfVxuXG4gIHJldHVybiBwYXRoLmpvaW4oJyAnKVxufVxuXG5cbi8qKlxuICogW2NoZWNrQ2xhc3NHbG9iYWwgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NHbG9iYWwgKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGNoZWNrQ2xhc3MoZWxlbWVudCwgcGF0aCwgZG9jdW1lbnQsIG9wdGlvbnMpXG59XG5cbi8qKlxuICogW2NoZWNrQ2xhc3NMb2NhbCBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tDbGFzc0xvY2FsIChlbGVtZW50LCBwYXRoLCBvcHRpb25zKSB7XG4gIHJldHVybiBjaGVja0NsYXNzKGVsZW1lbnQsIHBhdGgsIGVsZW1lbnQucGFyZW50Tm9kZSwgb3B0aW9ucylcbn1cblxuLyoqXG4gKiBbY2hlY2tDbGFzc0NoaWxkIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0NsYXNzQ2hpbGQgKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpIHtcbiAgY29uc3QgY2xhc3NOYW1lID0gZWxlbWVudC5jbGFzc05hbWVcbiAgaWYgKCFjbGFzc05hbWUgfHwgY29tcGFyZUV4Y2x1ZGVzKGNsYXNzTmFtZSwgb3B0aW9ucy5leGNsdWRlcy5jbGFzcykpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gY2hlY2tDaGlsZChlbGVtZW50LCBwYXRoLCBgLiR7Y2xhc3NOYW1lLnJlcGxhY2UoLyAvZywgJy4nKX1gKVxufVxuXG4vKipcbiAqIFtjaGVja0F0dHJpYnV0ZUdsb2JhbCBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgICAgb3B0aW9ucyAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0F0dHJpYnV0ZUdsb2JhbCAoZWxlbWVudCwgcGF0aCwgb3B0aW9ucykge1xuICByZXR1cm4gY2hlY2tBdHRyaWJ1dGUoZWxlbWVudCwgcGF0aCwgZG9jdW1lbnQsIG9wdGlvbnMpXG59XG5cbi8qKlxuICogW2NoZWNrQXR0cmlidXRlTG9jYWwgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7T2JqZWN0fSAgICAgIG9wdGlvbnMgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVMb2NhbCAoZWxlbWVudCwgcGF0aCwgb3B0aW9ucykge1xuICByZXR1cm4gY2hlY2tBdHRyaWJ1dGUoZWxlbWVudCwgcGF0aCwgZWxlbWVudC5wYXJlbnROb2RlLCBvcHRpb25zKVxufVxuXG4vKipcbiAqIFtjaGVja0F0dHJpYnV0ZUNoaWxkIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge09iamVjdH0gICAgICBvcHRpb25zIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQXR0cmlidXRlQ2hpbGQgKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpIHtcbiAgY29uc3QgYXR0cmlidXRlcyA9IGVsZW1lbnQuYXR0cmlidXRlc1xuICByZXR1cm4gT2JqZWN0LmtleXMoYXR0cmlidXRlcykuc29tZSgoa2V5KSA9PiB7XG4gICAgY29uc3QgYXR0cmlidXRlID0gYXR0cmlidXRlc1trZXldXG4gICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IGF0dHJpYnV0ZS5uYW1lXG4gICAgY29uc3QgIGF0dHJpYnV0ZVZhbHVlID0gYXR0cmlidXRlLnZhbHVlXG4gICAgLy8gaW5jbHVkZSAnaWQnLCAnY2xhc3MnIGNoZWNrID9cbiAgICAvLyBpZiAoWydpZCcsICdjbGFzcyddLmNvbmNhdChvcHRpb25zLmV4Y2x1ZGVzKS5pbmRleE9mKGF0dHJpYnV0ZU5hbWUpID4gLTEpIHtcbiAgICAvLyAgIHJldHVybiBmYWxzZVxuICAgIC8vIH1cbiAgICBpZiAoY29tcGFyZUV4Y2x1ZGVzKGF0dHJpYnV0ZVZhbHVlLCBvcHRpb25zLmV4Y2x1ZGVzW2F0dHJpYnV0ZU5hbWVdKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGNvbnN0IHBhdHRlcm4gPSBgWyR7YXR0cmlidXRlTmFtZX09XCIke2F0dHJpYnV0ZVZhbHVlfVwiXWBcbiAgICByZXR1cm4gY2hlY2tDaGlsZChlbGVtZW50LCBwYXRoLCBwYXR0ZXJuLCBvcHRpb25zKVxuICB9KVxufVxuXG4vKipcbiAqIFtjaGVja1RhZ0dsb2JhbCBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tUYWdHbG9iYWwgKGVsZW1lbnQsIHBhdGgpIHtcbiAgcmV0dXJuIGNoZWNrVGFnKGVsZW1lbnQsIHBhdGgsIGRvY3VtZW50KVxufVxuXG4vKipcbiAqIFtjaGVja1RhZ0xvY2FsIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja1RhZ0xvY2FsIChlbGVtZW50LCBwYXRoKSB7XG4gIHJldHVybiBjaGVja1RhZyhlbGVtZW50LCBwYXRoLCBlbGVtZW50LnBhcmVudE5vZGUpXG59XG5cbi8qKlxuICogW2NoZWNrVGFiQ2hpbGRyZW4gZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrVGFnQ2hpbGQgKGVsZW1lbnQsIHBhdGgpIHtcbiAgcmV0dXJuIGNoZWNrQ2hpbGQoZWxlbWVudCwgcGF0aCwgZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKCkpXG59XG5cbi8qKlxuICogW2NoZWNrSWQgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrSWQgKGVsZW1lbnQsIHBhdGgpIHtcbiAgY29uc3QgaWQgPSBlbGVtZW50LmlkXG4gIGlmICghaWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICBwYXRoLnVuc2hpZnQoYCMke2lkfWApXG4gIHJldHVybiB0cnVlXG59XG5cbi8qKlxuICogW2NoZWNrQ2xhc3MgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IHBhcmVudCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tDbGFzcyAoZWxlbWVudCwgcGF0aCwgcGFyZW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1lXG4gIGlmICghY2xhc3NOYW1lIHx8IGNvbXBhcmVFeGNsdWRlcyhjbGFzc05hbWUsIG9wdGlvbnMuZXhjbHVkZXMuY2xhc3MpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgbWF0Y2hlcyA9IHBhcmVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKGNsYXNzTmFtZSlcbiAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgcGF0aC51bnNoaWZ0KGAuJHtjbGFzc05hbWUucmVwbGFjZSgvIC9nLCAnLicpfWApXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuLyoqXG4gKiBbY2hlY2tBdHRyaWJ1dGUgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IHBhcmVudCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgICAgb3B0aW9ucyAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0F0dHJpYnV0ZSAoZWxlbWVudCwgcGF0aCwgcGFyZW50LCBvcHRpb25zKSB7XG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSBlbGVtZW50LmF0dHJpYnV0ZXNcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLnNvbWUoKGtleSkgPT4ge1xuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXNba2V5XVxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGUubmFtZVxuICAgIGNvbnN0IGF0dHJpYnV0ZVZhbHVlID0gYXR0cmlidXRlLnZhbHVlXG4gICAgaWYgKGNvbXBhcmVFeGNsdWRlcyhhdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucy5leGNsdWRlc1thdHRyaWJ1dGVOYW1lXSkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBjb25zdCBwYXR0ZXJuID0gYFske2F0dHJpYnV0ZU5hbWV9PVwiJHthdHRyaWJ1dGVWYWx1ZX1cIl1gXG4gICAgY29uc3QgbWF0Y2hlcyA9IHBhcmVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAxKSB7XG4gICAgICBwYXRoLnVuc2hpZnQocGF0dGVybilcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9KVxufVxuXG4vKipcbiAqIFtjaGVja1RhZyBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gcGFyZW50ICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja1RhZyAoZWxlbWVudCwgcGF0aCwgcGFyZW50KSB7XG4gIGNvbnN0IHRhZ05hbWUgPSBlbGVtZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKVxuICBjb25zdCBtYXRjaGVzID0gcGFyZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKHRhZ05hbWUpXG4gIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgIHBhdGgudW5zaGlmdCh0YWdOYW1lKVxuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogW2NoZWNrQ2hpbGQgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAgICAgc2VsZWN0b3IgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ2hpbGQgKGVsZW1lbnQsIHBhdGgsIHNlbGVjdG9yKSB7XG4gIGNvbnN0IHBhcmVudCA9IGVsZW1lbnQucGFyZW50Tm9kZVxuICBjb25zdCBjaGlsZHJlbiA9IHBhcmVudC5jaGlsZHJlblxuICBmb3IgKHZhciBpID0gMCwgbCA9IGNoaWxkcmVuLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIGlmIChjaGlsZHJlbltpXSA9PT0gZWxlbWVudCkge1xuICAgICAgcGF0aC51bnNoaWZ0KGA+ICR7c2VsZWN0b3J9Om50aC1jaGlsZCgke2krMX0pYClcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKipcbiAqIFtjb21wYXJlRXhjbHVkZXMgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAgICAgICAgICAgdmFsdWUgICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtOdWxsfFN0cmluZ3xBcnJheX0gZXhjbHVkZXMgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNvbXBhcmVFeGNsdWRlcyAodmFsdWUsIGV4Y2x1ZGVzKSB7XG4gIGlmICghZXhjbHVkZXMpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICByZXR1cm4gZXhjbHVkZXMuc29tZSgoZXhjbHVkZSkgPT4gZXhjbHVkZS50ZXN0KHZhbHVlKSlcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,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QUFSLENBRDZCO0FBRTVDLE1BQU0sV0FBVyxPQUFPLFFBQVAsQ0FGMkI7QUFHNUMsT0FBSyxJQUFJLElBQUksQ0FBSixFQUFPLElBQUksU0FBUyxNQUFULEVBQWlCLElBQUksQ0FBSixFQUFPLEdBQTVDLEVBQWlEO0FBQy9DLFFBQUksU0FBUyxDQUFULE1BQWdCLE9BQWhCLEVBQXlCO0FBQzNCLFdBQUssT0FBTCxRQUFrQiw0QkFBc0IsSUFBRSxDQUFGLE9BQXhDLEVBRDJCO0FBRTNCLGFBQU8sSUFBUCxDQUYyQjtLQUE3QjtHQURGO0FBTUEsU0FBTyxLQUFQLENBVDRDO0NBQTlDOzs7Ozs7OztBQWtCQSxTQUFTLGVBQVQsQ0FBMEIsS0FBMUIsRUFBaUMsUUFBakMsRUFBMkM7QUFDekMsTUFBSSxDQUFDLFFBQUQsRUFBVztBQUNiLFdBQU8sS0FBUCxDQURhO0dBQWY7QUFHQSxTQUFPLFNBQVMsSUFBVCxDQUFjLFVBQUMsT0FBRDtXQUFhLFFBQVEsSUFBUixDQUFhLEtBQWI7R0FBYixDQUFyQixDQUp5QztDQUEzQyIsImZpbGUiOiJtYXRjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIyBNYXRjaFxuICpcbiAqIFJldHJpZXZlcyBzZWxlY3RvclxuICovXG5cbi8qKlxuICogR2V0IHRoZSBwYXRoIG9mIHRoZSBlbGVtZW50XG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gbm9kZSAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge09iamVjdH0gICAgICBvcHRpb25zIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG1hdGNoIChub2RlLCBvcHRpb25zKSB7XG4gIGNvbnN0IHBhdGggPSBbXVxuICB2YXIgZWxlbWVudCA9IG5vZGVcbiAgdmFyIGxlbmd0aCA9IHBhdGgubGVuZ3RoXG5cbiAgd2hpbGUgKGVsZW1lbnQgIT09IGRvY3VtZW50KSB7XG4gICAgLy8gZ2xvYmFsXG4gICAgaWYgKGNoZWNrSWQoZWxlbWVudCwgcGF0aCwgb3B0aW9ucykpIGJyZWFrXG4gICAgaWYgKGNoZWNrQ2xhc3NHbG9iYWwoZWxlbWVudCwgcGF0aCwgb3B0aW9ucykpIGJyZWFrXG4gICAgaWYgKGNoZWNrQXR0cmlidXRlR2xvYmFsKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpKSBicmVha1xuICAgIGlmIChjaGVja1RhZ0dsb2JhbChlbGVtZW50LCBwYXRoKSkgYnJlYWtcblxuICAgIC8vIGxvY2FsXG4gICAgY2hlY2tDbGFzc0xvY2FsKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpXG5cbiAgICAvLyBkZWZpbmUgb25seSBvbmUgc2VsZWN0b3IgZWFjaCBpdGVyYXRpb25cbiAgICBpZiAocGF0aC5sZW5ndGggPT09IGxlbmd0aCkge1xuICAgICAgY2hlY2tBdHRyaWJ1dGVMb2NhbChlbGVtZW50LCBwYXRoLCBvcHRpb25zKVxuICAgIH1cbiAgICBpZiAocGF0aC5sZW5ndGggPT09IGxlbmd0aCkge1xuICAgICAgY2hlY2tUYWdMb2NhbChlbGVtZW50LCBwYXRoKVxuICAgIH1cblxuICAgIGlmIChwYXRoLmxlbmd0aCA9PT0gbGVuZ3RoKSB7XG4gICAgICBjaGVja0NsYXNzQ2hpbGQoZWxlbWVudCwgcGF0aCwgb3B0aW9ucylcbiAgICB9XG4gICAgaWYgKHBhdGgubGVuZ3RoID09PSBsZW5ndGgpIHtcbiAgICAgIGNoZWNrQXR0cmlidXRlQ2hpbGQoZWxlbWVudCwgcGF0aCwgb3B0aW9ucylcbiAgICB9XG4gICAgaWYgKHBhdGgubGVuZ3RoID09PSBsZW5ndGgpIHtcbiAgICAgIGNoZWNrVGFnQ2hpbGQoZWxlbWVudCwgcGF0aClcbiAgICB9XG5cbiAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlXG4gICAgbGVuZ3RoID0gcGF0aC5sZW5ndGhcbiAgfVxuXG4gIGlmIChlbGVtZW50ID09PSBkb2N1bWVudCkge1xuICAgIHBhdGgudW5zaGlmdCgnKicpXG4gIH1cblxuICByZXR1cm4gcGF0aC5qb2luKCcgJylcbn1cblxuXG4vKipcbiAqIFtjaGVja0NsYXNzR2xvYmFsIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0NsYXNzR2xvYmFsIChlbGVtZW50LCBwYXRoLCBvcHRpb25zKSB7XG4gIHJldHVybiBjaGVja0NsYXNzKGVsZW1lbnQsIHBhdGgsIGRvY3VtZW50LCBvcHRpb25zKVxufVxuXG4vKipcbiAqIFtjaGVja0NsYXNzTG9jYWwgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ2xhc3NMb2NhbCAoZWxlbWVudCwgcGF0aCwgb3B0aW9ucykge1xuICByZXR1cm4gY2hlY2tDbGFzcyhlbGVtZW50LCBwYXRoLCBlbGVtZW50LnBhcmVudE5vZGUsIG9wdGlvbnMpXG59XG5cbi8qKlxuICogW2NoZWNrQ2xhc3NDaGlsZCBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tDbGFzc0NoaWxkIChlbGVtZW50LCBwYXRoLCBvcHRpb25zKSB7XG4gIGNvbnN0IGNsYXNzTmFtZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCdjbGFzcycpXG4gIGlmICghY2xhc3NOYW1lIHx8IGNvbXBhcmVFeGNsdWRlcyhjbGFzc05hbWUsIG9wdGlvbnMuZXhjbHVkZXMuY2xhc3MpKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGNoZWNrQ2hpbGQoZWxlbWVudCwgcGF0aCwgYC4ke2NsYXNzTmFtZS5yZXBsYWNlKC8gL2csICcuJyl9YClcbn1cblxuLyoqXG4gKiBbY2hlY2tBdHRyaWJ1dGVHbG9iYWwgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7T2JqZWN0fSAgICAgIG9wdGlvbnMgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGVHbG9iYWwgKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGNoZWNrQXR0cmlidXRlKGVsZW1lbnQsIHBhdGgsIGRvY3VtZW50LCBvcHRpb25zKVxufVxuXG4vKipcbiAqIFtjaGVja0F0dHJpYnV0ZUxvY2FsIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge09iamVjdH0gICAgICBvcHRpb25zIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQXR0cmlidXRlTG9jYWwgKGVsZW1lbnQsIHBhdGgsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGNoZWNrQXR0cmlidXRlKGVsZW1lbnQsIHBhdGgsIGVsZW1lbnQucGFyZW50Tm9kZSwgb3B0aW9ucylcbn1cblxuLyoqXG4gKiBbY2hlY2tBdHRyaWJ1dGVDaGlsZCBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgICAgb3B0aW9ucyAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0F0dHJpYnV0ZUNoaWxkIChlbGVtZW50LCBwYXRoLCBvcHRpb25zKSB7XG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSBlbGVtZW50LmF0dHJpYnV0ZXNcbiAgcmV0dXJuIE9iamVjdC5rZXlzKGF0dHJpYnV0ZXMpLnNvbWUoKGtleSkgPT4ge1xuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXNba2V5XVxuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBhdHRyaWJ1dGUubmFtZVxuICAgIGNvbnN0ICBhdHRyaWJ1dGVWYWx1ZSA9IGF0dHJpYnV0ZS52YWx1ZVxuICAgIC8vIGluY2x1ZGUgJ2lkJywgJ2NsYXNzJyBjaGVjayA/XG4gICAgLy8gaWYgKFsnaWQnLCAnY2xhc3MnXS5jb25jYXQob3B0aW9ucy5leGNsdWRlcykuaW5kZXhPZihhdHRyaWJ1dGVOYW1lKSA+IC0xKSB7XG4gICAgLy8gICByZXR1cm4gZmFsc2VcbiAgICAvLyB9XG4gICAgaWYgKGNvbXBhcmVFeGNsdWRlcyhhdHRyaWJ1dGVWYWx1ZSwgb3B0aW9ucy5leGNsdWRlc1thdHRyaWJ1dGVOYW1lXSkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICBjb25zdCBwYXR0ZXJuID0gYFske2F0dHJpYnV0ZU5hbWV9PVwiJHthdHRyaWJ1dGVWYWx1ZX1cIl1gXG4gICAgcmV0dXJuIGNoZWNrQ2hpbGQoZWxlbWVudCwgcGF0aCwgcGF0dGVybiwgb3B0aW9ucylcbiAgfSlcbn1cblxuLyoqXG4gKiBbY2hlY2tUYWdHbG9iYWwgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrVGFnR2xvYmFsIChlbGVtZW50LCBwYXRoKSB7XG4gIHJldHVybiBjaGVja1RhZyhlbGVtZW50LCBwYXRoLCBkb2N1bWVudClcbn1cblxuLyoqXG4gKiBbY2hlY2tUYWdMb2NhbCBkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50IC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tUYWdMb2NhbCAoZWxlbWVudCwgcGF0aCkge1xuICByZXR1cm4gY2hlY2tUYWcoZWxlbWVudCwgcGF0aCwgZWxlbWVudC5wYXJlbnROb2RlKVxufVxuXG4vKipcbiAqIFtjaGVja1RhYkNoaWxkcmVuIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja1RhZ0NoaWxkIChlbGVtZW50LCBwYXRoKSB7XG4gIHJldHVybiBjaGVja0NoaWxkKGVsZW1lbnQsIHBhdGgsIGVsZW1lbnQudGFnTmFtZS50b0xvd2VyQ2FzZSgpKVxufVxuXG4vKipcbiAqIFtjaGVja0lkIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge0Jvb2xlYW59ICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0lkIChlbGVtZW50LCBwYXRoKSB7XG4gIGNvbnN0IGlkID0gZWxlbWVudC5pZFxuICBpZiAoIWlkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcGF0aC51bnNoaWZ0KGAjJHtpZH1gKVxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIFtjaGVja0NsYXNzIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBwYXJlbnQgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIGNoZWNrQ2xhc3MgKGVsZW1lbnQsIHBhdGgsIHBhcmVudCwgb3B0aW9ucykge1xuICBjb25zdCBjbGFzc05hbWUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZSgnY2xhc3MnKVxuICBpZiAoIWNsYXNzTmFtZSB8fCBjb21wYXJlRXhjbHVkZXMoY2xhc3NOYW1lLCBvcHRpb25zLmV4Y2x1ZGVzLmNsYXNzKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGNvbnN0IG1hdGNoZXMgPSBwYXJlbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05hbWUpXG4gIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgIHBhdGgudW5zaGlmdChgLiR7Y2xhc3NOYW1lLnJlcGxhY2UoLyAvZywgJy4nKX1gKVxuICAgIHJldHVybiB0cnVlXG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKlxuICogW2NoZWNrQXR0cmlidXRlIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtBcnJheX0gICAgICAgcGF0aCAgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBwYXJlbnQgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7T2JqZWN0fSAgICAgIG9wdGlvbnMgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tBdHRyaWJ1dGUgKGVsZW1lbnQsIHBhdGgsIHBhcmVudCwgb3B0aW9ucykge1xuICBjb25zdCBhdHRyaWJ1dGVzID0gZWxlbWVudC5hdHRyaWJ1dGVzXG4gIHJldHVybiBPYmplY3Qua2V5cyhhdHRyaWJ1dGVzKS5zb21lKChrZXkpID0+IHtcbiAgICBjb25zdCBhdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzW2tleV1cbiAgICBjb25zdCBhdHRyaWJ1dGVOYW1lID0gYXR0cmlidXRlLm5hbWVcbiAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IGF0dHJpYnV0ZS52YWx1ZVxuICAgIGlmIChjb21wYXJlRXhjbHVkZXMoYXR0cmlidXRlVmFsdWUsIG9wdGlvbnMuZXhjbHVkZXNbYXR0cmlidXRlTmFtZV0pKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgY29uc3QgcGF0dGVybiA9IGBbJHthdHRyaWJ1dGVOYW1lfT1cIiR7YXR0cmlidXRlVmFsdWV9XCJdYFxuICAgIGNvbnN0IG1hdGNoZXMgPSBwYXJlbnQucXVlcnlTZWxlY3RvckFsbChwYXR0ZXJuKVxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgcGF0aC51bnNoaWZ0KHBhdHRlcm4pXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfSlcbn1cblxuLyoqXG4gKiBbY2hlY2tUYWcgZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0FycmF5fSAgICAgICBwYXRoICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IHBhcmVudCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtCb29sZWFufSAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gY2hlY2tUYWcgKGVsZW1lbnQsIHBhdGgsIHBhcmVudCkge1xuICBjb25zdCB0YWdOYW1lID0gZWxlbWVudC50YWdOYW1lLnRvTG93ZXJDYXNlKClcbiAgY29uc3QgbWF0Y2hlcyA9IHBhcmVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSh0YWdOYW1lKVxuICBpZiAobWF0Y2hlcy5sZW5ndGggPT09IDEpIHtcbiAgICBwYXRoLnVuc2hpZnQodGFnTmFtZSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG4vKipcbiAqIFtjaGVja0NoaWxkIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7QXJyYXl9ICAgICAgIHBhdGggICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7U3RyaW5nfSAgICAgIHNlbGVjdG9yIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjaGVja0NoaWxkIChlbGVtZW50LCBwYXRoLCBzZWxlY3Rvcikge1xuICBjb25zdCBwYXJlbnQgPSBlbGVtZW50LnBhcmVudE5vZGVcbiAgY29uc3QgY2hpbGRyZW4gPSBwYXJlbnQuY2hpbGRyZW5cbiAgZm9yICh2YXIgaSA9IDAsIGwgPSBjaGlsZHJlbi5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBpZiAoY2hpbGRyZW5baV0gPT09IGVsZW1lbnQpIHtcbiAgICAgIHBhdGgudW5zaGlmdChgPiAke3NlbGVjdG9yfTpudGgtY2hpbGQoJHtpKzF9KWApXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuLyoqXG4gKiBbY29tcGFyZUV4Y2x1ZGVzIGRlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7U3RyaW5nfSAgICAgICAgICAgIHZhbHVlICAgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7TnVsbHxTdHJpbmd8QXJyYXl9IGV4Y2x1ZGVzIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7Qm9vbGVhbn0gICAgICAgICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5mdW5jdGlvbiBjb21wYXJlRXhjbHVkZXMgKHZhbHVlLCBleGNsdWRlcykge1xuICBpZiAoIWV4Y2x1ZGVzKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgcmV0dXJuIGV4Y2x1ZGVzLnNvbWUoKGV4Y2x1ZGUpID0+IGV4Y2x1ZGUudGVzdCh2YWx1ZSkpXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=

@@ -11,3 +11,3 @@ 'use strict';

* 1.) Improve efficiency through shorter selectors by removing redundancy
* 2.) Improve robustness through selector tranformation
* 2.) Improve robustness through selector transformation
*/

@@ -22,4 +22,6 @@

function optimize(selector, element) {
var path = selector.replace(/> /g, '>').split(' ');
// chunk parts outside of quotes (http://stackoverflow.com/a/25663729)
var path = selector.replace(/> /g, '>').split(/\s+(?=(?:(?:[^"]*"){2})*[^"]*$)/);
if (path.length < 3) {

@@ -124,12 +126,12 @@ return selector;

if (current && current.match(/\./g).length > 2) {
var references = document.querySelectorAll('' + prePart + current);
for (var i = 0, l = references.length; i < l; i++) {
if (references[i].contains(element)) {
var _references = document.querySelectorAll('' + prePart + current);
for (var i = 0, l = _references.length; i < l; i++) {
if (_references[i].contains(element)) {
// TODO:
// - check using attributes + regard excludes
var description = references[i].tagName.toLowerCase();
var pattern = '' + prePart + description + postPart;
var _description = _references[i].tagName.toLowerCase();
var pattern = '' + prePart + _description + postPart;
var matches = document.querySelectorAll(pattern);
if (matches.length === 1 && matches[0] === element) {
current = description;
current = _description;
}

@@ -145,2 +147,2 @@ break;

module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,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T0FBTyxDQUFDLENBQUE7QUFDaEQsVUFBSSxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssT0FBTyxFQUFFO0FBQ2xELGVBQU8sR0FBRyxPQUFPLENBQUE7T0FDbEI7S0FDRjs7QUFBQSxBQUVELFFBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtBQUM5QyxVQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLE1BQUksT0FBTyxHQUFHLE9BQU8sQ0FBRyxDQUFBO0FBQ3BFLFdBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDakQsWUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFOzs7QUFHbkMsY0FBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQTtBQUN2RCxjQUFJLE9BQU8sUUFBTSxPQUFPLEdBQUcsV0FBVyxHQUFHLFFBQVEsQUFBRSxDQUFBO0FBQ25ELGNBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNoRCxjQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLEVBQUU7QUFDbEQsbUJBQU8sR0FBRyxXQUFXLENBQUE7V0FDdEI7QUFDRCxnQkFBSztTQUNOO09BQ0Y7S0FDRjtHQUNGOztBQUVELFNBQU8sT0FBTyxDQUFBO0NBQ2YiLCJmaWxlIjoib3B0aW1pemUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICMgT3B0aW1pemVcbiAqXG4gKiAxLikgSW1wcm92ZSBlZmZpY2llbmN5IHRocm91Z2ggc2hvcnRlciBzZWxlY3RvcnMgYnkgcmVtb3ZpbmcgcmVkdW5kYW5jeVxuICogMi4pIEltcHJvdmUgcm9idXN0bmVzcyB0aHJvdWdoIHNlbGVjdG9yIHRyYW5mb3JtYXRpb25cbiAqL1xuXG4vKipcbiAqIEFwcGx5IGRpZmZlcmVudCBvcHRpbWl6YXRpb24gdGVjaG5pcXVlc1xuICogQHBhcmFtICB7U3RyaW5nfSAgICAgIHNlbGVjdG9yIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBvcHRpbWl6ZSAoc2VsZWN0b3IsIGVsZW1lbnQpIHtcbiAgdmFyIHBhdGggPSBzZWxlY3Rvci5yZXBsYWNlKC8+IC9nLCAnPicpLnNwbGl0KCcgJylcblxuICBpZiAocGF0aC5sZW5ndGggPCAzKSB7XG4gICAgcmV0dXJuIHNlbGVjdG9yXG4gIH1cblxuICBjb25zdCBzaG9ydGVuZWQgPSBbcGF0aC5wb3AoKV1cbiAgd2hpbGUgKHBhdGgubGVuZ3RoID4gMSkgIHtcbiAgICBjb25zdCBjdXJyZW50ID0gcGF0aC5wb3AoKVxuICAgIGNvbnN0IHByZVBhcnQgPSBwYXRoLmpvaW4oJyAnKVxuICAgIGNvbnN0IHBvc3RQYXJ0ID0gc2hvcnRlbmVkLmpvaW4oJyAnKVxuXG4gICAgY29uc3QgcGF0dGVybiA9IGAke3ByZVBhcnR9ICR7cG9zdFBhcnR9YFxuICAgIGNvbnN0IG1hdGNoZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgaWYgKG1hdGNoZXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICBzaG9ydGVuZWQudW5zaGlmdChvcHRpbWl6ZVBhcnQocHJlUGFydCwgY3VycmVudCwgcG9zdFBhcnQsIGVsZW1lbnQpKVxuICAgIH1cbiAgfVxuICBzaG9ydGVuZWQudW5zaGlmdChwYXRoWzBdKVxuICBwYXRoID0gc2hvcnRlbmVkXG5cbiAgLy8gb3B0aW1pemUgc3RhcnQgKyBlbmRcbiAgcGF0aFswXSA9IG9wdGltaXplUGFydCgnJywgcGF0aFswXSwgcGF0aC5zbGljZSgxKS5qb2luKCcgJyksIGVsZW1lbnQpXG4gIHBhdGhbcGF0aC5sZW5ndGgtMV0gPSBvcHRpbWl6ZVBhcnQocGF0aC5zbGljZSgwLCAtMSkuam9pbignICcpLCBwYXRoW3BhdGgubGVuZ3RoLTFdLCAnJywgZWxlbWVudClcblxuICByZXR1cm4gcGF0aC5qb2luKCcgJykucmVwbGFjZSgvPi9nLCAnPiAnKS50cmltKClcbn1cblxuLyoqXG4gKiBJbXByb3ZlIGEgY2h1bmsgb2YgdGhlIHNlbGVjdG9yXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAgICAgcHJlUGFydCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAgICAgY3VycmVudCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtTdHJpbmd9ICAgICAgcG9zdFBhcnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtTdHJpbmd9ICAgICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmZ1bmN0aW9uIG9wdGltaXplUGFydCAocHJlUGFydCwgY3VycmVudCwgcG9zdFBhcnQsIGVsZW1lbnQpIHtcbiAgaWYgKHByZVBhcnQubGVuZ3RoKSBwcmVQYXJ0ID0gYCR7cHJlUGFydH0gYFxuICBpZiAocG9zdFBhcnQubGVuZ3RoKSBwb3N0UGFydCA9IGAgJHtwb3N0UGFydH1gXG5cbiAgLy8gcm9idXN0bmVzczogYXR0cmlidXRlIHdpdGhvdXQgdmFsdWUgKGdlbmVyYWxpemF0aW9uKVxuICBpZiAoL1xcWypcXF0vLnRlc3QoY3VycmVudCkpIHtcbiAgICBjb25zdCBrZXkgPSBjdXJyZW50LnJlcGxhY2UoLz0uKiQvLCAnXScpXG4gICAgdmFyIHBhdHRlcm4gPSBgJHtwcmVQYXJ0fSR7a2V5fSR7cG9zdFBhcnR9YFxuICAgIHZhciBtYXRjaGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChwYXR0ZXJuKVxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSAmJiBtYXRjaGVzWzBdID09PSBlbGVtZW50KSB7XG4gICAgICBjdXJyZW50ID0ga2V5XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHJvYnVzdG5lc3M6IHJlcGxhY2Ugc3BlY2lmaWMga2V5LXZhbHVlIHdpdGggdGFnIChoZXVyaXN0aWMpXG4gICAgICBjb25zdCByZWZlcmVuY2VzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgJHtwcmVQYXJ0fSR7a2V5fWApXG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHJlZmVyZW5jZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChyZWZlcmVuY2VzW2ldLmNvbnRhaW5zKGVsZW1lbnQpKSB7XG4gICAgICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSByZWZlcmVuY2VzW2ldLnRhZ05hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIHZhciBwYXR0ZXJuID0gYCR7cHJlUGFydH0ke2Rlc2NyaXB0aW9ufSR7cG9zdFBhcnR9YFxuICAgICAgICAgIHZhciBtYXRjaGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChwYXR0ZXJuKVxuICAgICAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSAmJiBtYXRjaGVzWzBdID09PSBlbGVtZW50KSB7XG4gICAgICAgICAgICBjdXJyZW50ID0gZGVzY3JpcHRpb25cbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHJvYnVzdG5lc3M6IGRlc2NlbmRhbnQgaW5zdGVhZCBjaGlsZCAoaGV1cmlzdGljKVxuICBpZiAoLz4vLnRlc3QoY3VycmVudCkpIHtcbiAgICBjb25zdCBkZXNjZW5kYW50ID0gY3VycmVudC5yZXBsYWNlKC8+LywgJycpXG4gICAgdmFyIHBhdHRlcm4gPSBgJHtwcmVQYXJ0fSR7ZGVzY2VuZGFudH0ke3Bvc3RQYXJ0fWBcbiAgICB2YXIgbWF0Y2hlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocGF0dGVybilcbiAgICBpZiAobWF0Y2hlcy5sZW5ndGggPT09IDEgJiYgbWF0Y2hlc1swXSA9PT0gZWxlbWVudCkge1xuICAgICAgY3VycmVudCA9IGRlc2NlbmRhbnRcbiAgICB9XG4gIH1cblxuICAvLyByb2J1c3RuZXNzOiAnbnRoLW9mLXR5cGUnIGluc3RlYWQgJ250aC1jaGlsZCcgKGhldXJpc3RpYylcbiAgaWYgKC9cXDpudGgtY2hpbGQvLnRlc3QoY3VycmVudCkpIHtcbiAgICBjb25zdCB0eXBlID0gY3VycmVudC5yZXBsYWNlKC9udGgtY2hpbGQvZywgJ250aC1vZi10eXBlJylcbiAgICB2YXIgcGF0dGVybiA9IGAke3ByZVBhcnR9JHt0eXBlfSR7cG9zdFBhcnR9YFxuICAgIHZhciBtYXRjaGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChwYXR0ZXJuKVxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSAmJiBtYXRjaGVzWzBdID09PSBlbGVtZW50KSB7XG4gICAgICBjdXJyZW50ID0gdHlwZVxuICAgIH1cbiAgfVxuXG4gIC8vIGVmZmljaWVuY3k6IGNvbWJpbmF0aW9ucyBvZiBjbGFzc25hbWUgKHBhcnRpYWwgcGVybXV0YXRpb25zKVxuICBpZiAoL1xcLlxcUytcXC5cXFMrLy50ZXN0KGN1cnJlbnQpKSB7XG4gICAgY29uc3QgbmFtZXMgPSBjdXJyZW50LnRyaW0oKS5zcGxpdCgnLicpLnNsaWNlKDEpLm1hcCgobmFtZSkgPT4gYC4ke25hbWV9YClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLnNvcnQoKGN1cnIsIG5leHQpID0+IGN1cnIubGVuZ3RoIC0gbmV4dC5sZW5ndGgpXG4gICAgd2hpbGUgKG5hbWVzLmxlbmd0aCkge1xuICAgICAgdmFyIHBhcnRpYWwgPSBjdXJyZW50LnJlcGxhY2UobmFtZXMuc2hpZnQoKSwgJycpXG4gICAgICB2YXIgcGF0dGVybiA9IGAke3ByZVBhcnR9JHtwYXJ0aWFsfSR7cG9zdFBhcnR9YFxuICAgICAgdmFyIG1hdGNoZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPT09IDEgJiYgbWF0Y2hlc1swXSA9PT0gZWxlbWVudCkge1xuICAgICAgICBjdXJyZW50ID0gcGFydGlhbFxuICAgICAgfVxuICAgIH1cbiAgICAvLyByb2J1c3RuZXNzOiBkZWdyYWRlIGNvbXBsZXggY2xhc3NuYW1lIChoZXVyaXN0aWMpXG4gICAgaWYgKGN1cnJlbnQgJiYgY3VycmVudC5tYXRjaCgvXFwuL2cpLmxlbmd0aCA+IDIpIHtcbiAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGAke3ByZVBhcnR9JHtjdXJyZW50fWApXG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHJlZmVyZW5jZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGlmIChyZWZlcmVuY2VzW2ldLmNvbnRhaW5zKGVsZW1lbnQpKSB7XG4gICAgICAgICAgLy8gVE9ETzpcbiAgICAgICAgICAvLyAtIGNoZWNrIHVzaW5nIGF0dHJpYnV0ZXMgKyByZWdhcmQgZXhjbHVkZXNcbiAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHJlZmVyZW5jZXNbaV0udGFnTmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdmFyIHBhdHRlcm4gPSBgJHtwcmVQYXJ0fSR7ZGVzY3JpcHRpb259JHtwb3N0UGFydH1gXG4gICAgICAgICAgdmFyIG1hdGNoZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAxICYmIG1hdGNoZXNbMF0gPT09IGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBkZXNjcmlwdGlvblxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGN1cnJlbnRcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,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QjtBQUtuQyxjQUFJLFVBQVUsU0FBUyxnQkFBVCxDQUEwQixPQUExQixDQUFWLENBTCtCO0FBTW5DLGNBQUksUUFBUSxNQUFSLEtBQW1CLENBQW5CLElBQXdCLFFBQVEsQ0FBUixNQUFlLE9BQWYsRUFBd0I7QUFDbEQsc0JBQVUsWUFBVixDQURrRDtXQUFwRDtBQUdBLGdCQVRtQztTQUFyQztPQURGO0tBRkY7R0FaRjs7QUE4QkEsU0FBTyxPQUFQLENBL0UwRDtDQUE1RCIsImZpbGUiOiJvcHRpbWl6ZS5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIyBPcHRpbWl6ZVxuICpcbiAqIDEuKSBJbXByb3ZlIGVmZmljaWVuY3kgdGhyb3VnaCBzaG9ydGVyIHNlbGVjdG9ycyBieSByZW1vdmluZyByZWR1bmRhbmN5XG4gKiAyLikgSW1wcm92ZSByb2J1c3RuZXNzIHRocm91Z2ggc2VsZWN0b3IgdHJhbnNmb3JtYXRpb25cbiAqL1xuXG4vKipcbiAqIEFwcGx5IGRpZmZlcmVudCBvcHRpbWl6YXRpb24gdGVjaG5pcXVlc1xuICogQHBhcmFtICB7U3RyaW5nfSAgICAgIHNlbGVjdG9yIC0gW2Rlc2NyaXB0aW9uXVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBvcHRpbWl6ZSAoc2VsZWN0b3IsIGVsZW1lbnQpIHtcblxuICAvLyBjaHVuayBwYXJ0cyBvdXRzaWRlIG9mIHF1b3RlcyAoaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjU2NjM3MjkpXG4gIHZhciBwYXRoID0gc2VsZWN0b3IucmVwbGFjZSgvPiAvZywgJz4nKS5zcGxpdCgvXFxzKyg/PSg/Oig/OlteXCJdKlwiKXsyfSkqW15cIl0qJCkvKVxuXG4gIGlmIChwYXRoLmxlbmd0aCA8IDMpIHtcbiAgICByZXR1cm4gc2VsZWN0b3JcbiAgfVxuXG4gIGNvbnN0IHNob3J0ZW5lZCA9IFtwYXRoLnBvcCgpXVxuICB3aGlsZSAocGF0aC5sZW5ndGggPiAxKSAge1xuICAgIGNvbnN0IGN1cnJlbnQgPSBwYXRoLnBvcCgpXG4gICAgY29uc3QgcHJlUGFydCA9IHBhdGguam9pbignICcpXG4gICAgY29uc3QgcG9zdFBhcnQgPSBzaG9ydGVuZWQuam9pbignICcpXG5cbiAgICBjb25zdCBwYXR0ZXJuID0gYCR7cHJlUGFydH0gJHtwb3N0UGFydH1gXG4gICAgY29uc3QgbWF0Y2hlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocGF0dGVybilcbiAgICBpZiAobWF0Y2hlcy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHNob3J0ZW5lZC51bnNoaWZ0KG9wdGltaXplUGFydChwcmVQYXJ0LCBjdXJyZW50LCBwb3N0UGFydCwgZWxlbWVudCkpXG4gICAgfVxuICB9XG4gIHNob3J0ZW5lZC51bnNoaWZ0KHBhdGhbMF0pXG4gIHBhdGggPSBzaG9ydGVuZWRcblxuICAvLyBvcHRpbWl6ZSBzdGFydCArIGVuZFxuICBwYXRoWzBdID0gb3B0aW1pemVQYXJ0KCcnLCBwYXRoWzBdLCBwYXRoLnNsaWNlKDEpLmpvaW4oJyAnKSwgZWxlbWVudClcbiAgcGF0aFtwYXRoLmxlbmd0aC0xXSA9IG9wdGltaXplUGFydChwYXRoLnNsaWNlKDAsIC0xKS5qb2luKCcgJyksIHBhdGhbcGF0aC5sZW5ndGgtMV0sICcnLCBlbGVtZW50KVxuXG4gIHJldHVybiBwYXRoLmpvaW4oJyAnKS5yZXBsYWNlKC8+L2csICc+ICcpLnRyaW0oKVxufVxuXG4vKipcbiAqIEltcHJvdmUgYSBjaHVuayBvZiB0aGUgc2VsZWN0b3JcbiAqIEBwYXJhbSAge1N0cmluZ30gICAgICBwcmVQYXJ0ICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge1N0cmluZ30gICAgICBjdXJyZW50ICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge1N0cmluZ30gICAgICBwb3N0UGFydCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge0hUTUxFbGVtZW50fSBlbGVtZW50ICAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge1N0cmluZ30gICAgICAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZnVuY3Rpb24gb3B0aW1pemVQYXJ0IChwcmVQYXJ0LCBjdXJyZW50LCBwb3N0UGFydCwgZWxlbWVudCkge1xuICBpZiAocHJlUGFydC5sZW5ndGgpIHByZVBhcnQgPSBgJHtwcmVQYXJ0fSBgXG4gIGlmIChwb3N0UGFydC5sZW5ndGgpIHBvc3RQYXJ0ID0gYCAke3Bvc3RQYXJ0fWBcblxuICAvLyByb2J1c3RuZXNzOiBhdHRyaWJ1dGUgd2l0aG91dCB2YWx1ZSAoZ2VuZXJhbGl6YXRpb24pXG4gIGlmICgvXFxbKlxcXS8udGVzdChjdXJyZW50KSkge1xuICAgIGNvbnN0IGtleSA9IGN1cnJlbnQucmVwbGFjZSgvPS4qJC8sICddJylcbiAgICB2YXIgcGF0dGVybiA9IGAke3ByZVBhcnR9JHtrZXl9JHtwb3N0UGFydH1gXG4gICAgdmFyIG1hdGNoZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAxICYmIG1hdGNoZXNbMF0gPT09IGVsZW1lbnQpIHtcbiAgICAgIGN1cnJlbnQgPSBrZXlcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gcm9idXN0bmVzczogcmVwbGFjZSBzcGVjaWZpYyBrZXktdmFsdWUgd2l0aCB0YWcgKGhldXJpc3RpYylcbiAgICAgIGNvbnN0IHJlZmVyZW5jZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKGAke3ByZVBhcnR9JHtrZXl9YClcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gcmVmZXJlbmNlcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKHJlZmVyZW5jZXNbaV0uY29udGFpbnMoZWxlbWVudCkpIHtcbiAgICAgICAgICBjb25zdCBkZXNjcmlwdGlvbiA9IHJlZmVyZW5jZXNbaV0udGFnTmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgdmFyIHBhdHRlcm4gPSBgJHtwcmVQYXJ0fSR7ZGVzY3JpcHRpb259JHtwb3N0UGFydH1gXG4gICAgICAgICAgdmFyIG1hdGNoZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgICAgICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAxICYmIG1hdGNoZXNbMF0gPT09IGVsZW1lbnQpIHtcbiAgICAgICAgICAgIGN1cnJlbnQgPSBkZXNjcmlwdGlvblxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gcm9idXN0bmVzczogZGVzY2VuZGFudCBpbnN0ZWFkIGNoaWxkIChoZXVyaXN0aWMpXG4gIGlmICgvPi8udGVzdChjdXJyZW50KSkge1xuICAgIGNvbnN0IGRlc2NlbmRhbnQgPSBjdXJyZW50LnJlcGxhY2UoLz4vLCAnJylcbiAgICB2YXIgcGF0dGVybiA9IGAke3ByZVBhcnR9JHtkZXNjZW5kYW50fSR7cG9zdFBhcnR9YFxuICAgIHZhciBtYXRjaGVzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChwYXR0ZXJuKVxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSAmJiBtYXRjaGVzWzBdID09PSBlbGVtZW50KSB7XG4gICAgICBjdXJyZW50ID0gZGVzY2VuZGFudFxuICAgIH1cbiAgfVxuXG4gIC8vIHJvYnVzdG5lc3M6ICdudGgtb2YtdHlwZScgaW5zdGVhZCAnbnRoLWNoaWxkJyAoaGV1cmlzdGljKVxuICBpZiAoL1xcOm50aC1jaGlsZC8udGVzdChjdXJyZW50KSkge1xuICAgIGNvbnN0IHR5cGUgPSBjdXJyZW50LnJlcGxhY2UoL250aC1jaGlsZC9nLCAnbnRoLW9mLXR5cGUnKVxuICAgIHZhciBwYXR0ZXJuID0gYCR7cHJlUGFydH0ke3R5cGV9JHtwb3N0UGFydH1gXG4gICAgdmFyIG1hdGNoZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHBhdHRlcm4pXG4gICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAxICYmIG1hdGNoZXNbMF0gPT09IGVsZW1lbnQpIHtcbiAgICAgIGN1cnJlbnQgPSB0eXBlXG4gICAgfVxuICB9XG5cbiAgLy8gZWZmaWNpZW5jeTogY29tYmluYXRpb25zIG9mIGNsYXNzbmFtZSAocGFydGlhbCBwZXJtdXRhdGlvbnMpXG4gIGlmICgvXFwuXFxTK1xcLlxcUysvLnRlc3QoY3VycmVudCkpIHtcbiAgICBjb25zdCBuYW1lcyA9IGN1cnJlbnQudHJpbSgpLnNwbGl0KCcuJykuc2xpY2UoMSkubWFwKChuYW1lKSA9PiBgLiR7bmFtZX1gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc29ydCgoY3VyciwgbmV4dCkgPT4gY3Vyci5sZW5ndGggLSBuZXh0Lmxlbmd0aClcbiAgICB3aGlsZSAobmFtZXMubGVuZ3RoKSB7XG4gICAgICB2YXIgcGFydGlhbCA9IGN1cnJlbnQucmVwbGFjZShuYW1lcy5zaGlmdCgpLCAnJylcbiAgICAgIHZhciBwYXR0ZXJuID0gYCR7cHJlUGFydH0ke3BhcnRpYWx9JHtwb3N0UGFydH1gXG4gICAgICB2YXIgbWF0Y2hlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocGF0dGVybilcbiAgICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMSAmJiBtYXRjaGVzWzBdID09PSBlbGVtZW50KSB7XG4gICAgICAgIGN1cnJlbnQgPSBwYXJ0aWFsXG4gICAgICB9XG4gICAgfVxuICAgIC8vIHJvYnVzdG5lc3M6IGRlZ3JhZGUgY29tcGxleCBjbGFzc25hbWUgKGhldXJpc3RpYylcbiAgICBpZiAoY3VycmVudCAmJiBjdXJyZW50Lm1hdGNoKC9cXC4vZykubGVuZ3RoID4gMikge1xuICAgICAgY29uc3QgcmVmZXJlbmNlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYCR7cHJlUGFydH0ke2N1cnJlbnR9YClcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gcmVmZXJlbmNlcy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICAgICAgaWYgKHJlZmVyZW5jZXNbaV0uY29udGFpbnMoZWxlbWVudCkpIHtcbiAgICAgICAgICAvLyBUT0RPOlxuICAgICAgICAgIC8vIC0gY2hlY2sgdXNpbmcgYXR0cmlidXRlcyArIHJlZ2FyZCBleGNsdWRlc1xuICAgICAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gcmVmZXJlbmNlc1tpXS50YWdOYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICB2YXIgcGF0dGVybiA9IGAke3ByZVBhcnR9JHtkZXNjcmlwdGlvbn0ke3Bvc3RQYXJ0fWBcbiAgICAgICAgICB2YXIgbWF0Y2hlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwocGF0dGVybilcbiAgICAgICAgICBpZiAobWF0Y2hlcy5sZW5ndGggPT09IDEgJiYgbWF0Y2hlc1swXSA9PT0gZWxlbWVudCkge1xuICAgICAgICAgICAgY3VycmVudCA9IGRlc2NyaXB0aW9uXG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gY3VycmVudFxufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**

@@ -10,5 +14,2 @@ * # Select

Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = getQuerySelector;

@@ -83,3 +84,3 @@ exports.getSingleSelector = getSingleSelector;

// optimized:${optimized}
// `);
// `)

@@ -153,2 +154,2 @@ return optimized;

}
//# sourceMappingURL=data:application/json;base64,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LGFBQWEsRUFBRTtBQUNqQixXQUFVLFFBQVEsV0FBTSxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUU7R0FDdEQ7QUFDRCxTQUFVLFFBQVEsVUFBTTtDQUN6QiIsImZpbGUiOiJzZWxlY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICMgU2VsZWN0XG4gKlxuICogQ29uc3RydWN0IGEgdW5pcXVlIENTUyBxdWVyeXNlbGVjdG9yIHRvIGFjY2VzcyB0aGUgc2VsZWN0ZWQgRE9NIGVsZW1lbnQocykuXG4gKiBBcHBsaWVzIGRpZmZlcmVudCBtYXRjaGluZyBhbmQgb3B0aW1pemF0aW9uIHN0cmF0ZWdpZXMgZm9yIGVmZmljaWVuY3kuXG4gKi9cblxuaW1wb3J0IG1hdGNoIGZyb20gJy4vbWF0Y2gnXG5pbXBvcnQgb3B0aW1pemUgZnJvbSAnLi9vcHRpbWl6ZSdcblxuY29uc3QgZGVmYXVsdE9wdGlvbnMgPSB7XG4gIGV4Y2x1ZGVzOiB7XG4gICAgJ3N0eWxlJzogJy4qJyxcbiAgICAnZGF0YS1yZWFjdGlkJzogJy4qJyxcbiAgICAnZGF0YS1yZWFjdC1jaGVja3N1bSc6ICcuKidcbiAgfVxufVxuXG4vKipcbiAqIENob29zZSBhY3Rpb24gZGVwZW5kaW5nIG9uIHRoZSBpbnB1dCAoc2luZ2xlL211bHRpKVxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR8QXJyYXl9IGlucHV0ICAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgICAgICAgICAgb3B0aW9ucyAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge1N0cmluZ30gICAgICAgICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRRdWVyeVNlbGVjdG9yIChpbnB1dCwgb3B0aW9ucyA9IHt9KSB7XG4gIG9wdGlvbnMgPSB7IC4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH1cbiAgT2JqZWN0LmtleXMob3B0aW9ucy5leGNsdWRlcykuZm9yRWFjaCgoYXR0cmlidXRlKSA9PiB7XG4gICAgdmFyIHBhdHRlcm5zID0gb3B0aW9ucy5leGNsdWRlc1thdHRyaWJ1dGVdXG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHBhdHRlcm5zKSkge1xuICAgICAgcGF0dGVybnMgPSBbcGF0dGVybnNdXG4gICAgfVxuICAgIG9wdGlvbnMuZXhjbHVkZXNbYXR0cmlidXRlXSA9IHBhdHRlcm5zLm1hcCgocGF0dGVybikgPT4gbmV3IFJlZ0V4cChwYXR0ZXJuKSlcbiAgfSlcbiAgaWYgKEFycmF5LmlzQXJyYXkoaW5wdXQpKSB7XG4gICAgcmV0dXJuIGdldE11bHRpU2VsZWN0b3IoaW5wdXQsIG9wdGlvbnMpXG4gIH1cbiAgcmV0dXJuIGdldFNpbmdsZVNlbGVjdG9yKGlucHV0LCBvcHRpb25zKVxufVxuXG4vKipcbiAqIEdldCBhIHNlbGVjdG9yIGZvciB0aGUgcHJvdmlkZWQgZWxlbWVudFxuICogQHBhcmFtICB7SFRNTEVsZW1lbnR9IGVsZW1lbnQgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtPYmplY3R9ICAgICAgb3B0aW9ucyAtIFtkZXNjcmlwdGlvbl1cbiAqIEByZXR1cm4ge1N0cmluZ30gICAgICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2luZ2xlU2VsZWN0b3IgKGVsZW1lbnQsIG9wdGlvbnMpIHtcblxuICBpZiAoZWxlbWVudC5ub2RlVHlwZSA9PT0gMykge1xuICAgIHJldHVybiBnZXRRdWVyeVNlbGVjdG9yKGVsZW1lbnQucGFyZW50Tm9kZSlcbiAgfVxuICBpZiAoZWxlbWVudC5ub2RlVHlwZSAhPT0gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dCEnKVxuICB9XG5cbiAgY29uc3Qgc2VsZWN0b3IgPSBtYXRjaChlbGVtZW50LCBvcHRpb25zKVxuICBjb25zdCBvcHRpbWl6ZWQgPSBvcHRpbWl6ZShzZWxlY3RvciwgZWxlbWVudClcblxuICAvLyBkZWJ1Z1xuICAvLyBjb25zb2xlLmxvZyhgXG4gIC8vICAgc2VsZWN0b3I6ICR7c2VsZWN0b3J9XG4gIC8vICAgb3B0aW1pemVkOiR7b3B0aW1pemVkfVxuICAvLyBgKTtcblxuICByZXR1cm4gb3B0aW1pemVkXG59XG5cbi8qKlxuICogR2V0IGEgc2VsZWN0b3IgdG8gbWF0Y2ggbXVsdGlwbGUgY2hpbGRyZW4gZnJvbSBhIHBhcmVudFxuICogQHBhcmFtICB7QXJyYXl9ICBlbGVtZW50cyAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9ucyAgLSBbZGVzY3JpcHRpb25dXG4gKiBAcmV0dXJuIHtTdHJpbmd9ICAgICAgICAgIC0gW2Rlc2NyaXB0aW9uXVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TXVsdGlTZWxlY3RvciAoZWxlbWVudHMsIG9wdGlvbnMpIHtcbiAgdmFyIGNvbW1vblBhcmVudE5vZGUgPSBudWxsXG4gIHZhciBjb21tb25DbGFzc05hbWUgPSBudWxsXG4gIHZhciBjb21tb25BdHRyaWJ1dGUgPSBudWxsXG4gIHZhciBjb21tb25UYWdOYW1lID0gbnVsbFxuXG4gIGZvciAodmFyIGkgPSAwLCBsID0gZWxlbWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgdmFyIGVsZW1lbnQgPSBlbGVtZW50c1tpXVxuICAgIGlmICghY29tbW9uUGFyZW50Tm9kZSkgeyAvLyAxc3QgZW50cnlcbiAgICAgIGNvbW1vblBhcmVudE5vZGUgPSBlbGVtZW50LnBhcmVudE5vZGVcbiAgICAgIGNvbW1vbkNsYXNzTmFtZSA9IGVsZW1lbnQuY2xhc3NOYW1lXG4gICAgICAvLyBjb21tb25BdHRyaWJ1dGUgPSBlbGVtZW50LmF0dHJpYnV0ZXNcbiAgICAgIGNvbW1vblRhZ05hbWUgPSBlbGVtZW50LnRhZ05hbWVcbiAgICB9IGVsc2UgaWYgKGNvbW1vblBhcmVudE5vZGUgIT09IGVsZW1lbnQucGFyZW50Tm9kZSkge1xuICAgICAgcmV0dXJuIGNvbnNvbGUubG9nKCdDYW5cXCd0IGJlIGVmZmljaWVudGx5IG1hcHBlZC4gSXQgcHJvYmFibHkgYmVzdCB0byB1c2UgbXVsdGlwbGUgc2luZ2xlIHNlbGVjdG9ycyBpbnN0ZWFkIScpXG4gICAgfVxuICAgIGlmIChlbGVtZW50LmNsYXNzTmFtZSAhPT0gY29tbW9uQ2xhc3NOYW1lKSB7XG4gICAgICB2YXIgY2xhc3NOYW1lcyA9IFtdXG4gICAgICB2YXIgbG9uZ2VyLCBzaG9ydGVyXG4gICAgICBpZiAoZWxlbWVudC5jbGFzc05hbWUubGVuZ3RoID4gY29tbW9uQ2xhc3NOYW1lLmxlbmd0aCkge1xuICAgICAgICBsb25nZXIgPSBlbGVtZW50LmNsYXNzTmFtZVxuICAgICAgICBzaG9ydGVyID0gY29tbW9uQ2xhc3NOYW1lXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb25nZXIgPSBjb21tb25DbGFzc05hbWVcbiAgICAgICAgc2hvcnRlciA9IGVsZW1lbnQuY2xhc3NOYW1lXG4gICAgICB9XG4gICAgICBzaG9ydGVyLnNwbGl0KCcgJykuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgICBpZiAobG9uZ2VyLmluZGV4T2YobmFtZSkgPiAtMSkge1xuICAgICAgICAgIGNsYXNzTmFtZXMucHVzaChuYW1lKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICAgY29tbW9uQ2xhc3NOYW1lID0gY2xhc3NOYW1lcy5qb2luKCcgJylcbiAgICB9XG4gICAgLy8gVE9ETzpcbiAgICAvLyAtIGNoZWNrIGF0dHJpYnV0ZXNcbiAgICAvLyBpZiAoZWxlbWVudC5hdHRyaWJ1dGVzICE9PSBjb21tb25BdHRyaWJ1dGUpIHtcbiAgICAvL1xuICAgIC8vIH1cbiAgICBpZiAoZWxlbWVudC50YWdOYW1lICE9PSBjb21tb25UYWdOYW1lKSB7XG4gICAgICBjb21tb25UYWdOYW1lID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IHNlbGVjdG9yID0gZ2V0U2luZ2xlU2VsZWN0b3IoY29tbW9uUGFyZW50Tm9kZSlcbiAgY29uc29sZS5sb2coc2VsZWN0b3IsIGNvbW1vbkNsYXNzTmFtZSwgY29tbW9uQXR0cmlidXRlLCBjb21tb25UYWdOYW1lKVxuXG4gIGlmIChjb21tb25DbGFzc05hbWUpIHtcbiAgICByZXR1cm4gYCR7c2VsZWN0b3J9ID4gLiR7Y29tbW9uQ2xhc3NOYW1lLnJlcGxhY2UoLyAvZywgJy4nKX1gXG4gIH1cbiAgLy8gaWYgKGNvbW1vbkF0dHJpYnV0ZSkge1xuICAvL1xuICAvLyB9XG4gIGlmIChjb21tb25UYWdOYW1lKSB7XG4gICAgcmV0dXJuIGAke3NlbGVjdG9yfSA+ICR7Y29tbW9uVGFnTmFtZS50b0xvd2VyQ2FzZSgpfWBcbiAgfVxuICByZXR1cm4gYCR7c2VsZWN0b3J9ID4gKmBcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ==
//# sourceMappingURL=data:application/json;base64,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QVYsQ0FGcUQ7T0FBdkQsTUFHTztBQUNMLGlCQUFTLGVBQVQsQ0FESztBQUVMLGtCQUFVLFFBQVEsU0FBUixDQUZMO09BSFA7QUFPQSxjQUFRLEtBQVIsQ0FBYyxHQUFkLEVBQW1CLE9BQW5CLENBQTJCLFVBQUMsSUFBRCxFQUFVO0FBQ25DLFlBQUksT0FBTyxPQUFQLENBQWUsSUFBZixJQUF1QixDQUFDLENBQUQsRUFBSTtBQUM3QixxQkFBVyxJQUFYLENBQWdCLElBQWhCLEVBRDZCO1NBQS9CO09BRHlCLENBQTNCLENBVnlDO0FBZXpDLHdCQUFrQixXQUFXLElBQVgsQ0FBZ0IsR0FBaEIsQ0FBbEIsQ0FmeUM7S0FBM0M7Ozs7OztBQVYrQyxRQWdDM0MsUUFBUSxPQUFSLEtBQW9CLGFBQXBCLEVBQW1DO0FBQ3JDLHNCQUFnQixJQUFoQixDQURxQztLQUF2QztHQWhDRjs7QUFxQ0EsTUFBTSxXQUFXLGtCQUFrQixnQkFBbEIsQ0FBWCxDQTNDNkM7QUE0Q25ELFVBQVEsR0FBUixDQUFZLFFBQVosRUFBc0IsZUFBdEIsRUFBdUMsZUFBdkMsRUFBd0QsYUFBeEQsRUE1Q21EOztBQThDbkQsTUFBSSxlQUFKLEVBQXFCO0FBQ25CLFdBQVUsb0JBQWUsZ0JBQWdCLE9BQWhCLENBQXdCLElBQXhCLEVBQThCLEdBQTlCLENBQXpCLENBRG1CO0dBQXJCOzs7O0FBOUNtRCxNQW9EL0MsYUFBSixFQUFtQjtBQUNqQixXQUFVLG1CQUFjLGNBQWMsV0FBZCxFQUF4QixDQURpQjtHQUFuQjtBQUdBLFNBQVUsaUJBQVYsQ0F2RG1EO0NBQTlDIiwiZmlsZSI6InNlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIyBTZWxlY3RcbiAqXG4gKiBDb25zdHJ1Y3QgYSB1bmlxdWUgQ1NTIHF1ZXJ5c2VsZWN0b3IgdG8gYWNjZXNzIHRoZSBzZWxlY3RlZCBET00gZWxlbWVudChzKS5cbiAqIEFwcGxpZXMgZGlmZmVyZW50IG1hdGNoaW5nIGFuZCBvcHRpbWl6YXRpb24gc3RyYXRlZ2llcyBmb3IgZWZmaWNpZW5jeS5cbiAqL1xuXG5pbXBvcnQgbWF0Y2ggZnJvbSAnLi9tYXRjaCdcbmltcG9ydCBvcHRpbWl6ZSBmcm9tICcuL29wdGltaXplJ1xuXG5jb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgZXhjbHVkZXM6IHtcbiAgICAnc3R5bGUnOiAnLionLFxuICAgICdkYXRhLXJlYWN0aWQnOiAnLionLFxuICAgICdkYXRhLXJlYWN0LWNoZWNrc3VtJzogJy4qJ1xuICB9XG59XG5cbi8qKlxuICogQ2hvb3NlIGFjdGlvbiBkZXBlbmRpbmcgb24gdGhlIGlucHV0IChzaW5nbGUvbXVsdGkpXG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudHxBcnJheX0gaW5wdXQgICAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge09iamVjdH0gICAgICAgICAgICBvcHRpb25zIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFF1ZXJ5U2VsZWN0b3IgKGlucHV0LCBvcHRpb25zID0ge30pIHtcbiAgb3B0aW9ucyA9IHsgLi4uZGVmYXVsdE9wdGlvbnMsIC4uLm9wdGlvbnMgfVxuICBPYmplY3Qua2V5cyhvcHRpb25zLmV4Y2x1ZGVzKS5mb3JFYWNoKChhdHRyaWJ1dGUpID0+IHtcbiAgICB2YXIgcGF0dGVybnMgPSBvcHRpb25zLmV4Y2x1ZGVzW2F0dHJpYnV0ZV1cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkocGF0dGVybnMpKSB7XG4gICAgICBwYXR0ZXJucyA9IFtwYXR0ZXJuc11cbiAgICB9XG4gICAgb3B0aW9ucy5leGNsdWRlc1thdHRyaWJ1dGVdID0gcGF0dGVybnMubWFwKChwYXR0ZXJuKSA9PiBuZXcgUmVnRXhwKHBhdHRlcm4pKVxuICB9KVxuICBpZiAoQXJyYXkuaXNBcnJheShpbnB1dCkpIHtcbiAgICByZXR1cm4gZ2V0TXVsdGlTZWxlY3RvcihpbnB1dCwgb3B0aW9ucylcbiAgfVxuICByZXR1cm4gZ2V0U2luZ2xlU2VsZWN0b3IoaW5wdXQsIG9wdGlvbnMpXG59XG5cbi8qKlxuICogR2V0IGEgc2VsZWN0b3IgZm9yIHRoZSBwcm92aWRlZCBlbGVtZW50XG4gKiBAcGFyYW0gIHtIVE1MRWxlbWVudH0gZWxlbWVudCAtIFtkZXNjcmlwdGlvbl1cbiAqIEBwYXJhbSAge09iamVjdH0gICAgICBvcHRpb25zIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgICAgICAgLSBbZGVzY3JpcHRpb25dXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaW5nbGVTZWxlY3RvciAoZWxlbWVudCwgb3B0aW9ucykge1xuXG4gIGlmIChlbGVtZW50Lm5vZGVUeXBlID09PSAzKSB7XG4gICAgcmV0dXJuIGdldFF1ZXJ5U2VsZWN0b3IoZWxlbWVudC5wYXJlbnROb2RlKVxuICB9XG4gIGlmIChlbGVtZW50Lm5vZGVUeXBlICE9PSAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0IScpXG4gIH1cblxuICBjb25zdCBzZWxlY3RvciA9IG1hdGNoKGVsZW1lbnQsIG9wdGlvbnMpXG4gIGNvbnN0IG9wdGltaXplZCA9IG9wdGltaXplKHNlbGVjdG9yLCBlbGVtZW50KVxuXG4gIC8vIGRlYnVnXG4gIC8vIGNvbnNvbGUubG9nKGBcbiAgLy8gICBzZWxlY3RvcjogJHtzZWxlY3Rvcn1cbiAgLy8gICBvcHRpbWl6ZWQ6JHtvcHRpbWl6ZWR9XG4gIC8vIGApXG5cbiAgcmV0dXJuIG9wdGltaXplZFxufVxuXG4vKipcbiAqIEdldCBhIHNlbGVjdG9yIHRvIG1hdGNoIG11bHRpcGxlIGNoaWxkcmVuIGZyb20gYSBwYXJlbnRcbiAqIEBwYXJhbSAge0FycmF5fSAgZWxlbWVudHMgLSBbZGVzY3JpcHRpb25dXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnMgIC0gW2Rlc2NyaXB0aW9uXVxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgICAtIFtkZXNjcmlwdGlvbl1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldE11bHRpU2VsZWN0b3IgKGVsZW1lbnRzLCBvcHRpb25zKSB7XG4gIHZhciBjb21tb25QYXJlbnROb2RlID0gbnVsbFxuICB2YXIgY29tbW9uQ2xhc3NOYW1lID0gbnVsbFxuICB2YXIgY29tbW9uQXR0cmlidXRlID0gbnVsbFxuICB2YXIgY29tbW9uVGFnTmFtZSA9IG51bGxcblxuICBmb3IgKHZhciBpID0gMCwgbCA9IGVsZW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgIHZhciBlbGVtZW50ID0gZWxlbWVudHNbaV1cbiAgICBpZiAoIWNvbW1vblBhcmVudE5vZGUpIHsgLy8gMXN0IGVudHJ5XG4gICAgICBjb21tb25QYXJlbnROb2RlID0gZWxlbWVudC5wYXJlbnROb2RlXG4gICAgICBjb21tb25DbGFzc05hbWUgPSBlbGVtZW50LmNsYXNzTmFtZVxuICAgICAgLy8gY29tbW9uQXR0cmlidXRlID0gZWxlbWVudC5hdHRyaWJ1dGVzXG4gICAgICBjb21tb25UYWdOYW1lID0gZWxlbWVudC50YWdOYW1lXG4gICAgfSBlbHNlIGlmIChjb21tb25QYXJlbnROb2RlICE9PSBlbGVtZW50LnBhcmVudE5vZGUpIHtcbiAgICAgIHJldHVybiBjb25zb2xlLmxvZygnQ2FuXFwndCBiZSBlZmZpY2llbnRseSBtYXBwZWQuIEl0IHByb2JhYmx5IGJlc3QgdG8gdXNlIG11bHRpcGxlIHNpbmdsZSBzZWxlY3RvcnMgaW5zdGVhZCEnKVxuICAgIH1cbiAgICBpZiAoZWxlbWVudC5jbGFzc05hbWUgIT09IGNvbW1vbkNsYXNzTmFtZSkge1xuICAgICAgdmFyIGNsYXNzTmFtZXMgPSBbXVxuICAgICAgdmFyIGxvbmdlciwgc2hvcnRlclxuICAgICAgaWYgKGVsZW1lbnQuY2xhc3NOYW1lLmxlbmd0aCA+IGNvbW1vbkNsYXNzTmFtZS5sZW5ndGgpIHtcbiAgICAgICAgbG9uZ2VyID0gZWxlbWVudC5jbGFzc05hbWVcbiAgICAgICAgc2hvcnRlciA9IGNvbW1vbkNsYXNzTmFtZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9uZ2VyID0gY29tbW9uQ2xhc3NOYW1lXG4gICAgICAgIHNob3J0ZXIgPSBlbGVtZW50LmNsYXNzTmFtZVxuICAgICAgfVxuICAgICAgc2hvcnRlci5zcGxpdCgnICcpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgaWYgKGxvbmdlci5pbmRleE9mKG5hbWUpID4gLTEpIHtcbiAgICAgICAgICBjbGFzc05hbWVzLnB1c2gobmFtZSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIGNvbW1vbkNsYXNzTmFtZSA9IGNsYXNzTmFtZXMuam9pbignICcpXG4gICAgfVxuICAgIC8vIFRPRE86XG4gICAgLy8gLSBjaGVjayBhdHRyaWJ1dGVzXG4gICAgLy8gaWYgKGVsZW1lbnQuYXR0cmlidXRlcyAhPT0gY29tbW9uQXR0cmlidXRlKSB7XG4gICAgLy9cbiAgICAvLyB9XG4gICAgaWYgKGVsZW1lbnQudGFnTmFtZSAhPT0gY29tbW9uVGFnTmFtZSkge1xuICAgICAgY29tbW9uVGFnTmFtZSA9IG51bGxcbiAgICB9XG4gIH1cblxuICBjb25zdCBzZWxlY3RvciA9IGdldFNpbmdsZVNlbGVjdG9yKGNvbW1vblBhcmVudE5vZGUpXG4gIGNvbnNvbGUubG9nKHNlbGVjdG9yLCBjb21tb25DbGFzc05hbWUsIGNvbW1vbkF0dHJpYnV0ZSwgY29tbW9uVGFnTmFtZSlcblxuICBpZiAoY29tbW9uQ2xhc3NOYW1lKSB7XG4gICAgcmV0dXJuIGAke3NlbGVjdG9yfSA+IC4ke2NvbW1vbkNsYXNzTmFtZS5yZXBsYWNlKC8gL2csICcuJyl9YFxuICB9XG4gIC8vIGlmIChjb21tb25BdHRyaWJ1dGUpIHtcbiAgLy9cbiAgLy8gfVxuICBpZiAoY29tbW9uVGFnTmFtZSkge1xuICAgIHJldHVybiBgJHtzZWxlY3Rvcn0gPiAke2NvbW1vblRhZ05hbWUudG9Mb3dlckNhc2UoKX1gXG4gIH1cbiAgcmV0dXJuIGAke3NlbGVjdG9yfSA+ICpgXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0=
{
"name": "optimal-select",
"description": "Get efficient & robust CSS selectors for HTML elements",
"version": "2.0.2",
"version": "2.0.3",
"author": "Stefan Dühring | Autarc <autarc@gmail.com>",

@@ -10,17 +10,17 @@ "bugs": {

"devDependencies": {
"babel-loader": "^6.2.1",
"babel-loader": "^6.2.4",
"babel-plugin-add-module-exports": "^0.1.2",
"babel-preset-es2015": "^6.3.13",
"babel-preset-stage-0": "^6.3.13",
"babel-register": "^6.4.3",
"babel-preset-es2015": "^6.6.0",
"babel-preset-stage-0": "^6.5.0",
"babel-register": "^6.6.5",
"deep-merge": "^1.0.0",
"fs-extra": "^0.26.4",
"gulp": "^3.9.0",
"gulp-babel": "^6.1.1",
"fs-extra": "^0.26.5",
"gulp": "^3.9.1",
"gulp-babel": "^6.1.2",
"gulp-load-plugins": "^1.2.0",
"gulp-plumber": "^1.0.1",
"gulp-plumber": "^1.1.0",
"gulp-sourcemaps": "^1.6.0",
"gulp-util": "^3.0.7",
"gulp-watch": "^4.3.5",
"webpack": "^1.12.11"
"webpack": "^1.12.14"
},

@@ -27,0 +27,0 @@ "homepage": "https://github.com/Autarc/optimal-select",

@@ -50,2 +50,3 @@ [![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

- check attributes for complex classname
- fix ["#3 - Match line breaking attribute values"](https://github.com/Autarc/optimal-select/issues/3)

@@ -52,0 +53,0 @@ ### Development

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