Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@interactjs/utils

Package Overview
Dependencies
Maintainers
2
Versions
136
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@interactjs/utils - npm Package Compare versions

Comparing version 1.5.1 to 1.5.2

2

browser.js

@@ -66,2 +66,2 @@ import domObjects from './domObjects';

export default browser;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQUUxQixNQUFNLE9BQU8sR0FBRztJQUNkLElBQUk7SUFDSixhQUFhLEVBQUUsSUFBZTtJQUM5QixvQkFBb0IsRUFBRSxJQUFlO0lBQ3JDLE1BQU0sRUFBRSxJQUFlO0lBQ3ZCLEtBQUssRUFBRSxJQUFlO0lBQ3RCLEtBQUssRUFBRSxJQUFlO0lBQ3RCLGFBQWEsRUFBRSxJQUFlO0lBQzlCLHVCQUF1QixFQUFFLElBQWM7SUFDdkMsV0FBVyxFQUFFLElBT1o7SUFDRCxVQUFVLEVBQUUsSUFBYztDQUMzQixDQUFBO0FBRUQsU0FBUyxJQUFJLENBQUUsTUFBTTtJQUNuQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBQ2xDLE1BQU0sU0FBUyxHQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFBO0lBRXZDLHdDQUF3QztJQUN4QyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQztRQUNoRCxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLFlBQVksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXhGLHlDQUF5QztJQUN6QyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLGNBQWMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUE7SUFFOUYsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUUzRCxpRUFBaUU7SUFDakUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2xELFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFaEQsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVsRCwyQ0FBMkM7SUFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssT0FBTztRQUNwRCxPQUFPLENBQUMsYUFBYTtRQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBRXJDLHlCQUF5QjtJQUN6QixPQUFPLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTO1FBQzlELENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxTQUFTO1lBQzVDLENBQUMsQ0FBQyx1QkFBdUI7WUFDekIsQ0FBQyxDQUFDLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxTQUFTO2dCQUN6QyxDQUFDLENBQUMsb0JBQW9CO2dCQUN0QixDQUFDLENBQUMsa0JBQWtCLElBQUksT0FBTyxDQUFDLFNBQVM7b0JBQ3ZDLENBQUMsQ0FBQyxrQkFBa0I7b0JBQ3BCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQTtJQUU3QixPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtRQUNqRCxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ2xELENBQUMsQ0FBQztnQkFDQSxFQUFFLEVBQU0sYUFBYTtnQkFDckIsSUFBSSxFQUFJLGVBQWU7Z0JBQ3ZCLElBQUksRUFBSSxXQUFXO2dCQUNuQixHQUFHLEVBQUssVUFBVTtnQkFDbEIsSUFBSSxFQUFJLGVBQWU7Z0JBQ3ZCLE1BQU0sRUFBRSxpQkFBaUI7YUFDMUI7WUFDRCxDQUFDLENBQUM7Z0JBQ0EsRUFBRSxFQUFNLFdBQVc7Z0JBQ25CLElBQUksRUFBSSxhQUFhO2dCQUNyQixJQUFJLEVBQUksYUFBYTtnQkFDckIsR0FBRyxFQUFLLFlBQVk7Z0JBQ3BCLElBQUksRUFBSSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsZUFBZTthQUN4QixDQUFDO1FBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRVQsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxVQUFVLEdBQUcsY0FBYyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0FBQ3JGLENBQUM7QUFFRCxlQUFlLE9BQU8sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb21PYmplY3RzIGZyb20gJy4vZG9tT2JqZWN0cydcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5pbXBvcnQgd2luIGZyb20gJy4vd2luZG93J1xuXG5jb25zdCBicm93c2VyID0ge1xuICBpbml0LFxuICBzdXBwb3J0c1RvdWNoOiBudWxsIGFzIGJvb2xlYW4sXG4gIHN1cHBvcnRzUG9pbnRlckV2ZW50OiBudWxsIGFzIGJvb2xlYW4sXG4gIGlzSU9TNzogbnVsbCBhcyBib29sZWFuLFxuICBpc0lPUzogbnVsbCBhcyBib29sZWFuLFxuICBpc0llOTogbnVsbCBhcyBib29sZWFuLFxuICBpc09wZXJhTW9iaWxlOiBudWxsIGFzIGJvb2xlYW4sXG4gIHByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yOiBudWxsIGFzIHN0cmluZyxcbiAgcEV2ZW50VHlwZXM6IG51bGwgYXMge1xuICAgIHVwOiBzdHJpbmcsXG4gICAgZG93bjogc3RyaW5nLFxuICAgIG92ZXI6IHN0cmluZyxcbiAgICBvdXQ6IHN0cmluZyxcbiAgICBtb3ZlOiBzdHJpbmcsXG4gICAgY2FuY2VsOiBzdHJpbmcsXG4gIH0sXG4gIHdoZWVsRXZlbnQ6IG51bGwgYXMgc3RyaW5nLFxufVxuXG5mdW5jdGlvbiBpbml0ICh3aW5kb3cpIHtcbiAgY29uc3QgRWxlbWVudCA9IGRvbU9iamVjdHMuRWxlbWVudFxuICBjb25zdCBuYXZpZ2F0b3IgID0gd2luLndpbmRvdy5uYXZpZ2F0b3JcblxuICAvLyBEb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgdG91Y2ggaW5wdXQ/XG4gIGJyb3dzZXIuc3VwcG9ydHNUb3VjaCA9ICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHx8XG4gICAgKGlzLmZ1bmMod2luZG93LkRvY3VtZW50VG91Y2gpICYmIGRvbU9iamVjdHMuZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaClcblxuICAvLyBEb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgUG9pbnRlckV2ZW50c1xuICBicm93c2VyLnN1cHBvcnRzUG9pbnRlckV2ZW50ID0gbmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkICE9PSBmYWxzZSAmJiAhIWRvbU9iamVjdHMuUG9pbnRlckV2ZW50XG5cbiAgYnJvd3Nlci5pc0lPUyA9ICgvaVAoaG9uZXxvZHxhZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSlcblxuICAvLyBzY3JvbGxpbmcgZG9lc24ndCBjaGFuZ2UgdGhlIHJlc3VsdCBvZiBnZXRDbGllbnRSZWN0cyBvbiBpT1MgN1xuICBicm93c2VyLmlzSU9TNyA9ICgvaVAoaG9uZXxvZHxhZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSAmJlxuICAgICAgICAgICAvT1MgN1teXFxkXS8udGVzdChuYXZpZ2F0b3IuYXBwVmVyc2lvbikpXG5cbiAgYnJvd3Nlci5pc0llOSA9IC9NU0lFIDkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudClcblxuICAvLyBPcGVyYSBNb2JpbGUgbXVzdCBiZSBoYW5kbGVkIGRpZmZlcmVudGx5XG4gIGJyb3dzZXIuaXNPcGVyYU1vYmlsZSA9IChuYXZpZ2F0b3IuYXBwTmFtZSA9PT0gJ09wZXJhJyAmJlxuICAgIGJyb3dzZXIuc3VwcG9ydHNUb3VjaCAmJlxuICAgIC9QcmVzdG8vLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpXG5cbiAgLy8gcHJlZml4IG1hdGNoZXNTZWxlY3RvclxuICBicm93c2VyLnByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yID0gJ21hdGNoZXMnIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgPyAnbWF0Y2hlcydcbiAgICA6ICd3ZWJraXRNYXRjaGVzU2VsZWN0b3InIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgICA/ICd3ZWJraXRNYXRjaGVzU2VsZWN0b3InXG4gICAgICA6ICdtb3pNYXRjaGVzU2VsZWN0b3InIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgICAgID8gJ21vek1hdGNoZXNTZWxlY3RvcidcbiAgICAgICAgOiAnb01hdGNoZXNTZWxlY3RvcicgaW4gRWxlbWVudC5wcm90b3R5cGVcbiAgICAgICAgICA/ICdvTWF0Y2hlc1NlbGVjdG9yJ1xuICAgICAgICAgIDogJ21zTWF0Y2hlc1NlbGVjdG9yJ1xuXG4gIGJyb3dzZXIucEV2ZW50VHlwZXMgPSAoYnJvd3Nlci5zdXBwb3J0c1BvaW50ZXJFdmVudFxuICAgID8gKGRvbU9iamVjdHMuUG9pbnRlckV2ZW50ID09PSB3aW5kb3cuTVNQb2ludGVyRXZlbnRcbiAgICAgID8ge1xuICAgICAgICB1cDogICAgICdNU1BvaW50ZXJVcCcsXG4gICAgICAgIGRvd246ICAgJ01TUG9pbnRlckRvd24nLFxuICAgICAgICBvdmVyOiAgICdtb3VzZW92ZXInLFxuICAgICAgICBvdXQ6ICAgICdtb3VzZW91dCcsXG4gICAgICAgIG1vdmU6ICAgJ01TUG9pbnRlck1vdmUnLFxuICAgICAgICBjYW5jZWw6ICdNU1BvaW50ZXJDYW5jZWwnLFxuICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgIHVwOiAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICAgIGRvd246ICAgJ3BvaW50ZXJkb3duJyxcbiAgICAgICAgb3ZlcjogICAncG9pbnRlcm92ZXInLFxuICAgICAgICBvdXQ6ICAgICdwb2ludGVyb3V0JyxcbiAgICAgICAgbW92ZTogICAncG9pbnRlcm1vdmUnLFxuICAgICAgICBjYW5jZWw6ICdwb2ludGVyY2FuY2VsJyxcbiAgICAgIH0pXG4gICAgOiBudWxsKVxuXG4gIC8vIGJlY2F1c2UgV2Via2l0IGFuZCBPcGVyYSBzdGlsbCB1c2UgJ21vdXNld2hlZWwnIGV2ZW50IHR5cGVcbiAgYnJvd3Nlci53aGVlbEV2ZW50ID0gJ29ubW91c2V3aGVlbCcgaW4gZG9tT2JqZWN0cy5kb2N1bWVudCA/ICdtb3VzZXdoZWVsJyA6ICd3aGVlbCdcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnJvd3NlclxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJvd3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImJyb3dzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQUUxQixNQUFNLE9BQU8sR0FBRztJQUNkLElBQUk7SUFDSixhQUFhLEVBQUUsSUFBZTtJQUM5QixvQkFBb0IsRUFBRSxJQUFlO0lBQ3JDLE1BQU0sRUFBRSxJQUFlO0lBQ3ZCLEtBQUssRUFBRSxJQUFlO0lBQ3RCLEtBQUssRUFBRSxJQUFlO0lBQ3RCLGFBQWEsRUFBRSxJQUFlO0lBQzlCLHVCQUF1QixFQUFFLElBQWM7SUFDdkMsV0FBVyxFQUFFLElBT1o7SUFDRCxVQUFVLEVBQUUsSUFBYztDQUMzQixDQUFBO0FBRUQsU0FBUyxJQUFJLENBQUUsTUFBTTtJQUNuQixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBQ2xDLE1BQU0sU0FBUyxHQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFBO0lBRXZDLHdDQUF3QztJQUN4QyxPQUFPLENBQUMsYUFBYSxHQUFHLENBQUMsY0FBYyxJQUFJLE1BQU0sQ0FBQztRQUNoRCxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLFlBQVksTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBRXhGLHlDQUF5QztJQUN6QyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLGNBQWMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUE7SUFFOUYsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtJQUUzRCxpRUFBaUU7SUFDakUsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ2xELFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFFaEQsT0FBTyxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUVsRCwyQ0FBMkM7SUFDM0MsT0FBTyxDQUFDLGFBQWEsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEtBQUssT0FBTztRQUNwRCxPQUFPLENBQUMsYUFBYTtRQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO0lBRXJDLHlCQUF5QjtJQUN6QixPQUFPLENBQUMsdUJBQXVCLEdBQUcsU0FBUyxJQUFJLE9BQU8sQ0FBQyxTQUFTO1FBQzlELENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLHVCQUF1QixJQUFJLE9BQU8sQ0FBQyxTQUFTO1lBQzVDLENBQUMsQ0FBQyx1QkFBdUI7WUFDekIsQ0FBQyxDQUFDLG9CQUFvQixJQUFJLE9BQU8sQ0FBQyxTQUFTO2dCQUN6QyxDQUFDLENBQUMsb0JBQW9CO2dCQUN0QixDQUFDLENBQUMsa0JBQWtCLElBQUksT0FBTyxDQUFDLFNBQVM7b0JBQ3ZDLENBQUMsQ0FBQyxrQkFBa0I7b0JBQ3BCLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQTtJQUU3QixPQUFPLENBQUMsV0FBVyxHQUFHLENBQUMsT0FBTyxDQUFDLG9CQUFvQjtRQUNqRCxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ2xELENBQUMsQ0FBQztnQkFDQSxFQUFFLEVBQU0sYUFBYTtnQkFDckIsSUFBSSxFQUFJLGVBQWU7Z0JBQ3ZCLElBQUksRUFBSSxXQUFXO2dCQUNuQixHQUFHLEVBQUssVUFBVTtnQkFDbEIsSUFBSSxFQUFJLGVBQWU7Z0JBQ3ZCLE1BQU0sRUFBRSxpQkFBaUI7YUFDMUI7WUFDRCxDQUFDLENBQUM7Z0JBQ0EsRUFBRSxFQUFNLFdBQVc7Z0JBQ25CLElBQUksRUFBSSxhQUFhO2dCQUNyQixJQUFJLEVBQUksYUFBYTtnQkFDckIsR0FBRyxFQUFLLFlBQVk7Z0JBQ3BCLElBQUksRUFBSSxhQUFhO2dCQUNyQixNQUFNLEVBQUUsZUFBZTthQUN4QixDQUFDO1FBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBRVQsNkRBQTZEO0lBQzdELE9BQU8sQ0FBQyxVQUFVLEdBQUcsY0FBYyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0FBQ3JGLENBQUM7QUFFRCxlQUFlLE9BQU8sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkb21PYmplY3RzIGZyb20gJy4vZG9tT2JqZWN0cydcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5pbXBvcnQgd2luIGZyb20gJy4vd2luZG93J1xuXG5jb25zdCBicm93c2VyID0ge1xuICBpbml0LFxuICBzdXBwb3J0c1RvdWNoOiBudWxsIGFzIGJvb2xlYW4sXG4gIHN1cHBvcnRzUG9pbnRlckV2ZW50OiBudWxsIGFzIGJvb2xlYW4sXG4gIGlzSU9TNzogbnVsbCBhcyBib29sZWFuLFxuICBpc0lPUzogbnVsbCBhcyBib29sZWFuLFxuICBpc0llOTogbnVsbCBhcyBib29sZWFuLFxuICBpc09wZXJhTW9iaWxlOiBudWxsIGFzIGJvb2xlYW4sXG4gIHByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yOiBudWxsIGFzIHN0cmluZyxcbiAgcEV2ZW50VHlwZXM6IG51bGwgYXMge1xuICAgIHVwOiBzdHJpbmdcbiAgICBkb3duOiBzdHJpbmdcbiAgICBvdmVyOiBzdHJpbmdcbiAgICBvdXQ6IHN0cmluZ1xuICAgIG1vdmU6IHN0cmluZ1xuICAgIGNhbmNlbDogc3RyaW5nXG4gIH0sXG4gIHdoZWVsRXZlbnQ6IG51bGwgYXMgc3RyaW5nLFxufVxuXG5mdW5jdGlvbiBpbml0ICh3aW5kb3cpIHtcbiAgY29uc3QgRWxlbWVudCA9IGRvbU9iamVjdHMuRWxlbWVudFxuICBjb25zdCBuYXZpZ2F0b3IgID0gd2luLndpbmRvdy5uYXZpZ2F0b3JcblxuICAvLyBEb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgdG91Y2ggaW5wdXQ/XG4gIGJyb3dzZXIuc3VwcG9ydHNUb3VjaCA9ICgnb250b3VjaHN0YXJ0JyBpbiB3aW5kb3cpIHx8XG4gICAgKGlzLmZ1bmMod2luZG93LkRvY3VtZW50VG91Y2gpICYmIGRvbU9iamVjdHMuZG9jdW1lbnQgaW5zdGFuY2VvZiB3aW5kb3cuRG9jdW1lbnRUb3VjaClcblxuICAvLyBEb2VzIHRoZSBicm93c2VyIHN1cHBvcnQgUG9pbnRlckV2ZW50c1xuICBicm93c2VyLnN1cHBvcnRzUG9pbnRlckV2ZW50ID0gbmF2aWdhdG9yLnBvaW50ZXJFbmFibGVkICE9PSBmYWxzZSAmJiAhIWRvbU9iamVjdHMuUG9pbnRlckV2ZW50XG5cbiAgYnJvd3Nlci5pc0lPUyA9ICgvaVAoaG9uZXxvZHxhZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSlcblxuICAvLyBzY3JvbGxpbmcgZG9lc24ndCBjaGFuZ2UgdGhlIHJlc3VsdCBvZiBnZXRDbGllbnRSZWN0cyBvbiBpT1MgN1xuICBicm93c2VyLmlzSU9TNyA9ICgvaVAoaG9uZXxvZHxhZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKSAmJlxuICAgICAgICAgICAvT1MgN1teXFxkXS8udGVzdChuYXZpZ2F0b3IuYXBwVmVyc2lvbikpXG5cbiAgYnJvd3Nlci5pc0llOSA9IC9NU0lFIDkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudClcblxuICAvLyBPcGVyYSBNb2JpbGUgbXVzdCBiZSBoYW5kbGVkIGRpZmZlcmVudGx5XG4gIGJyb3dzZXIuaXNPcGVyYU1vYmlsZSA9IChuYXZpZ2F0b3IuYXBwTmFtZSA9PT0gJ09wZXJhJyAmJlxuICAgIGJyb3dzZXIuc3VwcG9ydHNUb3VjaCAmJlxuICAgIC9QcmVzdG8vLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkpXG5cbiAgLy8gcHJlZml4IG1hdGNoZXNTZWxlY3RvclxuICBicm93c2VyLnByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yID0gJ21hdGNoZXMnIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgPyAnbWF0Y2hlcydcbiAgICA6ICd3ZWJraXRNYXRjaGVzU2VsZWN0b3InIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgICA/ICd3ZWJraXRNYXRjaGVzU2VsZWN0b3InXG4gICAgICA6ICdtb3pNYXRjaGVzU2VsZWN0b3InIGluIEVsZW1lbnQucHJvdG90eXBlXG4gICAgICAgID8gJ21vek1hdGNoZXNTZWxlY3RvcidcbiAgICAgICAgOiAnb01hdGNoZXNTZWxlY3RvcicgaW4gRWxlbWVudC5wcm90b3R5cGVcbiAgICAgICAgICA/ICdvTWF0Y2hlc1NlbGVjdG9yJ1xuICAgICAgICAgIDogJ21zTWF0Y2hlc1NlbGVjdG9yJ1xuXG4gIGJyb3dzZXIucEV2ZW50VHlwZXMgPSAoYnJvd3Nlci5zdXBwb3J0c1BvaW50ZXJFdmVudFxuICAgID8gKGRvbU9iamVjdHMuUG9pbnRlckV2ZW50ID09PSB3aW5kb3cuTVNQb2ludGVyRXZlbnRcbiAgICAgID8ge1xuICAgICAgICB1cDogICAgICdNU1BvaW50ZXJVcCcsXG4gICAgICAgIGRvd246ICAgJ01TUG9pbnRlckRvd24nLFxuICAgICAgICBvdmVyOiAgICdtb3VzZW92ZXInLFxuICAgICAgICBvdXQ6ICAgICdtb3VzZW91dCcsXG4gICAgICAgIG1vdmU6ICAgJ01TUG9pbnRlck1vdmUnLFxuICAgICAgICBjYW5jZWw6ICdNU1BvaW50ZXJDYW5jZWwnLFxuICAgICAgfVxuICAgICAgOiB7XG4gICAgICAgIHVwOiAgICAgJ3BvaW50ZXJ1cCcsXG4gICAgICAgIGRvd246ICAgJ3BvaW50ZXJkb3duJyxcbiAgICAgICAgb3ZlcjogICAncG9pbnRlcm92ZXInLFxuICAgICAgICBvdXQ6ICAgICdwb2ludGVyb3V0JyxcbiAgICAgICAgbW92ZTogICAncG9pbnRlcm1vdmUnLFxuICAgICAgICBjYW5jZWw6ICdwb2ludGVyY2FuY2VsJyxcbiAgICAgIH0pXG4gICAgOiBudWxsKVxuXG4gIC8vIGJlY2F1c2UgV2Via2l0IGFuZCBPcGVyYSBzdGlsbCB1c2UgJ21vdXNld2hlZWwnIGV2ZW50IHR5cGVcbiAgYnJvd3Nlci53aGVlbEV2ZW50ID0gJ29ubW91c2V3aGVlbCcgaW4gZG9tT2JqZWN0cy5kb2N1bWVudCA/ICdtb3VzZXdoZWVsJyA6ICd3aGVlbCdcbn1cblxuZXhwb3J0IGRlZmF1bHQgYnJvd3NlclxuIl19

