@interactjs/modifiers
Advanced tools
Comparing version 1.4.9 to 1.4.10
@@ -336,2 +336,2 @@ import extend from '@interactjs/utils/extend'; | ||
export { makeModifier, }; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUF3QzdDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTSxFQUNKLFlBQVksR0FDYixHQUFHLEtBQUssQ0FBQTtJQUVULEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDdkMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFFcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUc7WUFDdEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUNyRCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztZQUNuQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3JELEtBQUssQ0FBQyxHQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdkUsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMvQyxJQUFJLENBQUMsR0FBbUMsQ0FBQyxD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QUNwQixPQUFPO0lBQ1AsUUFBUTtJQUNSLE1BQU07SUFDTixhQUFhO0lBQ2IsS0FBSztJQUNMLFVBQVU7SUFDVixTQUFTO0lBQ1QsSUFBSTtJQUNKLFFBQVE7SUFDUixlQUFlO0lBQ2YsYUFBYTtJQUNiLFlBQVk7Q0FDTSxDQUFBO0FBRXBCLE9BQU8sRUFDTCxZQUFZLEdBQ2IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjb3BlIH0gZnJvbSAnQGludGVyYWN0anMvY29yZS9zY29wZSdcbmltcG9ydCBleHRlbmQgZnJvbSAnQGludGVyYWN0anMvdXRpbHMvZXh0ZW5kJ1xuXG5kZWNsYXJlIG1vZHVsZSAnQGludGVyYWN0anMvY29yZS9zY29wZScge1xuICBpbnRlcmZhY2UgU2NvcGUge1xuICAgIG1vZGlmaWVycz86IGFueVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL0ludGVyYWN0aW9uJyB7XG4gIGludGVyZmFjZSBJbnRlcmFjdGlvbiB7XG4gICAgbW9kaWZpZXJzPzoge1xuICAgICAgc3RhdGVzOiBhbnlbXVxuICAgICAgb2Zmc2V0czogYW55XG4gICAgICBzdGFydE9mZnNldDogYW55XG4gICAgICBzdGFydERlbHRhOiBJbnRlcmFjdC5Qb2ludFxuICAgICAgcmVzdWx0Pzoge1xuICAgICAgICBkZWx0YToge1xuICAgICAgICAgIHg6IG51bWJlclxuICAgICAgICAgIHk6IG51bWJlclxuICAgICAgICB9XG4gICAgICAgIHJlY3REZWx0YToge1xuICAgICAgICAgIGxlZnQ6IG51bWJlclxuICAgICAgICAgIHJpZ2h0OiBudW1iZXJcbiAgICAgICAgICB0b3A6IG51bWJlclxuICAgICAgICAgIGJvdHRvbTogbnVtYmVyXG4gICAgICAgIH1cbiAgICAgICAgY29vcmRzOiBJbnRlcmFjdC5Qb2ludFxuICAgICAgICBjaGFuZ2VkOiBib29sZWFuXG4gICAgICB9LFxuICAgICAgZW5kUHJldmVudGVkOiBib29sZWFuXG4gICAgfVxuICB9XG59XG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL2RlZmF1bHRPcHRpb25zJyB7XG4gIGludGVyZmFjZSBQZXJBY3Rpb25EZWZhdWx0cyB7XG4gICAgbW9kaWZpZXJzPzogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgbWFrZU1vZGlmaWVyPj5cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YWxsIChzY29wZTogU2NvcGUpIHtcbiAgY29uc3Qge1xuICAgIGludGVyYWN0aW9ucyxcbiAgfSA9IHNjb3BlXG5cbiAgc2NvcGUuZGVmYXVsdHMucGVyQWN0aW9uLm1vZGlmaWVycyA9IFtdXG4gIHNjb3BlLm1vZGlmaWVycyA9IHt9XG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ25ldycsICh7IGludGVyYWN0aW9uIH0pID0+IHtcbiAgICBpbnRlcmFjdGlvbi5tb2RpZmllcnMgPSB7XG4gICAgICBzdGFydE9mZnNldDogeyBsZWZ0OiAwLCByaWdodDogMCwgdG9wOiAwLCBib3R0b206IDAgfSxcbiAgICAgIG9mZnNldHM6IHt9LFxuICAgICAgc3RhdGVzOiBudWxsLFxuICAgICAgcmVzdWx0OiBudWxsLFxuICAgICAgZW5kUHJldmVudGVkOiBmYWxzZSxcbiAgICAgIHN0YXJ0RGVsdGE6IG51bGwsXG4gICAgfVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLXN0YXJ0JywgKGFyZykgPT4ge1xuICAgIHN0YXJ0KGFyZyBhcyBhbnksIGFyZy5pbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSwgc2NvcGUubW9kaWZpZXJzKVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhY3Rpb24tcmVzdW1lJywgKGFyZykgPT4ge1xuICAgIHN0b3AoYXJnIGFzIFJlcXVpcmVkPEludGVyYWN0LlNpZ25hbEFyZz4pXG4gICAgc3RhcnQoYXJnIGFzIFJlcXVpcmVkPEludGVyYWN0LlNpZ25hbEFyZz4sIGFyZy5pbnRlcmFjdGlvbi5jb29yZHMuY3VyLnBhZ2UsIHNjb3BlLm1vZGlmaWVycylcbiAgICBiZWZvcmVNb3ZlKGFyZyBhcyBSZXF1aXJlZDxJbnRlcmFjdC5TaWduYWxBcmc+KVxuICB9KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdhZnRlci1hY3Rpb24tbW92ZScsIHJlc3RvcmVDb29yZHMgYXMgYW55KVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYmVmb3JlLWFjdGlvbi1tb3ZlJywgYmVmb3JlTW92ZSlcblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYmVmb3JlLWFjdGlvbi1zdGFydCcsIHNldENvb3JkcylcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2FmdGVyLWFjdGlvbi1zdGFydCcsIHJlc3RvcmVDb29yZHMgYXMgYW55KVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLWVuZCcsIGJlZm9yZUVuZClcbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ3N0b3AnLCBzdG9wKVxufVxuXG5mdW5jdGlvbiBzdGFydCAoXG4gIHsgaW50ZXJhY3Rpb24sIHBoYXNlIH06IEludGVyYWN0LlNpZ25hbEFyZyxcbiAgcGFnZUNvb3JkczogSW50ZXJhY3QuUG9pbnQsXG4gIHJlZ2lzdGVyZWRNb2RpZmllcnMsXG4pIHtcbiAgY29uc3QgeyBpbnRlcmFjdGFibGUsIGVsZW1lbnQgfSA9IGludGVyYWN0aW9uXG4gIGNvbnN0IG1vZGlmaWVyTGlzdCA9IGdldE1vZGlmaWVyTGlzdChpbnRlcmFjdGlvbiwgcmVnaXN0ZXJlZE1vZGlmaWVycylcbiAgY29uc3Qgc3RhdGVzID0gcHJlcGFyZVN0YXRlcyhtb2RpZmllckxpc3QpXG5cbiAgY29uc3QgcmVjdCA9IGV4dGVuZCh7fSwgaW50ZXJhY3Rpb24ucmVjdClcblxuICBpZiAoISgnd2lkdGgnICBpbiByZWN0KSkgeyByZWN0LndpZHRoICA9IHJlY3QucmlnaHQgIC0gcmVjdC5sZWZ0IH1cbiAgaWYgKCEoJ2hlaWdodCcgaW4gcmVjdCkpIHsgcmVjdC5oZWlnaHQgPSByZWN0LmJvdHRvbSAtIHJlY3QudG9wICB9XG5cbiAgY29uc3Qgc3RhcnRPZmZzZXQgPSBnZXRSZWN0T2Zmc2V0KHJlY3QsIHBhZ2VDb29yZHMpXG5cbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXJ0T2Zmc2V0ID0gc3RhcnRPZmZzZXRcbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXJ0RGVsdGEgPSB7IHg6IDAsIHk6IDAgfVxuXG4gIGNvbnN0IGFyZzogUGFydGlhbDxJbnRlcmFjdC5TaWduYWxBcmc+ID0ge1xuICAgIGludGVyYWN0aW9uLFxuICAgIGludGVyYWN0YWJsZSxcbiAgICBlbGVtZW50LFxuICAgIHBhZ2VDb29yZHMsXG4gICAgcGhhc2UsXG4gICAgcmVjdCxcbiAgICBzdGFydE9mZnNldCxcbiAgICBzdGF0ZXMsXG4gICAgcHJlRW5kOiBmYWxzZSxcbiAgICByZXF1aXJlRW5kT25seTogZmFsc2UsXG4gIH1cblxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzID0gc3RhdGVzXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBudWxsXG4gIHN0YXJ0QWxsKGFyZylcblxuICBhcmcucGFnZUNvb3JkcyA9IGV4dGVuZCh7fSwgaW50ZXJhY3Rpb24uY29vcmRzLnN0YXJ0LnBhZ2UpXG5cbiAgY29uc3QgcmVzdWx0ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdCA9IHNldEFsbChhcmcpXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRBbGwgKGFyZykge1xuICBmb3IgKGNvbnN0IHN0YXRlIG9mIGFyZy5zdGF0ZXMpIHtcbiAgICBpZiAoc3RhdGUubWV0aG9kcy5zdGFydCkge1xuICAgICAgYXJnLnN0YXRlID0gc3RhdGVcbiAgICAgIHN0YXRlLm1ldGhvZHMuc3RhcnQoYXJnKVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QWxsIChhcmc6IFBhcnRpYWw8SW50ZXJhY3QuU2lnbmFsQXJnPikge1xuICBjb25zdCB7XG4gICAgaW50ZXJhY3Rpb24sXG4gICAgbW9kaWZpZXJzU3RhdGUgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMsXG4gICAgcHJldkNvb3JkcyA9IG1vZGlmaWVyc1N0YXRlLnJlc3VsdFxuICAgICAgPyBtb2RpZmllcnNTdGF0ZS5yZXN1bHQuY29vcmRzXG4gICAgICA6IGludGVyYWN0aW9uLmNvb3Jkcy5wcmV2LnBhZ2UsXG4gICAgcGhhc2UsXG4gICAgcHJlRW5kLFxuICAgIHJlcXVpcmVFbmRPbmx5LFxuICAgIHJlY3QsXG4gICAgc2tpcE1vZGlmaWVycyxcbiAgfSA9IGFyZ1xuXG4gIGNvbnN0IHN0YXRlcyA9IHNraXBNb2RpZmllcnNcbiAgICA/IGFyZy5zdGF0ZXMuc2xpY2Uoc2tpcE1vZGlmaWVycylcbiAgICA6IGFyZy5zdGF0ZXNcblxuICBhcmcuY29vcmRzID0gZXh0ZW5kKHt9LCBhcmcucGFnZUNvb3JkcylcbiAgYXJnLnJlY3QgPSBleHRlbmQoe30sIHJlY3QpXG5cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIGRlbHRhOiB7IHg6IDAsIHk6IDAgfSxcbiAgICByZWN0RGVsdGE6IHtcbiAgICAgIGxlZnQgIDogMCxcbiAgICAgIHJpZ2h0IDogMCxcbiAgICAgIHRvcCAgIDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9LFxuICAgIGNvb3JkczogYXJnLmNvb3JkcyxcbiAgICBjaGFuZ2VkOiB0cnVlLFxuICB9XG5cbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICBjb25zdCB7IG9wdGlvbnMgfSA9IHN0YXRlXG5cbiAgICBpZiAoIXN0YXRlLm1ldGhvZHMuc2V0IHx8XG4gICAgICAhc2hvdWxkRG8ob3B0aW9ucywgcHJlRW5kLCByZXF1aXJlRW5kT25seSwgcGhhc2UpKSB7IGNvbnRpbnVlIH1cblxuICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgc3RhdGUubWV0aG9kcy5zZXQoYXJnKVxuICB9XG5cbiAgcmVzdWx0LmRlbHRhLnggPSBhcmcuY29vcmRzLnggLSBhcmcucGFnZUNvb3Jkcy54XG4gIHJlc3VsdC5kZWx0YS55ID0gYXJnLmNvb3Jkcy55IC0gYXJnLnBhZ2VDb29yZHMueVxuXG4gIGxldCByZWN0Q2hhbmdlZCA9IGZhbHNlXG5cbiAgaWYgKHJlY3QpIHtcbiAgICByZXN1bHQucmVjdERlbHRhLmxlZnQgICA9IGFyZy5yZWN0LmxlZnQgLSByZWN0LmxlZnRcbiAgICByZXN1bHQucmVjdERlbHRhLnJpZ2h0ICA9IGFyZy5yZWN0LnJpZ2h0IC0gcmVjdC5yaWdodFxuICAgIHJlc3VsdC5yZWN0RGVsdGEudG9wICAgID0gYXJnLnJlY3QudG9wIC0gcmVjdC50b3BcbiAgICByZXN1bHQucmVjdERlbHRhLmJvdHRvbSA9IGFyZy5yZWN0LmJvdHRvbSAtIHJlY3QuYm90dG9tXG5cbiAgICByZWN0Q2hhbmdlZCA9IHJlc3VsdC5yZWN0RGVsdGEubGVmdCAhPT0gMCB8fFxuICAgICAgcmVzdWx0LnJlY3REZWx0YS5yaWdodCAhPT0gMCB8fFxuICAgICAgcmVzdWx0LnJlY3REZWx0YS50b3AgIT09IDAgfHxcbiAgICAgIHJlc3VsdC5yZWN0RGVsdGEuYm90dG9tICE9PSAwXG4gIH1cblxuICByZXN1bHQuY2hhbmdlZCA9IHByZXZDb29yZHMueCAhPT0gcmVzdWx0LmNvb3Jkcy54IHx8XG4gICAgcHJldkNvb3Jkcy55ICE9PSByZXN1bHQuY29vcmRzLnkgfHxcbiAgICByZWN0Q2hhbmdlZFxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuZnVuY3Rpb24gYmVmb3JlTW92ZSAoYXJnOiBJbnRlcmFjdC5TaWduYWxBcmcpOiB2b2lkIHwgZmFsc2Uge1xuICBjb25zdCB7IGludGVyYWN0aW9uLCBwaGFzZSwgcHJlRW5kLCBza2lwTW9kaWZpZXJzIH0gPSBhcmdcbiAgY29uc3QgeyBpbnRlcmFjdGFibGUsIGVsZW1lbnQgfSA9IGludGVyYWN0aW9uXG4gIGNvbnN0IG1vZGlmaWVyUmVzdWx0ID0gc2V0QWxsKFxuICAgIHtcbiAgICAgIGludGVyYWN0aW9uLFxuICAgICAgaW50ZXJhY3RhYmxlLFxuICAgICAgZWxlbWVudCxcbiAgICAgIHByZUVuZCxcbiAgICAgIHBoYXNlLFxuICAgICAgcGFnZUNvb3JkczogaW50ZXJhY3Rpb24uY29vcmRzLmN1ci5wYWdlLFxuICAgICAgcmVjdDogaW50ZXJhY3Rpb24ucmVjdCxcbiAgICAgIHN0YXRlczogaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlcyxcbiAgICAgIHJlcXVpcmVFbmRPbmx5OiBmYWxzZSxcbiAgICAgIHNraXBNb2RpZmllcnMsXG4gICAgfSlcblxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gbW9kaWZpZXJSZXN1bHRcblxuICAvLyBkb24ndCBmaXJlIGFuIGFjdGlvbiBtb3ZlIGlmIGEgbW9kaWZpZXIgd291bGQga2VlcCB0aGUgZXZlbnQgaW4gdGhlIHNhbWVcbiAgLy8gY29yZGluYXRlcyBhcyBiZWZvcmVcbiAgaWYgKCFtb2RpZmllclJlc3VsdC5jaGFuZ2VkICYmIGludGVyYWN0aW9uLmludGVyYWN0aW5nKCkpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHNldENvb3JkcyhhcmcpXG59XG5cbmZ1bmN0aW9uIGJlZm9yZUVuZCAoYXJnKTogdm9pZCB8IGZhbHNlIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgZXZlbnQsIG5vUHJlRW5kIH0gPSBhcmdcbiAgY29uc3Qgc3RhdGVzID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlc1xuXG4gIGlmIChub1ByZUVuZCB8fCAhc3RhdGVzIHx8ICFzdGF0ZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBsZXQgZGlkUHJlRW5kID0gZmFsc2VcblxuICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgIGFyZy5zdGF0ZSA9IHN0YXRlXG4gICAgY29uc3QgeyBvcHRpb25zLCBtZXRob2RzIH0gPSBzdGF0ZVxuXG4gICAgY29uc3QgZW5kUmVzdWx0ID0gbWV0aG9kcy5iZWZvcmVFbmQgJiYgbWV0aG9kcy5iZWZvcmVFbmQoYXJnKVxuXG4gICAgaWYgKGVuZFJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgIGludGVyYWN0aW9uLm1vZGlmaWVycy5lbmRQcmV2ZW50ZWQgPSB0cnVlXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICAvLyBpZiB0aGUgZW5kT25seSBvcHRpb24gaXMgdHJ1ZSBmb3IgYW55IG1vZGlmaWVyXG4gICAgaWYgKCFkaWRQcmVFbmQgJiYgc2hvdWxkRG8ob3B0aW9ucywgdHJ1ZSwgdHJ1ZSkpIHtcbiAgICAgIC8vIGZpcmUgYSBtb3ZlIGV2ZW50IGF0IHRoZSBtb2RpZmllZCBjb29yZGluYXRlc1xuICAgICAgaW50ZXJhY3Rpb24ubW92ZSh7IGV2ZW50LCBwcmVFbmQ6IHRydWUgfSlcbiAgICAgIGRpZFByZUVuZCA9IHRydWVcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc3RvcCAoYXJnOiBJbnRlcmFjdC5TaWduYWxBcmcpIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiB9ID0gYXJnXG4gIGNvbnN0IHN0YXRlcyA9IGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXNcblxuICBpZiAoIXN0YXRlcyB8fCAhc3RhdGVzLmxlbmd0aCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgbW9kaWZpZXJBcmcgPSBleHRlbmQoe1xuICAgIHN0YXRlcyxcbiAgICBpbnRlcmFjdGFibGU6IGludGVyYWN0aW9uLmludGVyYWN0YWJsZSxcbiAgICBlbGVtZW50OiBpbnRlcmFjdGlvbi5lbGVtZW50LFxuICB9LCBhcmcpXG5cbiAgcmVzdG9yZUNvb3JkcyhhcmcpXG5cbiAgZm9yIChjb25zdCBzdGF0ZSBvZiBzdGF0ZXMpIHtcbiAgICBtb2RpZmllckFyZy5zdGF0ZSA9IHN0YXRlXG5cbiAgICBpZiAoc3RhdGUubWV0aG9kcy5zdG9wKSB7IHN0YXRlLm1ldGhvZHMuc3RvcChtb2RpZmllckFyZykgfVxuICB9XG5cbiAgYXJnLmludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXMgPSBudWxsXG4gIGFyZy5pbnRlcmFjdGlvbi5tb2RpZmllcnMuZW5kUHJldmVudGVkID0gZmFsc2Vcbn1cblxuZnVuY3Rpb24gZ2V0TW9kaWZpZXJMaXN0IChpbnRlcmFjdGlvbiwgcmVnaXN0ZXJlZE1vZGlmaWVycykge1xuICBjb25zdCBhY3Rpb25PcHRpb25zID0gaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlLm9wdGlvbnNbaW50ZXJhY3Rpb24ucHJlcGFyZWQubmFtZV1cbiAgY29uc3QgYWN0aW9uTW9kaWZpZXJzID0gYWN0aW9uT3B0aW9ucy5tb2RpZmllcnNcblxuICBpZiAoYWN0aW9uTW9kaWZpZXJzICYmIGFjdGlvbk1vZGlmaWVycy5sZW5ndGgpIHtcbiAgICByZXR1cm4gYWN0aW9uTW9kaWZpZXJzXG4gICAgICAuZmlsdGVyKChtb2RpZmllcikgPT4gIW1vZGlmaWVyLm9wdGlvbnMgfHwgbW9kaWZpZXIub3B0aW9ucy5lbmFibGVkICE9PSBmYWxzZSlcbiAgICAgIC5tYXAoKG1vZGlmaWVyKSA9PiB7XG4gICAgICAgIGlmICghbW9kaWZpZXIubWV0aG9kcyAmJiBtb2RpZmllci50eXBlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlZ2lzdGVyZWRNb2RpZmllcnNbbW9kaWZpZXIudHlwZV0obW9kaWZpZXIpXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbW9kaWZpZXJcbiAgICAgIH0pXG4gIH1cblxuICByZXR1cm4gWydzbmFwJywgJ3NuYXBTaXplJywgJ3NuYXBFZGdlcycsICdyZXN0cmljdCcsICdyZXN0cmljdEVkZ2VzJywgJ3Jlc3RyaWN0U2l6ZSddXG4gICAgLm1hcCgodHlwZSkgPT4ge1xuICAgICAgY29uc3Qgb3B0aW9ucyA9IGFjdGlvbk9wdGlvbnNbdHlwZV1cblxuICAgICAgcmV0dXJuIG9wdGlvbnMgJiYgb3B0aW9ucy5lbmFibGVkICYmIHtcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgbWV0aG9kczogb3B0aW9ucy5fbWV0aG9kcyxcbiAgICAgIH1cbiAgICB9KVxuICAgIC5maWx0ZXIoKG0pID0+ICEhbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByZXBhcmVTdGF0ZXMgKG1vZGlmaWVyTGlzdCkge1xuICBjb25zdCBzdGF0ZXMgPSBbXVxuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBtb2RpZmllckxpc3QubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgeyBvcHRpb25zLCBtZXRob2RzLCBuYW1lIH0gPSBtb2RpZmllckxpc3RbaW5kZXhdXG5cbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZWQgPT09IGZhbHNlKSB7IGNvbnRpbnVlIH1cblxuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgb3B0aW9ucyxcbiAgICAgIG1ldGhvZHMsXG4gICAgICBpbmRleCxcbiAgICAgIG5hbWUsXG4gICAgfVxuXG4gICAgc3RhdGVzLnB1c2goc3RhdGUpXG4gIH1cblxuICByZXR1cm4gc3RhdGVzXG59XG5cbmZ1bmN0aW9uIHNldENvb3JkcyAoYXJnKSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIHBoYXNlIH0gPSBhcmdcbiAgY29uc3QgY3VyQ29vcmRzID0gYXJnLmN1ckNvb3JkcyB8fCBpbnRlcmFjdGlvbi5jb29yZHMuY3VyXG4gIGNvbnN0IHN0YXJ0Q29vcmRzID0gYXJnLnN0YXJ0Q29vcmRzIHx8IGludGVyYWN0aW9uLmNvb3Jkcy5zdGFydFxuICBjb25zdCB7IHJlc3VsdCwgc3RhcnREZWx0YSB9ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzXG4gIGNvbnN0IGN1ckRlbHRhID0gcmVzdWx0LmRlbHRhXG5cbiAgaWYgKHBoYXNlID09PSAnc3RhcnQnKSB7XG4gICAgZXh0ZW5kKGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGFydERlbHRhLCByZXN1bHQuZGVsdGEpXG4gIH1cblxuICBmb3IgKGNvbnN0IFtjb29yZHNTZXQsIGRlbHRhXSBvZiBbW3N0YXJ0Q29vcmRzLCBzdGFydERlbHRhXSwgW2N1ckNvb3JkcywgY3VyRGVsdGFdXSkge1xuICAgIGNvb3Jkc1NldC5wYWdlLnggICArPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LnBhZ2UueSAgICs9IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggKz0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSArPSBkZWx0YS55XG4gIH1cblxuICBjb25zdCB7IHJlY3REZWx0YSB9ID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdFxuICBjb25zdCByZWN0ID0gYXJnLnJlY3QgfHwgaW50ZXJhY3Rpb24ucmVjdFxuXG4gIHJlY3QubGVmdCAgICs9IHJlY3REZWx0YS5sZWZ0XG4gIHJlY3QucmlnaHQgICs9IHJlY3REZWx0YS5yaWdodFxuICByZWN0LnRvcCAgICArPSByZWN0RGVsdGEudG9wXG4gIHJlY3QuYm90dG9tICs9IHJlY3REZWx0YS5ib3R0b21cblxuICByZWN0LndpZHRoID0gcmVjdC5yaWdodCAtIHJlY3QubGVmdFxuICByZWN0LmhlaWdodCA9IHJlY3QuYm90dG9tIC0gcmVjdC50b3Bcbn1cblxuZnVuY3Rpb24gcmVzdG9yZUNvb3JkcyAoeyBpbnRlcmFjdGlvbjogeyBjb29yZHMsIHJlY3QsIG1vZGlmaWVycyB9IH06IEludGVyYWN0LlNpZ25hbEFyZykge1xuICBpZiAoIW1vZGlmaWVycy5yZXN1bHQpIHsgcmV0dXJuIH1cblxuICBjb25zdCB7IHN0YXJ0RGVsdGEgfSA9IG1vZGlmaWVyc1xuICBjb25zdCB7IGRlbHRhOiBjdXJEZWx0YSwgcmVjdERlbHRhIH0gPSBtb2RpZmllcnMucmVzdWx0XG5cbiAgY29uc3QgY29vcmRzQW5kRGVsdGFzID0gW1xuICAgIFtjb29yZHMuc3RhcnQsIHN0YXJ0RGVsdGFdLFxuICAgIFtjb29yZHMuY3VyLCBjdXJEZWx0YV0sXG4gIF0gYXMgY29uc3RcblxuICBmb3IgKGNvbnN0IFtjb29yZHNTZXQsIGRlbHRhXSBvZiBjb29yZHNBbmREZWx0YXMpIHtcbiAgICBjb29yZHNTZXQucGFnZS54IC09IGRlbHRhLnhcbiAgICBjb29yZHNTZXQucGFnZS55IC09IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggLT0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSAtPSBkZWx0YS55XG4gIH1cblxuICByZWN0LmxlZnQgLT0gcmVjdERlbHRhLmxlZnRcbiAgcmVjdC5yaWdodCAtPSByZWN0RGVsdGEucmlnaHRcbiAgcmVjdC50b3AgLT0gcmVjdERlbHRhLnRvcFxuICByZWN0LmJvdHRvbSAtPSByZWN0RGVsdGEuYm90dG9tXG59XG5cbmZ1bmN0aW9uIHNob3VsZERvIChvcHRpb25zLCBwcmVFbmQ/OiBib29sZWFuLCByZXF1aXJlRW5kT25seT86IGJvb2xlYW4sIHBoYXNlPzogc3RyaW5nKSB7XG4gIHJldHVybiBvcHRpb25zXG4gICAgPyBvcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlICYmXG4gICAgICAocHJlRW5kIHx8ICFvcHRpb25zLmVuZE9ubHkpICYmXG4gICAgICAoIXJlcXVpcmVFbmRPbmx5IHx8IG9wdGlvbnMuZW5kT25seSB8fCBvcHRpb25zLmFsd2F5c09uRW5kKSAmJlxuICAgICAgKG9wdGlvbnMuc2V0U3RhcnQgfHwgcGhhc2UgIT09ICdzdGFydCcpXG4gICAgOiAhcmVxdWlyZUVuZE9ubHlcbn1cblxuZnVuY3Rpb24gZ2V0UmVjdE9mZnNldCAocmVjdCwgY29vcmRzKSB7XG4gIHJldHVybiByZWN0XG4gICAgPyB7XG4gICAgICBsZWZ0ICA6IGNvb3Jkcy54IC0gcmVjdC5sZWZ0LFxuICAgICAgdG9wICAgOiBjb29yZHMueSAtIHJlY3QudG9wLFxuICAgICAgcmlnaHQgOiByZWN0LnJpZ2h0ICAtIGNvb3Jkcy54LFxuICAgICAgYm90dG9tOiByZWN0LmJvdHRvbSAtIGNvb3Jkcy55LFxuICAgIH1cbiAgICA6IHtcbiAgICAgIGxlZnQgIDogMCxcbiAgICAgIHRvcCAgIDogMCxcbiAgICAgIHJpZ2h0IDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VNb2RpZmllcjxcbiAgT3B0aW9ucyBleHRlbmRzIHsgZW5hYmxlZD86IGJvb2xlYW4sIFtrZXk6IHN0cmluZ106IGFueSB9XG4+IChtb2R1bGU6IHsgZGVmYXVsdHM6IE9wdGlvbnMsIFtrZXk6IHN0cmluZ106IGFueSB9LCBuYW1lPzogc3RyaW5nKSB7XG4gIGNvbnN0IHsgZGVmYXVsdHMgfSA9IG1vZHVsZVxuICBjb25zdCBtZXRob2RzID0ge1xuICAgIHN0YXJ0OiBtb2R1bGUuc3RhcnQsXG4gICAgc2V0OiBtb2R1bGUuc2V0LFxuICAgIGJlZm9yZUVuZDogbW9kdWxlLmJlZm9yZUVuZCxcbiAgICBzdG9wOiBtb2R1bGUuc3RvcCxcbiAgfVxuXG4gIGNvbnN0IG1vZGlmaWVyID0gKG9wdGlvbnM/OiBQYXJ0aWFsPE9wdGlvbnM+KSA9PiB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cblxuICAgIG9wdGlvbnMuZW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2VcblxuICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHRzIHRvIG9wdGlvbnNcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGVmYXVsdHMpIHtcbiAgICAgIGlmICghKHByb3AgaW4gb3B0aW9ucykpIHtcbiAgICAgICAgb3B0aW9uc1twcm9wXSA9IGRlZmF1bHRzW3Byb3BdXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgbWV0aG9kcywgbmFtZSB9XG4gIH1cblxuICBpZiAodHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZm9yIGJhY2t3cmFkcyBjb21wYXRpYmlsaXR5XG4gICAgbW9kaWZpZXIuX2RlZmF1bHRzID0gZGVmYXVsdHNcbiAgICBtb2RpZmllci5fbWV0aG9kcyA9IG1ldGhvZHNcbiAgfVxuXG4gIHJldHVybiBtb2RpZmllclxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkOiAnbW9kaWZpZXJzL2Jhc2UnLFxuICBpbnN0YWxsLFxuICBzdGFydEFsbCxcbiAgc2V0QWxsLFxuICBwcmVwYXJlU3RhdGVzLFxuICBzdGFydCxcbiAgYmVmb3JlTW92ZSxcbiAgYmVmb3JlRW5kLFxuICBzdG9wLFxuICBzaG91bGREbyxcbiAgZ2V0TW9kaWZpZXJMaXN0LFxuICBnZXRSZWN0T2Zmc2V0LFxuICBtYWtlTW9kaWZpZXIsXG59IGFzIEludGVyYWN0LlBsdWdpblxuXG5leHBvcnQge1xuICBtYWtlTW9kaWZpZXIsXG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxNQUFNLE1BQU0sMEJBQTBCLENBQUE7QUF3QzdDLFNBQVMsT0FBTyxDQUFFLEtBQVk7SUFDNUIsTUFBTSxFQUNKLFlBQVksR0FDYixHQUFHLEtBQUssQ0FBQTtJQUVULEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFDdkMsS0FBSyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUE7SUFFcEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFO1FBQ2pELFdBQVcsQ0FBQyxTQUFTLEdBQUc7WUFDdEIsV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUNyRCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixZQUFZLEVBQUUsS0FBSztZQUNuQixVQUFVLEVBQUUsSUFBSTtTQUNqQixDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3JELEtBQUssQ0FBQyxHQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDdkUsQ0FBQyxDQUFDLENBQUE7SUFFRixZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUMvQyxJQUFJLENBQUMsR0FBbUMsQ0FBQyxD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O0lBQ3BCLE9BQU87SUFDUCxRQUFRO0lBQ1IsTUFBTTtJQUNOLGFBQWE7SUFDYixLQUFLO0lBQ0wsVUFBVTtJQUNWLFNBQVM7SUFDVCxJQUFJO0lBQ0osUUFBUTtJQUNSLGVBQWU7SUFDZixhQUFhO0lBQ2IsWUFBWTtDQUNNLENBQUE7QUFFcEIsT0FBTyxFQUNMLFlBQVksR0FDYixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NvcGUgfSBmcm9tICdAaW50ZXJhY3Rqcy9jb3JlL3Njb3BlJ1xuaW1wb3J0IGV4dGVuZCBmcm9tICdAaW50ZXJhY3Rqcy91dGlscy9leHRlbmQnXG5cbmRlY2xhcmUgbW9kdWxlICdAaW50ZXJhY3Rqcy9jb3JlL3Njb3BlJyB7XG4gIGludGVyZmFjZSBTY29wZSB7XG4gICAgbW9kaWZpZXJzPzogYW55XG4gIH1cbn1cblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvSW50ZXJhY3Rpb24nIHtcbiAgaW50ZXJmYWNlIEludGVyYWN0aW9uIHtcbiAgICBtb2RpZmllcnM/OiB7XG4gICAgICBzdGF0ZXM6IGFueVtdXG4gICAgICBvZmZzZXRzOiBhbnlcbiAgICAgIHN0YXJ0T2Zmc2V0OiBhbnlcbiAgICAgIHN0YXJ0RGVsdGE6IEludGVyYWN0LlBvaW50XG4gICAgICByZXN1bHQ/OiB7XG4gICAgICAgIGRlbHRhOiB7XG4gICAgICAgICAgeDogbnVtYmVyXG4gICAgICAgICAgeTogbnVtYmVyXG4gICAgICAgIH1cbiAgICAgICAgcmVjdERlbHRhOiB7XG4gICAgICAgICAgbGVmdDogbnVtYmVyXG4gICAgICAgICAgcmlnaHQ6IG51bWJlclxuICAgICAgICAgIHRvcDogbnVtYmVyXG4gICAgICAgICAgYm90dG9tOiBudW1iZXJcbiAgICAgICAgfVxuICAgICAgICBjb29yZHM6IEludGVyYWN0LlBvaW50XG4gICAgICAgIGNoYW5nZWQ6IGJvb2xlYW5cbiAgICAgIH0sXG4gICAgICBlbmRQcmV2ZW50ZWQ6IGJvb2xlYW5cbiAgICB9XG4gIH1cbn1cblxuZGVjbGFyZSBtb2R1bGUgJ0BpbnRlcmFjdGpzL2NvcmUvZGVmYXVsdE9wdGlvbnMnIHtcbiAgaW50ZXJmYWNlIFBlckFjdGlvbkRlZmF1bHRzIHtcbiAgICBtb2RpZmllcnM/OiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBtYWtlTW9kaWZpZXI+PlxuICB9XG59XG5cbmZ1bmN0aW9uIGluc3RhbGwgKHNjb3BlOiBTY29wZSkge1xuICBjb25zdCB7XG4gICAgaW50ZXJhY3Rpb25zLFxuICB9ID0gc2NvcGVcblxuICBzY29wZS5kZWZhdWx0cy5wZXJBY3Rpb24ubW9kaWZpZXJzID0gW11cbiAgc2NvcGUubW9kaWZpZXJzID0ge31cblxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignbmV3JywgKHsgaW50ZXJhY3Rpb24gfSkgPT4ge1xuICAgIGludGVyYWN0aW9uLm1vZGlmaWVycyA9IHtcbiAgICAgIHN0YXJ0T2Zmc2V0OiB7IGxlZnQ6IDAsIHJpZ2h0OiAwLCB0b3A6IDAsIGJvdHRvbTogMCB9LFxuICAgICAgb2Zmc2V0czoge30sXG4gICAgICBzdGF0ZXM6IG51bGwsXG4gICAgICByZXN1bHQ6IG51bGwsXG4gICAgICBlbmRQcmV2ZW50ZWQ6IGZhbHNlLFxuICAgICAgc3RhcnREZWx0YTogbnVsbCxcbiAgICB9XG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tc3RhcnQnLCAoYXJnKSA9PiB7XG4gICAgc3RhcnQoYXJnIGFzIGFueSwgYXJnLmludGVyYWN0aW9uLmNvb3Jkcy5zdGFydC5wYWdlLCBzY29wZS5tb2RpZmllcnMpXG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2FjdGlvbi1yZXN1bWUnLCAoYXJnKSA9PiB7XG4gICAgc3RvcChhcmcgYXMgUmVxdWlyZWQ8SW50ZXJhY3QuU2lnbmFsQXJnPilcbiAgICBzdGFydChhcmcgYXMgUmVxdWlyZWQ8SW50ZXJhY3QuU2lnbmFsQXJnPiwgYXJnLmludGVyYWN0aW9uLmNvb3Jkcy5jdXIucGFnZSwgc2NvcGUubW9kaWZpZXJzKVxuICAgIGJlZm9yZU1vdmUoYXJnIGFzIFJlcXVpcmVkPEludGVyYWN0LlNpZ25hbEFyZz4pXG4gIH0pXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2FmdGVyLWFjdGlvbi1tb3ZlJywgcmVzdG9yZUNvb3JkcyBhcyBhbnkpXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLW1vdmUnLCBiZWZvcmVNb3ZlKVxuXG4gIGludGVyYWN0aW9ucy5zaWduYWxzLm9uKCdiZWZvcmUtYWN0aW9uLXN0YXJ0Jywgc2V0Q29vcmRzKVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignYWZ0ZXItYWN0aW9uLXN0YXJ0JywgcmVzdG9yZUNvb3JkcyBhcyBhbnkpXG5cbiAgaW50ZXJhY3Rpb25zLnNpZ25hbHMub24oJ2JlZm9yZS1hY3Rpb24tZW5kJywgYmVmb3JlRW5kKVxuICBpbnRlcmFjdGlvbnMuc2lnbmFscy5vbignc3RvcCcsIHN0b3ApXG59XG5cbmZ1bmN0aW9uIHN0YXJ0IChcbiAgeyBpbnRlcmFjdGlvbiwgcGhhc2UgfTogSW50ZXJhY3QuU2lnbmFsQXJnLFxuICBwYWdlQ29vcmRzOiBJbnRlcmFjdC5Qb2ludCxcbiAgcmVnaXN0ZXJlZE1vZGlmaWVycyxcbikge1xuICBjb25zdCB7IGludGVyYWN0YWJsZSwgZWxlbWVudCB9ID0gaW50ZXJhY3Rpb25cbiAgY29uc3QgbW9kaWZpZXJMaXN0ID0gZ2V0TW9kaWZpZXJMaXN0KGludGVyYWN0aW9uLCByZWdpc3RlcmVkTW9kaWZpZXJzKVxuICBjb25zdCBzdGF0ZXMgPSBwcmVwYXJlU3RhdGVzKG1vZGlmaWVyTGlzdClcblxuICBjb25zdCByZWN0ID0gZXh0ZW5kKHt9LCBpbnRlcmFjdGlvbi5yZWN0KVxuXG4gIGlmICghKCd3aWR0aCcgIGluIHJlY3QpKSB7IHJlY3Qud2lkdGggID0gcmVjdC5yaWdodCAgLSByZWN0LmxlZnQgfVxuICBpZiAoISgnaGVpZ2h0JyBpbiByZWN0KSkgeyByZWN0LmhlaWdodCA9IHJlY3QuYm90dG9tIC0gcmVjdC50b3AgIH1cblxuICBjb25zdCBzdGFydE9mZnNldCA9IGdldFJlY3RPZmZzZXQocmVjdCwgcGFnZUNvb3JkcylcblxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhcnRPZmZzZXQgPSBzdGFydE9mZnNldFxuICBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhcnREZWx0YSA9IHsgeDogMCwgeTogMCB9XG5cbiAgY29uc3QgYXJnOiBQYXJ0aWFsPEludGVyYWN0LlNpZ25hbEFyZz4gPSB7XG4gICAgaW50ZXJhY3Rpb24sXG4gICAgaW50ZXJhY3RhYmxlLFxuICAgIGVsZW1lbnQsXG4gICAgcGFnZUNvb3JkcyxcbiAgICBwaGFzZSxcbiAgICByZWN0LFxuICAgIHN0YXJ0T2Zmc2V0LFxuICAgIHN0YXRlcyxcbiAgICBwcmVFbmQ6IGZhbHNlLFxuICAgIHJlcXVpcmVFbmRPbmx5OiBmYWxzZSxcbiAgfVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5zdGF0ZXMgPSBzdGF0ZXNcbiAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnJlc3VsdCA9IG51bGxcbiAgc3RhcnRBbGwoYXJnKVxuXG4gIGFyZy5wYWdlQ29vcmRzID0gZXh0ZW5kKHt9LCBpbnRlcmFjdGlvbi5jb29yZHMuc3RhcnQucGFnZSlcblxuICBjb25zdCByZXN1bHQgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0ID0gc2V0QWxsKGFyZylcblxuICByZXR1cm4gcmVzdWx0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydEFsbCAoYXJnKSB7XG4gIGZvciAoY29uc3Qgc3RhdGUgb2YgYXJnLnN0YXRlcykge1xuICAgIGlmIChzdGF0ZS5tZXRob2RzLnN0YXJ0KSB7XG4gICAgICBhcmcuc3RhdGUgPSBzdGF0ZVxuICAgICAgc3RhdGUubWV0aG9kcy5zdGFydChhcmcpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRBbGwgKGFyZzogUGFydGlhbDxJbnRlcmFjdC5TaWduYWxBcmc+KSB7XG4gIGNvbnN0IHtcbiAgICBpbnRlcmFjdGlvbixcbiAgICBtb2RpZmllcnNTdGF0ZSA9IGludGVyYWN0aW9uLm1vZGlmaWVycyxcbiAgICBwcmV2Q29vcmRzID0gbW9kaWZpZXJzU3RhdGUucmVzdWx0XG4gICAgICA/IG1vZGlmaWVyc1N0YXRlLnJlc3VsdC5jb29yZHNcbiAgICAgIDogaW50ZXJhY3Rpb24uY29vcmRzLnByZXYucGFnZSxcbiAgICBwaGFzZSxcbiAgICBwcmVFbmQsXG4gICAgcmVxdWlyZUVuZE9ubHksXG4gICAgcmVjdCxcbiAgICBza2lwTW9kaWZpZXJzLFxuICB9ID0gYXJnXG5cbiAgY29uc3Qgc3RhdGVzID0gc2tpcE1vZGlmaWVyc1xuICAgID8gYXJnLnN0YXRlcy5zbGljZShza2lwTW9kaWZpZXJzKVxuICAgIDogYXJnLnN0YXRlc1xuXG4gIGFyZy5jb29yZHMgPSBleHRlbmQoe30sIGFyZy5wYWdlQ29vcmRzKVxuICBhcmcucmVjdCA9IGV4dGVuZCh7fSwgcmVjdClcblxuICBjb25zdCByZXN1bHQgPSB7XG4gICAgZGVsdGE6IHsgeDogMCwgeTogMCB9LFxuICAgIHJlY3REZWx0YToge1xuICAgICAgbGVmdCAgOiAwLFxuICAgICAgcmlnaHQgOiAwLFxuICAgICAgdG9wICAgOiAwLFxuICAgICAgYm90dG9tOiAwLFxuICAgIH0sXG4gICAgY29vcmRzOiBhcmcuY29vcmRzLFxuICAgIGNoYW5nZWQ6IHRydWUsXG4gIH1cblxuICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgIGNvbnN0IHsgb3B0aW9ucyB9ID0gc3RhdGVcblxuICAgIGlmICghc3RhdGUubWV0aG9kcy5zZXQgfHxcbiAgICAgICFzaG91bGREbyhvcHRpb25zLCBwcmVFbmQsIHJlcXVpcmVFbmRPbmx5LCBwaGFzZSkpIHsgY29udGludWUgfVxuXG4gICAgYXJnLnN0YXRlID0gc3RhdGVcbiAgICBzdGF0ZS5tZXRob2RzLnNldChhcmcpXG4gIH1cblxuICByZXN1bHQuZGVsdGEueCA9IGFyZy5jb29yZHMueCAtIGFyZy5wYWdlQ29vcmRzLnhcbiAgcmVzdWx0LmRlbHRhLnkgPSBhcmcuY29vcmRzLnkgLSBhcmcucGFnZUNvb3Jkcy55XG5cbiAgbGV0IHJlY3RDaGFuZ2VkID0gZmFsc2VcblxuICBpZiAocmVjdCkge1xuICAgIHJlc3VsdC5yZWN0RGVsdGEubGVmdCAgID0gYXJnLnJlY3QubGVmdCAtIHJlY3QubGVmdFxuICAgIHJlc3VsdC5yZWN0RGVsdGEucmlnaHQgID0gYXJnLnJlY3QucmlnaHQgLSByZWN0LnJpZ2h0XG4gICAgcmVzdWx0LnJlY3REZWx0YS50b3AgICAgPSBhcmcucmVjdC50b3AgLSByZWN0LnRvcFxuICAgIHJlc3VsdC5yZWN0RGVsdGEuYm90dG9tID0gYXJnLnJlY3QuYm90dG9tIC0gcmVjdC5ib3R0b21cblxuICAgIHJlY3RDaGFuZ2VkID0gcmVzdWx0LnJlY3REZWx0YS5sZWZ0ICE9PSAwIHx8XG4gICAgICByZXN1bHQucmVjdERlbHRhLnJpZ2h0ICE9PSAwIHx8XG4gICAgICByZXN1bHQucmVjdERlbHRhLnRvcCAhPT0gMCB8fFxuICAgICAgcmVzdWx0LnJlY3REZWx0YS5ib3R0b20gIT09IDBcbiAgfVxuXG4gIHJlc3VsdC5jaGFuZ2VkID0gcHJldkNvb3Jkcy54ICE9PSByZXN1bHQuY29vcmRzLnggfHxcbiAgICBwcmV2Q29vcmRzLnkgIT09IHJlc3VsdC5jb29yZHMueSB8fFxuICAgIHJlY3RDaGFuZ2VkXG5cbiAgcmV0dXJuIHJlc3VsdFxufVxuXG5mdW5jdGlvbiBiZWZvcmVNb3ZlIChhcmc6IEludGVyYWN0LlNpZ25hbEFyZyk6IHZvaWQgfCBmYWxzZSB7XG4gIGNvbnN0IHsgaW50ZXJhY3Rpb24sIHBoYXNlLCBwcmVFbmQsIHNraXBNb2RpZmllcnMgfSA9IGFyZ1xuICBjb25zdCB7IGludGVyYWN0YWJsZSwgZWxlbWVudCB9ID0gaW50ZXJhY3Rpb25cbiAgY29uc3QgbW9kaWZpZXJSZXN1bHQgPSBzZXRBbGwoXG4gICAge1xuICAgICAgaW50ZXJhY3Rpb24sXG4gICAgICBpbnRlcmFjdGFibGUsXG4gICAgICBlbGVtZW50LFxuICAgICAgcHJlRW5kLFxuICAgICAgcGhhc2UsXG4gICAgICBwYWdlQ29vcmRzOiBpbnRlcmFjdGlvbi5jb29yZHMuY3VyLnBhZ2UsXG4gICAgICByZWN0OiBpbnRlcmFjdGlvbi5yZWN0LFxuICAgICAgc3RhdGVzOiBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzLFxuICAgICAgcmVxdWlyZUVuZE9ubHk6IGZhbHNlLFxuICAgICAgc2tpcE1vZGlmaWVycyxcbiAgICB9KVxuXG4gIGludGVyYWN0aW9uLm1vZGlmaWVycy5yZXN1bHQgPSBtb2RpZmllclJlc3VsdFxuXG4gIC8vIGRvbid0IGZpcmUgYW4gYWN0aW9uIG1vdmUgaWYgYSBtb2RpZmllciB3b3VsZCBrZWVwIHRoZSBldmVudCBpbiB0aGUgc2FtZVxuICAvLyBjb3JkaW5hdGVzIGFzIGJlZm9yZVxuICBpZiAoIW1vZGlmaWVyUmVzdWx0LmNoYW5nZWQgJiYgaW50ZXJhY3Rpb24uaW50ZXJhY3RpbmcoKSkge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgc2V0Q29vcmRzKGFyZylcbn1cblxuZnVuY3Rpb24gYmVmb3JlRW5kIChhcmcpOiB2b2lkIHwgZmFsc2Uge1xuICBjb25zdCB7IGludGVyYWN0aW9uLCBldmVudCwgbm9QcmVFbmQgfSA9IGFyZ1xuICBjb25zdCBzdGF0ZXMgPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMuc3RhdGVzXG5cbiAgaWYgKG5vUHJlRW5kIHx8ICFzdGF0ZXMgfHwgIXN0YXRlcy5sZW5ndGgpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGxldCBkaWRQcmVFbmQgPSBmYWxzZVxuXG4gIGZvciAoY29uc3Qgc3RhdGUgb2Ygc3RhdGVzKSB7XG4gICAgYXJnLnN0YXRlID0gc3RhdGVcbiAgICBjb25zdCB7IG9wdGlvbnMsIG1ldGhvZHMgfSA9IHN0YXRlXG5cbiAgICBjb25zdCBlbmRSZXN1bHQgPSBtZXRob2RzLmJlZm9yZUVuZCAmJiBtZXRob2RzLmJlZm9yZUVuZChhcmcpXG5cbiAgICBpZiAoZW5kUmVzdWx0ID09PSBmYWxzZSkge1xuICAgICAgaW50ZXJhY3Rpb24ubW9kaWZpZXJzLmVuZFByZXZlbnRlZCA9IHRydWVcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIC8vIGlmIHRoZSBlbmRPbmx5IG9wdGlvbiBpcyB0cnVlIGZvciBhbnkgbW9kaWZpZXJcbiAgICBpZiAoIWRpZFByZUVuZCAmJiBzaG91bGREbyhvcHRpb25zLCB0cnVlLCB0cnVlKSkge1xuICAgICAgLy8gZmlyZSBhIG1vdmUgZXZlbnQgYXQgdGhlIG1vZGlmaWVkIGNvb3JkaW5hdGVzXG4gICAgICBpbnRlcmFjdGlvbi5tb3ZlKHsgZXZlbnQsIHByZUVuZDogdHJ1ZSB9KVxuICAgICAgZGlkUHJlRW5kID0gdHJ1ZVxuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzdG9wIChhcmc6IEludGVyYWN0LlNpZ25hbEFyZykge1xuICBjb25zdCB7IGludGVyYWN0aW9uIH0gPSBhcmdcbiAgY29uc3Qgc3RhdGVzID0gaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlc1xuXG4gIGlmICghc3RhdGVzIHx8ICFzdGF0ZXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBtb2RpZmllckFyZyA9IGV4dGVuZCh7XG4gICAgc3RhdGVzLFxuICAgIGludGVyYWN0YWJsZTogaW50ZXJhY3Rpb24uaW50ZXJhY3RhYmxlLFxuICAgIGVsZW1lbnQ6IGludGVyYWN0aW9uLmVsZW1lbnQsXG4gIH0sIGFyZylcblxuICByZXN0b3JlQ29vcmRzKGFyZylcblxuICBmb3IgKGNvbnN0IHN0YXRlIG9mIHN0YXRlcykge1xuICAgIG1vZGlmaWVyQXJnLnN0YXRlID0gc3RhdGVcblxuICAgIGlmIChzdGF0ZS5tZXRob2RzLnN0b3ApIHsgc3RhdGUubWV0aG9kcy5zdG9wKG1vZGlmaWVyQXJnKSB9XG4gIH1cblxuICBhcmcuaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXRlcyA9IG51bGxcbiAgYXJnLmludGVyYWN0aW9uLm1vZGlmaWVycy5lbmRQcmV2ZW50ZWQgPSBmYWxzZVxufVxuXG5mdW5jdGlvbiBnZXRNb2RpZmllckxpc3QgKGludGVyYWN0aW9uLCByZWdpc3RlcmVkTW9kaWZpZXJzKSB7XG4gIGNvbnN0IGFjdGlvbk9wdGlvbnMgPSBpbnRlcmFjdGlvbi5pbnRlcmFjdGFibGUub3B0aW9uc1tpbnRlcmFjdGlvbi5wcmVwYXJlZC5uYW1lXVxuICBjb25zdCBhY3Rpb25Nb2RpZmllcnMgPSBhY3Rpb25PcHRpb25zLm1vZGlmaWVyc1xuXG4gIGlmIChhY3Rpb25Nb2RpZmllcnMgJiYgYWN0aW9uTW9kaWZpZXJzLmxlbmd0aCkge1xuICAgIHJldHVybiBhY3Rpb25Nb2RpZmllcnNcbiAgICAgIC5maWx0ZXIoKG1vZGlmaWVyKSA9PiAhbW9kaWZpZXIub3B0aW9ucyB8fCBtb2RpZmllci5vcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlKVxuICAgICAgLm1hcCgobW9kaWZpZXIpID0+IHtcbiAgICAgICAgaWYgKCFtb2RpZmllci5tZXRob2RzICYmIG1vZGlmaWVyLnR5cGUpIHtcbiAgICAgICAgICByZXR1cm4gcmVnaXN0ZXJlZE1vZGlmaWVyc1ttb2RpZmllci50eXBlXShtb2RpZmllcilcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBtb2RpZmllclxuICAgICAgfSlcbiAgfVxuXG4gIHJldHVybiBbJ3NuYXAnLCAnc25hcFNpemUnLCAnc25hcEVkZ2VzJywgJ3Jlc3RyaWN0JywgJ3Jlc3RyaWN0RWRnZXMnLCAncmVzdHJpY3RTaXplJ11cbiAgICAubWFwKCh0eXBlKSA9PiB7XG4gICAgICBjb25zdCBvcHRpb25zID0gYWN0aW9uT3B0aW9uc1t0eXBlXVxuXG4gICAgICByZXR1cm4gb3B0aW9ucyAmJiBvcHRpb25zLmVuYWJsZWQgJiYge1xuICAgICAgICBvcHRpb25zLFxuICAgICAgICBtZXRob2RzOiBvcHRpb25zLl9tZXRob2RzLFxuICAgICAgfVxuICAgIH0pXG4gICAgLmZpbHRlcigobSkgPT4gISFtKVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZVN0YXRlcyAobW9kaWZpZXJMaXN0KSB7XG4gIGNvbnN0IHN0YXRlcyA9IFtdXG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IG1vZGlmaWVyTGlzdC5sZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCB7IG9wdGlvbnMsIG1ldGhvZHMsIG5hbWUgfSA9IG1vZGlmaWVyTGlzdFtpbmRleF1cblxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZW5hYmxlZCA9PT0gZmFsc2UpIHsgY29udGludWUgfVxuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBvcHRpb25zLFxuICAgICAgbWV0aG9kcyxcbiAgICAgIGluZGV4LFxuICAgICAgbmFtZSxcbiAgICB9XG5cbiAgICBzdGF0ZXMucHVzaChzdGF0ZSlcbiAgfVxuXG4gIHJldHVybiBzdGF0ZXNcbn1cblxuZnVuY3Rpb24gc2V0Q29vcmRzIChhcmcpIHtcbiAgY29uc3QgeyBpbnRlcmFjdGlvbiwgcGhhc2UgfSA9IGFyZ1xuICBjb25zdCBjdXJDb29yZHMgPSBhcmcuY3VyQ29vcmRzIHx8IGludGVyYWN0aW9uLmNvb3Jkcy5jdXJcbiAgY29uc3Qgc3RhcnRDb29yZHMgPSBhcmcuc3RhcnRDb29yZHMgfHwgaW50ZXJhY3Rpb24uY29vcmRzLnN0YXJ0XG4gIGNvbnN0IHsgcmVzdWx0LCBzdGFydERlbHRhIH0gPSBpbnRlcmFjdGlvbi5tb2RpZmllcnNcbiAgY29uc3QgY3VyRGVsdGEgPSByZXN1bHQuZGVsdGFcblxuICBpZiAocGhhc2UgPT09ICdzdGFydCcpIHtcbiAgICBleHRlbmQoaW50ZXJhY3Rpb24ubW9kaWZpZXJzLnN0YXJ0RGVsdGEsIHJlc3VsdC5kZWx0YSlcbiAgfVxuXG4gIGZvciAoY29uc3QgW2Nvb3Jkc1NldCwgZGVsdGFdIG9mIFtbc3RhcnRDb29yZHMsIHN0YXJ0RGVsdGFdLCBbY3VyQ29vcmRzLCBjdXJEZWx0YV1dKSB7XG4gICAgY29vcmRzU2V0LnBhZ2UueCAgICs9IGRlbHRhLnhcbiAgICBjb29yZHNTZXQucGFnZS55ICAgKz0gZGVsdGEueVxuICAgIGNvb3Jkc1NldC5jbGllbnQueCArPSBkZWx0YS54XG4gICAgY29vcmRzU2V0LmNsaWVudC55ICs9IGRlbHRhLnlcbiAgfVxuXG4gIGNvbnN0IHsgcmVjdERlbHRhIH0gPSBpbnRlcmFjdGlvbi5tb2RpZmllcnMucmVzdWx0XG4gIGNvbnN0IHJlY3QgPSBhcmcucmVjdCB8fCBpbnRlcmFjdGlvbi5yZWN0XG5cbiAgcmVjdC5sZWZ0ICAgKz0gcmVjdERlbHRhLmxlZnRcbiAgcmVjdC5yaWdodCAgKz0gcmVjdERlbHRhLnJpZ2h0XG4gIHJlY3QudG9wICAgICs9IHJlY3REZWx0YS50b3BcbiAgcmVjdC5ib3R0b20gKz0gcmVjdERlbHRhLmJvdHRvbVxuXG4gIHJlY3Qud2lkdGggPSByZWN0LnJpZ2h0IC0gcmVjdC5sZWZ0XG4gIHJlY3QuaGVpZ2h0ID0gcmVjdC5ib3R0b20gLSByZWN0LnRvcFxufVxuXG5mdW5jdGlvbiByZXN0b3JlQ29vcmRzICh7IGludGVyYWN0aW9uOiB7IGNvb3JkcywgcmVjdCwgbW9kaWZpZXJzIH0gfTogSW50ZXJhY3QuU2lnbmFsQXJnKSB7XG4gIGlmICghbW9kaWZpZXJzLnJlc3VsdCkgeyByZXR1cm4gfVxuXG4gIGNvbnN0IHsgc3RhcnREZWx0YSB9ID0gbW9kaWZpZXJzXG4gIGNvbnN0IHsgZGVsdGE6IGN1ckRlbHRhLCByZWN0RGVsdGEgfSA9IG1vZGlmaWVycy5yZXN1bHRcblxuICBjb25zdCBjb29yZHNBbmREZWx0YXMgPSBbXG4gICAgW2Nvb3Jkcy5zdGFydCwgc3RhcnREZWx0YV0sXG4gICAgW2Nvb3Jkcy5jdXIsIGN1ckRlbHRhXSxcbiAgXVxuXG4gIGZvciAoY29uc3QgW2Nvb3Jkc1NldCwgZGVsdGFdIG9mIGNvb3Jkc0FuZERlbHRhcyBhcyBhbnkpIHtcbiAgICBjb29yZHNTZXQucGFnZS54IC09IGRlbHRhLnhcbiAgICBjb29yZHNTZXQucGFnZS55IC09IGRlbHRhLnlcbiAgICBjb29yZHNTZXQuY2xpZW50LnggLT0gZGVsdGEueFxuICAgIGNvb3Jkc1NldC5jbGllbnQueSAtPSBkZWx0YS55XG4gIH1cblxuICByZWN0LmxlZnQgLT0gcmVjdERlbHRhLmxlZnRcbiAgcmVjdC5yaWdodCAtPSByZWN0RGVsdGEucmlnaHRcbiAgcmVjdC50b3AgLT0gcmVjdERlbHRhLnRvcFxuICByZWN0LmJvdHRvbSAtPSByZWN0RGVsdGEuYm90dG9tXG59XG5cbmZ1bmN0aW9uIHNob3VsZERvIChvcHRpb25zLCBwcmVFbmQ/OiBib29sZWFuLCByZXF1aXJlRW5kT25seT86IGJvb2xlYW4sIHBoYXNlPzogc3RyaW5nKSB7XG4gIHJldHVybiBvcHRpb25zXG4gICAgPyBvcHRpb25zLmVuYWJsZWQgIT09IGZhbHNlICYmXG4gICAgICAocHJlRW5kIHx8ICFvcHRpb25zLmVuZE9ubHkpICYmXG4gICAgICAoIXJlcXVpcmVFbmRPbmx5IHx8IG9wdGlvbnMuZW5kT25seSB8fCBvcHRpb25zLmFsd2F5c09uRW5kKSAmJlxuICAgICAgKG9wdGlvbnMuc2V0U3RhcnQgfHwgcGhhc2UgIT09ICdzdGFydCcpXG4gICAgOiAhcmVxdWlyZUVuZE9ubHlcbn1cblxuZnVuY3Rpb24gZ2V0UmVjdE9mZnNldCAocmVjdCwgY29vcmRzKSB7XG4gIHJldHVybiByZWN0XG4gICAgPyB7XG4gICAgICBsZWZ0ICA6IGNvb3Jkcy54IC0gcmVjdC5sZWZ0LFxuICAgICAgdG9wICAgOiBjb29yZHMueSAtIHJlY3QudG9wLFxuICAgICAgcmlnaHQgOiByZWN0LnJpZ2h0ICAtIGNvb3Jkcy54LFxuICAgICAgYm90dG9tOiByZWN0LmJvdHRvbSAtIGNvb3Jkcy55LFxuICAgIH1cbiAgICA6IHtcbiAgICAgIGxlZnQgIDogMCxcbiAgICAgIHRvcCAgIDogMCxcbiAgICAgIHJpZ2h0IDogMCxcbiAgICAgIGJvdHRvbTogMCxcbiAgICB9XG59XG5cbmZ1bmN0aW9uIG1ha2VNb2RpZmllcjxcbiAgT3B0aW9ucyBleHRlbmRzIHsgZW5hYmxlZD86IGJvb2xlYW4sIFtrZXk6IHN0cmluZ106IGFueSB9XG4+IChtb2R1bGU6IHsgZGVmYXVsdHM6IE9wdGlvbnMsIFtrZXk6IHN0cmluZ106IGFueSB9LCBuYW1lPzogc3RyaW5nKSB7XG4gIGNvbnN0IHsgZGVmYXVsdHMgfSA9IG1vZHVsZVxuICBjb25zdCBtZXRob2RzID0ge1xuICAgIHN0YXJ0OiBtb2R1bGUuc3RhcnQsXG4gICAgc2V0OiBtb2R1bGUuc2V0LFxuICAgIGJlZm9yZUVuZDogbW9kdWxlLmJlZm9yZUVuZCxcbiAgICBzdG9wOiBtb2R1bGUuc3RvcCxcbiAgfVxuXG4gIGNvbnN0IG1vZGlmaWVyID0gKG9wdGlvbnM/OiBQYXJ0aWFsPE9wdGlvbnM+KSA9PiB7XG4gICAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge31cblxuICAgIG9wdGlvbnMuZW5hYmxlZCA9IG9wdGlvbnMuZW5hYmxlZCAhPT0gZmFsc2VcblxuICAgIC8vIGFkZCBtaXNzaW5nIGRlZmF1bHRzIHRvIG9wdGlvbnNcbiAgICBmb3IgKGNvbnN0IHByb3AgaW4gZGVmYXVsdHMpIHtcbiAgICAgIGlmICghKHByb3AgaW4gb3B0aW9ucykpIHtcbiAgICAgICAgb3B0aW9uc1twcm9wXSA9IGRlZmF1bHRzW3Byb3BdXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgb3B0aW9ucywgbWV0aG9kcywgbmFtZSB9XG4gIH1cblxuICBpZiAodHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgLy8gZm9yIGJhY2t3cmFkcyBjb21wYXRpYmlsaXR5XG4gICAgbW9kaWZpZXIuX2RlZmF1bHRzID0gZGVmYXVsdHNcbiAgICBtb2RpZmllci5fbWV0aG9kcyA9IG1ldGhvZHNcbiAgfVxuXG4gIHJldHVybiBtb2RpZmllclxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGlkOiAnbW9kaWZpZXJzL2Jhc2UnLFxuICBpbnN0YWxsLFxuICBzdGFydEFsbCxcbiAgc2V0QWxsLFxuICBwcmVwYXJlU3RhdGVzLFxuICBzdGFydCxcbiAgYmVmb3JlTW92ZSxcbiAgYmVmb3JlRW5kLFxuICBzdG9wLFxuICBzaG91bGREbyxcbiAgZ2V0TW9kaWZpZXJMaXN0LFxuICBnZXRSZWN0T2Zmc2V0LFxuICBtYWtlTW9kaWZpZXIsXG59IGFzIEludGVyYWN0LlBsdWdpblxuXG5leHBvcnQge1xuICBtYWtlTW9kaWZpZXIsXG59XG4iXX0= |
{ | ||
"name": "@interactjs/modifiers", | ||
"version": "1.4.9", | ||
"version": "1.4.10", | ||
"peerDependencies": { | ||
"@interactjs/core": "1.4.9", | ||
"@interactjs/utils": "1.4.9" | ||
"@interactjs/core": "1.4.10", | ||
"@interactjs/utils": "1.4.10" | ||
}, | ||
@@ -8,0 +8,0 @@ "publishConfig": { |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
126811