Comparing version 0.1.0 to 0.1.1
@@ -439,2 +439,2 @@ // Split a filename into [root, dir, basename, ext], unix version | ||
module.exports = path; | ||
//# sourceMappingURL=path.js.map | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGF0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3BhdGgudHMiXSwibmFtZXMiOlsicG9zaXhTcGxpdFBhdGgiLCJwYXRoIiwicGF0aC5jb25zdHJ1Y3RvciIsInBhdGgubm9ybWFsaXplIiwicGF0aC5qb2luIiwicGF0aC5yZXNvbHZlIiwicGF0aC5yZWxhdGl2ZSIsInBhdGguZGlybmFtZSIsInBhdGguYmFzZW5hbWUiLCJwYXRoLmV4dG5hbWUiLCJwYXRoLmlzQWJzb2x1dGUiLCJwYXRoLl9tYWtlTG9uZyIsInBhdGgucGFyc2UiLCJwYXRoLmZvcm1hdCIsInBhdGguX3JlbW92ZUR1cGxpY2F0ZVNlcHMiXSwibWFwcGluZ3MiOiJBQUdBLGlFQUFpRTtBQUNqRSxzQ0FBc0M7QUFDdEMsSUFBSSxXQUFXLEdBQUcsK0RBQStELENBQUM7QUFDbEYsd0JBQXdCLFFBQWdCO0lBQ3RDQSxJQUFJQSxHQUFHQSxHQUFHQSxXQUFXQSxDQUFDQSxJQUFJQSxDQUFDQSxRQUFRQSxDQUFDQSxDQUFDQTtJQUNyQ0EsR0FBR0EsQ0FBQ0EsS0FBS0EsRUFBRUEsQ0FBQ0E7SUFDWkEsTUFBTUEsQ0FBQ0EsR0FBR0EsQ0FBQ0E7QUFDYkEsQ0FBQ0E7QUFFRDs7Ozs7OztHQU9HO0FBQ0g7SUFBQUM7SUFxYUFDLENBQUNBO0lBcGFDRDs7Ozs7Ozs7OztPQVVHQTtJQUNXQSxjQUFTQSxHQUF2QkEsVUFBd0JBLENBQVNBO1FBQy9CRSwwQkFBMEJBO1FBQzFCQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQSxLQUFLQSxFQUFFQSxDQUFDQSxDQUFDQSxDQUFDQTtZQUNiQSxDQUFDQSxHQUFHQSxHQUFHQSxDQUFDQTtRQUNWQSxDQUFDQTtRQUNEQSx1RUFBdUVBO1FBQ3ZFQSw4REFBOERBO1FBQzlEQSxJQUFJQSxRQUFRQSxHQUFHQSxDQUFDQSxDQUFDQSxNQUFNQSxDQUFDQSxDQUFDQSxDQUFDQSxLQUFLQSxJQUFJQSxDQUFDQSxHQUFHQSxDQUFDQTtRQUN4Q0Esc0JB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SUFBSUEsQ0FBQ0EsR0FBR0EsR0FBR0EsRUFBRUEsQ0FBQ0E7UUFDMURBLElBQUlBLElBQUlBLEdBQUdBLFVBQVVBLENBQUNBLElBQUlBLElBQUlBLEVBQUVBLENBQUNBO1FBQ2pDQSxNQUFNQSxDQUFDQSxHQUFHQSxHQUFHQSxJQUFJQSxDQUFDQTtJQUNwQkEsQ0FBQ0E7SUFPY1oseUJBQW9CQSxHQUFuQ0EsVUFBb0NBLENBQVNBO1FBQzNDYSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQSxPQUFPQSxDQUFDQSxJQUFJQSxDQUFDQSxhQUFhQSxFQUFFQSxJQUFJQSxDQUFDQSxHQUFHQSxDQUFDQSxDQUFDQTtRQUM1Q0EsTUFBTUEsQ0FBQ0EsQ0FBQ0EsQ0FBQ0E7SUFDWEEsQ0FBQ0E7SUFSRGIsNERBQTREQTtJQUM5Q0EsUUFBR0EsR0FBV0EsR0FBR0EsQ0FBQ0E7SUFFakJBLGtCQUFhQSxHQUFHQSxJQUFJQSxNQUFNQSxDQUFDQSxLQUFLQSxFQUFFQSxHQUFHQSxDQUFDQSxDQUFDQTtJQU90REEsNERBQTREQTtJQUM5Q0EsY0FBU0EsR0FBR0EsR0FBR0EsQ0FBQ0E7SUFFaEJBLFVBQUtBLEdBQUdBLElBQUlBLENBQUNBO0lBQzNCQSxxREFBcURBO0lBQ3ZDQSxVQUFLQSxHQUFHQSxJQUFJQSxDQUFDQTtJQUM3QkEsV0FBQ0E7QUFBREEsQ0FBQ0EsQUFyYUQsSUFxYUM7QUFFRCxJQUFJLENBQUMsR0FBaUIsSUFBSSxDQUFDO0FBRTNCLGlCQUFTLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIFR5cGUgaW5mb3JtYXRpb24gb25seS5cbmltcG9ydCBfcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcblxuLy8gU3BsaXQgYSBmaWxlbmFtZSBpbnRvIFtyb290LCBkaXIsIGJhc2VuYW1lLCBleHRdLCB1bml4IHZlcnNpb25cbi8vICdyb290JyBpcyBqdXN0IGEgc2xhc2gsIG9yIG5vdGhpbmcuXG52YXIgc3BsaXRQYXRoUmUgPSAvXihcXC8/fCkoW1xcc1xcU10qPykoKD86XFwuezEsMn18W15cXC9dKz98KShcXC5bXi5cXC9dKnwpKSg/OltcXC9dKikkLztcbmZ1bmN0aW9uIHBvc2l4U3BsaXRQYXRoKGZpbGVuYW1lOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIHZhciBvdXQgPSBzcGxpdFBhdGhSZS5leGVjKGZpbGVuYW1lKTtcbiAgb3V0LnNoaWZ0KCk7XG4gIHJldHVybiBvdXQ7XG59XG5cbi8qKlxuICogRW11bGF0ZXMgTm9kZSdzIGBwYXRoYCBtb2R1bGUuIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHV0aWxpdGllcyBmb3IgaGFuZGxpbmcgYW5kXG4gKiB0cmFuc2Zvcm1pbmcgZmlsZSBwYXRocy4gKipBbGwqKiBvZiB0aGVzZSBtZXRob2RzIHBlcmZvcm0gb25seSBzdHJpbmdcbiAqIHRyYW5zZm9ybWF0aW9ucy4gVGhlIGZpbGUgc3lzdGVtIGlzIG5vdCBjb25zdWx0ZWQgdG8gY2hlY2sgd2hldGhlciBwYXRocyBhcmVcbiAqIHZhbGlkLlxuICogQHNlZSBodHRwOi8vbm9kZWpzLm9yZy9hcGkvcGF0aC5odG1sXG4gKiBAY2xhc3NcbiAqL1xuY2xhc3MgcGF0aCB7XG4gIC8qKlxuICAgKiBOb3JtYWxpemUgYSBzdHJpbmcgcGF0aCwgdGFraW5nIGNhcmUgb2YgJy4uJyBhbmQgJy4nIHBhcnRzLlxuICAgKlxuICAgKiBXaGVuIG11bHRpcGxlIHNsYXNoZXMgYXJlIGZvdW5kLCB0aGV5J3JlIHJlcGxhY2VkIGJ5IGEgc2luZ2xlIG9uZTsgd2hlbiB0aGUgcGF0aCBjb250YWlucyBhIHRyYWlsaW5nIHNsYXNoLCBpdCBpcyBwcmVzZXJ2ZWQuIE9uIFdpbmRvd3MgYmFja3NsYXNoZXMgYXJlIHVzZWQuXG4gICAqIEBleGFtcGxlIFVzYWdlIGV4YW1wbGVcbiAgICogICBwYXRoLm5vcm1hbGl6ZSgnL2Zvby9iYXIvL2Jhei9hc2RmL3F1dXgvLi4nKVxuICAgKiAgIC8vIHJldHVybnNcbiAgICogICAnL2Zvby9iYXIvYmF6L2FzZGYnXG4gICAqIEBwYXJhbSBbU3RyaW5nXSBwIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cbiAgICogQHJldHVybiBbU3RyaW5nXVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBub3JtYWxpemUocDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBTcGVjaWFsIGNhc2U6ICcnIC0+ICcuJ1xuICAgIGlmIChwID09PSAnJykge1xuICAgICAgcCA9ICcuJztcbiAgICB9XG4gICAgLy8gSXQncyB2ZXJ5IGltcG9ydGFudCB0byBrbm93IGlmIHRoZSBwYXRoIGlzIHJlbGF0aXZlIG9yIG5vdCwgc2luY2UgaXRcbiAgICAvLyBjaGFuZ2VzIGhvdyB3ZSBwcm9jZXNzIC4uIGFuZCByZWNvbnN0cnVjdCB0aGUgc3BsaXQgc3RyaW5nLlxuICAgIHZhciBhYnNvbHV0ZSA9IHAuY2hhckF0KDApID09PSBwYXRoLnNlcDtcbiAgICAvLyBSZW1vdmUgcmVwZWF0ZWQgLy9zXG4gICAgcCA9IHBhdGguX3JlbW92ZUR1cGxpY2F0ZVNlcHMocCk7XG4gICAgLy8gVHJ5IHRvIHJlbW92ZSBhcyBtYW55ICcuLi8nIGFzIHBvc3NpYmxlLCBhbmQgcmVtb3ZlICcuJyBjb21wbGV0ZWx5LlxuICAgIHZhciBjb21wb25lbnRzID0gcC5zcGxpdChwYXRoLnNlcCk7XG4gICAgdmFyIGdvb2RDb21wb25lbnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAodmFyIGlkeCA9IDA7IGlkeCA8IGNvbXBvbmVudHMubGVuZ3RoOyBpZHgrKykge1xuICAgICAgdmFyIGMgPSBjb21wb25lbnRzW2lkeF07XG4gICAgICBpZiAoYyA9PT0gJy4nKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChjID09PSAnLi4nICYmIChhYnNvbHV0ZSB8fCAoIWFic29sdXRlICYmIGdvb2RDb21wb25lbnRzLmxlbmd0aCA+IDAgJiYgZ29vZENvbXBvbmVudHNbMF0gIT09ICcuLicpKSkge1xuICAgICAgICAvLyBJbiB0aGUgYWJzb2x1dGUgY2FzZTogUGF0aCBpcyByZWxhdGl2ZSB0byByb290LCBzbyB3ZSBtYXkgcG9wIGV2ZW4gaWZcbiAgICAgICAgLy8gZ29vZENvbXBvbmVudHMgaXMgZW1wdHkgKGUuZy4gLy4uLyA9PiAvKVxuICAgICAgICAvLyBJbiB0aGUgcmVsYXRpdmUgY2FzZTogV2UncmUgZ2V0dGluZyByaWQgb2YgYSBkaXJlY3RvcnkgdGhhdCBwcmVjZWRlZFxuICAgICAgICAvLyBpdCAoZS5nLiAvZm9vLy4uL2JhciAtPiAvYmFyKVxuICAgICAgICBnb29kQ29tcG9uZW50cy5wb3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGdvb2RDb21wb25lbnRzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGluICcuJyB3aGVuIGl0J3MgYSByZWxhdGl2ZSBwYXRoIHdpdGggbm8gb3RoZXIgbm9uZW1wdHkgY29tcG9uZW50cy5cbiAgICAvLyBQb3NzaWJsZSByZXN1bHRzOiAnLicgYW5kICcuLycgKGlucHV0OiBbJyddIG9yIFtdKVxuICAgIC8vIEB0b2RvIENhbiBwcm9iYWJseSBzaW1wbGlmeSB0aGlzIGxvZ2ljLlxuICAgIGlmICghYWJzb2x1dGUgJiYgZ29vZENvbXBvbmVudHMubGVuZ3RoIDwgMikge1xuICAgICAgc3dpdGNoIChnb29kQ29tcG9uZW50cy5sZW5ndGgpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmIChnb29kQ29tcG9uZW50c1swXSA9PT0gJycpIHtcbiAgICAgICAgICAgIGdvb2RDb21wb25lbnRzLnVuc2hpZnQoJy4nKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgZ29vZENvbXBvbmVudHMucHVzaCgnLicpO1xuICAgICAgfVxuICAgIH1cbiAgICBwID0gZ29vZENvbXBvbmVudHMuam9pbihwYXRoLnNlcCk7XG4gICAgaWYgKGFic29sdXRlICYmIHAuY2hhckF0KDApICE9PSBwYXRoLnNlcCkge1xuICAgICAgcCA9IHBhdGguc2VwICsgcDtcbiAgICB9XG4gICAgcmV0dXJuIHA7XG4gIH1cblxuICAvKipcbiAgICogSm9pbiBhbGwgYXJndW1lbnRzIHRvZ2V0aGVyIGFuZCBub3JtYWxpemUgdGhlIHJlc3VsdGluZyBwYXRoLlxuICAgKlxuICAgKiBBcmd1bWVudHMgbXVzdCBiZSBzdHJpbmdzLlxuICAgKiBAZXhhbXBsZSBVc2FnZVxuICAgKiAgIHBhdGguam9pbignL2ZvbycsICdiYXInLCAnYmF6L2FzZGYnLCAncXV1eCcsICcuLicpXG4gICAqICAgLy8gcmV0dXJuc1xuICAgKiAgICcvZm9vL2Jhci9iYXovYXNkZidcbiAgICpcbiAgICogICBwYXRoLmpvaW4oJ2ZvbycsIHt9LCAnYmFyJylcbiAgICogICAvLyB0aHJvd3MgZXhjZXB0aW9uXG4gICAqICAgVHlwZUVycm9yOiBBcmd1bWVudHMgdG8gcGF0aC5qb2luIG11c3QgYmUgc3RyaW5nc1xuICAgKiBAcGFyYW0gW1N0cmluZywuLi5dIHBhdGhzIEVhY2ggY29tcG9uZW50IG9mIHRoZSBwYXRoXG4gICAqIEByZXR1cm4gW1N0cmluZ11cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgam9pbiguLi5wYXRoczogYW55W10pOiBzdHJpbmcge1xuICAgIC8vIFJlcXVpcmVkOiBQcnVuZSBhbnkgbm9uLXN0cmluZ3MgZnJvbSB0aGUgcGF0aC4gSSBhbHNvIHBydW5lIGVtcHR5IHNlZ21lbnRzXG4gICAgLy8gc28gd2UgY2FuIGRvIGEgc2ltcGxlIGpvaW4gb2YgdGhlIGFycmF5LlxuICAgIHZhciBwcm9jZXNzZWQ6IHN0cmluZ1tdID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXRocy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNlZ21lbnQgPSBwYXRoc1tpXTtcbiAgICAgIGlmICh0eXBlb2Ygc2VnbWVudCAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYXJndW1lbnQgdHlwZSB0byBwYXRoLmpvaW46IFwiICsgKHR5cGVvZiBzZWdtZW50KSk7XG4gICAgICB9IGVsc2UgaWYgKHNlZ21lbnQgIT09ICcnKSB7XG4gICAgICAgIHByb2Nlc3NlZC5wdXNoKHNlZ21lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF0aC5ub3JtYWxpemUocHJvY2Vzc2VkLmpvaW4ocGF0aC5zZXApKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0byB0byBhbiBhYnNvbHV0ZSBwYXRoLlxuICAgKlxuICAgKiBJZiB0byBpc24ndCBhbHJlYWR5IGFic29sdXRlIGZyb20gYXJndW1lbnRzIGFyZSBwcmVwZW5kZWQgaW4gcmlnaHQgdG8gbGVmdFxuICAgKiBvcmRlciwgdW50aWwgYW4gYWJzb2x1dGUgcGF0aCBpcyBmb3VuZC4gSWYgYWZ0ZXIgdXNpbmcgYWxsIGZyb20gcGF0aHMgc3RpbGxcbiAgICogbm8gYWJzb2x1dGUgcGF0aCBpcyBmb3VuZCwgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkgaXMgdXNlZCBhcyB3ZWxsLlxuICAgKiBUaGUgcmVzdWx0aW5nIHBhdGggaXMgbm9ybWFsaXplZCwgYW5kIHRyYWlsaW5nIHNsYXNoZXMgYXJlIHJlbW92ZWQgdW5sZXNzXG4gICAqIHRoZSBwYXRoIGdldHMgcmVzb2x2ZWQgdG8gdGhlIHJvb3QgZGlyZWN0b3J5LiBOb24tc3RyaW5nIGFyZ3VtZW50cyBhcmVcbiAgICogaWdub3JlZC5cbiAgICpcbiAgICogQW5vdGhlciB3YXkgdG8gdGhpbmsgb2YgaXQgaXMgYXMgYSBzZXF1ZW5jZSBvZiBjZCBjb21tYW5kcyBpbiBhIHNoZWxsLlxuICAgKlxuICAgKiAgICAgcGF0aC5yZXNvbHZlKCdmb28vYmFyJywgJy90bXAvZmlsZS8nLCAnLi4nLCAnYS8uLi9zdWJmaWxlJylcbiAgICpcbiAgICogSXMgc2ltaWxhciB0bzpcbiAgICpcbiAgICogICAgIGNkIGZvby9iYXJcbiAgICogICAgIGNkIC90bXAvZmlsZS9cbiAgICogICAgIGNkIC4uXG4gICAqICAgICBjZCBhLy4uL3N1YmZpbGVcbiAgICogICAgIHB3ZFxuICAgKlxuICAgKiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IHRoZSBkaWZmZXJlbnQgcGF0aHMgZG9uJ3QgbmVlZCB0byBleGlzdCBhbmQgbWF5IGFsc29cbiAgICogYmUgZmlsZXMuXG4gICAqIEBleGFtcGxlIFVzYWdlIGV4YW1wbGVcbiAgICogICBwYXRoLnJlc29sdmUoJy9mb28vYmFyJywgJy4vYmF6JylcbiAgICogICAvLyByZXR1cm5zXG4gICAqICAgJy9mb28vYmFyL2JheidcbiAgICpcbiAgICogICBwYXRoLnJlc29sdmUoJy9mb28vYmFyJywgJy90bXAvZmlsZS8nKVxuICAgKiAgIC8vIHJldHVybnNcbiAgICogICAnL3RtcC9maWxlJ1xuICAgKlxuICAgKiAgIHBhdGgucmVzb2x2ZSgnd3d3cm9vdCcsICdzdGF0aWNfZmlsZXMvcG5nLycsICcuLi9naWYvaW1hZ2UuZ2lmJylcbiAgICogICAvLyBpZiBjdXJyZW50bHkgaW4gL2hvbWUvbXlzZWxmL25vZGUsIGl0IHJldHVybnNcbiAgICogICAnL2hvbWUvbXlzZWxmL25vZGUvd3d3cm9vdC9zdGF0aWNfZmlsZXMvZ2lmL2ltYWdlLmdpZidcbiAgICogQHBhcmFtIFtTdHJpbmcsLi4uXSBwYXRoc1xuICAgKiBAcmV0dXJuIFtTdHJpbmddXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlc29sdmUoLi4ucGF0aHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgICAvLyBNb25pdG9yIGZvciBpbnZhbGlkIHBhdGhzLCB0aHJvdyBvdXQgZW1wdHkgcGF0aHMsIGFuZCBsb29rIGZvciB0aGUgKmxhc3QqXG4gICAgLy8gYWJzb2x1dGUgcGF0aCB0aGF0IHdlIHNlZS5cbiAgICB2YXIgcHJvY2Vzc2VkOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGF0aHMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhciBwID0gcGF0aHNbaV07XG4gICAgICBpZiAodHlwZW9mIHAgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGFyZ3VtZW50IHR5cGUgdG8gcGF0aC5qb2luOiBcIiArICh0eXBlb2YgcCkpO1xuICAgICAgfSBlbHNlIGlmIChwICE9PSAnJykge1xuICAgICAgICAvLyBSZW1vdmUgYW55dGhpbmcgdGhhdCBoYXMgb2NjdXJyZWQgYmVmb3JlIHRoaXMgYWJzb2x1dGUgcGF0aCwgYXMgaXRcbiAgICAgICAgLy8gZG9lc24ndCBtYXR0ZXIuXG4gICAgICAgIGlmIChwLmNoYXJBdCgwKSA9PT0gcGF0aC5zZXApIHtcbiAgICAgICAgICBwcm9jZXNzZWQgPSBbXTtcbiAgICAgICAgfVxuICAgICAgICBwcm9jZXNzZWQucHVzaChwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gU3BlY2lhbDogUmVtb3ZlIHRyYWlsaW5nIHNsYXNoIHVubGVzcyBpdCdzIHRoZSByb290XG4gICAgdmFyIHJlc29sdmVkID0gcGF0aC5ub3JtYWxpemUocHJvY2Vzc2VkLmpvaW4ocGF0aC5zZXApKTtcbiAgICBpZiAocmVzb2x2ZWQubGVuZ3RoID4gMSAmJiByZXNvbHZlZC5jaGFyQXQocmVzb2x2ZWQubGVuZ3RoIC0gMSkgPT09IHBhdGguc2VwKSB7XG4gICAgICByZXR1cm4gcmVzb2x2ZWQuc3Vic3RyKDAsIHJlc29sdmVkLmxlbmd0aCAtIDEpO1xuICAgIH1cbiAgICAvLyBTcGVjaWFsOiBJZiBpdCBkb2Vzbid0IHN0YXJ0IHdpdGggJy8nLCBpdCdzIHJlbGF0aXZlIGFuZCB3ZSBuZWVkIHRvIGFwcGVuZFxuICAgIC8vIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiAgICBpZiAocmVzb2x2ZWQuY2hhckF0KDApICE9PSBwYXRoLnNlcCkge1xuICAgICAgLy8gUmVtb3ZlIC4vLCBzaW5jZSB3ZSdyZSBnb2luZyB0byBhcHBlbmQgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuICAgICAgaWYgKHJlc29sdmVkLmNoYXJBdCgwKSA9PT0gJy4nICYmIChyZXNvbHZlZC5sZW5ndGggPT09IDEgfHwgcmVzb2x2ZWQuY2hhckF0KDEpID09PSBwYXRoLnNlcCkpIHtcbiAgICAgICAgcmVzb2x2ZWQgPSByZXNvbHZlZC5sZW5ndGggPT09IDEgPyAnJyA6IHJlc29sdmVkLnN1YnN0cigyKTtcbiAgICAgIH1cbiAgICAgIC8vIEFwcGVuZCB0aGUgY3VycmVudCBkaXJlY3RvcnksIHdoaWNoICptdXN0KiBiZSBhbiBhYnNvbHV0ZSBwYXRoLlxuICAgICAgdmFyIGN3ZCA9IHByb2Nlc3MuY3dkKCk7XG4gICAgICBpZiAocmVzb2x2ZWQgIT09ICcnKSB7XG4gICAgICAgIC8vIGN3ZCB3aWxsIG5ldmVyIGVuZCBpbiBhIC8uLi4gdW5sZXNzIGl0J3MgdGhlIHJvb3QuXG4gICAgICAgIHJlc29sdmVkID0gdGhpcy5ub3JtYWxpemUoY3dkICsgKGN3ZCAhPT0gJy8nID8gcGF0aC5zZXAgOiAnJykgKyByZXNvbHZlZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlZCA9IGN3ZDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIFNvbHZlIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gZnJvbSB0byB0by5cbiAgICpcbiAgICogQXQgdGltZXMgd2UgaGF2ZSB0d28gYWJzb2x1dGUgcGF0aHMsIGFuZCB3ZSBuZWVkIHRvIGRlcml2ZSB0aGUgcmVsYXRpdmUgcGF0aFxuICAgKiBmcm9tIG9uZSB0byB0aGUgb3RoZXIuIFRoaXMgaXMgYWN0dWFsbHkgdGhlIHJldmVyc2UgdHJhbnNmb3JtIG9mXG4gICAqIHBhdGgucmVzb2x2ZSwgd2hpY2ggbWVhbnMgd2Ugc2VlIHRoYXQ6XG4gICAqXG4gICAqICAgIHBhdGgucmVzb2x2ZShmcm9tLCBwYXRoLnJlbGF0aXZlKGZyb20sIHRvKSkgPT0gcGF0aC5yZXNvbHZlKHRvKVxuICAgKlxuICAgKiBAZXhhbXBsZSBVc2FnZSBleGFtcGxlXG4gICAqICAgcGF0aC5yZWxhdGl2ZSgnQzpcXFxcb3JhbmRlYVxcXFx0ZXN0XFxcXGFhYScsICdDOlxcXFxvcmFuZGVhXFxcXGltcGxcXFxcYmJiJylcbiAgICogICAvLyByZXR1cm5zXG4gICAqICAgJy4uXFxcXC4uXFxcXGltcGxcXFxcYmJiJ1xuICAgKlxuICAgKiAgIHBhdGgucmVsYXRpdmUoJy9kYXRhL29yYW5kZWEvdGVzdC9hYWEnLCAnL2RhdGEvb3JhbmRlYS9pbXBsL2JiYicpXG4gICAqICAgLy8gcmV0dXJuc1xuICAgKiAgICcuLi8uLi9pbXBsL2JiYidcbiAgICogQHBhcmFtIFtTdHJpbmddIGZyb21cbiAgICogQHBhcmFtIFtTdHJpbmddIHRvXG4gICAqIEByZXR1cm4gW1N0cmluZ11cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVsYXRpdmUoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICB2YXIgaTogbnVtYmVyO1xuICAgIC8vIEFscmlnaHQuIExldCdzIHJlc29sdmUgdGhlc2UgdHdvIHRvIGFic29sdXRlIHBhdGhzIGFuZCByZW1vdmUgYW55XG4gICAgLy8gd2VpcmRuZXNzLlxuICAgIGZyb20gPSBwYXRoLnJlc29sdmUoZnJvbSk7XG4gICAgdG8gPSBwYXRoLnJlc29sdmUodG8pO1xuICAgIHZhciBmcm9tU2VncyA9IGZyb20uc3BsaXQocGF0aC5zZXApO1xuICAgIHZhciB0b1NlZ3MgPSB0by5zcGxpdChwYXRoLnNlcCk7XG4gICAgLy8gUmVtb3ZlIHRoZSBmaXJzdCBzZWdtZW50IG9uIGJvdGgsIGFzIGl0J3MgJycgKGJvdGggYXJlIGFic29sdXRlIHBhdGhzKVxuICAgIHRvU2Vncy5zaGlmdCgpO1xuICAgIGZyb21TZWdzLnNoaWZ0KCk7XG4gICAgLy8gVGhlcmUgYXJlIHR3byBzZWdtZW50cyB0byB0aGlzIHBhdGg6XG4gICAgLy8gKiBHb2luZyAqdXAqIHRoZSBkaXJlY3RvcnkgaGllcmFyY2h5IHdpdGggJy4uJ1xuICAgIC8vICogR29pbmcgKmRvd24qIHRoZSBkaXJlY3RvcnkgaGllcmFyY2h5IHdpdGggZm9vL2Jhei9iYXQuXG4gICAgdmFyIHVwQ291bnQgPSAwO1xuICAgIHZhciBkb3duU2Vnczogc3RyaW5nW10gPSBbXTtcbiAgICAvLyBGaWd1cmUgb3V0IGhvdyBtYW55IHRoaW5ncyBpbiAnZnJvbScgYXJlIHNoYXJlZCB3aXRoICd0bycuXG4gICAgZm9yIChpID0gMDsgaSA8IGZyb21TZWdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VnID0gZnJvbVNlZ3NbaV07XG4gICAgICBpZiAoc2VnID09PSB0b1NlZ3NbaV0pIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICAvLyBUaGUgcmVzdCBvZiAnZnJvbScsIGluY2x1ZGluZyB0aGUgY3VycmVudCBlbGVtZW50LCBpbmRpY2F0ZXMgaG93IG1hbnlcbiAgICAgIC8vIGRpcmVjdG9yaWVzIHdlIG5lZWQgdG8gZ28gdXAuXG4gICAgICB1cENvdW50ID0gZnJvbVNlZ3MubGVuZ3RoIC0gaTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvLyBUaGUgcmVzdCBvZiAndG8nIGluZGljYXRlcyB3aGVyZSB3ZSBuZWVkIHRvIGNoYW5nZSB0by4gV2UgcGxhY2UgdGhpc1xuICAgIC8vIG91dHNpZGUgb2YgdGhlIGxvb3AsIGFzIHRvU2Vncy5sZW5ndGggbWF5IGJlIGdyZWF0ZXIgdGhhbiBmcm9tU2Vncy5sZW5ndGguXG4gICAgZG93blNlZ3MgPSB0b1NlZ3Muc2xpY2UoaSk7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBJZiAnZnJvbScgaXMgJy8nXG4gICAgaWYgKGZyb21TZWdzLmxlbmd0aCA9PT0gMSAmJiBmcm9tU2Vnc1swXSA9PT0gJycpIHtcbiAgICAgIHVwQ291bnQgPSAwO1xuICAgIH1cbiAgICAvLyB1cENvdW50IGNhbid0IGJlIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGZyb21TZWdzXG4gICAgLy8gKGNkIC4uIGZyb20gLyBpcyBzdGlsbCAvKVxuICAgIGlmICh1cENvdW50ID4gZnJvbVNlZ3MubGVuZ3RoKSB7XG4gICAgICB1cENvdW50ID0gZnJvbVNlZ3MubGVuZ3RoO1xuICAgIH1cbiAgICAvLyBDcmVhdGUgdGhlIGZpbmFsIHN0cmluZyFcbiAgICB2YXIgcnYgPSAnJztcbiAgICBmb3IgKGkgPSAwOyBpIDwgdXBDb3VudDsgaSsrKSB7XG4gICAgICBydiArPSAnLi4vJztcbiAgICB9XG4gICAgcnYgKz0gZG93blNlZ3Muam9pbihwYXRoLnNlcCk7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBSZW1vdmUgdHJhaWxpbmcgJy8nLiBIYXBwZW5zIGlmIGl0J3MgYWxsIHVwIGFuZCBubyBkb3duLlxuICAgIGlmIChydi5sZW5ndGggPiAxICYmIHJ2LmNoYXJBdChydi5sZW5ndGggLSAxKSA9PT0gcGF0aC5zZXApIHtcbiAgICAgIHJ2ID0gcnYuc3Vic3RyKDAsIHJ2Lmxlbmd0aCAtIDEpO1xuICAgIH1cbiAgICByZXR1cm4gcnY7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiBhIHBhdGguIFNpbWlsYXIgdG8gdGhlIFVuaXggYGRpcm5hbWVgIGNvbW1hbmQuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBCcm93c2VyRlMgZG9lcyBub3QgdmFsaWRhdGUgaWYgdGhlIHBhdGggaXMgYWN0dWFsbHkgYSB2YWxpZFxuICAgKiBkaXJlY3RvcnkuXG4gICAqIEBleGFtcGxlIFVzYWdlIGV4YW1wbGVcbiAgICogICBwYXRoLmRpcm5hbWUoJy9mb28vYmFyL2Jhei9hc2RmL3F1dXgnKVxuICAgKiAgIC8vIHJldHVybnNcbiAgICogICAnL2Zvby9iYXIvYmF6L2FzZGYnXG4gICAqIEBwYXJhbSBbU3RyaW5nXSBwIFRoZSBwYXRoIHRvIGdldCB0aGUgZGlyZWN0b3J5IG5hbWUgb2YuXG4gICAqIEByZXR1cm4gW1N0cmluZ11cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZGlybmFtZShwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIC8vIFdlIGdldCByaWQgb2YgLy8sIGJ1dCB3ZSBkb24ndCBtb2RpZnkgYW55dGhpbmcgZWxzZSAoZS5nLiBhbnkgZXh0cmFuZW91cyAuXG4gICAgLy8gYW5kIC4uLyBhcmUga2VwdCBpbnRhY3QpXG4gICAgcCA9IHBhdGguX3JlbW92ZUR1cGxpY2F0ZVNlcHMocCk7XG4gICAgdmFyIGFic29sdXRlID0gcC5jaGFyQXQoMCkgPT09IHBhdGguc2VwO1xuICAgIHZhciBzZWN0aW9ucyA9IHAuc3BsaXQocGF0aC5zZXApO1xuICAgIC8vIERvIDEgaWYgaXQncyAvZm9vL2JhciwgMiBpZiBpdCdzIC9mb28vYmFyL1xuICAgIGlmIChzZWN0aW9ucy5wb3AoKSA9PT0gJycgJiYgc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgc2VjdGlvbnMucG9wKCk7XG4gICAgfVxuICAgIC8vICMgb2Ygc2VjdGlvbnMgbmVlZHMgdG8gYmUgPiAxIGlmIGFic29sdXRlLCBzaW5jZSB0aGUgZmlyc3Qgc2VjdGlvbiBpcyAnJyBmb3IgJy8nLlxuICAgIC8vIElmIG5vdCBhYnNvbHV0ZSwgdGhlIGZpcnN0IHNlY3Rpb24gaXMgdGhlIGZpcnN0IHBhcnQgb2YgdGhlIHBhdGgsIGFuZCBpcyBPS1xuICAgIC8vIHRvIHJldHVybi5cbiAgICBpZiAoc2VjdGlvbnMubGVuZ3RoID4gMSB8fCAoc2VjdGlvbnMubGVuZ3RoID09PSAxICYmICFhYnNvbHV0ZSkpIHtcbiAgICAgIHJldHVybiBzZWN0aW9ucy5qb2luKHBhdGguc2VwKTtcbiAgICB9IGVsc2UgaWYgKGFic29sdXRlKSB7XG4gICAgICByZXR1cm4gcGF0aC5zZXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnLic7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbGFzdCBwb3J0aW9uIG9mIGEgcGF0aC4gU2ltaWxhciB0byB0aGUgVW5peCBiYXNlbmFtZSBjb21tYW5kLlxuICAgKiBAZXhhbXBsZSBVc2FnZSBleGFtcGxlXG4gICAqICAgcGF0aC5iYXNlbmFtZSgnL2Zvby9iYXIvYmF6L2FzZGYvcXV1eC5odG1sJylcbiAgICogICAvLyByZXR1cm5zXG4gICAqICAgJ3F1dXguaHRtbCdcbiAgICpcbiAgICogICBwYXRoLmJhc2VuYW1lKCcvZm9vL2Jhci9iYXovYXNkZi9xdXV4Lmh0bWwnLCAnLmh0bWwnKVxuICAgKiAgIC8vIHJldHVybnNcbiAgICogICAncXV1eCdcbiAgICogQHBhcmFtIFtTdHJpbmddIHBcbiAgICogQHBhcmFtIFtTdHJpbmc/XSBleHRcbiAgICogQHJldHVybiBbU3RyaW5nXVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBiYXNlbmFtZShwOiBzdHJpbmcsIGV4dDogc3RyaW5nID0gXCJcIik6IHN0cmluZyB7XG4gICAgLy8gU3BlY2lhbCBjYXNlOiBOb3JtYWxpemUgd2lsbCBtb2RpZnkgdGhpcyB0byAnLidcbiAgICBpZiAocCA9PT0gJycpIHtcbiAgICAgIHJldHVybiBwO1xuICAgIH1cbiAgICAvLyBOb3JtYWxpemUgdGhlIHN0cmluZyBmaXJzdCB0byByZW1vdmUgYW55IHdlaXJkbmVzcy5cbiAgICBwID0gcGF0aC5ub3JtYWxpemUocCk7XG4gICAgLy8gR2V0IHRoZSBsYXN0IHBhcnQgb2YgdGhlIHN0cmluZy5cbiAgICB2YXIgc2VjdGlvbnMgPSBwLnNwbGl0KHBhdGguc2VwKTtcbiAgICB2YXIgbGFzdFBhcnQgPSBzZWN0aW9uc1tzZWN0aW9ucy5sZW5ndGggLSAxXTtcbiAgICAvLyBTcGVjaWFsIGNhc2U6IElmIGl0J3MgZW1wdHksIHRoZW4gd2UgaGF2ZSBhIHN0cmluZyBsaWtlIHNvOiBmb28vXG4gICAgLy8gTWVhbmluZywgJ2ZvbycgaXMgZ3VhcmFudGVlZCB0byBiZSBhIGRpcmVjdG9yeS5cbiAgICBpZiAobGFzdFBhcnQgPT09ICcnICYmIHNlY3Rpb25zLmxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBzZWN0aW9uc1tzZWN0aW9ucy5sZW5ndGggLSAyXTtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHRoZSBleHRlbnNpb24sIGlmIG5lZWQgYmUuXG4gICAgaWYgKGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICB2YXIgbGFzdFBhcnRFeHQgPSBsYXN0UGFydC5zdWJzdHIobGFzdFBhcnQubGVuZ3RoIC0gZXh0Lmxlbmd0aCk7XG4gICAgICBpZiAobGFzdFBhcnRFeHQgPT09IGV4dCkge1xuICAgICAgICByZXR1cm4gbGFzdFBhcnQuc3Vic3RyKDAsIGxhc3RQYXJ0Lmxlbmd0aCAtIGV4dC5sZW5ndGgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbGFzdFBhcnQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBleHRlbnNpb24gb2YgdGhlIHBhdGgsIGZyb20gdGhlIGxhc3QgJy4nIHRvIGVuZCBvZiBzdHJpbmcgaW4gdGhlXG4gICAqIGxhc3QgcG9ydGlvbiBvZiB0aGUgcGF0aC4gSWYgdGhlcmUgaXMgbm8gJy4nIGluIHRoZSBsYXN0IHBvcnRpb24gb2YgdGhlIHBhdGhcbiAgICogb3IgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBpdCBpcyAnLicsIHRoZW4gaXQgcmV0dXJucyBhbiBlbXB0eSBzdHJpbmcuXG4gICAqIEBleGFtcGxlIFVzYWdlIGV4YW1wbGVcbiAgICogICBwYXRoLmV4dG5hbWUoJ2luZGV4Lmh0bWwnKVxuICAgKiAgIC8vIHJldHVybnNcbiAgICogICAnLmh0bWwnXG4gICAqXG4gICAqICAgcGF0aC5leHRuYW1lKCdpbmRleC4nKVxuICAgKiAgIC8vIHJldHVybnNcbiAgICogICAnLidcbiAgICpcbiAgICogICBwYXRoLmV4dG5hbWUoJ2luZGV4JylcbiAgICogICAvLyByZXR1cm5zXG4gICAqICAgJydcbiAgICogQHBhcmFtIFtTdHJpbmddIHBcbiAgICogQHJldHVybiBbU3RyaW5nXVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBleHRuYW1lKHA6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcCA9IHBhdGgubm9ybWFsaXplKHApO1xuICAgIHZhciBzZWN0aW9ucyA9IHAuc3BsaXQocGF0aC5zZXApO1xuICAgIHAgPSBzZWN0aW9ucy5wb3AoKTtcbiAgICAvLyBTcGVjaWFsIGNhc2U6IGZvby9maWxlLmV4dC8gc2hvdWxkIHJldHVybiAnLmV4dCdcbiAgICBpZiAocCA9PT0gJycgJiYgc2VjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgcCA9IHNlY3Rpb25zLnBvcCgpO1xuICAgIH1cbiAgICBpZiAocCA9PT0gJy4uJykge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICB2YXIgaSA9IHAubGFzdEluZGV4T2YoJy4nKTtcbiAgICBpZiAoaSA9PT0gLTEgfHwgaSA9PT0gMCkge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICByZXR1cm4gcC5zdWJzdHIoaSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBwYXRoIGlzIGFuIGFic29sdXRlIHBhdGguXG4gICAqXG4gICAqIERlc3BpdGUgbm90IGJlaW5nIGRvY3VtZW50ZWQsIHRoaXMgaXMgYSB0ZXN0ZWQgcGFydCBvZiBOb2RlJ3MgcGF0aCBBUEkuXG4gICAqIEBwYXJhbSBbU3RyaW5nXSBwXG4gICAqIEByZXR1cm4gW0Jvb2xlYW5dIFRydWUgaWYgdGhlIHBhdGggYXBwZWFycyB0byBiZSBhbiBhYnNvbHV0ZSBwYXRoLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0Fic29sdXRlKHA6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwLmxlbmd0aCA+IDAgJiYgcC5jaGFyQXQoMCkgPT09IHBhdGguc2VwO1xuICB9XG5cbiAgLyoqXG4gICAqIFVua25vd24uIFVuZG9jdW1lbnRlZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgX21ha2VMb25nKHA6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYmplY3QgZnJvbSBhIHBhdGggc3RyaW5nLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwYXJzZShwOiBzdHJpbmcpOiBfcGF0aC5QYXJzZWRQYXRoIHtcbiAgICB2YXIgYWxsUGFydHMgPSBwb3NpeFNwbGl0UGF0aChwKTtcbiAgICByZXR1cm4ge1xuICAgICAgcm9vdDogYWxsUGFydHNbMF0sXG4gICAgICBkaXI6IGFsbFBhcnRzWzBdICsgYWxsUGFydHNbMV0uc2xpY2UoMCwgLTEpLFxuICAgICAgYmFzZTogYWxsUGFydHNbMl0sXG4gICAgICBleHQ6IGFsbFBhcnRzWzNdLFxuICAgICAgbmFtZTogYWxsUGFydHNbMl0uc2xpY2UoMCwgYWxsUGFydHNbMl0ubGVuZ3RoIC0gYWxsUGFydHNbM10ubGVuZ3RoKVxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZvcm1hdChwYXRoT2JqZWN0OiBfcGF0aC5QYXJzZWRQYXRoKTogc3RyaW5nIHtcbiAgICBpZiAocGF0aE9iamVjdCA9PT0gbnVsbCB8fCB0eXBlb2YgcGF0aE9iamVjdCAhPT0gJ29iamVjdCcpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFBhcmFtZXRlciAncGF0aE9iamVjdCcgbXVzdCBiZSBhbiBvYmplY3QsIG5vdCAke3R5cGVvZiBwYXRoT2JqZWN0fWApO1xuICAgIH1cblxuICAgIHZhciByb290ID0gcGF0aE9iamVjdC5yb290IHx8ICcnO1xuXG4gICAgaWYgKHR5cGVvZiByb290ICE9PSAnc3RyaW5nJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICBcIidwYXRoT2JqZWN0LnJvb3QnIG11c3QgYmUgYSBzdHJpbmcgb3IgdW5kZWZpbmVkLCBub3QgXCIgK1xuICAgICAgICAgIHR5cGVvZiBwYXRoT2JqZWN0LnJvb3RcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdmFyIGRpciA9IHBhdGhPYmplY3QuZGlyID8gcGF0aE9iamVjdC5kaXIgKyBwYXRoLnNlcCA6ICcnO1xuICAgIHZhciBiYXNlID0gcGF0aE9iamVjdC5iYXNlIHx8ICcnO1xuICAgIHJldHVybiBkaXIgKyBiYXNlO1xuICB9XG5cbiAgLy8gVGhlIHBsYXRmb3JtLXNwZWNpZmljIGZpbGUgc2VwYXJhdG9yLiBCcm93c2VyRlMgdXNlcyBgL2AuXG4gIHB1YmxpYyBzdGF0aWMgc2VwOiBzdHJpbmcgPSAnLyc7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgX3JlcGxhY2VSZWdleCA9IG5ldyBSZWdFeHAoXCIvLytcIiwgJ2cnKTtcblxuICBwcml2YXRlIHN0YXRpYyBfcmVtb3ZlRHVwbGljYXRlU2VwcyhwOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHAgPSBwLnJlcGxhY2UodGhpcy5fcmVwbGFjZVJlZ2V4LCB0aGlzLnNlcCk7XG4gICAgcmV0dXJuIHA7XG4gIH1cblxuICAvLyBUaGUgcGxhdGZvcm0tc3BlY2lmaWMgcGF0aCBkZWxpbWl0ZXIuIEJyb3dzZXJGUyB1c2VzIGA6YC5cbiAgcHVibGljIHN0YXRpYyBkZWxpbWl0ZXIgPSAnOic7XG5cbiAgcHVibGljIHN0YXRpYyBwb3NpeCA9IHBhdGg7XG4gIC8vIFhYWDogVHlwaW5nIGhhY2suIFdlIGRvbid0IGFjdHVhbGx5IHN1cHBvcnQgd2luMzIuXG4gIHB1YmxpYyBzdGF0aWMgd2luMzIgPSBwYXRoO1xufVxuXG52YXIgXzogdHlwZW9mIF9wYXRoID0gcGF0aDtcblxuZXhwb3J0ID0gcGF0aDtcbiJdfQ== |
{ | ||
"name": "bfs-path", | ||
"version": "0.1.0", | ||
"version": "0.1.1", | ||
"description": "An emulation of Node's path module. Used in BrowserFS.", | ||
@@ -5,0 +5,0 @@ "main": "js/path.js", |
@@ -1,2 +0,2 @@ | ||
# BrowserFS Path 0.1.0 | ||
# BrowserFS Path 0.1.1 | ||
> An emulation of NodeJS's `path` module. Used in [BrowserFS](https://github.com/jvilk/BrowserFS). | ||
@@ -3,0 +3,0 @@ |
@@ -6,3 +6,4 @@ { | ||
"declaration": true, | ||
"sourceMap": true, | ||
"inlineSources": true, | ||
"inlineSourceMap": true, | ||
"noImplicitAny": true, | ||
@@ -9,0 +10,0 @@ "outDir": "js" |
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
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
76980
1081
1
10