@@ -30,2 +30,2 @@ const domObjects = {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvbU9iamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBYWhCO0lBQ0UsSUFBSTtJQUNKLFFBQVEsRUFBRSxJQUFXO0lBQ3JCLGdCQUFnQixFQUFFLElBQVc7SUFDN0IsVUFBVSxFQUFFLElBQVc7SUFDdkIsYUFBYSxFQUFFLElBQVc7SUFDMUIsb0NBQW9DO0lBQ3BDLGtCQUFrQixFQUFFLElBQVc7SUFDL0IsT0FBTyxFQUFFLElBQVc7SUFDcEIsV0FBVyxFQUFFLElBQVc7SUFDeEIsS0FBSyxFQUFFLElBQVc7SUFDbEIsS0FBSyxFQUFFLElBQVc7SUFDbEIsWUFBWSxFQUFFLElBQVc7Q0FDMUIsQ0FBQTtBQUVELFNBQVMsS0FBSyxLQUFLLENBQUM7QUFFcEIsZUFBZSxVQUFVLENBQUE7QUFFekIsU0FBUyxJQUFJLENBQUUsTUFBYztJQUMzQixNQUFNLEdBQUcsR0FBRyxNQUFhLENBQUE7SUFFekIsVUFBVSxDQUFDLFFBQVEsR0FBYSxHQUFHLENBQUMsUUFBUSxDQUFBO0lBQzVDLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBSyxHQUFHLENBQUMsZ0JBQWdCLElBQU0sS0FBSyxDQUFBO0lBQy9ELFVBQVUsQ0FBQyxVQUFVLEdBQVcsR0FBRyxDQUFDLFVBQVUsSUFBWSxLQUFLLENBQUE7SUFDL0QsVUFBVSxDQUFDLGFBQWEsR0FBUSxHQUFHLENBQUMsYUFBYSxJQUFTLEtBQUssQ0FBQTtJQUMvRCxVQUFVLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQTtJQUMvRCxVQUFVLENBQUMsT0FBTyxHQUFjLEdBQUcsQ0FBQyxPQUFPLElBQWUsS0FBSyxDQUFBO0lBQy9ELFVBQVUsQ0FBQyxXQUFXLEdBQVUsR0FBRyxDQUFDLFdBQVcsSUFBVyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBRTVFLFVBQVUsQ0FBQyxLQUFLLEdBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUNuQyxVQUFVLENBQUMsS0FBSyxHQUFVLEdBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFBO0lBQzVDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZG9tT2JqZWN0czoge1xuICBpbml0OiBhbnksXG4gIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgRG9jdW1lbnRGcmFnbWVudDogdHlwZW9mIERvY3VtZW50RnJhZ21lbnQsXG4gIFNWR0VsZW1lbnQ6IHR5cGVvZiBTVkdFbGVtZW50LFxuICBTVkdTVkdFbGVtZW50OiB0eXBlb2YgU1ZHU1ZHRWxlbWVudCxcbiAgU1ZHRWxlbWVudEluc3RhbmNlOiBhbnksXG4gIEVsZW1lbnQ6IHR5cGVvZiBFbGVtZW50LFxuICBIVE1MRWxlbWVudDogdHlwZW9mIEhUTUxFbGVtZW50LFxuICBFdmVudDogdHlwZW9mIEV2ZW50LFxuICBUb3VjaDogdHlwZW9mIFRvdWNoLFxuICBQb2ludGVyRXZlbnQ6IHR5cGVvZiBQb2ludGVyRXZlbnQsXG59ID1cbntcbiAgaW5pdCxcbiAgZG9jdW1lbnQ6IG51bGwgYXMgYW55LFxuICBEb2N1bWVudEZyYWdtZW50OiBudWxsIGFzIGFueSxcbiAgU1ZHRWxlbWVudDogbnVsbCBhcyBhbnksXG4gIFNWR1NWR0VsZW1lbnQ6IG51bGwgYXMgYW55LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgU1ZHRWxlbWVudEluc3RhbmNlOiBudWxsIGFzIGFueSxcbiAgRWxlbWVudDogbnVsbCBhcyBhbnksXG4gIEhUTUxFbGVtZW50OiBudWxsIGFzIGFueSxcbiAgRXZlbnQ6IG51bGwgYXMgYW55LFxuICBUb3VjaDogbnVsbCBhcyBhbnksXG4gIFBvaW50ZXJFdmVudDogbnVsbCBhcyBhbnksXG59XG5cbmZ1bmN0aW9uIGJsYW5rICgpIHt9XG5cbmV4cG9ydCBkZWZhdWx0IGRvbU9iamVjdHNcblxuZnVuY3Rpb24gaW5pdCAod2luZG93OiBXaW5kb3cpIHtcbiAgY29uc3Qgd2luID0gd2luZG93IGFzIGFueVxuXG4gIGRvbU9iamVjdHMuZG9jdW1lbnQgICAgICAgICAgID0gd2luLmRvY3VtZW50XG4gIGRvbU9iamVjdHMuRG9jdW1lbnRGcmFnbWVudCAgID0gd2luLkRvY3VtZW50RnJhZ21lbnQgICB8fCBibGFua1xuICBkb21PYmplY3RzLlNWR0VsZW1lbnQgICAgICAgICA9IHdpbi5TVkdFbGVtZW50ICAgICAgICAgfHwgYmxhbmtcbiAgZG9tT2JqZWN0cy5TVkdTVkdFbGVtZW50ICAgICAgPSB3aW4uU1ZHU1ZHRWxlbWVudCAgICAgIHx8IGJsYW5rXG4gIGRvbU9iamVjdHMuU1ZHRWxlbWVudEluc3RhbmNlID0gd2luLlNWR0VsZW1lbnRJbnN0YW5jZSB8fCBibGFua1xuICBkb21PYmplY3RzLkVsZW1lbnQgICAgICAgICAgICA9IHdpbi5FbGVtZW50ICAgICAgICAgICAgfHwgYmxhbmtcbiAgZG9tT2JqZWN0cy5IVE1MRWxlbWVudCAgICAgICAgPSB3aW4uSFRNTEVsZW1lbnQgICAgICAgIHx8IGRvbU9iamVjdHMuRWxlbWVudFxuXG4gIGRvbU9iamVjdHMuRXZlbnQgICAgICAgID0gd2luLkV2ZW50XG4gIGRvbU9iamVjdHMuVG91Y2ggICAgICAgID0gd2luLlRvdWNoIHx8IGJsYW5rXG4gIGRvbU9iamVjdHMuUG9pbnRlckV2ZW50ID0gKHdpbi5Qb2ludGVyRXZlbnQgfHwgd2luLk1TUG9pbnRlckV2ZW50KVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tT2JqZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImRvbU9iamVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLEdBYWhCO0lBQ0UsSUFBSTtJQUNKLFFBQVEsRUFBRSxJQUFXO0lBQ3JCLGdCQUFnQixFQUFFLElBQVc7SUFDN0IsVUFBVSxFQUFFLElBQVc7SUFDdkIsYUFBYSxFQUFFLElBQVc7SUFDMUIsb0NBQW9DO0lBQ3BDLGtCQUFrQixFQUFFLElBQVc7SUFDL0IsT0FBTyxFQUFFLElBQVc7SUFDcEIsV0FBVyxFQUFFLElBQVc7SUFDeEIsS0FBSyxFQUFFLElBQVc7SUFDbEIsS0FBSyxFQUFFLElBQVc7SUFDbEIsWUFBWSxFQUFFLElBQVc7Q0FDMUIsQ0FBQTtBQUVELFNBQVMsS0FBSyxLQUFLLENBQUM7QUFFcEIsZUFBZSxVQUFVLENBQUE7QUFFekIsU0FBUyxJQUFJLENBQUUsTUFBYztJQUMzQixNQUFNLEdBQUcsR0FBRyxNQUFhLENBQUE7SUFFekIsVUFBVSxDQUFDLFFBQVEsR0FBYSxHQUFHLENBQUMsUUFBUSxDQUFBO0lBQzVDLFVBQVUsQ0FBQyxnQkFBZ0IsR0FBSyxHQUFHLENBQUMsZ0JBQWdCLElBQU0sS0FBSyxDQUFBO0lBQy9ELFVBQVUsQ0FBQyxVQUFVLEdBQVcsR0FBRyxDQUFDLFVBQVUsSUFBWSxLQUFLLENBQUE7SUFDL0QsVUFBVSxDQUFDLGFBQWEsR0FBUSxHQUFHLENBQUMsYUFBYSxJQUFTLEtBQUssQ0FBQTtJQUMvRCxVQUFVLENBQUMsa0JBQWtCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixJQUFJLEtBQUssQ0FBQTtJQUMvRCxVQUFVLENBQUMsT0FBTyxHQUFjLEdBQUcsQ0FBQyxPQUFPLElBQWUsS0FBSyxDQUFBO0lBQy9ELFVBQVUsQ0FBQyxXQUFXLEdBQVUsR0FBRyxDQUFDLFdBQVcsSUFBVyxVQUFVLENBQUMsT0FBTyxDQUFBO0lBRTVFLFVBQVUsQ0FBQyxLQUFLLEdBQVUsR0FBRyxDQUFDLEtBQUssQ0FBQTtJQUNuQyxVQUFVLENBQUMsS0FBSyxHQUFVLEdBQUcsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFBO0lBQzVDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtBQUNwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgZG9tT2JqZWN0czoge1xuICBpbml0OiBhbnlcbiAgZG9jdW1lbnQ6IERvY3VtZW50XG4gIERvY3VtZW50RnJhZ21lbnQ6IHR5cGVvZiBEb2N1bWVudEZyYWdtZW50XG4gIFNWR0VsZW1lbnQ6IHR5cGVvZiBTVkdFbGVtZW50XG4gIFNWR1NWR0VsZW1lbnQ6IHR5cGVvZiBTVkdTVkdFbGVtZW50XG4gIFNWR0VsZW1lbnRJbnN0YW5jZTogYW55XG4gIEVsZW1lbnQ6IHR5cGVvZiBFbGVtZW50XG4gIEhUTUxFbGVtZW50OiB0eXBlb2YgSFRNTEVsZW1lbnRcbiAgRXZlbnQ6IHR5cGVvZiBFdmVudFxuICBUb3VjaDogdHlwZW9mIFRvdWNoXG4gIFBvaW50ZXJFdmVudDogdHlwZW9mIFBvaW50ZXJFdmVudFxufSA9XG57XG4gIGluaXQsXG4gIGRvY3VtZW50OiBudWxsIGFzIGFueSxcbiAgRG9jdW1lbnRGcmFnbWVudDogbnVsbCBhcyBhbnksXG4gIFNWR0VsZW1lbnQ6IG51bGwgYXMgYW55LFxuICBTVkdTVkdFbGVtZW50OiBudWxsIGFzIGFueSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIFNWR0VsZW1lbnRJbnN0YW5jZTogbnVsbCBhcyBhbnksXG4gIEVsZW1lbnQ6IG51bGwgYXMgYW55LFxuICBIVE1MRWxlbWVudDogbnVsbCBhcyBhbnksXG4gIEV2ZW50OiBudWxsIGFzIGFueSxcbiAgVG91Y2g6IG51bGwgYXMgYW55LFxuICBQb2ludGVyRXZlbnQ6IG51bGwgYXMgYW55LFxufVxuXG5mdW5jdGlvbiBibGFuayAoKSB7fVxuXG5leHBvcnQgZGVmYXVsdCBkb21PYmplY3RzXG5cbmZ1bmN0aW9uIGluaXQgKHdpbmRvdzogV2luZG93KSB7XG4gIGNvbnN0IHdpbiA9IHdpbmRvdyBhcyBhbnlcblxuICBkb21PYmplY3RzLmRvY3VtZW50ICAgICAgICAgICA9IHdpbi5kb2N1bWVudFxuICBkb21PYmplY3RzLkRvY3VtZW50RnJhZ21lbnQgICA9IHdpbi5Eb2N1bWVudEZyYWdtZW50ICAgfHwgYmxhbmtcbiAgZG9tT2JqZWN0cy5TVkdFbGVtZW50ICAgICAgICAgPSB3aW4uU1ZHRWxlbWVudCAgICAgICAgIHx8IGJsYW5rXG4gIGRvbU9iamVjdHMuU1ZHU1ZHRWxlbWVudCAgICAgID0gd2luLlNWR1NWR0VsZW1lbnQgICAgICB8fCBibGFua1xuICBkb21PYmplY3RzLlNWR0VsZW1lbnRJbnN0YW5jZSA9IHdpbi5TVkdFbGVtZW50SW5zdGFuY2UgfHwgYmxhbmtcbiAgZG9tT2JqZWN0cy5FbGVtZW50ICAgICAgICAgICAgPSB3aW4uRWxlbWVudCAgICAgICAgICAgIHx8IGJsYW5rXG4gIGRvbU9iamVjdHMuSFRNTEVsZW1lbnQgICAgICAgID0gd2luLkhUTUxFbGVtZW50ICAgICAgICB8fCBkb21PYmplY3RzLkVsZW1lbnRcblxuICBkb21PYmplY3RzLkV2ZW50ICAgICAgICA9IHdpbi5FdmVudFxuICBkb21PYmplY3RzLlRvdWNoICAgICAgICA9IHdpbi5Ub3VjaCB8fCBibGFua1xuICBkb21PYmplY3RzLlBvaW50ZXJFdmVudCA9ICh3aW4uUG9pbnRlckV2ZW50IHx8IHdpbi5NU1BvaW50ZXJFdmVudClcbn1cbiJdfQ==

@@ -42,3 +42,3 @@ import browser from './browser';

}
const getParent = (el) => el.parentNode ? el.parentNode : el.host;
const getParent = el => el.parentNode ? el.parentNode : el.host;
// Test for the element that's "above" all other qualifiers

