Comparing version 0.0.0 to 0.0.1
@@ -109,2 +109,11 @@ (function() { | ||
NoFilter.prototype.read = function(size) { | ||
var buf; | ||
buf = NoFilter.__super__.read.call(this, size); | ||
if (buf != null) { | ||
this.emit('read', buf); | ||
} | ||
return buf; | ||
}; | ||
NoFilter.prototype.compare = function(other) { | ||
@@ -278,2 +287,2 @@ if (!(other instanceof NoFilter)) { | ||
//# sourceMappingURL=data:application/json;base64,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QUEwQixDQUExQjs7dUJBQ2QsV0FBQSxHQUFjLFNBQUEsQ0FBVSxhQUFWLEVBQTBCLENBQTFCOzt1QkFDZCxZQUFBLEdBQWMsU0FBQSxDQUFVLGNBQVYsRUFBMEIsQ0FBMUI7O3VCQUNkLFlBQUEsR0FBYyxTQUFBLENBQVUsY0FBVixFQUEwQixDQUExQjs7SUFHZCxHQUFBLEdBQU0sU0FBQyxLQUFEO0FBQ0osVUFBQTtBQUFBO1dBQUEsYUFBQTs7cUJBQUEsUUFBUSxDQUFBLFNBQUUsQ0FBQSxnQkFBVixDQUEyQixJQUEzQixFQUFpQyxNQUFqQztBQUFBOztJQURJOztJQUlOLEdBQUEsQ0FBSTtNQUFBLE1BQUEsRUFBUSxTQUFBO2VBQUcsSUFBQyxDQUFBLGNBQWMsQ0FBQztNQUFuQixDQUFSO0tBQUo7Ozs7S0FqUXNDLE1BQU0sQ0FBQztBQWhJL0MiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzQ29udGVudCI6WyJzdHJlYW0gPSByZXF1aXJlICdzdHJlYW0nXG51dGlsID0gcmVxdWlyZSAndXRpbCdcblxuIyBOb0ZpbHRlciBzdHJlYW0uICBDYW4gYmUgdXNlZCB0byBzaW5rIG9yIHNvdXJjZSBkYXRhIHRvIGFuZCBmcm9tIG90aGVyXG4jIG5vZGUgc3RyZWFtcy4gIEltcGxlbWVudGVkIGFzIHRoZSBcImlkZW50aXR5XCIgVHJhbnNmb3JtIHN0cmVhbSAoaGVuY2UgdGhlXG4jIG5hbWUpLCBidXQgYWxsb3dzIGZvciBpbnNwZWN0aW5nIGRhdGEgdGhhdCBpcyBpbi1mbGlnaHQuXG4jXG4jIEBleGFtcGxlIHNvdXJjZVxuIyAgIHZhciBuID0gbmV3IE5vRmlsdGVyKCdabTl2JywgJ2Jhc2U2NCcpO1xuIyAgIG4ucGlwZShwcm9jZXNzLnN0ZG91dCk7XG4jXG4jIEBleGFtcGxlIHNpbmtcbiMgICB2YXIgbiA9IG5ldyBOb2ZpbHRlcigpO1xuIyAgICMgTk9URTogJ2ZpbmlzaCcgZmlyZXMgd2hlbiB0aGUgaW5wdXQgaXMgZG9uZSB3cml0aW5nXG4jICAgbi5vbignZmluaXNoJywgZnVuY3Rpb24oKSB7IGNvbnNvbGUubG9nKG4udG9TdHJpbmcoJ2Jhc2U2NCcpKTsgfSk7XG4jICAgcHJvY2Vzcy5zdGRpbi5waXBlKG4pO1xuI1xuIyBAbWV0aG9kICN3cml0ZVVJbnQ4KHZhbHVlKVxuIyAgIFdyaXRlIGFuIDgtYml0IHVuc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHMgMSBieXRlLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZVVJbnQxNkxFKHZhbHVlKVxuIyAgIFdyaXRlIGEgbGl0dGxlLWVuZGlhbiAxNi1iaXQgdW5zaWduZWQgaW50ZWdlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDIgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlVUludDE2QkUodmFsdWUpXG4jICAgV3JpdGUgYSBiaWctZW5kaWFuIDE2LWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgMiBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVVSW50MzJMRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGxpdHRsZS1lbmRpYW4gMzItYml0IHVuc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICA0IGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZVVJbnQzMkJFKHZhbHVlKVxuIyAgIFdyaXRlIGEgYmlnLWVuZGlhbiAzMi1iaXQgdW5zaWduZWQgaW50ZWdlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlSW50OCh2YWx1ZSlcbiMgICBXcml0ZSBhbiA4LWJpdCBzaWduZWQgaW50ZWdlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDEgYnl0ZS5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVJbnQxNkxFKHZhbHVlKVxuIyAgIFdyaXRlIGEgbGl0dGxlLWVuZGlhbiAxNi1iaXQgc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICAyIGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZUludDE2QkUodmFsdWUpXG4jICAgV3JpdGUgYSBiaWctZW5kaWFuIDE2LWJpdCBzaWduZWQgaW50ZWdlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDIgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlSW50MzJMRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGxpdHRsZS1lbmRpYW4gMzItYml0IHNpZ25lZCBpbnRlZ2VyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgNCBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVJbnQzMkJFKHZhbHVlKVxuIyAgIFdyaXRlIGEgYmlnLWVuZGlhbiAzMi1iaXQgc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICA0IGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZUZsb2F0TEUodmFsdWUpXG4jICAgV3JpdGUgYSBsaXR0bGUtZW5kaWFuIDMyLWJpdCBmbG9hdCB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlRmxvYXRCRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGJpZy1lbmRpYW4gMzItYml0IGZsb2F0IHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgNCBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVEb3VibGVMRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGxpdHRsZS1lbmRpYW4gNjQtYml0IGRvdWJsZSBwcmVjaXNpb24gbnVtYmVyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgOCBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVEb3VibGVCRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGJpZy1lbmRpYW4gNjQtYml0IGRvdWJsZSBwcmVjaXNpb24gbnVtYmVyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgOCBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZFVJbnQ4KClcbiMgICBSZWFkIGFuIHVuc2lnbmVkIDgtYml0IGludGVnZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICAxIGJ5dGUuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkVUludDE2TEUoKVxuIyAgIFJlYWQgYSBsaXR0bGUtZW5kaWFuIHVuc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgMiBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRVSW50MTZCRSgpXG4jICAgUmVhZCBhIGJpZy1lbmRpYW4gdW5zaWduZWQgMTYtYml0IGludGVnZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICAyIGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZFVJbnQzMkxFKClcbiMgICBSZWFkIGEgbGl0dGxlLWVuZGlhbiB1bnNpZ25lZCAzMi1iaXQgaW50ZWdlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkVUludDMyQkUoKVxuIyAgIFJlYWQgYSAtYmlnZW5kaWFuIHVuc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgNCBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRJbnQ4KClcbiMgICBSZWFkIGEgc2lnbmVkIDgtYml0IGludGVnZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICAxIGJ5dGUuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkSW50MTZMRSgpXG4jICAgUmVhZCBhIGxpdHRsZS1lbmRpYW4gc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgMiBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRJbnQxNkJFKClcbiMgICBSZWFkIGEgYmlnLWVuZGlhbiBzaWduZWQgMTYtYml0IGludGVnZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICAyIGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZEludDMyTEUoKVxuIyAgIFJlYWQgYSBsaXR0bGUtZW5kaWFuIHNpZ25lZCAzMi1iaXQgaW50ZWdlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkSW50MzJCRSgpXG4jICAgUmVhZCBhIGJpZy1lbmRpYW4gc2lnbmVkIDMyLWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgNCBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRGbG9hdExFKClcbiMgICBSZWFkIGEgbGl0dGxlLWVuZGlhbiBmbG9hdGluZyBwb2ludCBudW1iZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICA0IGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZEZsb2F0QkUoKVxuIyAgIFJlYWQgYSBiaWctZW5kaWFuIGZsb2F0aW5nIHBvaW50IG51bWJlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkRG91YmxlTEUoKVxuIyAgIFJlYWQgYSBsaXR0bGUtZW5kaWFuIGRvdWJsZS1wcmVjaXNpb24gbnVtYmVyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgOCBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWREb3VibGVCRSgpXG4jICAgUmVhZCBhIGJpZy1lbmRpYW4gZG91YmxlLXByZWNpc2lvbiBudW1iZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICA4IGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbm1vZHVsZS5leHBvcnRzID0gY2xhc3MgTm9GaWx0ZXIgZXh0ZW5kcyBzdHJlYW0uVHJhbnNmb3JtXG4gICMgQ3JlYXRlIGEgTm9GaWx0ZXIuICBBbGxvdyBwYXNzaW5nIGluIHNvdXJjZSBkYXRhIChpbnB1dCwgaW5wdXRFbmNvZGluZylcbiAgIyBhdCBjcmVhdGlvbiB0aW1lLiAgU291cmNlIGRhdGEgY2FuIGFsc28gYmUgcGFzc2VkIGluIHRoZSBvcHRpb25zIG9iamVjdC5cbiAgI1xuICAjIEBwYXJhbSBpbnB1dCBbU3RyaW5nLCBCdWZmZXJdIE9wdGlvbmFsIHNvdXJjZSBkYXRhXG4gICMgQHBhcmFtIGlucHV0RW5jb2RpbmcgW1N0cmluZ10gT3B0aW9uYWwgZW5jb2RpbmcgbmFtZSBmb3IgaW5wdXQsIGlnbm9yZWRcbiAgIyAgIGlmIGlucHV0IGlzIG5vdCBhIFN0cmluZ1xuICAjIEBwYXJhbSBvcHRpb25zIFtPYmplY3RdIE90aGVyIG9wdGlvbnNcbiAgIyBAb3B0aW9uIG9wdGlvbnMgW1N0cmluZywgQnVmZmVyXSBJbnB1dCBzb3VyY2UgZGF0YVxuICAjIEBvcHRpb24gb3B0aW9ucyBbU3RyaW5nXSBpbnB1dEVuY29kaW5nIEVuY29kaW5nIG5hbWUgZm9yIGlucHV0LCBpZ25vcmVkXG4gICMgICBpZiBpbnB1dCBpcyBub3QgYSBTdHJpbmdcbiAgIyBAb3B0aW9uIG9wdGlvbnMgW051bWJlcl0gaGlnaFdhdGVyTWFyayBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgdG8gc3RvcmVcbiAgIyAgIGluIHRoZSBpbnRlcm5hbCBidWZmZXIgYmVmb3JlIGNlYXNpbmcgdG8gcmVhZCBmcm9tIHRoZSB1bmRlcmx5aW5nXG4gICMgICByZXNvdXJjZS4gRGVmYXVsdD0xNmtiLCBvciAxNiBmb3Igb2JqZWN0TW9kZSBzdHJlYW1zLlxuICAjIEBvcHRpb24gb3B0aW9ucyBbU3RyaW5nXSBlbmNvZGluZyAgSWYgc3BlY2lmaWVkLCB0aGVuIGJ1ZmZlcnMgd2lsbCBiZVxuICAjICAgZGVjb2RlZCB0byBzdHJpbmdzIHVzaW5nIHRoZSBzcGVjaWZpZWQgZW5jb2RpbmcuIERlZmF1bHQ9bnVsbFxuICAjIEBvcHRpb24gb3B0aW9ucyBbQm9vbGVhbl0gb2JqZWN0TW9kZSBXaGV0aGVyIHRoaXMgc3RyZWFtIHNob3VsZCBiZWhhdmUgYXMgYVxuICAjICAgc3RyZWFtIG9mIG9iamVjdHMuIE1lYW5pbmcgdGhhdCBzdHJlYW0ucmVhZChuKSByZXR1cm5zIGEgc2luZ2xlIHZhbHVlXG4gICMgICBpbnN0ZWFkIG9mIGEgQnVmZmVyIG9mIHNpemUgbi4gRGVmYXVsdD1mYWxzZVxuICAjIEBvcHRpb24gb3B0aW9ucyBbQm9vbGVhbl0gZGVjb2RlU3RyaW5ncyBXaGV0aGVyIG9yIG5vdCB0byBkZWNvZGUgc3RyaW5nc1xuICAjICAgaW50byBCdWZmZXJzIGJlZm9yZSBwYXNzaW5nIHRoZW0gdG8gX3dyaXRlKCkuIERlZmF1bHQ9dHJ1ZVxuICBjb25zdHJ1Y3RvcjogKGlucHV0LCBpbnB1dEVuY29kaW5nLCBvcHRpb25zID0ge30pIC0+XG4gICAgaW5wID0gdW5kZWZpbmVkXG4gICAgaW5wRSA9IHVuZGVmaW5lZFxuICAgIHN3aXRjaCB0eXBlb2YoaW5wdXQpXG4gICAgICB3aGVuICdvYmplY3QnXG4gICAgICAgIGlmIEJ1ZmZlci5pc0J1ZmZlcihpbnB1dClcbiAgICAgICAgICBpbnAgPSBpbnB1dFxuICAgICAgICAgIGlmIGlucHV0RW5jb2Rpbmc/IGFuZCAodHlwZW9mKGlucHV0RW5jb2RpbmcpID09ICdvYmplY3QnKVxuICAgICAgICAgICAgb3B0aW9ucyA9IGlucHV0RW5jb2RpbmdcbiAgICAgICAgZWxzZVxuICAgICAgICAgIG9wdGlvbnMgPSBpbnB1dFxuICAgICAgd2hlbiAnc3RyaW5nJ1xuICAgICAgICBpbnAgPSBpbnB1dFxuICAgICAgICBpZiBpbnB1dEVuY29kaW5nPyBhbmQgKHR5cGVvZihpbnB1dEVuY29kaW5nKSA9PSAnb2JqZWN0JylcbiAgICAgICAgICBvcHRpb25zID0gaW5wdXRFbmNvZGluZ1xuICAgICAgICBlbHNlXG4gICAgICAgICAgaW5wRSA9IGlucHV0RW5jb2RpbmdcblxuICAgIGlmICFvcHRpb25zP1xuICAgICAgb3B0aW9ucyA9IHt9XG4gICAgaW5wID89IG9wdGlvbnMuaW5wdXRcbiAgICBpbnBFID89IG9wdGlvbnMuaW5wdXRFbmNvZGluZ1xuICAgIGRlbGV0ZSBvcHRpb25zLmlucHV0XG4gICAgZGVsZXRlIG9wdGlvbnMuaW5wdXRFbmNvZGluZ1xuICAgIHN1cGVyKG9wdGlvbnMpXG5cbiAgICBpZiBpbnA/XG4gICAgICBAZW5kIGlucCwgaW5wRVxuXG4gICMgSXMgdGhlIGdpdmVuIG9iamVjdCBhIHtOb0ZpbHRlcn0/XG4gICMgQHBhcmFtIG9iaiBbT2JqZWN0XSBUaGUgb2JqZWN0IHRvIHRlc3QuXG4gICMgQHJldHVybiBbQm9vbGVhbl1cbiAgQGlzTm9GaWx0ZXI6IChvYmopIC0+XG4gICAgb2JqIGluc3RhbmNlb2YgQFxuXG4gICMgVGhlIHNhbWUgYXMgbmYxLmNvbXBhcmUobmYyKS4gVXNlZnVsIGZvciBzb3J0aW5nIGFuIEFycmF5IG9mIE5vRmlsdGVyczpcbiAgIyBAZXhhbXBsZSBjb21wYXJlXG4gICMgIHZhciBhcnIgPSBbbmV3IE5vRmlsdGVyKCcxMjM0JyksIG5ldyBOb0ZpbHRlcignMDEyMycpXTtcbiAgIyAgYXJyLnNvcnQoQnVmZmVyLmNvbXBhcmUpO1xuICAjIEBwYXJhbSBuZjEgW05vRmlsdGVyXSBUaGUgZmlyc3Qgb2JqZWN0IHRvIGNvbXBhcmVcbiAgIyBAcGFyYW0gbmYyIFtOb0ZpbHRlcl0gVGhlIHNlY29uZCBvYmplY3QgdG8gY29tcGFyZVxuICAjIEByZXR1cm4gW051bWJlcl0gLTEsIDAsIDEgZm9yIGxlc3MsIGVxdWFsLCBncmVhdGVyXG4gIEBjb21wYXJlOiAobmYxLCBuZjIpIC0+XG4gICAgaWYgIShuZjEgaW5zdGFuY2VvZiBAKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvciAnQXJndW1lbnRzIG11c3QgYmUgTm9GaWx0ZXJzJ1xuICAgIGlmIG5mMSA9PSBuZjJcbiAgICAgIDBcbiAgICBlbHNlXG4gICAgICBuZjEuY29tcGFyZSBuZjJcblxuICAjIFJldHVybnMgYSBidWZmZXIgd2hpY2ggaXMgdGhlIHJlc3VsdCBvZiBjb25jYXRlbmF0aW5nIGFsbCB0aGUgTm9GaWx0ZXJzIGluXG4gICMgdGhlIGxpc3QgdG9nZXRoZXIuIElmIHRoZSBsaXN0IGhhcyBubyBpdGVtcywgb3IgaWYgdGhlIHRvdGFsTGVuZ3RoIGlzIDAsXG4gICMgdGhlbiBpdCByZXR1cm5zIGEgemVyby1sZW5ndGggYnVmZmVyLlxuICAjXG4gICMgSWYgbGVuZ3RoIGlzIG5vdCBwcm92aWRlZCwgaXQgaXMgcmVhZCBmcm9tIHRoZSBidWZmZXJzIGluIHRoZSBsaXN0LiBIb3dldmVyLFxuICAjIHRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIGxvb3AgdG8gdGhlIGZ1bmN0aW9uLCBzbyBpdCBpcyBmYXN0ZXIgdG8gcHJvdmlkZSB0aGVcbiAgIyBsZW5ndGggZXhwbGljaXRseS5cbiAgI1xuICAjIEBwYXJhbSBsaXN0IFtBcnJheSBvZiBOb0ZpbHRlcl0gSW5wdXRzLiAgTXVzdCBub3QgYmUgaW4gb2JqZWN0IG1vZGUuXG4gICMgQHBhcmFtIGxlbmd0aCBbTnVtYmVyXSBPcHRpb25hbC5cbiAgIyBAcmV0dXJuIFtCdWZmZXJdIFRoZSBjb25jYXRlbmF0ZWQgdmFsdWVzXG4gIEBjb25jYXQ6IChsaXN0LCBsZW5ndGgpIC0+XG4gICAgaWYgIUFycmF5LmlzQXJyYXkgbGlzdFxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvciAnbGlzdCBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIE5vRmlsdGVycydcbiAgICBpZiAobGlzdC5sZW5ndGggPT0gMCkgb3IgKGxlbmd0aCA9PSAwKVxuICAgICAgcmV0dXJuIG5ldyBCdWZmZXIgMFxuICAgIGlmICFsZW5ndGg/XG4gICAgICBsZW5ndGggPSBsaXN0LnJlZHVjZSAodG90LCBuZikgLT5cbiAgICAgICAgaWYgIShuZiBpbnN0YW5jZW9mIE5vRmlsdGVyKVxuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgJ2xpc3QgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBOb0ZpbHRlcnMnXG4gICAgICAgIHRvdCArIG5mLmxlbmd0aFxuICAgICAgLCAwXG4gICAgYnVmcyA9IGxpc3QubWFwIChuZikgLT5cbiAgICAgIGlmICEobmYgaW5zdGFuY2VvZiBOb0ZpbHRlcilcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvciAnbGlzdCBhcmd1bWVudCBtdXN0IGJlIGFuIEFycmF5IG9mIE5vRmlsdGVycydcbiAgICAgIGlmIG5mLl9yZWFkYWJsZVN0YXRlLm9iamVjdE1vZGVcbiAgICAgICAgIyBUT0RPOiBpZiBhbnkgb2YgdGhlbSBhcmUgaW4gb2JqZWN0IG1vZGUsIHRoZW4gcmV0dXJuIGFuIGFycmF5P1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IgJ05vRmlsdGVyIG1heSBub3QgYmUgaW4gb2JqZWN0IG1vZGUgZm9yIGNvbmNhdCdcbiAgICAgIG5mLnNsaWNlKClcbiAgICBCdWZmZXIuY29uY2F0IGJ1ZnMsIGxlbmd0aFxuXG4gICMgQG5vZG9jXG4gIF90cmFuc2Zvcm06IChjaHVuaywgZW5jb2RpbmcsIGNhbGxiYWNrKSAtPlxuICAgIGlmICFAX3JlYWRhYmxlU3RhdGUub2JqZWN0TW9kZSBhbmQgIUJ1ZmZlci5pc0J1ZmZlcihjaHVuaylcbiAgICAgIGNodW5rID0gbmV3IEJ1ZmZlciBjaHVuaywgZW5jb2RpbmdcbiAgICBAcHVzaCBjaHVua1xuICAgIGNhbGxiYWNrKClcblxuICAjIFJldHVybnMgYSBudW1iZXIgaW5kaWNhdGluZyB3aGV0aGVyIHRoaXMgY29tZXMgYmVmb3JlIG9yIGFmdGVyIG9yIGlzIHRoZVxuICAjIHNhbWUgYXMgdGhlIG90aGVyIE5vRmlsdGVyIGluIHNvcnQgb3JkZXIuXG4gICNcbiAgIyBAcGFyYW0gb3RoZXIgW05vRmlsdGVyXSBUaGUgb3RoZXIgb2JqZWN0IHRvIGNvbXBhcmVcbiAgIyBAcmV0dXJuIFtOdW1iZXJdIC0xLCAwLCAxIGZvciBsZXNzLCBlcXVhbCwgZ3JlYXRlclxuICBjb21wYXJlOiAob3RoZXIpIC0+XG4gICAgaWYgIShvdGhlciBpbnN0YW5jZW9mIE5vRmlsdGVyKVxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvciAnQXJndW1lbnRzIG11c3QgYmUgTm9GaWx0ZXJzJ1xuICAgIGlmIEBfcmVhZGFibGVTdGF0ZS5vYmplY3RNb2RlIG9yIG90aGVyLl9yZWFkYWJsZVN0YXRlLm9iamVjdE1vZGVcbiAgICAgIHRocm93IG5ldyBFcnJvciAnTXVzdCBub3QgYmUgaW4gb2JqZWN0IG1vZGUgdG8gY29tcGFyZSdcbiAgICBpZiBAID09IG90aGVyXG4gICAgICAwXG4gICAgZWxzZVxuICAgICAgQHNsaWNlKCkuY29tcGFyZSBvdGhlci5zbGljZSgpXG5cbiAgIyBEbyB0aGVzZSBOb0ZpbHRlcidzIGNvbnRhaW4gdGhlIHNhbWUgYnl0ZXM/ICBEb2Vzbid0IHdvcmsgaWYgZWl0aGVyIGlzXG4gICMgaW4gb2JqZWN0IG1vZGUuXG4gICMgQHBhcmFtIG90aGVyIFtOb0ZpbHRlcl1cbiAgIyBAcmV0dXJuIFtCb29sZWFuXSBFcXVhbD9cbiAgZXF1YWxzOiAob3RoZXIpIC0+XG4gICAgQGNvbXBhcmUob3RoZXIpID09IDBcblxuICAjIFJlYWQgYnl0ZXMgb3Igb2JqZWN0cyB3aXRob3V0IGNvbnN1bWluZyB0aGVtLiAgVXNlZnVsIGZvciBkaWFnbm9zdGljcy5cbiAgIyBOb3RlOiBhcyBhIHNpZGUtZWZmZWN0LCBjb25jYXRlbmF0ZXMgbXVsdGlwbGUgd3JpdGVzIHRvZ2V0aGVyIGludG8gd2hhdFxuICAjIGxvb2tzIGxpa2UgYSBzaW5nbGUgd3JpdGUsIHNvIHRoYXQgdGhpcyBjb25jYXQgZG9lc24ndCBoYXZlIHRvIGhhcHBlblxuICAjIG11bHRpcGxlIHRpbWVzIHdoZW4geW91J3JlIGZ1dHppbmcgd2l0aCB0aGUgc2FtZSBOb0ZpbHRlci5cbiAgI1xuICAjIEBwYXJhbSBzdGFydCBbTnVtYmVyXSBPcHRpb25hbCwgRGVmYXVsdDogMFxuICAjIEBwYXJhbSBlbmQgW051bWJlcl0sIE9wdGlvbmFsLCBEZWZhdWx0OiBOb0ZpbHRlci5sZW5ndGhcbiAgIyBAcmV0dXJuIFtCdWZmZXIsQXJyYXldIGlmIGluIG9iamVjdCBtb2RlLCBhbiBhcnJheSBvZiBvYmplY3RzLiAgT3RoZXJ3aXplLFxuICAjICAgY29uY2F0ZW5hdGVkIGFycmF5IG9mIGNvbnRlbnRzLlxuICBzbGljZTogKHN0YXJ0LCBlbmQpIC0+XG4gICAgaWYgQF9yZWFkYWJsZVN0YXRlLm9iamVjdE1vZGVcbiAgICAgIEBfcmVhZGFibGVTdGF0ZS5idWZmZXIuc2xpY2Ugc3RhcnQsIGVuZFxuICAgIGVsc2VcbiAgICAgIHN3aXRjaCBAX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmxlbmd0aFxuICAgICAgICB3aGVuIDAgdGhlbiBuZXcgQnVmZmVyKDApXG4gICAgICAgIHdoZW4gMSB0aGVuIEBfcmVhZGFibGVTdGF0ZS5idWZmZXJbMF0uc2xpY2Uoc3RhcnQsIGVuZClcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGIgPSBCdWZmZXIuY29uY2F0IEBfcmVhZGFibGVTdGF0ZS5idWZmZXJcbiAgICAgICAgICBAX3JlYWRhYmxlU3RhdGUuYnVmZmVyID0gW2JdXG4gICAgICAgICAgYi5zbGljZSBzdGFydCwgZW5kXG5cbiAgIyBHZXQgYSBieXRlIGJ5IG9mZnNldC4gIEkgZGlkbid0IHdhbnQgdG8gZ2V0IGludG8gbWV0YXByb2dyYW1taW5nXG4gICMgdG8gZ2l2ZSB5b3UgdGhlIGBOb0ZpbHRlclswXWAgc3ludGF4LlxuICAjIEBwYXJhbSBpbmRleCBbTnVtYmVyXSBUaGUgYnl0ZSB0byByZXRyaWV2ZVxuICAjIEByZXR1cm4gW051bWJlcl0gMC0yNTVcbiAgZ2V0OiAoaW5kZXgpIC0+XG4gICAgQHNsaWNlKClbaW5kZXhdXG5cbiAgIyBSZXR1cm4gYW4gb2JqZWN0IGNvbXBhdGlibGUgd2l0aCBCdWZmZXIncyB0b0pTT04gaW1wbGVtZW50YXRpb24sIHNvXG4gICMgdGhhdCByb3VuZC10cmlwcGluZyB3aWxsIHByb2R1Y2UgYSBCdWZmZXIuXG4gICMgQHJldHVybiBbT2JqZWN0XVxuICAjXG4gICMgQGV4YW1wbGUgb3V0cHV0IGZvciAnZm9vJ1xuICAjICAgeyB0eXBlOiAnQnVmZmVyJywgZGF0YTogWyAxMDIsIDExMSwgMTExIF0gfVxuICB0b0pTT046IC0+XG4gICAgYiA9IEBzbGljZSgpXG4gICAgaWYgQnVmZmVyLmlzQnVmZmVyKGIpXG4gICAgICBiLnRvSlNPTigpXG4gICAgZWxzZVxuICAgICAgYlxuXG4gICMgRGVjb2RlcyBhbmQgcmV0dXJucyBhIHN0cmluZyBmcm9tIGJ1ZmZlciBkYXRhIGVuY29kZWQgdXNpbmcgdGhlIHNwZWNpZmllZFxuICAjIGNoYXJhY3RlciBzZXQgZW5jb2RpbmcuIElmIGVuY29kaW5nIGlzIHVuZGVmaW5lZCBvciBudWxsLCB0aGVuIGVuY29kaW5nXG4gICMgZGVmYXVsdHMgdG8gJ3V0ZjgnLiBUaGUgc3RhcnQgYW5kIGVuZCBwYXJhbWV0ZXJzIGRlZmF1bHQgdG8gMCBhbmRcbiAgIyBOb0ZpbHRlci5sZW5ndGggd2hlbiB1bmRlZmluZWQuXG4gICNcbiAgIyBAcGFyYW0gZW5jb2RpbmcgW1N0cmluZ10gT3B0aW9uYWwsIERlZmF1bHQ6ICd1dGY4J1xuICAjIEBwYXJhbSBzdGFydCBbTnVtYmVyXSBPcHRpb25hbCwgRGVmYXVsdDogMFxuICAjIEBwYXJhbSBlbmQgW051bWJlcl0gT3B0aW9uYWwsIERlZmF1bHQ6IE5vRmlsdGVyLmxlbmd0aFxuICAjIEByZXR1cm4gW1N0cmluZ11cbiAgdG9TdHJpbmc6IChlbmNvZGluZywgc3RhcnQsIGVuZCkgLT5cbiAgICBAc2xpY2UoKS50b1N0cmluZyhlbmNvZGluZywgc3RhcnQsIGVuZClcblxuICAjIEBub2RvY1xuICBpbnNwZWN0OiAoZGVwdGgsIG9wdGlvbnMpIC0+XG4gICAgaGV4ID0gQF9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5tYXAgKGIpIC0+XG4gICAgICBpZiBCdWZmZXIuaXNCdWZmZXIoYilcbiAgICAgICAgaWYgb3B0aW9ucz8uc3R5bGl6ZVxuICAgICAgICAgIG9wdGlvbnMuc3R5bGl6ZSBiLnRvU3RyaW5nKCdoZXgnKSwgJ3N0cmluZydcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGIudG9TdHJpbmcoJ2hleCcpXG4gICAgICBlbHNlXG4gICAgICAgIHV0aWwuaW5zcGVjdChiLCBvcHRpb25zKVxuICAgIC5qb2luICcsICdcbiAgICBcIiN7QGNvbnN0cnVjdG9yLm5hbWV9IFsje2hleH1dXCJcblxuICAjIEBub2RvY1xuICBfcmVhZF9nZW4gPSAobWV0aCwgbGVuKSAtPlxuICAgICh2YWwpIC0+XG4gICAgICBiID0gQHJlYWQgbGVuXG4gICAgICBpZiAhQnVmZmVyLmlzQnVmZmVyKGIpXG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICBiW21ldGhdLmNhbGwgYiwgMCwgdHJ1ZVxuXG4gICMgQG5vZG9jXG4gIF93cml0ZV9nZW4gPSAobWV0aCwgbGVuKSAtPlxuICAgICh2YWwpIC0+XG4gICAgICBiID0gbmV3IEJ1ZmZlciBsZW5cbiAgICAgIGJbbWV0aF0uY2FsbCBiLCB2YWwsIDAsIHRydWVcbiAgICAgIEBwdXNoIGJcblxuICAjIHVuc2lnbmVkXG4gIHdyaXRlVUludDg6ICAgIF93cml0ZV9nZW4gJ3dyaXRlVUludDgnLCAgICAxXG4gIHdyaXRlVUludDE2TEU6IF93cml0ZV9nZW4gJ3dyaXRlVUludDE2TEUnLCAyXG4gIHdyaXRlVUludDE2QkU6IF93cml0ZV9nZW4gJ3dyaXRlVUludDE2QkUnLCAyXG4gIHdyaXRlVUludDMyTEU6IF93cml0ZV9nZW4gJ3dyaXRlVUludDMyTEUnLCA0XG4gIHdyaXRlVUludDMyQkU6IF93cml0ZV9nZW4gJ3dyaXRlVUludDMyQkUnLCA0XG5cbiAgIyBzaWduZWRcbiAgd3JpdGVJbnQ4OiAgICAgX3dyaXRlX2dlbiAnd3JpdGVJbnQ4JywgICAgIDFcbiAgd3JpdGVJbnQxNkxFOiAgX3dyaXRlX2dlbiAnd3JpdGVJbnQxNkxFJywgIDJcbiAgd3JpdGVJbnQxNkJFOiAgX3dyaXRlX2dlbiAnd3JpdGVJbnQxNkJFJywgIDJcbiAgd3JpdGVJbnQzMkxFOiAgX3dyaXRlX2dlbiAnd3JpdGVJbnQzMkxFJywgIDRcbiAgd3JpdGVJbnQzMkJFOiAgX3dyaXRlX2dlbiAnd3JpdGVJbnQzMkJFJywgIDRcblxuICAjIGZsb2F0XG4gIHdyaXRlRmxvYXRMRTogIF93cml0ZV9nZW4gJ3dyaXRlRmxvYXRMRScsICA0XG4gIHdyaXRlRmxvYXRCRTogIF93cml0ZV9nZW4gJ3dyaXRlRmxvYXRCRScsICA0XG4gIHdyaXRlRG91YmxlTEU6IF93cml0ZV9nZW4gJ3dyaXRlRG91YmxlTEUnLCA4XG4gIHdyaXRlRG91YmxlQkU6IF93cml0ZV9nZW4gJ3dyaXRlRG91YmxlQkUnLCA4XG5cbiAgIyB1bnNpZ25lZFxuICByZWFkVUludDg6ICAgIF9yZWFkX2dlbiAncmVhZFVJbnQ4JywgICAgMVxuICByZWFkVUludDE2TEU6IF9yZWFkX2dlbiAncmVhZFVJbnQxNkxFJywgMlxuICByZWFkVUludDE2QkU6IF9yZWFkX2dlbiAncmVhZFVJbnQxNkJFJywgMlxuICByZWFkVUludDMyTEU6IF9yZWFkX2dlbiAncmVhZFVJbnQzMkxFJywgNFxuICByZWFkVUludDMyQkU6IF9yZWFkX2dlbiAncmVhZFVJbnQzMkJFJywgNFxuXG4gICMgc2lnbmVkXG4gIHJlYWRJbnQ4OiAgICAgX3JlYWRfZ2VuICdyZWFkSW50OCcsICAgICAxXG4gIHJlYWRJbnQxNkxFOiAgX3JlYWRfZ2VuICdyZWFkSW50MTZMRScsICAyXG4gIHJlYWRJbnQxNkJFOiAgX3JlYWRfZ2VuICdyZWFkSW50MTZCRScsICAyXG4gIHJlYWRJbnQzMkxFOiAgX3JlYWRfZ2VuICdyZWFkSW50MzJMRScsICA0XG4gIHJlYWRJbnQzMkJFOiAgX3JlYWRfZ2VuICdyZWFkSW50MzJCRScsICA0XG5cbiAgIyBmbG9hdFxuICByZWFkRmxvYXRMRTogIF9yZWFkX2dlbiAncmVhZEZsb2F0TEUnLCAgNFxuICByZWFkRmxvYXRCRTogIF9yZWFkX2dlbiAncmVhZEZsb2F0QkUnLCAgNFxuICByZWFkRG91YmxlTEU6IF9yZWFkX2dlbiAncmVhZERvdWJsZUxFJywgOFxuICByZWFkRG91YmxlQkU6IF9yZWFkX2dlbiAncmVhZERvdWJsZUJFJywgOFxuXG4gICMgQG5vZG9jXG4gIGdldCA9IChwcm9wcykgLT5cbiAgICBOb0ZpbHRlcjo6X19kZWZpbmVHZXR0ZXJfXyhuYW1lLCBnZXR0ZXIpIGZvciBuYW1lLCBnZXR0ZXIgb2YgcHJvcHNcblxuICAjIEBwcm9wZXJ0eSBbTnVtYmVyXSBUaGUgbnVtYmVyIG9mIGJ5dGVzIGN1cnJlbnRseSBhdmFpbGFibGUgdG8gcmVhZFxuICBnZXQgbGVuZ3RoOiAtPiBAX3JlYWRhYmxlU3RhdGUubGVuZ3RoXG4iXX0= | ||
//# sourceMappingURL=data:application/json;base64,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VixFQUEwQixDQUExQjs7dUJBQ2QsV0FBQSxHQUFjLFNBQUEsQ0FBVSxhQUFWLEVBQTBCLENBQTFCOzt1QkFDZCxXQUFBLEdBQWMsU0FBQSxDQUFVLGFBQVYsRUFBMEIsQ0FBMUI7O3VCQUdkLFdBQUEsR0FBYyxTQUFBLENBQVUsYUFBVixFQUEwQixDQUExQjs7dUJBQ2QsV0FBQSxHQUFjLFNBQUEsQ0FBVSxhQUFWLEVBQTBCLENBQTFCOzt1QkFDZCxZQUFBLEdBQWMsU0FBQSxDQUFVLGNBQVYsRUFBMEIsQ0FBMUI7O3VCQUNkLFlBQUEsR0FBYyxTQUFBLENBQVUsY0FBVixFQUEwQixDQUExQjs7SUFHZCxHQUFBLEdBQU0sU0FBQyxLQUFEO0FBQ0osVUFBQTtBQUFBO1dBQUEsYUFBQTs7cUJBQUEsUUFBUSxDQUFBLFNBQUUsQ0FBQSxnQkFBVixDQUEyQixJQUEzQixFQUFpQyxNQUFqQztBQUFBOztJQURJOztJQUlOLEdBQUEsQ0FBSTtNQUFBLE1BQUEsRUFBUSxTQUFBO2VBQUcsSUFBQyxDQUFBLGNBQWMsQ0FBQztNQUFuQixDQUFSO0tBQUo7Ozs7S0FyUnNDLE1BQU0sQ0FBQztBQW5JL0MiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NvdXJjZS8iLCJzb3VyY2VzQ29udGVudCI6WyJzdHJlYW0gPSByZXF1aXJlICdzdHJlYW0nXG51dGlsID0gcmVxdWlyZSAndXRpbCdcblxuIyBOb0ZpbHRlciBzdHJlYW0uICBDYW4gYmUgdXNlZCB0byBzaW5rIG9yIHNvdXJjZSBkYXRhIHRvIGFuZCBmcm9tIG90aGVyXG4jIG5vZGUgc3RyZWFtcy4gIEltcGxlbWVudGVkIGFzIHRoZSBcImlkZW50aXR5XCIgVHJhbnNmb3JtIHN0cmVhbSAoaGVuY2UgdGhlXG4jIG5hbWUpLCBidXQgYWxsb3dzIGZvciBpbnNwZWN0aW5nIGRhdGEgdGhhdCBpcyBpbi1mbGlnaHQuXG4jXG4jIEBleGFtcGxlIHNvdXJjZVxuIyAgIHZhciBuID0gbmV3IE5vRmlsdGVyKCdabTl2JywgJ2Jhc2U2NCcpO1xuIyAgIG4ucGlwZShwcm9jZXNzLnN0ZG91dCk7XG4jXG4jIEBleGFtcGxlIHNpbmtcbiMgICB2YXIgbiA9IG5ldyBOb2ZpbHRlcigpO1xuIyAgICMgTk9URTogJ2ZpbmlzaCcgZmlyZXMgd2hlbiB0aGUgaW5wdXQgaXMgZG9uZSB3cml0aW5nXG4jICAgbi5vbignZmluaXNoJywgZnVuY3Rpb24oKSB7IGNvbnNvbGUubG9nKG4udG9TdHJpbmcoJ2Jhc2U2NCcpKTsgfSk7XG4jICAgcHJvY2Vzcy5zdGRpbi5waXBlKG4pO1xuI1xuIyBAZXZlbnQgcmVhZChCdWZmZXJ8U3RyaW5nfE9iamVjdCkgZmlyZWQgd2hlbmV2ZXIgYW55dGhpbmcgaXMgcmVhZCBmcm9tIHRoZVxuIyAgIHN0cmVhbS5cbiNcbiMgQG1ldGhvZCAjd3JpdGVVSW50OCh2YWx1ZSlcbiMgICBXcml0ZSBhbiA4LWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHRvIHRoZSBzdHJlYW0uICBBZGRzIDEgYnl0ZS5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVVSW50MTZMRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGxpdHRsZS1lbmRpYW4gMTYtYml0IHVuc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICAyIGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZVVJbnQxNkJFKHZhbHVlKVxuIyAgIFdyaXRlIGEgYmlnLWVuZGlhbiAxNi1iaXQgdW5zaWduZWQgaW50ZWdlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDIgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlVUludDMyTEUodmFsdWUpXG4jICAgV3JpdGUgYSBsaXR0bGUtZW5kaWFuIDMyLWJpdCB1bnNpZ25lZCBpbnRlZ2VyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgNCBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVVSW50MzJCRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGJpZy1lbmRpYW4gMzItYml0IHVuc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICA0IGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZUludDgodmFsdWUpXG4jICAgV3JpdGUgYW4gOC1iaXQgc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICAxIGJ5dGUuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlSW50MTZMRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGxpdHRsZS1lbmRpYW4gMTYtYml0IHNpZ25lZCBpbnRlZ2VyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgMiBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVJbnQxNkJFKHZhbHVlKVxuIyAgIFdyaXRlIGEgYmlnLWVuZGlhbiAxNi1iaXQgc2lnbmVkIGludGVnZXIgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICAyIGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZUludDMyTEUodmFsdWUpXG4jICAgV3JpdGUgYSBsaXR0bGUtZW5kaWFuIDMyLWJpdCBzaWduZWQgaW50ZWdlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlSW50MzJCRSh2YWx1ZSlcbiMgICBXcml0ZSBhIGJpZy1lbmRpYW4gMzItYml0IHNpZ25lZCBpbnRlZ2VyIHRvIHRoZSBzdHJlYW0uICBBZGRzXG4jICAgNCBieXRlcy5cbiMgICBAcGFyYW0gdmFsdWUgW051bWJlcl1cbiMgQG1ldGhvZCAjd3JpdGVGbG9hdExFKHZhbHVlKVxuIyAgIFdyaXRlIGEgbGl0dGxlLWVuZGlhbiAzMi1iaXQgZmxvYXQgdG8gdGhlIHN0cmVhbS4gIEFkZHNcbiMgICA0IGJ5dGVzLlxuIyAgIEBwYXJhbSB2YWx1ZSBbTnVtYmVyXVxuIyBAbWV0aG9kICN3cml0ZUZsb2F0QkUodmFsdWUpXG4jICAgV3JpdGUgYSBiaWctZW5kaWFuIDMyLWJpdCBmbG9hdCB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlRG91YmxlTEUodmFsdWUpXG4jICAgV3JpdGUgYSBsaXR0bGUtZW5kaWFuIDY0LWJpdCBkb3VibGUgcHJlY2lzaW9uIG51bWJlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDggYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3dyaXRlRG91YmxlQkUodmFsdWUpXG4jICAgV3JpdGUgYSBiaWctZW5kaWFuIDY0LWJpdCBkb3VibGUgcHJlY2lzaW9uIG51bWJlciB0byB0aGUgc3RyZWFtLiAgQWRkc1xuIyAgIDggYnl0ZXMuXG4jICAgQHBhcmFtIHZhbHVlIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRVSW50OCgpXG4jICAgUmVhZCBhbiB1bnNpZ25lZCA4LWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgMSBieXRlLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZFVJbnQxNkxFKClcbiMgICBSZWFkIGEgbGl0dGxlLWVuZGlhbiB1bnNpZ25lZCAxNi1iaXQgaW50ZWdlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDIgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkVUludDE2QkUoKVxuIyAgIFJlYWQgYSBiaWctZW5kaWFuIHVuc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgMiBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRVSW50MzJMRSgpXG4jICAgUmVhZCBhIGxpdHRsZS1lbmRpYW4gdW5zaWduZWQgMzItYml0IGludGVnZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICA0IGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZFVJbnQzMkJFKClcbiMgICBSZWFkIGEgLWJpZ2VuZGlhbiB1bnNpZ25lZCAzMi1iaXQgaW50ZWdlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkSW50OCgpXG4jICAgUmVhZCBhIHNpZ25lZCA4LWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgMSBieXRlLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZEludDE2TEUoKVxuIyAgIFJlYWQgYSBsaXR0bGUtZW5kaWFuIHNpZ25lZCAxNi1iaXQgaW50ZWdlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDIgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkSW50MTZCRSgpXG4jICAgUmVhZCBhIGJpZy1lbmRpYW4gc2lnbmVkIDE2LWJpdCBpbnRlZ2VyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgMiBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRJbnQzMkxFKClcbiMgICBSZWFkIGEgbGl0dGxlLWVuZGlhbiBzaWduZWQgMzItYml0IGludGVnZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICA0IGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZEludDMyQkUoKVxuIyAgIFJlYWQgYSBiaWctZW5kaWFuIHNpZ25lZCAzMi1iaXQgaW50ZWdlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDQgYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkRmxvYXRMRSgpXG4jICAgUmVhZCBhIGxpdHRsZS1lbmRpYW4gZmxvYXRpbmcgcG9pbnQgbnVtYmVyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgNCBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG4jIEBtZXRob2QgI3JlYWRGbG9hdEJFKClcbiMgICBSZWFkIGEgYmlnLWVuZGlhbiBmbG9hdGluZyBwb2ludCBudW1iZXIgZnJvbSB0aGUgc3RyZWFtLiAgQ29uc3VtZXNcbiMgICA0IGJ5dGVzLlxuIyAgIEByZXR1cm4gW051bWJlcl1cbiMgQG1ldGhvZCAjcmVhZERvdWJsZUxFKClcbiMgICBSZWFkIGEgbGl0dGxlLWVuZGlhbiBkb3VibGUtcHJlY2lzaW9uIG51bWJlciBmcm9tIHRoZSBzdHJlYW0uICBDb25zdW1lc1xuIyAgIDggYnl0ZXMuXG4jICAgQHJldHVybiBbTnVtYmVyXVxuIyBAbWV0aG9kICNyZWFkRG91YmxlQkUoKVxuIyAgIFJlYWQgYSBiaWctZW5kaWFuIGRvdWJsZS1wcmVjaXNpb24gbnVtYmVyIGZyb20gdGhlIHN0cmVhbS4gIENvbnN1bWVzXG4jICAgOCBieXRlcy5cbiMgICBAcmV0dXJuIFtOdW1iZXJdXG5tb2R1bGUuZXhwb3J0cyA9IGNsYXNzIE5vRmlsdGVyIGV4dGVuZHMgc3RyZWFtLlRyYW5zZm9ybVxuICAjIENyZWF0ZSBhIE5vRmlsdGVyLiAgQWxsb3cgcGFzc2luZyBpbiBzb3VyY2UgZGF0YSAoaW5wdXQsIGlucHV0RW5jb2RpbmcpXG4gICMgYXQgY3JlYXRpb24gdGltZS4gIFNvdXJjZSBkYXRhIGNhbiBhbHNvIGJlIHBhc3NlZCBpbiB0aGUgb3B0aW9ucyBvYmplY3QuXG4gICNcbiAgIyBAcGFyYW0gaW5wdXQgW1N0cmluZywgQnVmZmVyXSBPcHRpb25hbCBzb3VyY2UgZGF0YVxuICAjIEBwYXJhbSBpbnB1dEVuY29kaW5nIFtTdHJpbmddIE9wdGlvbmFsIGVuY29kaW5nIG5hbWUgZm9yIGlucHV0LCBpZ25vcmVkXG4gICMgICBpZiBpbnB1dCBpcyBub3QgYSBTdHJpbmdcbiAgIyBAcGFyYW0gb3B0aW9ucyBbT2JqZWN0XSBPdGhlciBvcHRpb25zXG4gICMgQG9wdGlvbiBvcHRpb25zIFtTdHJpbmcsIEJ1ZmZlcl0gSW5wdXQgc291cmNlIGRhdGFcbiAgIyBAb3B0aW9uIG9wdGlvbnMgW1N0cmluZ10gaW5wdXRFbmNvZGluZyBFbmNvZGluZyBuYW1lIGZvciBpbnB1dCwgaWdub3JlZFxuICAjICAgaWYgaW5wdXQgaXMgbm90IGEgU3RyaW5nXG4gICMgQG9wdGlvbiBvcHRpb25zIFtOdW1iZXJdIGhpZ2hXYXRlck1hcmsgVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRvIHN0b3JlXG4gICMgICBpbiB0aGUgaW50ZXJuYWwgYnVmZmVyIGJlZm9yZSBjZWFzaW5nIHRvIHJlYWQgZnJvbSB0aGUgdW5kZXJseWluZ1xuICAjICAgcmVzb3VyY2UuIERlZmF1bHQ9MTZrYiwgb3IgMTYgZm9yIG9iamVjdE1vZGUgc3RyZWFtcy5cbiAgIyBAb3B0aW9uIG9wdGlvbnMgW1N0cmluZ10gZW5jb2RpbmcgIElmIHNwZWNpZmllZCwgdGhlbiBidWZmZXJzIHdpbGwgYmVcbiAgIyAgIGRlY29kZWQgdG8gc3RyaW5ncyB1c2luZyB0aGUgc3BlY2lmaWVkIGVuY29kaW5nLiBEZWZhdWx0PW51bGxcbiAgIyBAb3B0aW9uIG9wdGlvbnMgW0Jvb2xlYW5dIG9iamVjdE1vZGUgV2hldGhlciB0aGlzIHN0cmVhbSBzaG91bGQgYmVoYXZlIGFzIGFcbiAgIyAgIHN0cmVhbSBvZiBvYmplY3RzLiBNZWFuaW5nIHRoYXQgc3RyZWFtLnJlYWQobikgcmV0dXJucyBhIHNpbmdsZSB2YWx1ZVxuICAjICAgaW5zdGVhZCBvZiBhIEJ1ZmZlciBvZiBzaXplIG4uIERlZmF1bHQ9ZmFsc2VcbiAgIyBAb3B0aW9uIG9wdGlvbnMgW0Jvb2xlYW5dIGRlY29kZVN0cmluZ3MgV2hldGhlciBvciBub3QgdG8gZGVjb2RlIHN0cmluZ3NcbiAgIyAgIGludG8gQnVmZmVycyBiZWZvcmUgcGFzc2luZyB0aGVtIHRvIF93cml0ZSgpLiBEZWZhdWx0PXRydWVcbiAgY29uc3RydWN0b3I6IChpbnB1dCwgaW5wdXRFbmNvZGluZywgb3B0aW9ucyA9IHt9KSAtPlxuICAgIGlucCA9IHVuZGVmaW5lZFxuICAgIGlucEUgPSB1bmRlZmluZWRcbiAgICBzd2l0Y2ggdHlwZW9mKGlucHV0KVxuICAgICAgd2hlbiAnb2JqZWN0J1xuICAgICAgICBpZiBCdWZmZXIuaXNCdWZmZXIoaW5wdXQpXG4gICAgICAgICAgaW5wID0gaW5wdXRcbiAgICAgICAgICBpZiBpbnB1dEVuY29kaW5nPyBhbmQgKHR5cGVvZihpbnB1dEVuY29kaW5nKSA9PSAnb2JqZWN0JylcbiAgICAgICAgICAgIG9wdGlvbnMgPSBpbnB1dEVuY29kaW5nXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBvcHRpb25zID0gaW5wdXRcbiAgICAgIHdoZW4gJ3N0cmluZydcbiAgICAgICAgaW5wID0gaW5wdXRcbiAgICAgICAgaWYgaW5wdXRFbmNvZGluZz8gYW5kICh0eXBlb2YoaW5wdXRFbmNvZGluZykgPT0gJ29iamVjdCcpXG4gICAgICAgICAgb3B0aW9ucyA9IGlucHV0RW5jb2RpbmdcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGlucEUgPSBpbnB1dEVuY29kaW5nXG5cbiAgICBpZiAhb3B0aW9ucz9cbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgIGlucCA/PSBvcHRpb25zLmlucHV0XG4gICAgaW5wRSA/PSBvcHRpb25zLmlucHV0RW5jb2RpbmdcbiAgICBkZWxldGUgb3B0aW9ucy5pbnB1dFxuICAgIGRlbGV0ZSBvcHRpb25zLmlucHV0RW5jb2RpbmdcbiAgICBzdXBlcihvcHRpb25zKVxuXG4gICAgaWYgaW5wP1xuICAgICAgQGVuZCBpbnAsIGlucEVcblxuICAjIElzIHRoZSBnaXZlbiBvYmplY3QgYSB7Tm9GaWx0ZXJ9P1xuICAjIEBwYXJhbSBvYmogW09iamVjdF0gVGhlIG9iamVjdCB0byB0ZXN0LlxuICAjIEByZXR1cm4gW0Jvb2xlYW5dXG4gIEBpc05vRmlsdGVyOiAob2JqKSAtPlxuICAgIG9iaiBpbnN0YW5jZW9mIEBcblxuICAjIFRoZSBzYW1lIGFzIG5mMS5jb21wYXJlKG5mMikuIFVzZWZ1bCBmb3Igc29ydGluZyBhbiBBcnJheSBvZiBOb0ZpbHRlcnM6XG4gICMgQGV4YW1wbGUgY29tcGFyZVxuICAjICB2YXIgYXJyID0gW25ldyBOb0ZpbHRlcignMTIzNCcpLCBuZXcgTm9GaWx0ZXIoJzAxMjMnKV07XG4gICMgIGFyci5zb3J0KEJ1ZmZlci5jb21wYXJlKTtcbiAgIyBAcGFyYW0gbmYxIFtOb0ZpbHRlcl0gVGhlIGZpcnN0IG9iamVjdCB0byBjb21wYXJlXG4gICMgQHBhcmFtIG5mMiBbTm9GaWx0ZXJdIFRoZSBzZWNvbmQgb2JqZWN0IHRvIGNvbXBhcmVcbiAgIyBAcmV0dXJuIFtOdW1iZXJdIC0xLCAwLCAxIGZvciBsZXNzLCBlcXVhbCwgZ3JlYXRlclxuICBAY29tcGFyZTogKG5mMSwgbmYyKSAtPlxuICAgIGlmICEobmYxIGluc3RhbmNlb2YgQClcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgJ0FyZ3VtZW50cyBtdXN0IGJlIE5vRmlsdGVycydcbiAgICBpZiBuZjEgPT0gbmYyXG4gICAgICAwXG4gICAgZWxzZVxuICAgICAgbmYxLmNvbXBhcmUgbmYyXG5cbiAgIyBSZXR1cm5zIGEgYnVmZmVyIHdoaWNoIGlzIHRoZSByZXN1bHQgb2YgY29uY2F0ZW5hdGluZyBhbGwgdGhlIE5vRmlsdGVycyBpblxuICAjIHRoZSBsaXN0IHRvZ2V0aGVyLiBJZiB0aGUgbGlzdCBoYXMgbm8gaXRlbXMsIG9yIGlmIHRoZSB0b3RhbExlbmd0aCBpcyAwLFxuICAjIHRoZW4gaXQgcmV0dXJucyBhIHplcm8tbGVuZ3RoIGJ1ZmZlci5cbiAgI1xuICAjIElmIGxlbmd0aCBpcyBub3QgcHJvdmlkZWQsIGl0IGlzIHJlYWQgZnJvbSB0aGUgYnVmZmVycyBpbiB0aGUgbGlzdC4gSG93ZXZlcixcbiAgIyB0aGlzIGFkZHMgYW4gYWRkaXRpb25hbCBsb29wIHRvIHRoZSBmdW5jdGlvbiwgc28gaXQgaXMgZmFzdGVyIHRvIHByb3ZpZGUgdGhlXG4gICMgbGVuZ3RoIGV4cGxpY2l0bHkuXG4gICNcbiAgIyBAcGFyYW0gbGlzdCBbQXJyYXkgb2YgTm9GaWx0ZXJdIElucHV0cy4gIE11c3Qgbm90IGJlIGluIG9iamVjdCBtb2RlLlxuICAjIEBwYXJhbSBsZW5ndGggW051bWJlcl0gT3B0aW9uYWwuXG4gICMgQHJldHVybiBbQnVmZmVyXSBUaGUgY29uY2F0ZW5hdGVkIHZhbHVlc1xuICBAY29uY2F0OiAobGlzdCwgbGVuZ3RoKSAtPlxuICAgIGlmICFBcnJheS5pc0FycmF5IGxpc3RcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgJ2xpc3QgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBOb0ZpbHRlcnMnXG4gICAgaWYgKGxpc3QubGVuZ3RoID09IDApIG9yIChsZW5ndGggPT0gMClcbiAgICAgIHJldHVybiBuZXcgQnVmZmVyIDBcbiAgICBpZiAhbGVuZ3RoP1xuICAgICAgbGVuZ3RoID0gbGlzdC5yZWR1Y2UgKHRvdCwgbmYpIC0+XG4gICAgICAgIGlmICEobmYgaW5zdGFuY2VvZiBOb0ZpbHRlcilcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yICdsaXN0IGFyZ3VtZW50IG11c3QgYmUgYW4gQXJyYXkgb2YgTm9GaWx0ZXJzJ1xuICAgICAgICB0b3QgKyBuZi5sZW5ndGhcbiAgICAgICwgMFxuICAgIGJ1ZnMgPSBsaXN0Lm1hcCAobmYpIC0+XG4gICAgICBpZiAhKG5mIGluc3RhbmNlb2YgTm9GaWx0ZXIpXG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgJ2xpc3QgYXJndW1lbnQgbXVzdCBiZSBhbiBBcnJheSBvZiBOb0ZpbHRlcnMnXG4gICAgICBpZiBuZi5fcmVhZGFibGVTdGF0ZS5vYmplY3RNb2RlXG4gICAgICAgICMgVE9ETzogaWYgYW55IG9mIHRoZW0gYXJlIGluIG9iamVjdCBtb2RlLCB0aGVuIHJldHVybiBhbiBhcnJheT9cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yICdOb0ZpbHRlciBtYXkgbm90IGJlIGluIG9iamVjdCBtb2RlIGZvciBjb25jYXQnXG4gICAgICBuZi5zbGljZSgpXG4gICAgQnVmZmVyLmNvbmNhdCBidWZzLCBsZW5ndGhcblxuICAjIEBub2RvY1xuICBfdHJhbnNmb3JtOiAoY2h1bmssIGVuY29kaW5nLCBjYWxsYmFjaykgLT5cbiAgICBpZiAhQF9yZWFkYWJsZVN0YXRlLm9iamVjdE1vZGUgYW5kICFCdWZmZXIuaXNCdWZmZXIoY2h1bmspXG4gICAgICBjaHVuayA9IG5ldyBCdWZmZXIgY2h1bmssIGVuY29kaW5nXG4gICAgQHB1c2ggY2h1bmtcbiAgICBjYWxsYmFjaygpXG5cbiAgIyBUaGUgcmVhZCgpIG1ldGhvZCBwdWxscyBzb21lIGRhdGEgb3V0IG9mIHRoZSBpbnRlcm5hbCBidWZmZXIgYW5kIHJldHVybnMgaXQuXG4gICMgSWYgdGhlcmUgaXMgbm8gZGF0YSBhdmFpbGFibGUsIHRoZW4gaXQgd2lsbCByZXR1cm4gbnVsbC5cbiAgI1xuICAjIElmIHlvdSBwYXNzIGluIGEgc2l6ZSBhcmd1bWVudCwgdGhlbiBpdCB3aWxsIHJldHVybiB0aGF0IG1hbnkgYnl0ZXMuIElmIHNpemVcbiAgIyBieXRlcyBhcmUgbm90IGF2YWlsYWJsZSwgdGhlbiBpdCB3aWxsIHJldHVybiBudWxsLCB1bmxlc3Mgd2UndmUgZW5kZWQsIGluXG4gICMgd2hpY2ggY2FzZSBpdCB3aWxsIHJldHVybiB0aGUgZGF0YSByZW1haW5pbmcgaW4gdGhlIGJ1ZmZlci5cbiAgI1xuICAjIElmIHlvdSBkbyBub3Qgc3BlY2lmeSBhIHNpemUgYXJndW1lbnQsIHRoZW4gaXQgd2lsbCByZXR1cm4gYWxsIHRoZSBkYXRhIGluXG4gICMgdGhlIGludGVybmFsIGJ1ZmZlci5cbiAgI1xuICAjIFRoaXMgdmVyc2lvbiBhbHNvIGZpcmVzIHRoZSAncmVhZCcgZXZlbnQgdXBvbiBhIHN1Y2Nlc3NmdWwgcmVhZC5cbiAgI1xuICAjIEBwYXJhbSBzaXplIFtOdW1iZXJdIE9wdGlvbmFsLiBOdW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC5cbiAgIyBAcmV0dXJuIFtTdHJpbmcsIEJ1ZmZlciwgbnVsbF1cbiAgcmVhZDogKHNpemUpIC0+XG4gICAgYnVmID0gc3VwZXIgc2l6ZVxuICAgIGlmIGJ1Zj9cbiAgICAgIEBlbWl0ICdyZWFkJywgYnVmXG4gICAgYnVmXG5cbiAgIyBSZXR1cm5zIGEgbnVtYmVyIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGNvbWVzIGJlZm9yZSBvciBhZnRlciBvciBpcyB0aGVcbiAgIyBzYW1lIGFzIHRoZSBvdGhlciBOb0ZpbHRlciBpbiBzb3J0IG9yZGVyLlxuICAjXG4gICMgQHBhcmFtIG90aGVyIFtOb0ZpbHRlcl0gVGhlIG90aGVyIG9iamVjdCB0byBjb21wYXJlXG4gICMgQHJldHVybiBbTnVtYmVyXSAtMSwgMCwgMSBmb3IgbGVzcywgZXF1YWwsIGdyZWF0ZXJcbiAgY29tcGFyZTogKG90aGVyKSAtPlxuICAgIGlmICEob3RoZXIgaW5zdGFuY2VvZiBOb0ZpbHRlcilcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IgJ0FyZ3VtZW50cyBtdXN0IGJlIE5vRmlsdGVycydcbiAgICBpZiBAX3JlYWRhYmxlU3RhdGUub2JqZWN0TW9kZSBvciBvdGhlci5fcmVhZGFibGVTdGF0ZS5vYmplY3RNb2RlXG4gICAgICB0aHJvdyBuZXcgRXJyb3IgJ011c3Qgbm90IGJlIGluIG9iamVjdCBtb2RlIHRvIGNvbXBhcmUnXG4gICAgaWYgQCA9PSBvdGhlclxuICAgICAgMFxuICAgIGVsc2VcbiAgICAgIEBzbGljZSgpLmNvbXBhcmUgb3RoZXIuc2xpY2UoKVxuXG4gICMgRG8gdGhlc2UgTm9GaWx0ZXIncyBjb250YWluIHRoZSBzYW1lIGJ5dGVzPyAgRG9lc24ndCB3b3JrIGlmIGVpdGhlciBpc1xuICAjIGluIG9iamVjdCBtb2RlLlxuICAjIEBwYXJhbSBvdGhlciBbTm9GaWx0ZXJdXG4gICMgQHJldHVybiBbQm9vbGVhbl0gRXF1YWw/XG4gIGVxdWFsczogKG90aGVyKSAtPlxuICAgIEBjb21wYXJlKG90aGVyKSA9PSAwXG5cbiAgIyBSZWFkIGJ5dGVzIG9yIG9iamVjdHMgd2l0aG91dCBjb25zdW1pbmcgdGhlbS4gIFVzZWZ1bCBmb3IgZGlhZ25vc3RpY3MuXG4gICMgTm90ZTogYXMgYSBzaWRlLWVmZmVjdCwgY29uY2F0ZW5hdGVzIG11bHRpcGxlIHdyaXRlcyB0b2dldGhlciBpbnRvIHdoYXRcbiAgIyBsb29rcyBsaWtlIGEgc2luZ2xlIHdyaXRlLCBzbyB0aGF0IHRoaXMgY29uY2F0IGRvZXNuJ3QgaGF2ZSB0byBoYXBwZW5cbiAgIyBtdWx0aXBsZSB0aW1lcyB3aGVuIHlvdSdyZSBmdXR6aW5nIHdpdGggdGhlIHNhbWUgTm9GaWx0ZXIuXG4gICNcbiAgIyBAcGFyYW0gc3RhcnQgW051bWJlcl0gT3B0aW9uYWwsIERlZmF1bHQ6IDBcbiAgIyBAcGFyYW0gZW5kIFtOdW1iZXJdLCBPcHRpb25hbCwgRGVmYXVsdDogTm9GaWx0ZXIubGVuZ3RoXG4gICMgQHJldHVybiBbQnVmZmVyLEFycmF5XSBpZiBpbiBvYmplY3QgbW9kZSwgYW4gYXJyYXkgb2Ygb2JqZWN0cy4gIE90aGVyd2l6ZSxcbiAgIyAgIGNvbmNhdGVuYXRlZCBhcnJheSBvZiBjb250ZW50cy5cbiAgc2xpY2U6IChzdGFydCwgZW5kKSAtPlxuICAgIGlmIEBfcmVhZGFibGVTdGF0ZS5vYmplY3RNb2RlXG4gICAgICBAX3JlYWRhYmxlU3RhdGUuYnVmZmVyLnNsaWNlIHN0YXJ0LCBlbmRcbiAgICBlbHNlXG4gICAgICBzd2l0Y2ggQF9yZWFkYWJsZVN0YXRlLmJ1ZmZlci5sZW5ndGhcbiAgICAgICAgd2hlbiAwIHRoZW4gbmV3IEJ1ZmZlcigwKVxuICAgICAgICB3aGVuIDEgdGhlbiBAX3JlYWRhYmxlU3RhdGUuYnVmZmVyWzBdLnNsaWNlKHN0YXJ0LCBlbmQpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBiID0gQnVmZmVyLmNvbmNhdCBAX3JlYWRhYmxlU3RhdGUuYnVmZmVyXG4gICAgICAgICAgQF9yZWFkYWJsZVN0YXRlLmJ1ZmZlciA9IFtiXVxuICAgICAgICAgIGIuc2xpY2Ugc3RhcnQsIGVuZFxuXG4gICMgR2V0IGEgYnl0ZSBieSBvZmZzZXQuICBJIGRpZG4ndCB3YW50IHRvIGdldCBpbnRvIG1ldGFwcm9ncmFtbWluZ1xuICAjIHRvIGdpdmUgeW91IHRoZSBgTm9GaWx0ZXJbMF1gIHN5bnRheC5cbiAgIyBAcGFyYW0gaW5kZXggW051bWJlcl0gVGhlIGJ5dGUgdG8gcmV0cmlldmVcbiAgIyBAcmV0dXJuIFtOdW1iZXJdIDAtMjU1XG4gIGdldDogKGluZGV4KSAtPlxuICAgIEBzbGljZSgpW2luZGV4XVxuXG4gICMgUmV0dXJuIGFuIG9iamVjdCBjb21wYXRpYmxlIHdpdGggQnVmZmVyJ3MgdG9KU09OIGltcGxlbWVudGF0aW9uLCBzb1xuICAjIHRoYXQgcm91bmQtdHJpcHBpbmcgd2lsbCBwcm9kdWNlIGEgQnVmZmVyLlxuICAjIEByZXR1cm4gW09iamVjdF1cbiAgI1xuICAjIEBleGFtcGxlIG91dHB1dCBmb3IgJ2ZvbydcbiAgIyAgIHsgdHlwZTogJ0J1ZmZlcicsIGRhdGE6IFsgMTAyLCAxMTEsIDExMSBdIH1cbiAgdG9KU09OOiAtPlxuICAgIGIgPSBAc2xpY2UoKVxuICAgIGlmIEJ1ZmZlci5pc0J1ZmZlcihiKVxuICAgICAgYi50b0pTT04oKVxuICAgIGVsc2VcbiAgICAgIGJcblxuICAjIERlY29kZXMgYW5kIHJldHVybnMgYSBzdHJpbmcgZnJvbSBidWZmZXIgZGF0YSBlbmNvZGVkIHVzaW5nIHRoZSBzcGVjaWZpZWRcbiAgIyBjaGFyYWN0ZXIgc2V0IGVuY29kaW5nLiBJZiBlbmNvZGluZyBpcyB1bmRlZmluZWQgb3IgbnVsbCwgdGhlbiBlbmNvZGluZ1xuICAjIGRlZmF1bHRzIHRvICd1dGY4Jy4gVGhlIHN0YXJ0IGFuZCBlbmQgcGFyYW1ldGVycyBkZWZhdWx0IHRvIDAgYW5kXG4gICMgTm9GaWx0ZXIubGVuZ3RoIHdoZW4gdW5kZWZpbmVkLlxuICAjXG4gICMgQHBhcmFtIGVuY29kaW5nIFtTdHJpbmddIE9wdGlvbmFsLCBEZWZhdWx0OiAndXRmOCdcbiAgIyBAcGFyYW0gc3RhcnQgW051bWJlcl0gT3B0aW9uYWwsIERlZmF1bHQ6IDBcbiAgIyBAcGFyYW0gZW5kIFtOdW1iZXJdIE9wdGlvbmFsLCBEZWZhdWx0OiBOb0ZpbHRlci5sZW5ndGhcbiAgIyBAcmV0dXJuIFtTdHJpbmddXG4gIHRvU3RyaW5nOiAoZW5jb2RpbmcsIHN0YXJ0LCBlbmQpIC0+XG4gICAgQHNsaWNlKCkudG9TdHJpbmcoZW5jb2RpbmcsIHN0YXJ0LCBlbmQpXG5cbiAgIyBAbm9kb2NcbiAgaW5zcGVjdDogKGRlcHRoLCBvcHRpb25zKSAtPlxuICAgIGhleCA9IEBfcmVhZGFibGVTdGF0ZS5idWZmZXIubWFwIChiKSAtPlxuICAgICAgaWYgQnVmZmVyLmlzQnVmZmVyKGIpXG4gICAgICAgIGlmIG9wdGlvbnM/LnN0eWxpemVcbiAgICAgICAgICBvcHRpb25zLnN0eWxpemUgYi50b1N0cmluZygnaGV4JyksICdzdHJpbmcnXG4gICAgICAgIGVsc2VcbiAgICAgICAgICBiLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgZWxzZVxuICAgICAgICB1dGlsLmluc3BlY3QoYiwgb3B0aW9ucylcbiAgICAuam9pbiAnLCAnXG4gICAgXCIje0Bjb25zdHJ1Y3Rvci5uYW1lfSBbI3toZXh9XVwiXG5cbiAgIyBAbm9kb2NcbiAgX3JlYWRfZ2VuID0gKG1ldGgsIGxlbikgLT5cbiAgICAodmFsKSAtPlxuICAgICAgYiA9IEByZWFkIGxlblxuICAgICAgaWYgIUJ1ZmZlci5pc0J1ZmZlcihiKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgYlttZXRoXS5jYWxsIGIsIDAsIHRydWVcblxuICAjIEBub2RvY1xuICBfd3JpdGVfZ2VuID0gKG1ldGgsIGxlbikgLT5cbiAgICAodmFsKSAtPlxuICAgICAgYiA9IG5ldyBCdWZmZXIgbGVuXG4gICAgICBiW21ldGhdLmNhbGwgYiwgdmFsLCAwLCB0cnVlXG4gICAgICBAcHVzaCBiXG5cbiAgIyB1bnNpZ25lZFxuICB3cml0ZVVJbnQ4OiAgICBfd3JpdGVfZ2VuICd3cml0ZVVJbnQ4JywgICAgMVxuICB3cml0ZVVJbnQxNkxFOiBfd3JpdGVfZ2VuICd3cml0ZVVJbnQxNkxFJywgMlxuICB3cml0ZVVJbnQxNkJFOiBfd3JpdGVfZ2VuICd3cml0ZVVJbnQxNkJFJywgMlxuICB3cml0ZVVJbnQzMkxFOiBfd3JpdGVfZ2VuICd3cml0ZVVJbnQzMkxFJywgNFxuICB3cml0ZVVJbnQzMkJFOiBfd3JpdGVfZ2VuICd3cml0ZVVJbnQzMkJFJywgNFxuXG4gICMgc2lnbmVkXG4gIHdyaXRlSW50ODogICAgIF93cml0ZV9nZW4gJ3dyaXRlSW50OCcsICAgICAxXG4gIHdyaXRlSW50MTZMRTogIF93cml0ZV9nZW4gJ3dyaXRlSW50MTZMRScsICAyXG4gIHdyaXRlSW50MTZCRTogIF93cml0ZV9nZW4gJ3dyaXRlSW50MTZCRScsICAyXG4gIHdyaXRlSW50MzJMRTogIF93cml0ZV9nZW4gJ3dyaXRlSW50MzJMRScsICA0XG4gIHdyaXRlSW50MzJCRTogIF93cml0ZV9nZW4gJ3dyaXRlSW50MzJCRScsICA0XG5cbiAgIyBmbG9hdFxuICB3cml0ZUZsb2F0TEU6ICBfd3JpdGVfZ2VuICd3cml0ZUZsb2F0TEUnLCAgNFxuICB3cml0ZUZsb2F0QkU6ICBfd3JpdGVfZ2VuICd3cml0ZUZsb2F0QkUnLCAgNFxuICB3cml0ZURvdWJsZUxFOiBfd3JpdGVfZ2VuICd3cml0ZURvdWJsZUxFJywgOFxuICB3cml0ZURvdWJsZUJFOiBfd3JpdGVfZ2VuICd3cml0ZURvdWJsZUJFJywgOFxuXG4gICMgdW5zaWduZWRcbiAgcmVhZFVJbnQ4OiAgICBfcmVhZF9nZW4gJ3JlYWRVSW50OCcsICAgIDFcbiAgcmVhZFVJbnQxNkxFOiBfcmVhZF9nZW4gJ3JlYWRVSW50MTZMRScsIDJcbiAgcmVhZFVJbnQxNkJFOiBfcmVhZF9nZW4gJ3JlYWRVSW50MTZCRScsIDJcbiAgcmVhZFVJbnQzMkxFOiBfcmVhZF9nZW4gJ3JlYWRVSW50MzJMRScsIDRcbiAgcmVhZFVJbnQzMkJFOiBfcmVhZF9nZW4gJ3JlYWRVSW50MzJCRScsIDRcblxuICAjIHNpZ25lZFxuICByZWFkSW50ODogICAgIF9yZWFkX2dlbiAncmVhZEludDgnLCAgICAgMVxuICByZWFkSW50MTZMRTogIF9yZWFkX2dlbiAncmVhZEludDE2TEUnLCAgMlxuICByZWFkSW50MTZCRTogIF9yZWFkX2dlbiAncmVhZEludDE2QkUnLCAgMlxuICByZWFkSW50MzJMRTogIF9yZWFkX2dlbiAncmVhZEludDMyTEUnLCAgNFxuICByZWFkSW50MzJCRTogIF9yZWFkX2dlbiAncmVhZEludDMyQkUnLCAgNFxuXG4gICMgZmxvYXRcbiAgcmVhZEZsb2F0TEU6ICBfcmVhZF9nZW4gJ3JlYWRGbG9hdExFJywgIDRcbiAgcmVhZEZsb2F0QkU6ICBfcmVhZF9nZW4gJ3JlYWRGbG9hdEJFJywgIDRcbiAgcmVhZERvdWJsZUxFOiBfcmVhZF9nZW4gJ3JlYWREb3VibGVMRScsIDhcbiAgcmVhZERvdWJsZUJFOiBfcmVhZF9nZW4gJ3JlYWREb3VibGVCRScsIDhcblxuICAjIEBub2RvY1xuICBnZXQgPSAocHJvcHMpIC0+XG4gICAgTm9GaWx0ZXI6Ol9fZGVmaW5lR2V0dGVyX18obmFtZSwgZ2V0dGVyKSBmb3IgbmFtZSwgZ2V0dGVyIG9mIHByb3BzXG5cbiAgIyBAcHJvcGVydHkgW051bWJlcl0gVGhlIG51bWJlciBvZiBieXRlcyBjdXJyZW50bHkgYXZhaWxhYmxlIHRvIHJlYWRcbiAgZ2V0IGxlbmd0aDogLT4gQF9yZWFkYWJsZVN0YXRlLmxlbmd0aFxuIl19 |
{ | ||
"name": "nofilter", | ||
"version": "0.0.0", | ||
"version": "0.0.1", | ||
"description": "Read and write a growable buffer as a stream", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
@@ -30,1 +30,3 @@ [![Build Status](https://travis-ci.org/hildjj/nofilter.svg?branch=master)](https://travis-ci.org/hildjj/nofilter) | ||
``` | ||
Read the [API Docs](http://hildjj.github.io/nofilter/). |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
63970
454
32