@@ -192,2 +192,2 @@ export function indexOfDeepestElement(elements) {

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21VdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQUUxQixNQUFNLFVBQVUsWUFBWSxDQUFFLE1BQVksRUFBRSxLQUFXO0lBQ3JELE9BQU8sS0FBSyxFQUFFO1FBQ1osSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtLQUN6QjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUUsT0FBTyxFQUFFLFFBQVE7SUFDeEMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtZQUFFLE9BQU8sT0FBTyxDQUFBO1NBQUU7UUFFMUQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtLQUM5QjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUUsSUFBSTtJQUM5QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBRTVCLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN0QixrQ0FBa0M7UUFDbEMsMkJBQTJCO1FBQzNCLE9BQU8sQ0FBQyxNQUFNLEdBQUksTUFBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUQsU0FBUTtTQUNUO1FBRUQs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SUFFdkMsK0NBQStDO0lBQy9DLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ3hDLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBicm93c2VyIGZyb20gJy4vYnJvd3NlcidcbmltcG9ydCBkb21PYmplY3RzIGZyb20gJy4vZG9tT2JqZWN0cydcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5pbXBvcnQgd2luIGZyb20gJy4vd2luZG93J1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUNvbnRhaW5zIChwYXJlbnQ6IE5vZGUsIGNoaWxkOiBOb2RlKSB7XG4gIHdoaWxlIChjaGlsZCkge1xuICAgIGlmIChjaGlsZCA9PT0gcGFyZW50KSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGNoaWxkID0gY2hpbGQucGFyZW50Tm9kZVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9zZXN0IChlbGVtZW50LCBzZWxlY3Rvcikge1xuICB3aGlsZSAoaXMuZWxlbWVudChlbGVtZW50KSkge1xuICAgIGlmIChtYXRjaGVzU2VsZWN0b3IoZWxlbWVudCwgc2VsZWN0b3IpKSB7IHJldHVybiBlbGVtZW50IH1cblxuICAgIGVsZW1lbnQgPSBwYXJlbnROb2RlKGVsZW1lbnQpXG4gIH1cblxuICByZXR1cm4gbnVsbFxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyZW50Tm9kZSAobm9kZSkge1xuICBsZXQgcGFyZW50ID0gbm9kZS5wYXJlbnROb2RlXG5cbiAgaWYgKGlzLmRvY0ZyYWcocGFyZW50KSkge1xuICAgIC8vIHNraXAgcGFzdCAjc2hhZG8tcm9vdCBmcmFnbWVudHNcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB3aGlsZSAoKHBhcmVudCA9IChwYXJlbnQgYXMgYW55KS5ob3N0KSAmJiBpcy5kb2NGcmFnKHBhcmVudCkpIHtcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcmVudFxuICB9XG5cbiAgcmV0dXJuIHBhcmVudFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc1NlbGVjdG9yIChlbGVtZW50LCBzZWxlY3Rvcikge1xuICAvLyByZW1vdmUgL2RlZXAvIGZyb20gc2VsZWN0b3JzIGlmIHNoYWRvd0RPTSBwb2x5ZmlsbCBpcyB1c2VkXG4gIGlmICh3aW4ud2luZG93ICE9PSB3aW4ucmVhbFdpbmRvdykge1xuICAgIHNlbGVjdG9yID0gc2VsZWN0b3IucmVwbGFjZSgvXFwvZGVlcFxcLy9nLCAnICcpXG4gIH1cblxuICByZXR1cm4gZWxlbWVudFticm93c2VyLnByZWZpeGVkTWF0Y2hlc1NlbGVjdG9yXShzZWxlY3Rvcilcbn1cblxuY29uc3QgZ2V0UGFyZW50ID0gKGVsKSA9PiBlbC5wYXJlbnROb2RlID8gZWwucGFyZW50Tm9kZSA6IGVsLmhvc3RcblxuLy8gVGVzdCBmb3IgdGhlIGVsZW1lbnQgdGhhdCdzIFwiYWJvdmVcIiBhbGwgb3RoZXIgcXVhbGlmaWVyc1xuZXhwb3J0IGZ1bmN0aW9uIGluZGV4T2ZEZWVwZXN0RWxlbWVudCAoZWxlbWVudHMpIHtcbiAgbGV0IGRlZXBlc3Rab25lUGFyZW50cyA9IFtdXG4gIGxldCBkcm9wem9uZVBhcmVudHMgPSBbXVxuICBsZXQgZHJvcHpvbmVcbiAgbGV0IGRlZXBlc3Rab25lID0gZWxlbWVudHNbMF1cbiAgbGV0IGluZGV4ID0gZGVlcGVzdFpvbmUgPyAwIDogLTFcbiAgbGV0IHBhcmVudFxuICBsZXQgY2hpbGRcbiAgbGV0IGlcbiAgbGV0IG5cblxuICBmb3IgKGkgPSAxOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBkcm9wem9uZSA9IGVsZW1lbnRzW2ldXG5cbiAgICAvLyBhbiBlbGVtZW50IG1pZ2h0IGJlbG9uZyB0byBtdWx0aXBsZSBzZWxlY3RvciBkcm9wem9uZXNcbiAgICBpZiAoIWRyb3B6b25lIHx8IGRyb3B6b25lID09PSBkZWVwZXN0Wm9uZSkge1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBpZiAoIWRlZXBlc3Rab25lKSB7XG4gICAgICBkZWVwZXN0Wm9uZSA9IGRyb3B6b25lXG4gICAgICBpbmRleCA9IGlcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gY2hlY2sgaWYgdGhlIGRlZXBlc3Qgb3IgY3VycmVudCBhcmUgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IG9yIGRvY3VtZW50LnJvb3RFbGVtZW50XG4gICAgLy8gLSBpZiB0aGUgY3VycmVudCBkcm9wem9uZSBpcywgZG8gbm90aGluZyBhbmQgY29udGludWVcbiAgICBpZiAoZHJvcHpvbmUucGFyZW50Tm9kZSA9PT0gZHJvcHpvbmUub3duZXJEb2N1bWVudCkge1xuICAgICAgY29udGludWVcbiAgICB9XG4gICAgLy8gLSBpZiBkZWVwZXN0IGlzLCB1cGRhdGUgd2l0aCB0aGUgY3VycmVudCBkcm9wem9uZSBhbmQgY29udGludWUgdG8gbmV4dFxuICAgIGVsc2UgaWYgKGRlZXBlc3Rab25lLnBhcmVudE5vZGUgPT09IGRyb3B6b25lLm93bmVyRG9jdW1lbnQpIHtcbiAgICAgIGRlZXBlc3Rab25lID0gZHJvcHpvbmVcbiAgICAgIGluZGV4ID0gaVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICBpZiAoIWRlZXBlc3Rab25lUGFyZW50cy5sZW5ndGgpIHtcbiAgICAgIHBhcmVudCA9IGRlZXBlc3Rab25lXG4gICAgICB3aGlsZSAoZ2V0UGFyZW50KHBhcmVudCkgJiYgZ2V0UGFyZW50KHBhcmVudCkgIT09IHBhcmVudC5vd25lckRvY3VtZW50KSB7XG4gICAgICAgIGRlZXBlc3Rab25lUGFyZW50cy51bnNoaWZ0KHBhcmVudClcbiAgICAgICAgcGFyZW50ID0gZ2V0UGFyZW50KHBhcmVudClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBpZiB0aGlzIGVsZW1lbnQgaXMgYW4gc3ZnIGVsZW1lbnQgYW5kIHRoZSBjdXJyZW50IGRlZXBlc3QgaXNcbiAgICAvLyBhbiBIVE1MRWxlbWVudFxuICAgIGlmIChkZWVwZXN0Wm9uZSBpbnN0YW5jZW9mIGRvbU9iamVjdHMuSFRNTEVsZW1lbnQgJiZcbiAgICAgICAgZHJvcHpvbmUgaW5zdGFuY2VvZiBkb21PYmplY3RzLlNWR0VsZW1lbnQgJiZcbiAgICAgICAgIShkcm9wem9uZSBpbnN0YW5jZW9mIGRvbU9iamVjdHMuU1ZHU1ZHRWxlbWVudCkpIHtcbiAgICAgIGlmIChkcm9wem9uZSA9PT0gZGVlcGVzdFpvbmUucGFyZW50Tm9kZSkge1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuXG4gICAgICBwYXJlbnQgPSBkcm9wem9uZS5vd25lclNWR0VsZW1lbnRcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBwYXJlbnQgPSBkcm9wem9uZVxuICAgIH1cblxuICAgIGRyb3B6b25lUGFyZW50cyA9IFtdXG5cbiAgICB3aGlsZSAocGFyZW50LnBhcmVudE5vZGUgIT09IHBhcmVudC5vd25lckRvY3VtZW50KSB7XG4gICAgICBkcm9wem9uZVBhcmVudHMudW5zaGlmdChwYXJlbnQpXG4gICAgICBwYXJlbnQgPSBnZXRQYXJlbnQocGFyZW50KVxuICAgIH1cblxuICAgIG4gPSAwXG5cbiAgICAvLyBnZXQgKHBvc2l0aW9uIG9mIGxhc3QgY29tbW9uIGFuY2VzdG9yKSArIDFcbiAgICB3aGlsZSAoZHJvcHpvbmVQYXJlbnRzW25dICYmIGRyb3B6b25lUGFyZW50c1tuXSA9PT0gZGVlcGVzdFpvbmVQYXJlbnRzW25dKSB7XG4gICAgICBuKytcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnRzID0gW1xuICAgICAgZHJvcHpvbmVQYXJlbnRzW24gLSAxXSxcbiAgICAgIGRyb3B6b25lUGFyZW50c1tuXSxcbiAgICAgIGRlZXBlc3Rab25lUGFyZW50c1tuXSxcbiAgICBdXG5cbiAgICBjaGlsZCA9IHBhcmVudHNbMF0ubGFzdENoaWxkXG5cbiAgICB3aGlsZSAoY2hpbGQpIHtcbiAgICAgIGlmIChjaGlsZCA9PT0gcGFyZW50c1sxXSkge1xuICAgICAgICBkZWVwZXN0Wm9uZSA9IGRyb3B6b25lXG4gICAgICAgIGluZGV4ID0gaVxuICAgICAgICBkZWVwZXN0Wm9uZVBhcmVudHMgPSBbXVxuXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBlbHNlIGlmIChjaGlsZCA9PT0gcGFyZW50c1syXSkge1xuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjaGlsZCA9IGNoaWxkLnByZXZpb3VzU2libGluZ1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBpbmRleFxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hlc1VwVG8gKGVsZW1lbnQ6IEVsZW1lbnQsIHNlbGVjdG9yOiBzdHJpbmcsIGxpbWl0OiBOb2RlKSB7XG4gIHdoaWxlIChpcy5lbGVtZW50KGVsZW1lbnQpKSB7XG4gICAgaWYgKG1hdGNoZXNTZWxlY3RvcihlbGVtZW50LCBzZWxlY3RvcikpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgZWxlbWVudCA9IHBhcmVudE5vZGUoZWxlbWVudClcblxuICAgIGlmIChlbGVtZW50ID09PSBsaW1pdCkge1xuICAgICAgcmV0dXJuIG1hdGNoZXNTZWxlY3RvcihlbGVtZW50LCBzZWxlY3RvcilcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFjdHVhbEVsZW1lbnQgKGVsZW1lbnQpIHtcbiAgcmV0dXJuIChlbGVtZW50IGluc3RhbmNlb2YgZG9tT2JqZWN0cy5TVkdFbGVtZW50SW5zdGFuY2VcbiAgICA/IGVsZW1lbnQuY29ycmVzcG9uZGluZ1VzZUVsZW1lbnRcbiAgICA6IGVsZW1lbnQpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRTY3JvbGxYWSAocmVsZXZhbnRXaW5kb3cpIHtcbiAgcmVsZXZhbnRXaW5kb3cgPSByZWxldmFudFdpbmRvdyB8fCB3aW4ud2luZG93XG4gIHJldHVybiB7XG4gICAgeDogcmVsZXZhbnRXaW5kb3cuc2Nyb2xsWCB8fCByZWxldmFudFdpbmRvdy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCxcbiAgICB5OiByZWxldmFudFdpbmRvdy5zY3JvbGxZIHx8IHJlbGV2YW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3AsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRDbGllbnRSZWN0IChlbGVtZW50KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSAoZWxlbWVudCBpbnN0YW5jZW9mIGRvbU9iamVjdHMuU1ZHRWxlbWVudFxuICAgID8gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIDogZWxlbWVudC5nZXRDbGllbnRSZWN0cygpWzBdKVxuXG4gIHJldHVybiBjbGllbnRSZWN0ICYmIHtcbiAgICBsZWZ0ICA6IGNsaWVudFJlY3QubGVmdCxcbiAgICByaWdodCA6IGNsaWVudFJlY3QucmlnaHQsXG4gICAgdG9wICAgOiBjbGllbnRSZWN0LnRvcCxcbiAgICBib3R0b206IGNsaWVudFJlY3QuYm90dG9tLFxuICAgIHdpZHRoIDogY2xpZW50UmVjdC53aWR0aCAgfHwgY2xpZW50UmVjdC5yaWdodCAgLSBjbGllbnRSZWN0LmxlZnQsXG4gICAgaGVpZ2h0OiBjbGllbnRSZWN0LmhlaWdodCB8fCBjbGllbnRSZWN0LmJvdHRvbSAtIGNsaWVudFJlY3QudG9wLFxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFbGVtZW50UmVjdCAoZWxlbWVudCkge1xuICBjb25zdCBjbGllbnRSZWN0ID0gZ2V0RWxlbWVudENsaWVudFJlY3QoZWxlbWVudClcblxuICBpZiAoIWJyb3dzZXIuaXNJT1M3ICYmIGNsaWVudFJlY3QpIHtcbiAgICBjb25zdCBzY3JvbGwgPSBnZXRTY3JvbGxYWSh3aW4uZ2V0V2luZG93KGVsZW1lbnQpKVxuXG4gICAgY2xpZW50UmVjdC5sZWZ0ICAgKz0gc2Nyb2xsLnhcbiAgICBjbGllbnRSZWN0LnJpZ2h0ICArPSBzY3JvbGwueFxuICAgIGNsaWVudFJlY3QudG9wICAgICs9IHNjcm9sbC55XG4gICAgY2xpZW50UmVjdC5ib3R0b20gKz0gc2Nyb2xsLnlcbiAgfVxuXG4gIHJldHVybiBjbGllbnRSZWN0XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRQYXRoIChub2RlKSB7XG4gIGNvbnN0IHBhdGggPSBbXVxuXG4gIHdoaWxlIChub2RlKSB7XG4gICAgcGF0aC5wdXNoKG5vZGUpXG4gICAgbm9kZSA9IHBhcmVudE5vZGUobm9kZSlcbiAgfVxuXG4gIHJldHVybiBwYXRoXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0cnlTZWxlY3RvciAodmFsdWUpIHtcbiAgaWYgKCFpcy5zdHJpbmcodmFsdWUpKSB7IHJldHVybiBmYWxzZSB9XG5cbiAgLy8gYW4gZXhjZXB0aW9uIHdpbGwgYmUgcmFpc2VkIGlmIGl0IGlzIGludmFsaWRcbiAgZG9tT2JqZWN0cy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHZhbHVlKVxuICByZXR1cm4gdHJ1ZVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkb21VdGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxXQUFXLENBQUE7QUFDL0IsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzFCLE9BQU8sR0FBRyxNQUFNLFVBQVUsQ0FBQTtBQUUxQixNQUFNLFVBQVUsWUFBWSxDQUFFLE1BQVksRUFBRSxLQUFXO0lBQ3JELE9BQU8sS0FBSyxFQUFFO1FBQ1osSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFBO1NBQ1o7UUFFRCxLQUFLLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQTtLQUN6QjtJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUUsT0FBTyxFQUFFLFFBQVE7SUFDeEMsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQzFCLElBQUksZUFBZSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsRUFBRTtZQUFFLE9BQU8sT0FBTyxDQUFBO1NBQUU7UUFFMUQsT0FBTyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQTtLQUM5QjtJQUVELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUUsSUFBSTtJQUM5QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFBO0lBRTVCLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN0QixrQ0FBa0M7UUFDbEMsMkJBQTJCO1FBQzNCLE9BQU8sQ0FBQyxNQUFNLEdBQUksTUFBYyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUQsU0FBUTtTQUNUO1FBRUQs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LCtDQUErQztJQUMvQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUN4QyxPQUFPLElBQUksQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYnJvd3NlciBmcm9tICcuL2Jyb3dzZXInXG5pbXBvcnQgZG9tT2JqZWN0cyBmcm9tICcuL2RvbU9iamVjdHMnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuaW1wb3J0IHdpbiBmcm9tICcuL3dpbmRvdydcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVDb250YWlucyAocGFyZW50OiBOb2RlLCBjaGlsZDogTm9kZSkge1xuICB3aGlsZSAoY2hpbGQpIHtcbiAgICBpZiAoY2hpbGQgPT09IHBhcmVudCkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBjaGlsZCA9IGNoaWxkLnBhcmVudE5vZGVcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvc2VzdCAoZWxlbWVudCwgc2VsZWN0b3IpIHtcbiAgd2hpbGUgKGlzLmVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBpZiAobWF0Y2hlc1NlbGVjdG9yKGVsZW1lbnQsIHNlbGVjdG9yKSkgeyByZXR1cm4gZWxlbWVudCB9XG5cbiAgICBlbGVtZW50ID0gcGFyZW50Tm9kZShlbGVtZW50KVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcmVudE5vZGUgKG5vZGUpIHtcbiAgbGV0IHBhcmVudCA9IG5vZGUucGFyZW50Tm9kZVxuXG4gIGlmIChpcy5kb2NGcmFnKHBhcmVudCkpIHtcbiAgICAvLyBza2lwIHBhc3QgI3NoYWRvLXJvb3QgZnJhZ21lbnRzXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgd2hpbGUgKChwYXJlbnQgPSAocGFyZW50IGFzIGFueSkuaG9zdCkgJiYgaXMuZG9jRnJhZyhwYXJlbnQpKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIHJldHVybiBwYXJlbnRcbiAgfVxuXG4gIHJldHVybiBwYXJlbnRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1hdGNoZXNTZWxlY3RvciAoZWxlbWVudCwgc2VsZWN0b3IpIHtcbiAgLy8gcmVtb3ZlIC9kZWVwLyBmcm9tIHNlbGVjdG9ycyBpZiBzaGFkb3dET00gcG9seWZpbGwgaXMgdXNlZFxuICBpZiAod2luLndpbmRvdyAhPT0gd2luLnJlYWxXaW5kb3cpIHtcbiAgICBzZWxlY3RvciA9IHNlbGVjdG9yLnJlcGxhY2UoL1xcL2RlZXBcXC8vZywgJyAnKVxuICB9XG5cbiAgcmV0dXJuIGVsZW1lbnRbYnJvd3Nlci5wcmVmaXhlZE1hdGNoZXNTZWxlY3Rvcl0oc2VsZWN0b3IpXG59XG5cbmNvbnN0IGdldFBhcmVudCA9IGVsID0+IGVsLnBhcmVudE5vZGUgPyBlbC5wYXJlbnROb2RlIDogZWwuaG9zdFxuXG4vLyBUZXN0IGZvciB0aGUgZWxlbWVudCB0aGF0J3MgXCJhYm92ZVwiIGFsbCBvdGhlciBxdWFsaWZpZXJzXG5leHBvcnQgZnVuY3Rpb24gaW5kZXhPZkRlZXBlc3RFbGVtZW50IChlbGVtZW50cykge1xuICBsZXQgZGVlcGVzdFpvbmVQYXJlbnRzID0gW11cbiAgbGV0IGRyb3B6b25lUGFyZW50cyA9IFtdXG4gIGxldCBkcm9wem9uZVxuICBsZXQgZGVlcGVzdFpvbmUgPSBlbGVtZW50c1swXVxuICBsZXQgaW5kZXggPSBkZWVwZXN0Wm9uZSA/IDAgOiAtMVxuICBsZXQgcGFyZW50XG4gIGxldCBjaGlsZFxuICBsZXQgaVxuICBsZXQgblxuXG4gIGZvciAoaSA9IDE7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIGRyb3B6b25lID0gZWxlbWVudHNbaV1cblxuICAgIC8vIGFuIGVsZW1lbnQgbWlnaHQgYmVsb25nIHRvIG11bHRpcGxlIHNlbGVjdG9yIGRyb3B6b25lc1xuICAgIGlmICghZHJvcHpvbmUgfHwgZHJvcHpvbmUgPT09IGRlZXBlc3Rab25lKSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGlmICghZGVlcGVzdFpvbmUpIHtcbiAgICAgIGRlZXBlc3Rab25lID0gZHJvcHpvbmVcbiAgICAgIGluZGV4ID0gaVxuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgZGVlcGVzdCBvciBjdXJyZW50IGFyZSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgb3IgZG9jdW1lbnQucm9vdEVsZW1lbnRcbiAgICAvLyAtIGlmIHRoZSBjdXJyZW50IGRyb3B6b25lIGlzLCBkbyBub3RoaW5nIGFuZCBjb250aW51ZVxuICAgIGlmIChkcm9wem9uZS5wYXJlbnROb2RlID09PSBkcm9wem9uZS5vd25lckRvY3VtZW50KSB7XG4gICAgICBjb250aW51ZVxuICAgIH1cbiAgICAvLyAtIGlmIGRlZXBlc3QgaXMsIHVwZGF0ZSB3aXRoIHRoZSBjdXJyZW50IGRyb3B6b25lIGFuZCBjb250aW51ZSB0byBuZXh0XG4gICAgZWxzZSBpZiAoZGVlcGVzdFpvbmUucGFyZW50Tm9kZSA9PT0gZHJvcHpvbmUub3duZXJEb2N1bWVudCkge1xuICAgICAgZGVlcGVzdFpvbmUgPSBkcm9wem9uZVxuICAgICAgaW5kZXggPSBpXG4gICAgICBjb250aW51ZVxuICAgIH1cblxuICAgIGlmICghZGVlcGVzdFpvbmVQYXJlbnRzLmxlbmd0aCkge1xuICAgICAgcGFyZW50ID0gZGVlcGVzdFpvbmVcbiAgICAgIHdoaWxlIChnZXRQYXJlbnQocGFyZW50KSAmJiBnZXRQYXJlbnQocGFyZW50KSAhPT0gcGFyZW50Lm93bmVyRG9jdW1lbnQpIHtcbiAgICAgICAgZGVlcGVzdFpvbmVQYXJlbnRzLnVuc2hpZnQocGFyZW50KVxuICAgICAgICBwYXJlbnQgPSBnZXRQYXJlbnQocGFyZW50KVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGlmIHRoaXMgZWxlbWVudCBpcyBhbiBzdmcgZWxlbWVudCBhbmQgdGhlIGN1cnJlbnQgZGVlcGVzdCBpc1xuICAgIC8vIGFuIEhUTUxFbGVtZW50XG4gICAgaWYgKGRlZXBlc3Rab25lIGluc3RhbmNlb2YgZG9tT2JqZWN0cy5IVE1MRWxlbWVudCAmJlxuICAgICAgICBkcm9wem9uZSBpbnN0YW5jZW9mIGRvbU9iamVjdHMuU1ZHRWxlbWVudCAmJlxuICAgICAgICAhKGRyb3B6b25lIGluc3RhbmNlb2YgZG9tT2JqZWN0cy5TVkdTVkdFbGVtZW50KSkge1xuICAgICAgaWYgKGRyb3B6b25lID09PSBkZWVwZXN0Wm9uZS5wYXJlbnROb2RlKSB7XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIHBhcmVudCA9IGRyb3B6b25lLm93bmVyU1ZHRWxlbWVudFxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHBhcmVudCA9IGRyb3B6b25lXG4gICAgfVxuXG4gICAgZHJvcHpvbmVQYXJlbnRzID0gW11cblxuICAgIHdoaWxlIChwYXJlbnQucGFyZW50Tm9kZSAhPT0gcGFyZW50Lm93bmVyRG9jdW1lbnQpIHtcbiAgICAgIGRyb3B6b25lUGFyZW50cy51bnNoaWZ0KHBhcmVudClcbiAgICAgIHBhcmVudCA9IGdldFBhcmVudChwYXJlbnQpXG4gICAgfVxuXG4gICAgbiA9IDBcblxuICAgIC8vIGdldCAocG9zaXRpb24gb2YgbGFzdCBjb21tb24gYW5jZXN0b3IpICsgMVxuICAgIHdoaWxlIChkcm9wem9uZVBhcmVudHNbbl0gJiYgZHJvcHpvbmVQYXJlbnRzW25dID09PSBkZWVwZXN0Wm9uZVBhcmVudHNbbl0pIHtcbiAgICAgIG4rK1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudHMgPSBbXG4gICAgICBkcm9wem9uZVBhcmVudHNbbiAtIDFdLFxuICAgICAgZHJvcHpvbmVQYXJlbnRzW25dLFxuICAgICAgZGVlcGVzdFpvbmVQYXJlbnRzW25dLFxuICAgIF1cblxuICAgIGNoaWxkID0gcGFyZW50c1swXS5sYXN0Q2hpbGRcblxuICAgIHdoaWxlIChjaGlsZCkge1xuICAgICAgaWYgKGNoaWxkID09PSBwYXJlbnRzWzFdKSB7XG4gICAgICAgIGRlZXBlc3Rab25lID0gZHJvcHpvbmVcbiAgICAgICAgaW5kZXggPSBpXG4gICAgICAgIGRlZXBlc3Rab25lUGFyZW50cyA9IFtdXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGNoaWxkID09PSBwYXJlbnRzWzJdKSB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNoaWxkID0gY2hpbGQucHJldmlvdXNTaWJsaW5nXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGluZGV4XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaGVzVXBUbyAoZWxlbWVudDogRWxlbWVudCwgc2VsZWN0b3I6IHN0cmluZywgbGltaXQ6IE5vZGUpIHtcbiAgd2hpbGUgKGlzLmVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBpZiAobWF0Y2hlc1NlbGVjdG9yKGVsZW1lbnQsIHNlbGVjdG9yKSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICBlbGVtZW50ID0gcGFyZW50Tm9kZShlbGVtZW50KVxuXG4gICAgaWYgKGVsZW1lbnQgPT09IGxpbWl0KSB7XG4gICAgICByZXR1cm4gbWF0Y2hlc1NlbGVjdG9yKGVsZW1lbnQsIHNlbGVjdG9yKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWN0dWFsRWxlbWVudCAoZWxlbWVudCkge1xuICByZXR1cm4gKGVsZW1lbnQgaW5zdGFuY2VvZiBkb21PYmplY3RzLlNWR0VsZW1lbnRJbnN0YW5jZVxuICAgID8gZWxlbWVudC5jb3JyZXNwb25kaW5nVXNlRWxlbWVudFxuICAgIDogZWxlbWVudClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcm9sbFhZIChyZWxldmFudFdpbmRvdykge1xuICByZWxldmFudFdpbmRvdyA9IHJlbGV2YW50V2luZG93IHx8IHdpbi53aW5kb3dcbiAgcmV0dXJuIHtcbiAgICB4OiByZWxldmFudFdpbmRvdy5zY3JvbGxYIHx8IHJlbGV2YW50V2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0LFxuICAgIHk6IHJlbGV2YW50V2luZG93LnNjcm9sbFkgfHwgcmVsZXZhbnRXaW5kb3cuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcCxcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RWxlbWVudENsaWVudFJlY3QgKGVsZW1lbnQpIHtcbiAgY29uc3QgY2xpZW50UmVjdCA9IChlbGVtZW50IGluc3RhbmNlb2YgZG9tT2JqZWN0cy5TVkdFbGVtZW50XG4gICAgPyBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgOiBlbGVtZW50LmdldENsaWVudFJlY3RzKClbMF0pXG5cbiAgcmV0dXJuIGNsaWVudFJlY3QgJiYge1xuICAgIGxlZnQgIDogY2xpZW50UmVjdC5sZWZ0LFxuICAgIHJpZ2h0IDogY2xpZW50UmVjdC5yaWdodCxcbiAgICB0b3AgICA6IGNsaWVudFJlY3QudG9wLFxuICAgIGJvdHRvbTogY2xpZW50UmVjdC5ib3R0b20sXG4gICAgd2lkdGggOiBjbGllbnRSZWN0LndpZHRoICB8fCBjbGllbnRSZWN0LnJpZ2h0ICAtIGNsaWVudFJlY3QubGVmdCxcbiAgICBoZWlnaHQ6IGNsaWVudFJlY3QuaGVpZ2h0IHx8IGNsaWVudFJlY3QuYm90dG9tIC0gY2xpZW50UmVjdC50b3AsXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVsZW1lbnRSZWN0IChlbGVtZW50KSB7XG4gIGNvbnN0IGNsaWVudFJlY3QgPSBnZXRFbGVtZW50Q2xpZW50UmVjdChlbGVtZW50KVxuXG4gIGlmICghYnJvd3Nlci5pc0lPUzcgJiYgY2xpZW50UmVjdCkge1xuICAgIGNvbnN0IHNjcm9sbCA9IGdldFNjcm9sbFhZKHdpbi5nZXRXaW5kb3coZWxlbWVudCkpXG5cbiAgICBjbGllbnRSZWN0LmxlZnQgICArPSBzY3JvbGwueFxuICAgIGNsaWVudFJlY3QucmlnaHQgICs9IHNjcm9sbC54XG4gICAgY2xpZW50UmVjdC50b3AgICAgKz0gc2Nyb2xsLnlcbiAgICBjbGllbnRSZWN0LmJvdHRvbSArPSBzY3JvbGwueVxuICB9XG5cbiAgcmV0dXJuIGNsaWVudFJlY3Rcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhdGggKG5vZGUpIHtcbiAgY29uc3QgcGF0aCA9IFtdXG5cbiAgd2hpbGUgKG5vZGUpIHtcbiAgICBwYXRoLnB1c2gobm9kZSlcbiAgICBub2RlID0gcGFyZW50Tm9kZShub2RlKVxuICB9XG5cbiAgcmV0dXJuIHBhdGhcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyeVNlbGVjdG9yICh2YWx1ZSkge1xuICBpZiAoIWlzLnN0cmluZyh2YWx1ZSkpIHsgcmV0dXJuIGZhbHNlIH1cblxuICAvLyBhbiBleGNlcHRpb24gd2lsbCBiZSByYWlzZWQgaWYgaXQgaXMgaW52YWxpZFxuICBkb21PYmplY3RzLmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodmFsdWUpXG4gIHJldHVybiB0cnVlXG59XG4iXX0=

@@ -221,2 +221,2 @@ import { contains } from './arr';

export default events;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDaEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUIsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUE7QUFDckMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUE7QUFJekMsTUFBTSxRQUFRLEdBQWtCLEVBQUUsQ0FBQTtBQUNsQyxNQUFNLE9BQU8sR0FHUixFQUFFLENBQUE7QUFFUCxNQUFNLGVBQWUsR0FNakIsRUFBRSxDQUFBO0FBQ04sTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFBO0FBRWhDLFNBQVMsR0FBRyxDQUFFLE9BQW9CLEVBQUUsSUFBWSxFQUFFLFFBQWtCLEVBQUUsV0FBMkI7SUFDL0YsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRWxDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLEdBQUc7WUFDUCxNQUFNLEVBQUUsRUFBRTtZQUNWLFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQTtRQUVELFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ3JCO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENB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LEVBQUUsS0FBSztJQUV0QixTQUFTLEVBQUUsUUFBUTtJQUNuQixRQUFRLEVBQUUsT0FBTztJQUVqQixJQUFJLENBQUUsTUFBYztRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2xFLElBQUksT0FBTyxLQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUN6RCxJQUFJLE9BQU8sS0FBTSxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7U0FDMUQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFFRCxlQUFlLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnRhaW5zIH0gZnJvbSAnLi9hcnInXG5pbXBvcnQgKiBhcyBkb21VdGlscyBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnLi9pcydcbmltcG9ydCBwRXh0ZW5kIGZyb20gJy4vcG9pbnRlckV4dGVuZCdcbmltcG9ydCBwb2ludGVyVXRpbHMgZnJvbSAnLi9wb2ludGVyVXRpbHMnXG5cbnR5cGUgTGlzdGVuZXIgPSAoZXZlbnQ6IEV2ZW50IHwgRmFrZUV2ZW50KSA9PiBhbnlcblxuY29uc3QgZWxlbWVudHM6IEV2ZW50VGFyZ2V0W10gPSBbXVxuY29uc3QgdGFyZ2V0czogQXJyYXk8e1xuICBldmVudHM6IHsgW3R5cGU6IHN0cmluZ106IExpc3RlbmVyW10gfSxcbiAgdHlwZUNvdW50OiBudW1iZXIsXG59PiA9IFtdXG5cbmNvbnN0IGRlbGVnYXRlZEV2ZW50czoge1xuICBbdHlwZTogc3RyaW5nXToge1xuICAgIHNlbGVjdG9yczogc3RyaW5nW10sXG4gICAgY29udGV4dHM6IE5vZGVbXSxcbiAgICBsaXN0ZW5lcnM6IEFycmF5PEFycmF5PFtMaXN0ZW5lciwgYm9vbGVhbiwgYm9vbGVhbl0+PixcbiAgfSxcbn0gPSB7fVxuY29uc3QgZG9jdW1lbnRzOiBEb2N1bWVudFtdID0gW11cblxuZnVuY3Rpb24gYWRkIChlbGVtZW50OiBFdmVudFRhcmdldCwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYm9vbGVhbiB8IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgbGV0IGVsZW1lbnRJbmRleCA9IGVsZW1lbnRzLmluZGV4T2YoZWxlbWVudClcbiAgbGV0IHRhcmdldCA9IHRhcmdldHNbZWxlbWVudEluZGV4XVxuXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgdGFyZ2V0ID0ge1xuICAgICAgZXZlbnRzOiB7fSxcbiAgICAgIHR5cGVDb3VudDogMCxcbiAgICB9XG5cbiAgICBlbGVtZW50SW5kZXggPSBlbGVtZW50cy5wdXNoKGVsZW1lbnQpIC0gMVxuICAgIHRhcmdldHMucHVzaCh0YXJnZXQpXG4gIH1cblxuICBpZiAoIXRhcmdldC5ldmVudHNbdHlwZV0pIHtcbiAgICB0YXJnZXQuZXZlbnRzW3R5cGVdID0gW11cbiAgICB0YXJnZXQudHlwZUNvdW50KytcbiAgfVxuXG4gIGlmICghY29udGFpbnModGFyZ2V0LmV2ZW50c1t0eXBlXSwgbGlzdGVuZXIpKSB7XG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyIGFzIGFueSwgZXZlbnRzLnN1cHBvcnRzT3B0aW9ucyA/IG9wdGlvbnMgOiAhIW9wdGlvbnMuY2FwdHVyZSlcbiAgICB0YXJnZXQuZXZlbnRzW3R5cGVdLnB1c2gobGlzdGVuZXIpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlIChlbGVtZW50OiBFdmVudFRhcmdldCwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcj86ICdhbGwnIHwgTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYm9vbGVhbiB8IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgY29uc3QgZWxlbWVudEluZGV4ID0gZWxlbWVudHMuaW5kZXhPZihlbGVtZW50KVxuICBjb25zdCB0YXJnZXQgPSB0YXJnZXRzW2VsZW1lbnRJbmRleF1cblxuICBpZiAoIXRhcmdldCB8fCAhdGFyZ2V0LmV2ZW50cykge1xuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdhbGwnKSB7XG4gICAgZm9yICh0eXBlIGluIHRhcmdldC5ldmVudHMpIHtcbiAgICAgIGlmICh0YXJnZXQuZXZlbnRzLmhhc093blByb3BlcnR5KHR5cGUpKSB7XG4gICAgICAgIHJlbW92ZShlbGVtZW50LCB0eXBlLCAnYWxsJylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAodGFyZ2V0LmV2ZW50c1t0eXBlXSkge1xuICAgIGNvbnN0IGxlbiA9IHRhcmdldC5ldmVudHNbdHlwZV0ubGVuZ3RoXG5cbiAgICBpZiAobGlzdGVuZXIgPT09ICdhbGwnKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHJlbW92ZShlbGVtZW50LCB0eXBlLCB0YXJnZXQuZXZlbnRzW3R5cGVdW2ldLCBvcHRpb25zKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBpZiAodGFyZ2V0LmV2ZW50c1t0eXBlXVtpXSA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIgYXMgYW55LCBldmVudHMuc3VwcG9ydHNPcHRpb25zID8gb3B0aW9ucyA6ICEhb3B0aW9ucy5jYXB0dXJlKVxuICAgICAgICAgIHRhcmdldC5ldmVudHNbdHlwZV0uc3BsaWNlKGksIDEpXG5cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldC5ldmVudHNbdHlwZV0gJiYgdGFyZ2V0LmV2ZW50c1t0eXBlXS5sZW5ndGggPT09IDApIHtcbiAgICAgICh0YXJnZXQuZXZlbnRzW3R5cGVdIGFzIGFueSkgPSBudWxsXG4gICAgICB0YXJnZXQudHlwZUNvdW50LS1cbiAgICB9XG4gIH1cblxuICBpZiAoIXRhcmdldC50eXBlQ291bnQpIHtcbiAgICB0YXJnZXRzLnNwbGljZShlbGVtZW50SW5kZXgsIDEpXG4gICAgZWxlbWVudHMuc3BsaWNlKGVsZW1lbnRJbmRleCwgMSlcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGREZWxlZ2F0ZSAoc2VsZWN0b3I6IHN0cmluZywgY29udGV4dDogTm9kZSwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYW55KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbmFsQXJnKVxuICBpZiAoIWRlbGVnYXRlZEV2ZW50c1t0eXBlXSkge1xuICAgIGRlbGVnYXRlZEV2ZW50c1t0eXBlXSA9IHtcbiAgICAgIGNvbnRleHRzIDogW10sXG4gICAgICBsaXN0ZW5lcnM6IFtdLFxuICAgICAgc2VsZWN0b3JzOiBbXSxcbiAgICB9XG5cbiAgICAvLyBhZGQgZGVsZWdhdGUgbGlzdGVuZXIgZnVuY3Rpb25zXG4gICAgZm9yIChjb25zdCBkb2Mgb2YgZG9jdW1lbnRzKSB7XG4gICAgICBhZGQoZG9jLCB0eXBlLCBkZWxlZ2F0ZUxpc3RlbmVyKVxuICAgICAgYWRkKGRvYywgdHlwZSwgZGVsZWdhdGVVc2VDYXB0dXJlLCB0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRlbGVnYXRlZCA9IGRlbGVnYXRlZEV2ZW50c1t0eXBlXVxuICBsZXQgaW5kZXhcblxuICBmb3IgKGluZGV4ID0gZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgaWYgKGRlbGVnYXRlZC5zZWxlY3RvcnNbaW5kZXhdID09PSBzZWxlY3RvciAmJlxuICAgICAgICBkZWxlZ2F0ZWQuY29udGV4dHNbaW5kZXhdID09PSBjb250ZXh0KSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICBpbmRleCA9IGRlbGVnYXRlZC5zZWxlY3RvcnMubGVuZ3RoXG5cbiAgICBkZWxlZ2F0ZWQuc2VsZWN0b3JzLnB1c2goc2VsZWN0b3IpXG4gICAgZGVsZWdhdGVkLmNvbnRleHRzLnB1c2goY29udGV4dClcbiAgICBkZWxlZ2F0ZWQubGlzdGVuZXJzLnB1c2goW10pXG4gIH1cblxuICAvLyBrZWVwIGxpc3RlbmVyIGFuZCBjYXB0dXJlIGFuZCBwYXNzaXZlIGZsYWdzXG4gIGRlbGVnYXRlZC5saXN0ZW5lcnNbaW5kZXhdLnB1c2goW2xpc3RlbmVyLCAhIW9wdGlvbnMuY2FwdHVyZSwgb3B0aW9ucy5wYXNzaXZlXSlcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRGVsZWdhdGUgKHNlbGVjdG9yLCBjb250ZXh0LCB0eXBlLCBsaXN0ZW5lcj8sIG9wdGlvbmFsQXJnPzogYW55KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbmFsQXJnKVxuICBjb25zdCBkZWxlZ2F0ZWQgPSBkZWxlZ2F0ZWRFdmVudHNbdHlwZV1cbiAgbGV0IG1hdGNoRm91bmQgPSBmYWxzZVxuICBsZXQgaW5kZXhcblxuICBpZiAoIWRlbGVnYXRlZCkgeyByZXR1cm4gfVxuXG4gIC8vIGNvdW50IGZyb20gbGFzdCBpbmRleCBvZiBkZWxlZ2F0ZWQgdG8gMFxuICBmb3IgKGluZGV4ID0gZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgLy8gbG9vayBmb3IgbWF0Y2hpbmcgc2VsZWN0b3IgYW5kIGNvbnRleHQgTm9kZVxuICAgIGlmIChkZWxlZ2F0ZWQuc2VsZWN0b3JzW2luZGV4XSA9PT0gc2VsZWN0b3IgJiZcbiAgICAgICAgZGVsZWdhdGVkLmNvbnRleHRzW2luZGV4XSA9PT0gY29udGV4dCkge1xuICAgICAgY29uc3QgbGlzdGVuZXJzID0gZGVsZWdhdGVkLmxpc3RlbmVyc1tpbmRleF1cblxuICAgICAgLy8gZWFjaCBpdGVtIG9mIHRoZSBsaXN0ZW5lcnMgYXJyYXkgaXMgYW4gYXJyYXk6IFtmdW5jdGlvbiwgY2FwdHVyZSwgcGFzc2l2ZV1cbiAgICAgIGZvciAobGV0IGkgPSBsaXN0ZW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgY29uc3QgW2ZuLCBjYXB0dXJlLCBwYXNzaXZlXSA9IGxpc3RlbmVyc1tpXVxuXG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBsaXN0ZW5lciBmdW5jdGlvbnMgYW5kIGNhcHR1cmUgYW5kIHBhc3NpdmUgZmxhZ3MgbWF0Y2hcbiAgICAgICAgaWYgKGZuID09PSBsaXN0ZW5lciAmJiBjYXB0dXJlID09PSAhIW9wdGlvbnMuY2FwdHVyZSAmJiBwYXNzaXZlID09PSBvcHRpb25zLnBhc3NpdmUpIHtcbiAgICAgICAgICAvLyByZW1vdmUgdGhlIGxpc3RlbmVyIGZyb20gdGhlIGFycmF5IG9mIGxpc3RlbmVyc1xuICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSlcblxuICAgICAgICAgIC8vIGlmIGFsbCBsaXN0ZW5lcnMgZm9yIHRoaXMgaW50ZXJhY3RhYmxlIGhhdmUgYmVlbiByZW1vdmVkXG4gICAgICAgICAgLy8gcmVtb3ZlIHRoZSBpbnRlcmFjdGFibGUgZnJvbSB0aGUgZGVsZWdhdGVkIGFycmF5c1xuICAgICAgICAgIGlmICghbGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgZGVsZWdhdGVkLnNlbGVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICAgICAgICBkZWxlZ2F0ZWQuY29udGV4dHMuc3BsaWNlKGluZGV4LCAxKVxuICAgICAgICAgICAgZGVsZWdhdGVkLmxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpXG5cbiAgICAgICAgICAgIC8vIHJlbW92ZSBkZWxlZ2F0ZSBmdW5jdGlvbiBmcm9tIGNvbnRleHRcbiAgICAgICAgICAgIHJlbW92ZShjb250ZXh0LCB0eXBlLCBkZWxlZ2F0ZUxpc3RlbmVyKVxuICAgICAgICAgICAgcmVtb3ZlKGNvbnRleHQsIHR5cGUsIGRlbGVnYXRlVXNlQ2FwdHVyZSwgdHJ1ZSlcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBhcnJheXMgaWYgdGhleSBhcmUgZW1wdHlcbiAgICAgICAgICAgIGlmICghZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZGVsZWdhdGVkRXZlbnRzW3R5cGVdID0gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIG9ubHkgcmVtb3ZlIG9uZSBsaXN0ZW5lclxuICAgICAgICAgIG1hdGNoRm91bmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2hGb3VuZCkgeyBicmVhayB9XG4gICAgfVxuICB9XG59XG5cbi8vIGJvdW5kIHRvIHRoZSBpbnRlcmFjdGFibGUgY29udGV4dCB3aGVuIGEgRE9NIGV2ZW50XG4vLyBsaXN0ZW5lciBpcyBhZGRlZCB0byBhIHNlbGVjdG9yIGludGVyYWN0YWJsZVxuZnVuY3Rpb24gZGVsZWdhdGVMaXN0ZW5lciAoZXZlbnQ6IEV2ZW50LCBvcHRpb25hbEFyZz86IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgY29uc3QgZmFrZUV2ZW50ID0gbmV3IEZha2VFdmVudChldmVudClcbiAgY29uc3QgZGVsZWdhdGVkID0gZGVsZWdhdGVkRXZlbnRzW2V2ZW50LnR5cGVdXG4gIGNvbnN0IFtldmVudFRhcmdldF0gPSAocG9pbnRlclV0aWxzLmdldEV2ZW50VGFyZ2V0cyhldmVudCkpXG4gIGxldCBlbGVtZW50ID0gZXZlbnRUYXJnZXRcblxuICAvLyBjbGltYiB1cCBkb2N1bWVudCB0cmVlIGxvb2tpbmcgZm9yIHNlbGVjdG9yIG1hdGNoZXNcbiAgd2hpbGUgKGlzLmVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbGVnYXRlZC5zZWxlY3RvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHNlbGVjdG9yID0gZGVsZWdhdGVkLnNlbGVjdG9yc1tpXVxuICAgICAgY29uc3QgY29udGV4dCA9IGRlbGVnYXRlZC5jb250ZXh0c1tpXVxuXG4gICAgICBpZiAoZG9tVXRpbHMubWF0Y2hlc1NlbGVjdG9yKGVsZW1lbnQsIHNlbGVjdG9yKSAmJlxuICAgICAgICAgIGRvbVV0aWxzLm5vZGVDb250YWlucyhjb250ZXh0LCBldmVudFRhcmdldCkgJiZcbiAgICAgICAgICBkb21VdGlscy5ub2RlQ29udGFpbnMoY29udGV4dCwgZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gZGVsZWdhdGVkLmxpc3RlbmVyc1tpXVxuXG4gICAgICAgIGZha2VFdmVudC5jdXJyZW50VGFyZ2V0ID0gZWxlbWVudFxuXG4gICAgICAgIGZvciAoY29uc3QgW2ZuLCBjYXB0dXJlLCBwYXNzaXZlXSBvZiBsaXN0ZW5lcnMpIHtcbiAgICAgICAgICBpZiAoY2FwdHVyZSA9PT0gISFvcHRpb25zLmNhcHR1cmUgJiYgcGFzc2l2ZSA9PT0gb3B0aW9ucy5wYXNzaXZlKSB7XG4gICAgICAgICAgICBmbihmYWtlRXZlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGRvbVV0aWxzLnBhcmVudE5vZGUoZWxlbWVudClcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxlZ2F0ZVVzZUNhcHR1cmUgKGV2ZW50OiBFdmVudCkge1xuICByZXR1cm4gZGVsZWdhdGVMaXN0ZW5lci5jYWxsKHRoaXMsIGV2ZW50LCB0cnVlKVxufVxuXG5mdW5jdGlvbiBnZXRPcHRpb25zIChwYXJhbSkge1xuICByZXR1cm4gaXMub2JqZWN0KHBhcmFtKSA/IHBhcmFtIDogeyBjYXB0dXJlOiBwYXJhbSB9XG59XG5cbmV4cG9ydCBjbGFzcyBGYWtlRXZlbnQgaW1wbGVtZW50cyBQYXJ0aWFsPEV2ZW50PiB7XG4gIGN1cnJlbnRUYXJnZXQ6IEV2ZW50VGFyZ2V0XG5cbiAgY29uc3RydWN0b3IgKHB1YmxpYyBvcmlnaW5hbEV2ZW50KSB7XG4gICAgLy8gZHVwbGljYXRlIHRoZSBldmVudCBzbyB0aGF0IGN1cnJlbnRUYXJnZXQgY2FuIGJlIGNoYW5nZWRcbiAgICBwRXh0ZW5kKHRoaXMsIG9yaWdpbmFsRXZlbnQpXG4gIH1cblxuICBwcmV2ZW50T3JpZ2luYWxEZWZhdWx0ICgpIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgc3RvcFByb3BhZ2F0aW9uICgpIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuXG4gIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiAoKSB7XG4gICAgdGhpcy5vcmlnaW5hbEV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gIH1cbn1cblxuY29uc3QgZXZlbnRzID0ge1xuICBhZGQsXG4gIHJlbW92ZSxcblxuICBhZGREZWxlZ2F0ZSxcbiAgcmVtb3ZlRGVsZWdhdGUsXG5cbiAgZGVsZWdhdGVMaXN0ZW5lcixcbiAgZGVsZWdhdGVVc2VDYXB0dXJlLFxuICBkZWxlZ2F0ZWRFdmVudHMsXG4gIGRvY3VtZW50cyxcblxuICBzdXBwb3J0c09wdGlvbnM6IGZhbHNlLFxuICBzdXBwb3J0c1Bhc3NpdmU6IGZhbHNlLFxuXG4gIF9lbGVtZW50czogZWxlbWVudHMsXG4gIF90YXJnZXRzOiB0YXJnZXRzLFxuXG4gIGluaXQgKHdpbmRvdzogV2luZG93KSB7XG4gICAgd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBudWxsLCB7XG4gICAgICBnZXQgY2FwdHVyZSAoKSB7IHJldHVybiAoZXZlbnRzLnN1cHBvcnRzT3B0aW9ucyA9IHRydWUpIH0sXG4gICAgICBnZXQgcGFzc2l2ZSAoKSB7IHJldHVybiAoZXZlbnRzLnN1cHBvcnRzUGFzc2l2ZSA9IHRydWUpIH0sXG4gICAgfSlcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZXZlbnRzXG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUE7QUFDaEMsT0FBTyxLQUFLLFFBQVEsTUFBTSxZQUFZLENBQUE7QUFDdEMsT0FBTyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDMUIsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUE7QUFDckMsT0FBTyxZQUFZLE1BQU0sZ0JBQWdCLENBQUE7QUFJekMsTUFBTSxRQUFRLEdBQWtCLEVBQUUsQ0FBQTtBQUNsQyxNQUFNLE9BQU8sR0FHUixFQUFFLENBQUE7QUFFUCxNQUFNLGVBQWUsR0FNakIsRUFBRSxDQUFBO0FBQ04sTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFBO0FBRWhDLFNBQVMsR0FBRyxDQUFFLE9BQW9CLEVBQUUsSUFBWSxFQUFFLFFBQWtCLEVBQUUsV0FBMkI7SUFDL0YsTUFBTSxPQUFPLEdBQUcsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7SUFDNUMsSUFBSSxNQUFNLEdBQUcsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFBO0lBRWxDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLEdBQUc7WUFDUCxNQUFNLEVBQUUsRUFBRTtZQUNWLFNBQVMsRUFBRSxDQUFDO1NBQ2IsQ0FBQTtRQUVELFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ3JCO0lBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDeEIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENB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LEVBQUUsS0FBSztJQUV0QixTQUFTLEVBQUUsUUFBUTtJQUNuQixRQUFRLEVBQUUsT0FBTztJQUVqQixJQUFJLENBQUUsTUFBYztRQUNsQixNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2xFLElBQUksT0FBTyxLQUFNLE9BQU8sQ0FBQyxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxDQUFBLENBQUMsQ0FBQztZQUN6RCxJQUFJLE9BQU8sS0FBTSxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsQ0FBQSxDQUFDLENBQUM7U0FDMUQsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUE7QUFFRCxlQUFlLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbnRhaW5zIH0gZnJvbSAnLi9hcnInXG5pbXBvcnQgKiBhcyBkb21VdGlscyBmcm9tICcuL2RvbVV0aWxzJ1xuaW1wb3J0ICogYXMgaXMgZnJvbSAnLi9pcydcbmltcG9ydCBwRXh0ZW5kIGZyb20gJy4vcG9pbnRlckV4dGVuZCdcbmltcG9ydCBwb2ludGVyVXRpbHMgZnJvbSAnLi9wb2ludGVyVXRpbHMnXG5cbnR5cGUgTGlzdGVuZXIgPSAoZXZlbnQ6IEV2ZW50IHwgRmFrZUV2ZW50KSA9PiBhbnlcblxuY29uc3QgZWxlbWVudHM6IEV2ZW50VGFyZ2V0W10gPSBbXVxuY29uc3QgdGFyZ2V0czogQXJyYXk8e1xuICBldmVudHM6IHsgW3R5cGU6IHN0cmluZ106IExpc3RlbmVyW10gfVxuICB0eXBlQ291bnQ6IG51bWJlclxufT4gPSBbXVxuXG5jb25zdCBkZWxlZ2F0ZWRFdmVudHM6IHtcbiAgW3R5cGU6IHN0cmluZ106IHtcbiAgICBzZWxlY3RvcnM6IHN0cmluZ1tdXG4gICAgY29udGV4dHM6IE5vZGVbXVxuICAgIGxpc3RlbmVyczogQXJyYXk8QXJyYXk8W0xpc3RlbmVyLCBib29sZWFuLCBib29sZWFuXT4+XG4gIH1cbn0gPSB7fVxuY29uc3QgZG9jdW1lbnRzOiBEb2N1bWVudFtdID0gW11cblxuZnVuY3Rpb24gYWRkIChlbGVtZW50OiBFdmVudFRhcmdldCwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYm9vbGVhbiB8IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgbGV0IGVsZW1lbnRJbmRleCA9IGVsZW1lbnRzLmluZGV4T2YoZWxlbWVudClcbiAgbGV0IHRhcmdldCA9IHRhcmdldHNbZWxlbWVudEluZGV4XVxuXG4gIGlmICghdGFyZ2V0KSB7XG4gICAgdGFyZ2V0ID0ge1xuICAgICAgZXZlbnRzOiB7fSxcbiAgICAgIHR5cGVDb3VudDogMCxcbiAgICB9XG5cbiAgICBlbGVtZW50SW5kZXggPSBlbGVtZW50cy5wdXNoKGVsZW1lbnQpIC0gMVxuICAgIHRhcmdldHMucHVzaCh0YXJnZXQpXG4gIH1cblxuICBpZiAoIXRhcmdldC5ldmVudHNbdHlwZV0pIHtcbiAgICB0YXJnZXQuZXZlbnRzW3R5cGVdID0gW11cbiAgICB0YXJnZXQudHlwZUNvdW50KytcbiAgfVxuXG4gIGlmICghY29udGFpbnModGFyZ2V0LmV2ZW50c1t0eXBlXSwgbGlzdGVuZXIpKSB7XG4gICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHR5cGUsIGxpc3RlbmVyIGFzIGFueSwgZXZlbnRzLnN1cHBvcnRzT3B0aW9ucyA/IG9wdGlvbnMgOiAhIW9wdGlvbnMuY2FwdHVyZSlcbiAgICB0YXJnZXQuZXZlbnRzW3R5cGVdLnB1c2gobGlzdGVuZXIpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVtb3ZlIChlbGVtZW50OiBFdmVudFRhcmdldCwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcj86ICdhbGwnIHwgTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYm9vbGVhbiB8IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgY29uc3QgZWxlbWVudEluZGV4ID0gZWxlbWVudHMuaW5kZXhPZihlbGVtZW50KVxuICBjb25zdCB0YXJnZXQgPSB0YXJnZXRzW2VsZW1lbnRJbmRleF1cblxuICBpZiAoIXRhcmdldCB8fCAhdGFyZ2V0LmV2ZW50cykge1xuICAgIHJldHVyblxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdhbGwnKSB7XG4gICAgZm9yICh0eXBlIGluIHRhcmdldC5ldmVudHMpIHtcbiAgICAgIGlmICh0YXJnZXQuZXZlbnRzLmhhc093blByb3BlcnR5KHR5cGUpKSB7XG4gICAgICAgIHJlbW92ZShlbGVtZW50LCB0eXBlLCAnYWxsJylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuXG4gIH1cblxuICBpZiAodGFyZ2V0LmV2ZW50c1t0eXBlXSkge1xuICAgIGNvbnN0IGxlbiA9IHRhcmdldC5ldmVudHNbdHlwZV0ubGVuZ3RoXG5cbiAgICBpZiAobGlzdGVuZXIgPT09ICdhbGwnKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHJlbW92ZShlbGVtZW50LCB0eXBlLCB0YXJnZXQuZXZlbnRzW3R5cGVdW2ldLCBvcHRpb25zKVxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBpZiAodGFyZ2V0LmV2ZW50c1t0eXBlXVtpXSA9PT0gbGlzdGVuZXIpIHtcbiAgICAgICAgICBlbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIgYXMgYW55LCBldmVudHMuc3VwcG9ydHNPcHRpb25zID8gb3B0aW9ucyA6ICEhb3B0aW9ucy5jYXB0dXJlKVxuICAgICAgICAgIHRhcmdldC5ldmVudHNbdHlwZV0uc3BsaWNlKGksIDEpXG5cbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRhcmdldC5ldmVudHNbdHlwZV0gJiYgdGFyZ2V0LmV2ZW50c1t0eXBlXS5sZW5ndGggPT09IDApIHtcbiAgICAgICh0YXJnZXQuZXZlbnRzW3R5cGVdIGFzIGFueSkgPSBudWxsXG4gICAgICB0YXJnZXQudHlwZUNvdW50LS1cbiAgICB9XG4gIH1cblxuICBpZiAoIXRhcmdldC50eXBlQ291bnQpIHtcbiAgICB0YXJnZXRzLnNwbGljZShlbGVtZW50SW5kZXgsIDEpXG4gICAgZWxlbWVudHMuc3BsaWNlKGVsZW1lbnRJbmRleCwgMSlcbiAgfVxufVxuXG5mdW5jdGlvbiBhZGREZWxlZ2F0ZSAoc2VsZWN0b3I6IHN0cmluZywgY29udGV4dDogTm9kZSwgdHlwZTogc3RyaW5nLCBsaXN0ZW5lcjogTGlzdGVuZXIsIG9wdGlvbmFsQXJnPzogYW55KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbmFsQXJnKVxuICBpZiAoIWRlbGVnYXRlZEV2ZW50c1t0eXBlXSkge1xuICAgIGRlbGVnYXRlZEV2ZW50c1t0eXBlXSA9IHtcbiAgICAgIGNvbnRleHRzIDogW10sXG4gICAgICBsaXN0ZW5lcnM6IFtdLFxuICAgICAgc2VsZWN0b3JzOiBbXSxcbiAgICB9XG5cbiAgICAvLyBhZGQgZGVsZWdhdGUgbGlzdGVuZXIgZnVuY3Rpb25zXG4gICAgZm9yIChjb25zdCBkb2Mgb2YgZG9jdW1lbnRzKSB7XG4gICAgICBhZGQoZG9jLCB0eXBlLCBkZWxlZ2F0ZUxpc3RlbmVyKVxuICAgICAgYWRkKGRvYywgdHlwZSwgZGVsZWdhdGVVc2VDYXB0dXJlLCB0cnVlKVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRlbGVnYXRlZCA9IGRlbGVnYXRlZEV2ZW50c1t0eXBlXVxuICBsZXQgaW5kZXhcblxuICBmb3IgKGluZGV4ID0gZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgaWYgKGRlbGVnYXRlZC5zZWxlY3RvcnNbaW5kZXhdID09PSBzZWxlY3RvciAmJlxuICAgICAgICBkZWxlZ2F0ZWQuY29udGV4dHNbaW5kZXhdID09PSBjb250ZXh0KSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgfVxuXG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICBpbmRleCA9IGRlbGVnYXRlZC5zZWxlY3RvcnMubGVuZ3RoXG5cbiAgICBkZWxlZ2F0ZWQuc2VsZWN0b3JzLnB1c2goc2VsZWN0b3IpXG4gICAgZGVsZWdhdGVkLmNvbnRleHRzLnB1c2goY29udGV4dClcbiAgICBkZWxlZ2F0ZWQubGlzdGVuZXJzLnB1c2goW10pXG4gIH1cblxuICAvLyBrZWVwIGxpc3RlbmVyIGFuZCBjYXB0dXJlIGFuZCBwYXNzaXZlIGZsYWdzXG4gIGRlbGVnYXRlZC5saXN0ZW5lcnNbaW5kZXhdLnB1c2goW2xpc3RlbmVyLCAhIW9wdGlvbnMuY2FwdHVyZSwgb3B0aW9ucy5wYXNzaXZlXSlcbn1cblxuZnVuY3Rpb24gcmVtb3ZlRGVsZWdhdGUgKHNlbGVjdG9yLCBjb250ZXh0LCB0eXBlLCBsaXN0ZW5lcj8sIG9wdGlvbmFsQXJnPzogYW55KSB7XG4gIGNvbnN0IG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbmFsQXJnKVxuICBjb25zdCBkZWxlZ2F0ZWQgPSBkZWxlZ2F0ZWRFdmVudHNbdHlwZV1cbiAgbGV0IG1hdGNoRm91bmQgPSBmYWxzZVxuICBsZXQgaW5kZXhcblxuICBpZiAoIWRlbGVnYXRlZCkgeyByZXR1cm4gfVxuXG4gIC8vIGNvdW50IGZyb20gbGFzdCBpbmRleCBvZiBkZWxlZ2F0ZWQgdG8gMFxuICBmb3IgKGluZGV4ID0gZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgLy8gbG9vayBmb3IgbWF0Y2hpbmcgc2VsZWN0b3IgYW5kIGNvbnRleHQgTm9kZVxuICAgIGlmIChkZWxlZ2F0ZWQuc2VsZWN0b3JzW2luZGV4XSA9PT0gc2VsZWN0b3IgJiZcbiAgICAgICAgZGVsZWdhdGVkLmNvbnRleHRzW2luZGV4XSA9PT0gY29udGV4dCkge1xuICAgICAgY29uc3QgbGlzdGVuZXJzID0gZGVsZWdhdGVkLmxpc3RlbmVyc1tpbmRleF1cblxuICAgICAgLy8gZWFjaCBpdGVtIG9mIHRoZSBsaXN0ZW5lcnMgYXJyYXkgaXMgYW4gYXJyYXk6IFtmdW5jdGlvbiwgY2FwdHVyZSwgcGFzc2l2ZV1cbiAgICAgIGZvciAobGV0IGkgPSBsaXN0ZW5lcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgICAgY29uc3QgW2ZuLCBjYXB0dXJlLCBwYXNzaXZlXSA9IGxpc3RlbmVyc1tpXVxuXG4gICAgICAgIC8vIGNoZWNrIGlmIHRoZSBsaXN0ZW5lciBmdW5jdGlvbnMgYW5kIGNhcHR1cmUgYW5kIHBhc3NpdmUgZmxhZ3MgbWF0Y2hcbiAgICAgICAgaWYgKGZuID09PSBsaXN0ZW5lciAmJiBjYXB0dXJlID09PSAhIW9wdGlvbnMuY2FwdHVyZSAmJiBwYXNzaXZlID09PSBvcHRpb25zLnBhc3NpdmUpIHtcbiAgICAgICAgICAvLyByZW1vdmUgdGhlIGxpc3RlbmVyIGZyb20gdGhlIGFycmF5IG9mIGxpc3RlbmVyc1xuICAgICAgICAgIGxpc3RlbmVycy5zcGxpY2UoaSwgMSlcblxuICAgICAgICAgIC8vIGlmIGFsbCBsaXN0ZW5lcnMgZm9yIHRoaXMgaW50ZXJhY3RhYmxlIGhhdmUgYmVlbiByZW1vdmVkXG4gICAgICAgICAgLy8gcmVtb3ZlIHRoZSBpbnRlcmFjdGFibGUgZnJvbSB0aGUgZGVsZWdhdGVkIGFycmF5c1xuICAgICAgICAgIGlmICghbGlzdGVuZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgZGVsZWdhdGVkLnNlbGVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICAgICAgICBkZWxlZ2F0ZWQuY29udGV4dHMuc3BsaWNlKGluZGV4LCAxKVxuICAgICAgICAgICAgZGVsZWdhdGVkLmxpc3RlbmVycy5zcGxpY2UoaW5kZXgsIDEpXG5cbiAgICAgICAgICAgIC8vIHJlbW92ZSBkZWxlZ2F0ZSBmdW5jdGlvbiBmcm9tIGNvbnRleHRcbiAgICAgICAgICAgIHJlbW92ZShjb250ZXh0LCB0eXBlLCBkZWxlZ2F0ZUxpc3RlbmVyKVxuICAgICAgICAgICAgcmVtb3ZlKGNvbnRleHQsIHR5cGUsIGRlbGVnYXRlVXNlQ2FwdHVyZSwgdHJ1ZSlcblxuICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBhcnJheXMgaWYgdGhleSBhcmUgZW1wdHlcbiAgICAgICAgICAgIGlmICghZGVsZWdhdGVkLnNlbGVjdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgZGVsZWdhdGVkRXZlbnRzW3R5cGVdID0gbnVsbFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIG9ubHkgcmVtb3ZlIG9uZSBsaXN0ZW5lclxuICAgICAgICAgIG1hdGNoRm91bmQgPSB0cnVlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobWF0Y2hGb3VuZCkgeyBicmVhayB9XG4gICAgfVxuICB9XG59XG5cbi8vIGJvdW5kIHRvIHRoZSBpbnRlcmFjdGFibGUgY29udGV4dCB3aGVuIGEgRE9NIGV2ZW50XG4vLyBsaXN0ZW5lciBpcyBhZGRlZCB0byBhIHNlbGVjdG9yIGludGVyYWN0YWJsZVxuZnVuY3Rpb24gZGVsZWdhdGVMaXN0ZW5lciAoZXZlbnQ6IEV2ZW50LCBvcHRpb25hbEFyZz86IGFueSkge1xuICBjb25zdCBvcHRpb25zID0gZ2V0T3B0aW9ucyhvcHRpb25hbEFyZylcbiAgY29uc3QgZmFrZUV2ZW50ID0gbmV3IEZha2VFdmVudChldmVudClcbiAgY29uc3QgZGVsZWdhdGVkID0gZGVsZWdhdGVkRXZlbnRzW2V2ZW50LnR5cGVdXG4gIGNvbnN0IFtldmVudFRhcmdldF0gPSAocG9pbnRlclV0aWxzLmdldEV2ZW50VGFyZ2V0cyhldmVudCkpXG4gIGxldCBlbGVtZW50ID0gZXZlbnRUYXJnZXRcblxuICAvLyBjbGltYiB1cCBkb2N1bWVudCB0cmVlIGxvb2tpbmcgZm9yIHNlbGVjdG9yIG1hdGNoZXNcbiAgd2hpbGUgKGlzLmVsZW1lbnQoZWxlbWVudCkpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRlbGVnYXRlZC5zZWxlY3RvcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHNlbGVjdG9yID0gZGVsZWdhdGVkLnNlbGVjdG9yc1tpXVxuICAgICAgY29uc3QgY29udGV4dCA9IGRlbGVnYXRlZC5jb250ZXh0c1tpXVxuXG4gICAgICBpZiAoZG9tVXRpbHMubWF0Y2hlc1NlbGVjdG9yKGVsZW1lbnQsIHNlbGVjdG9yKSAmJlxuICAgICAgICAgIGRvbVV0aWxzLm5vZGVDb250YWlucyhjb250ZXh0LCBldmVudFRhcmdldCkgJiZcbiAgICAgICAgICBkb21VdGlscy5ub2RlQ29udGFpbnMoY29udGV4dCwgZWxlbWVudCkpIHtcbiAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gZGVsZWdhdGVkLmxpc3RlbmVyc1tpXVxuXG4gICAgICAgIGZha2VFdmVudC5jdXJyZW50VGFyZ2V0ID0gZWxlbWVudFxuXG4gICAgICAgIGZvciAoY29uc3QgW2ZuLCBjYXB0dXJlLCBwYXNzaXZlXSBvZiBsaXN0ZW5lcnMpIHtcbiAgICAgICAgICBpZiAoY2FwdHVyZSA9PT0gISFvcHRpb25zLmNhcHR1cmUgJiYgcGFzc2l2ZSA9PT0gb3B0aW9ucy5wYXNzaXZlKSB7XG4gICAgICAgICAgICBmbihmYWtlRXZlbnQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgZWxlbWVudCA9IGRvbVV0aWxzLnBhcmVudE5vZGUoZWxlbWVudClcbiAgfVxufVxuXG5mdW5jdGlvbiBkZWxlZ2F0ZVVzZUNhcHR1cmUgKGV2ZW50OiBFdmVudCkge1xuICByZXR1cm4gZGVsZWdhdGVMaXN0ZW5lci5jYWxsKHRoaXMsIGV2ZW50LCB0cnVlKVxufVxuXG5mdW5jdGlvbiBnZXRPcHRpb25zIChwYXJhbSkge1xuICByZXR1cm4gaXMub2JqZWN0KHBhcmFtKSA/IHBhcmFtIDogeyBjYXB0dXJlOiBwYXJhbSB9XG59XG5cbmV4cG9ydCBjbGFzcyBGYWtlRXZlbnQgaW1wbGVtZW50cyBQYXJ0aWFsPEV2ZW50PiB7XG4gIGN1cnJlbnRUYXJnZXQ6IEV2ZW50VGFyZ2V0XG5cbiAgY29uc3RydWN0b3IgKHB1YmxpYyBvcmlnaW5hbEV2ZW50KSB7XG4gICAgLy8gZHVwbGljYXRlIHRoZSBldmVudCBzbyB0aGF0IGN1cnJlbnRUYXJnZXQgY2FuIGJlIGNoYW5nZWRcbiAgICBwRXh0ZW5kKHRoaXMsIG9yaWdpbmFsRXZlbnQpXG4gIH1cblxuICBwcmV2ZW50T3JpZ2luYWxEZWZhdWx0ICgpIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQucHJldmVudERlZmF1bHQoKVxuICB9XG5cbiAgc3RvcFByb3BhZ2F0aW9uICgpIHtcbiAgICB0aGlzLm9yaWdpbmFsRXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgfVxuXG4gIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbiAoKSB7XG4gICAgdGhpcy5vcmlnaW5hbEV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpXG4gIH1cbn1cblxuY29uc3QgZXZlbnRzID0ge1xuICBhZGQsXG4gIHJlbW92ZSxcblxuICBhZGREZWxlZ2F0ZSxcbiAgcmVtb3ZlRGVsZWdhdGUsXG5cbiAgZGVsZWdhdGVMaXN0ZW5lcixcbiAgZGVsZWdhdGVVc2VDYXB0dXJlLFxuICBkZWxlZ2F0ZWRFdmVudHMsXG4gIGRvY3VtZW50cyxcblxuICBzdXBwb3J0c09wdGlvbnM6IGZhbHNlLFxuICBzdXBwb3J0c1Bhc3NpdmU6IGZhbHNlLFxuXG4gIF9lbGVtZW50czogZWxlbWVudHMsXG4gIF90YXJnZXRzOiB0YXJnZXRzLFxuXG4gIGluaXQgKHdpbmRvdzogV2luZG93KSB7XG4gICAgd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpLmFkZEV2ZW50TGlzdGVuZXIoJ3Rlc3QnLCBudWxsLCB7XG4gICAgICBnZXQgY2FwdHVyZSAoKSB7IHJldHVybiAoZXZlbnRzLnN1cHBvcnRzT3B0aW9ucyA9IHRydWUpIH0sXG4gICAgICBnZXQgcGFzc2l2ZSAoKSB7IHJldHVybiAoZXZlbnRzLnN1cHBvcnRzUGFzc2l2ZSA9IHRydWUpIH0sXG4gICAgfSlcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQgZXZlbnRzXG4iXX0=

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

export default (thing) => !!(thing && thing.Window) && (thing instanceof thing.Window);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNXaW5kb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpc1dpbmRvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0ICh0aGluZykgPT4gISEodGhpbmcgJiYgdGhpbmcuV2luZG93KSAmJiAodGhpbmcgaW5zdGFuY2VvZiB0aGluZy5XaW5kb3cpXG4iXX0=
export default thing => !!(thing && thing.Window) && (thing instanceof thing.Window);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNXaW5kb3cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpc1dpbmRvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxlQUFlLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssWUFBWSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCB0aGluZyA9PiAhISh0aGluZyAmJiB0aGluZy5XaW5kb3cpICYmICh0aGluZyBpbnN0YW5jZW9mIHRoaW5nLldpbmRvdylcbiJdfQ==

@@ -27,3 +27,3 @@ import extend from './extend';

for (const prefix in listeners) {
const combinedTypes = split(prefix).map((p) => `${type}${p}`);
const combinedTypes = split(prefix).map(p => `${type}${p}`);
normalize(combinedTypes, listeners[prefix], result);

@@ -37,2 +37,2 @@ }

}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplTGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9ybWFsaXplTGlzdGVuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQU0xQixNQUFNLENBQUMsT0FBTyxVQUFVLFNBQVMsQ0FDL0IsSUFBeUIsRUFDekIsU0FBMkQsRUFDM0QsTUFBNEI7SUFFNUIsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUE7SUFFckIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDOUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNuQjtJQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUN4RCxNQUFNLENBQ1AsQ0FBQTtLQUNGO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksR0FBRyxFQUFFLENBQUE7S0FDVjtJQUVELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzdCO1NBQ0ksSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzVCLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3pCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzNCO0tBQ0Y7U0FDSSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDOUIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUU3RCxTQUFTLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQTtTQUNwRDtLQUNGO0lBRUQsT0FBTyxNQUE2QixDQUFBO0FBQ3RDLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBRSxJQUFZO0lBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNoQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGV4dGVuZCBmcm9tICcuL2V4dGVuZCdcbmltcG9ydCAqIGFzIGlzIGZyb20gJy4vaXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9ybWFsaXplZExpc3RlbmVycyB7XG4gIFt0eXBlOiBzdHJpbmddOiBJbnRlcmFjdC5MaXN0ZW5lcltdXG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG5vcm1hbGl6ZSAoXG4gIHR5cGU6IEludGVyYWN0LkV2ZW50VHlwZXMsXG4gIGxpc3RlbmVycz86IEludGVyYWN0Lkxpc3RlbmVyc0FyZyB8IEludGVyYWN0Lkxpc3RlbmVyc0FyZ1tdLFxuICByZXN1bHQ/OiBOb3JtYWxpemVkTGlzdGVuZXJzLFxuKTogTm9ybWFsaXplZExpc3RlbmVycyB7XG4gIHJlc3VsdCA9IHJlc3VsdCB8fCB7fVxuXG4gIGlmIChpcy5zdHJpbmcodHlwZSkgJiYgdHlwZS5zZWFyY2goJyAnKSAhPT0gLTEpIHtcbiAgICB0eXBlID0gc3BsaXQodHlwZSlcbiAgfVxuXG4gIGlmIChpcy5hcnJheSh0eXBlKSkge1xuICAgIHJldHVybiB0eXBlLnJlZHVjZTxOb3JtYWxpemVkTGlzdGVuZXJzPihcbiAgICAgIChhY2MsIHQpID0+IGV4dGVuZChhY2MsIG5vcm1hbGl6ZSh0LCBsaXN0ZW5lcnMsIHJlc3VsdCkpLFxuICAgICAgcmVzdWx0XG4gICAgKVxuICB9XG5cbiAgLy8gKHsgdHlwZTogZm4gfSkgLT4gKCcnLCB7IHR5cGU6IGZuIH0pXG4gIGlmIChpcy5vYmplY3QodHlwZSkpIHtcbiAgICBsaXN0ZW5lcnMgPSB0eXBlXG4gICAgdHlwZSA9ICcnXG4gIH1cblxuICBpZiAoaXMuZnVuYyhsaXN0ZW5lcnMpKSB7XG4gICAgcmVzdWx0W3R5cGVdID0gcmVzdWx0W3R5cGVdIHx8IFtdXG4gICAgcmVzdWx0W3R5cGVdLnB1c2gobGlzdGVuZXJzKVxuICB9XG4gIGVsc2UgaWYgKGlzLmFycmF5KGxpc3RlbmVycykpIHtcbiAgICBmb3IgKGNvbnN0IGwgb2YgbGlzdGVuZXJzKSB7XG4gICAgICBub3JtYWxpemUodHlwZSwgbCwgcmVzdWx0KVxuICAgIH1cbiAgfVxuICBlbHNlIGlmIChpcy5vYmplY3QobGlzdGVuZXJzKSkge1xuICAgIGZvciAoY29uc3QgcHJlZml4IGluIGxpc3RlbmVycykge1xuICAgICAgY29uc3QgY29tYmluZWRUeXBlcyA9IHNwbGl0KHByZWZpeCkubWFwKChwKSA9PiBgJHt0eXBlfSR7cH1gKVxuXG4gICAgICBub3JtYWxpemUoY29tYmluZWRUeXBlcywgbGlzdGVuZXJzW3ByZWZpeF0sIHJlc3VsdClcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0IGFzIE5vcm1hbGl6ZWRMaXN0ZW5lcnNcbn1cblxuZnVuY3Rpb24gc3BsaXQgKHR5cGU6IHN0cmluZykge1xuICByZXR1cm4gdHlwZS50cmltKCkuc3BsaXQoLyArLylcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9ybWFsaXplTGlzdGVuZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9ybWFsaXplTGlzdGVuZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQU0xQixNQUFNLENBQUMsT0FBTyxVQUFVLFNBQVMsQ0FDL0IsSUFBeUIsRUFDekIsU0FBMkQsRUFDM0QsTUFBNEI7SUFFNUIsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUE7SUFFckIsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDOUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtLQUNuQjtJQUVELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQ2hCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUN4RCxNQUFNLENBQ1AsQ0FBQTtLQUNGO0lBRUQsdUNBQXVDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNuQixTQUFTLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksR0FBRyxFQUFFLENBQUE7S0FDVjtJQUVELElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtRQUN0QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUNqQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0tBQzdCO1NBQ0ksSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzVCLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFO1lBQ3pCLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO1NBQzNCO0tBQ0Y7U0FDSSxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDN0IsS0FBSyxNQUFNLE1BQU0sSUFBSSxTQUFTLEVBQUU7WUFDOUIsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUE7WUFFM0QsU0FBUyxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUE7U0FDcEQ7S0FDRjtJQUVELE9BQU8sTUFBNkIsQ0FBQTtBQUN0QyxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUUsSUFBWTtJQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBleHRlbmQgZnJvbSAnLi9leHRlbmQnXG5pbXBvcnQgKiBhcyBpcyBmcm9tICcuL2lzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE5vcm1hbGl6ZWRMaXN0ZW5lcnMge1xuICBbdHlwZTogc3RyaW5nXTogSW50ZXJhY3QuTGlzdGVuZXJbXVxufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBub3JtYWxpemUgKFxuICB0eXBlOiBJbnRlcmFjdC5FdmVudFR5cGVzLFxuICBsaXN0ZW5lcnM/OiBJbnRlcmFjdC5MaXN0ZW5lcnNBcmcgfCBJbnRlcmFjdC5MaXN0ZW5lcnNBcmdbXSxcbiAgcmVzdWx0PzogTm9ybWFsaXplZExpc3RlbmVycyxcbik6IE5vcm1hbGl6ZWRMaXN0ZW5lcnMge1xuICByZXN1bHQgPSByZXN1bHQgfHwge31cblxuICBpZiAoaXMuc3RyaW5nKHR5cGUpICYmIHR5cGUuc2VhcmNoKCcgJykgIT09IC0xKSB7XG4gICAgdHlwZSA9IHNwbGl0KHR5cGUpXG4gIH1cblxuICBpZiAoaXMuYXJyYXkodHlwZSkpIHtcbiAgICByZXR1cm4gdHlwZS5yZWR1Y2U8Tm9ybWFsaXplZExpc3RlbmVycz4oXG4gICAgICAoYWNjLCB0KSA9PiBleHRlbmQoYWNjLCBub3JtYWxpemUodCwgbGlzdGVuZXJzLCByZXN1bHQpKSxcbiAgICAgIHJlc3VsdFxuICAgIClcbiAgfVxuXG4gIC8vICh7IHR5cGU6IGZuIH0pIC0+ICgnJywgeyB0eXBlOiBmbiB9KVxuICBpZiAoaXMub2JqZWN0KHR5cGUpKSB7XG4gICAgbGlzdGVuZXJzID0gdHlwZVxuICAgIHR5cGUgPSAnJ1xuICB9XG5cbiAgaWYgKGlzLmZ1bmMobGlzdGVuZXJzKSkge1xuICAgIHJlc3VsdFt0eXBlXSA9IHJlc3VsdFt0eXBlXSB8fCBbXVxuICAgIHJlc3VsdFt0eXBlXS5wdXNoKGxpc3RlbmVycylcbiAgfVxuICBlbHNlIGlmIChpcy5hcnJheShsaXN0ZW5lcnMpKSB7XG4gICAgZm9yIChjb25zdCBsIG9mIGxpc3RlbmVycykge1xuICAgICAgbm9ybWFsaXplKHR5cGUsIGwsIHJlc3VsdClcbiAgICB9XG4gIH1cbiAgZWxzZSBpZiAoaXMub2JqZWN0KGxpc3RlbmVycykpIHtcbiAgICBmb3IgKGNvbnN0IHByZWZpeCBpbiBsaXN0ZW5lcnMpIHtcbiAgICAgIGNvbnN0IGNvbWJpbmVkVHlwZXMgPSBzcGxpdChwcmVmaXgpLm1hcChwID0+IGAke3R5cGV9JHtwfWApXG5cbiAgICAgIG5vcm1hbGl6ZShjb21iaW5lZFR5cGVzLCBsaXN0ZW5lcnNbcHJlZml4XSwgcmVzdWx0KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQgYXMgTm9ybWFsaXplZExpc3RlbmVyc1xufVxuXG5mdW5jdGlvbiBzcGxpdCAodHlwZTogc3RyaW5nKSB7XG4gIHJldHVybiB0eXBlLnRyaW0oKS5zcGxpdCgvICsvKVxufVxuIl19
{
"name": "@interactjs/utils",
"version": "1.5.1",
"version": "1.5.2",
"publishConfig": {

@@ -5,0 +5,0 @@ "access": "public"

@@ -15,3 +15,3 @@ let lastTime = 0;

if (!request) {
request = (callback) => {
request = callback => {
const currTime = Date.now();

@@ -24,10 +24,10 @@ const timeToCall = Math.max(0, 16 - (currTime - lastTime));

};
cancel = (token) => clearTimeout(token);
cancel = token => clearTimeout(token);
}
}
export default {
request: (callback) => request(callback),
cancel: (token) => cancel(token),
request: callback => request(callback),
cancel: token => cancel(token),
init,
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmFmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLE9BQU8sQ0FBQTtBQUNYLElBQUksTUFBTSxDQUFBO0FBRVYsU0FBUyxJQUFJLENBQUUsTUFBTTtJQUNuQixPQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFBO0lBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUE7SUFFcEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFFNUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDNUIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsQ0FBQTtZQUNsRCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLE1BQU0sNkJBQTZCLENBQUMsQ0FBQTtTQUNuRztLQUNGO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sR0FBRyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQTtZQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQTtZQUMxRCx3REFBd0Q7WUFDeEQsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLENBQUEsQ0FBQyxDQUFDLEVBQ2hFLFVBQVUsQ0FBQyxDQUFBO1lBRWIsUUFBUSxHQUFHLFFBQVEsR0FBRyxVQUFVLENBQUE7WUFDaEMsT0FBTyxLQUFLLENBQUE7UUFDZCxDQUFDLENBQUE7UUFFRCxNQUFNLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtLQUN4QztBQUNILENBQUM7QUFFRCxlQUFlO0lBQ2IsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3hDLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNoQyxJQUFJO0NBQ0wsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImxldCBsYXN0VGltZSA9IDBcbmxldCByZXF1ZXN0XG5sZXQgY2FuY2VsXG5cbmZ1bmN0aW9uIGluaXQgKHdpbmRvdykge1xuICByZXF1ZXN0ID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZVxuICBjYW5jZWwgPSB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWVcblxuICBpZiAoIXJlcXVlc3QpIHtcbiAgICBjb25zdCB2ZW5kb3JzID0gWydtcycsICdtb3onLCAnd2Via2l0JywgJ28nXVxuXG4gICAgZm9yIChjb25zdCB2ZW5kb3Igb2YgdmVuZG9ycykge1xuICAgICAgcmVxdWVzdCA9IHdpbmRvd1tgJHt2ZW5kb3J9UmVxdWVzdEFuaW1hdGlvbkZyYW1lYF1cbiAgICAgIGNhbmNlbCA9IHdpbmRvd1tgJHt2ZW5kb3J9Q2FuY2VsQW5pbWF0aW9uRnJhbWVgXSB8fCB3aW5kb3dbYCR7dmVuZG9yfUNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZWBdXG4gICAgfVxuICB9XG5cbiAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgcmVxdWVzdCA9IChjYWxsYmFjaykgPT4ge1xuICAgICAgY29uc3QgY3VyclRpbWUgPSBEYXRlLm5vdygpXG4gICAgICBjb25zdCB0aW1lVG9DYWxsID0gTWF0aC5tYXgoMCwgMTYgLSAoY3VyclRpbWUgLSBsYXN0VGltZSkpXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc3RhbmRhcmQvbm8tY2FsbGJhY2stbGl0ZXJhbFxuICAgICAgY29uc3QgdG9rZW4gPSBzZXRUaW1lb3V0KCgpID0+IHsgY2FsbGJhY2soY3VyclRpbWUgKyB0aW1lVG9DYWxsKSB9LFxuICAgICAgICB0aW1lVG9DYWxsKVxuXG4gICAgICBsYXN0VGltZSA9IGN1cnJUaW1lICsgdGltZVRvQ2FsbFxuICAgICAgcmV0dXJuIHRva2VuXG4gICAgfVxuXG4gICAgY2FuY2VsID0gKHRva2VuKSA9PiBjbGVhclRpbWVvdXQodG9rZW4pXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICByZXF1ZXN0OiAoY2FsbGJhY2spID0+IHJlcXVlc3QoY2FsbGJhY2spLFxuICBjYW5jZWw6ICh0b2tlbikgPT4gY2FuY2VsKHRva2VuKSxcbiAgaW5pdCxcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicmFmLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQTtBQUNoQixJQUFJLE9BQU8sQ0FBQTtBQUNYLElBQUksTUFBTSxDQUFBO0FBRVYsU0FBUyxJQUFJLENBQUUsTUFBTTtJQUNuQixPQUFPLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFBO0lBQ3RDLE1BQU0sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUE7SUFFcEMsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFFNUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUU7WUFDNUIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLE1BQU0sdUJBQXVCLENBQUMsQ0FBQTtZQUNsRCxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsTUFBTSxzQkFBc0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLE1BQU0sNkJBQTZCLENBQUMsQ0FBQTtTQUNuRztLQUNGO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sR0FBRyxRQUFRLENBQUMsRUFBRTtZQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUE7WUFDMUQsd0RBQXdEO1lBQ3hELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxDQUFBLENBQUMsQ0FBQyxFQUNoRSxVQUFVLENBQUMsQ0FBQTtZQUViLFFBQVEsR0FBRyxRQUFRLEdBQUcsVUFBVSxDQUFBO1lBQ2hDLE9BQU8sS0FBSyxDQUFBO1FBQ2QsQ0FBQyxDQUFBO1FBRUQsTUFBTSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO0tBQ3RDO0FBQ0gsQ0FBQztBQUVELGVBQWU7SUFDYixPQUFPLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO0lBQ3RDLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDOUIsSUFBSTtDQUNMLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJsZXQgbGFzdFRpbWUgPSAwXG5sZXQgcmVxdWVzdFxubGV0IGNhbmNlbFxuXG5mdW5jdGlvbiBpbml0ICh3aW5kb3cpIHtcbiAgcmVxdWVzdCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVcbiAgY2FuY2VsID0gd2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lXG5cbiAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgY29uc3QgdmVuZG9ycyA9IFsnbXMnLCAnbW96JywgJ3dlYmtpdCcsICdvJ11cblxuICAgIGZvciAoY29uc3QgdmVuZG9yIG9mIHZlbmRvcnMpIHtcbiAgICAgIHJlcXVlc3QgPSB3aW5kb3dbYCR7dmVuZG9yfVJlcXVlc3RBbmltYXRpb25GcmFtZWBdXG4gICAgICBjYW5jZWwgPSB3aW5kb3dbYCR7dmVuZG9yfUNhbmNlbEFuaW1hdGlvbkZyYW1lYF0gfHwgd2luZG93W2Ake3ZlbmRvcn1DYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVgXVxuICAgIH1cbiAgfVxuXG4gIGlmICghcmVxdWVzdCkge1xuICAgIHJlcXVlc3QgPSBjYWxsYmFjayA9PiB7XG4gICAgICBjb25zdCBjdXJyVGltZSA9IERhdGUubm93KClcbiAgICAgIGNvbnN0IHRpbWVUb0NhbGwgPSBNYXRoLm1heCgwLCAxNiAtIChjdXJyVGltZSAtIGxhc3RUaW1lKSlcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzdGFuZGFyZC9uby1jYWxsYmFjay1saXRlcmFsXG4gICAgICBjb25zdCB0b2tlbiA9IHNldFRpbWVvdXQoKCkgPT4geyBjYWxsYmFjayhjdXJyVGltZSArIHRpbWVUb0NhbGwpIH0sXG4gICAgICAgIHRpbWVUb0NhbGwpXG5cbiAgICAgIGxhc3RUaW1lID0gY3VyclRpbWUgKyB0aW1lVG9DYWxsXG4gICAgICByZXR1cm4gdG9rZW5cbiAgICB9XG5cbiAgICBjYW5jZWwgPSB0b2tlbiA9PiBjbGVhclRpbWVvdXQodG9rZW4pXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICByZXF1ZXN0OiBjYWxsYmFjayA9PiByZXF1ZXN0KGNhbGxiYWNrKSxcbiAgY2FuY2VsOiB0b2tlbiA9PiBjYW5jZWwodG9rZW4pLFxuICBpbml0LFxufVxuIl19

@@ -34,2 +34,2 @@ class Signals {

export default Signals;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lnbmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlNpZ25hbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsTUFBTSxPQUFPO0lBQWI7UUFDRSxjQUFTLEdBRUwsRUFBRSxDQUFBO0lBZ0NSLENBQUM7SUE5QkMsRUFBRSxDQUFFLElBQVksRUFBRSxRQUF3QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDakMsT0FBTTtTQUNQO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELEdBQUcsQ0FBRSxJQUFZLEVBQUUsUUFBd0I7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFNO1NBQUU7UUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFcEQsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBRSxJQUFZLEVBQUUsR0FBdUI7UUFDekMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUU1QyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQUUsT0FBTTtTQUFFO1FBRWhDLEtBQUssTUFBTSxRQUFRLElBQUksZUFBZSxFQUFFO1lBQ3RDLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ2pDLE9BQU8sS0FBSyxDQUFBO2FBQ2I7U0FDRjtJQUNILENBQUM7Q0FDRjtBQUVELGVBQWUsT0FBTyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2lnbmFsTGlzdGVuZXIgPSAoc2lnbmFsQXJnOiBQYXJ0aWFsU2lnbmFsQXJnLCBzaW5hbE5hbWU/OiBzdHJpbmcpID0+ICh2b2lkIHwgYm9vbGVhbilcblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxBcmc8VCBleHRlbmRzIEludGVyYWN0LkFjdGlvbk5hbWUgPSBhbnk+IHtcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0LkludGVyYWN0aW9uPFQ+XG4gIEludGVyYWN0YWJsZTogSW50ZXJhY3QuSW50ZXJhY3RhYmxlXG4gIGlFdmVudDogSW50ZXJhY3QuSW50ZXJhY3RFdmVudDxUPlxuICBlbGVtZW50OiBJbnRlcmFjdC5FdmVudFRhcmdldFxuICBjb29yZHM6IEludGVyYWN0LlBvaW50XG4gIGV2ZW50OiBJbnRlcmFjdC5Qb2ludGVyRXZlbnRUeXBlXG4gIHBoYXNlOiBJbnRlcmFjdC5FdmVudFBoYXNlXG4gIFtpbmRleDogc3RyaW5nXTogYW55XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxTaWduYWxBcmcgPSBQYXJ0aWFsPFNpZ25hbEFyZz5cblxuY2xhc3MgU2lnbmFscyB7XG4gIGxpc3RlbmVyczoge1xuICAgIFtzaWduYWxOYW1lOiBzdHJpbmddOiBTaWduYWxMaXN0ZW5lcltdLFxuICB9ID0ge31cblxuICBvbiAobmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogU2lnbmFsTGlzdGVuZXIpIHtcbiAgICBpZiAoIXRoaXMubGlzdGVuZXJzW25hbWVdKSB7XG4gICAgICB0aGlzLmxpc3RlbmVyc1tuYW1lXSA9IFtsaXN0ZW5lcl1cbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHRoaXMubGlzdGVuZXJzW25hbWVdLnB1c2gobGlzdGVuZXIpXG4gIH1cblxuICBvZmYgKG5hbWU6IHN0cmluZywgbGlzdGVuZXI6IFNpZ25hbExpc3RlbmVyKSB7XG4gICAgaWYgKCF0aGlzLmxpc3RlbmVyc1tuYW1lXSkgeyByZXR1cm4gfVxuXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmxpc3RlbmVyc1tuYW1lXS5pbmRleE9mKGxpc3RlbmVyKVxuXG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdGhpcy5saXN0ZW5lcnNbbmFtZV0uc3BsaWNlKGluZGV4LCAxKVxuICAgIH1cbiAgfVxuXG4gIGZpcmUgKG5hbWU6IHN0cmluZywgYXJnOiBQYXJ0aWFsPFNpZ25hbEFyZz4pOiB2b2lkIHwgZmFsc2Uge1xuICAgIGNvbnN0IHRhcmdldExpc3RlbmVycyA9IHRoaXMubGlzdGVuZXJzW25hbWVdXG5cbiAgICBpZiAoIXRhcmdldExpc3RlbmVycykgeyByZXR1cm4gfVxuXG4gICAgZm9yIChjb25zdCBsaXN0ZW5lciBvZiB0YXJnZXRMaXN0ZW5lcnMpIHtcbiAgICAgIGlmIChsaXN0ZW5lcihhcmcsIG5hbWUpID09PSBmYWxzZSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgU2lnbmFsc1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lnbmFscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIlNpZ25hbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZUEsTUFBTSxPQUFPO0lBQWI7UUFDRSxjQUFTLEdBRUwsRUFBRSxDQUFBO0lBZ0NSLENBQUM7SUE5QkMsRUFBRSxDQUFFLElBQVksRUFBRSxRQUF3QjtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUE7WUFDakMsT0FBTTtTQUNQO1FBRUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELEdBQUcsQ0FBRSxJQUFZLEVBQUUsUUFBd0I7UUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFBRSxPQUFNO1NBQUU7UUFFckMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFcEQsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFBO1NBQ3RDO0lBQ0gsQ0FBQztJQUVELElBQUksQ0FBRSxJQUFZLEVBQUUsR0FBdUI7UUFDekMsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUU1QyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQUUsT0FBTTtTQUFFO1FBRWhDLEtBQUssTUFBTSxRQUFRLElBQUksZUFBZSxFQUFFO1lBQ3RDLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUU7Z0JBQ2pDLE9BQU8sS0FBSyxDQUFBO2FBQ2I7U0FDRjtJQUNILENBQUM7Q0FDRjtBQUVELGVBQWUsT0FBTyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU2lnbmFsTGlzdGVuZXIgPSAoc2lnbmFsQXJnOiBQYXJ0aWFsU2lnbmFsQXJnLCBzaW5hbE5hbWU/OiBzdHJpbmcpID0+ICh2b2lkIHwgYm9vbGVhbilcblxuZXhwb3J0IGludGVyZmFjZSBTaWduYWxBcmc8VCBleHRlbmRzIEludGVyYWN0LkFjdGlvbk5hbWUgPSBhbnk+IHtcbiAgaW50ZXJhY3Rpb246IEludGVyYWN0LkludGVyYWN0aW9uPFQ+XG4gIEludGVyYWN0YWJsZTogSW50ZXJhY3QuSW50ZXJhY3RhYmxlXG4gIGlFdmVudDogSW50ZXJhY3QuSW50ZXJhY3RFdmVudDxUPlxuICBlbGVtZW50OiBJbnRlcmFjdC5FdmVudFRhcmdldFxuICBjb29yZHM6IEludGVyYWN0LlBvaW50XG4gIGV2ZW50OiBJbnRlcmFjdC5Qb2ludGVyRXZlbnRUeXBlXG4gIHBoYXNlOiBJbnRlcmFjdC5FdmVudFBoYXNlXG4gIFtpbmRleDogc3RyaW5nXTogYW55XG59XG5cbmV4cG9ydCB0eXBlIFBhcnRpYWxTaWduYWxBcmcgPSBQYXJ0aWFsPFNpZ25hbEFyZz5cblxuY2xhc3MgU2lnbmFscyB7XG4gIGxpc3RlbmVyczoge1xuICAgIFtzaWduYWxOYW1lOiBzdHJpbmddOiBTaWduYWxMaXN0ZW5lcltdXG4gIH0gPSB7fVxuXG4gIG9uIChuYW1lOiBzdHJpbmcsIGxpc3RlbmVyOiBTaWduYWxMaXN0ZW5lcikge1xuICAgIGlmICghdGhpcy5saXN0ZW5lcnNbbmFtZV0pIHtcbiAgICAgIHRoaXMubGlzdGVuZXJzW25hbWVdID0gW2xpc3RlbmVyXVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgdGhpcy5saXN0ZW5lcnNbbmFtZV0ucHVzaChsaXN0ZW5lcilcbiAgfVxuXG4gIG9mZiAobmFtZTogc3RyaW5nLCBsaXN0ZW5lcjogU2lnbmFsTGlzdGVuZXIpIHtcbiAgICBpZiAoIXRoaXMubGlzdGVuZXJzW25hbWVdKSB7IHJldHVybiB9XG5cbiAgICBjb25zdCBpbmRleCA9IHRoaXMubGlzdGVuZXJzW25hbWVdLmluZGV4T2YobGlzdGVuZXIpXG5cbiAgICBpZiAoaW5kZXggIT09IC0xKSB7XG4gICAgICB0aGlzLmxpc3RlbmVyc1tuYW1lXS5zcGxpY2UoaW5kZXgsIDEpXG4gICAgfVxuICB9XG5cbiAgZmlyZSAobmFtZTogc3RyaW5nLCBhcmc6IFBhcnRpYWw8U2lnbmFsQXJnPik6IHZvaWQgfCBmYWxzZSB7XG4gICAgY29uc3QgdGFyZ2V0TGlzdGVuZXJzID0gdGhpcy5saXN0ZW5lcnNbbmFtZV1cblxuICAgIGlmICghdGFyZ2V0TGlzdGVuZXJzKSB7IHJldHVybiB9XG5cbiAgICBmb3IgKGNvbnN0IGxpc3RlbmVyIG9mIHRhcmdldExpc3RlbmVycykge1xuICAgICAgaWYgKGxpc3RlbmVyKGFyZywgbmFtZSkgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBTaWduYWxzXG4iXX0=
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