@mnaoumov/typescript-lib 1.6.1 → 1.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -141,4 +141,4 @@ function waitForAbort(abortSignal, shouldRejectOnAbort) {
141
141
  onAbort,
142
142
  waitForAbort
143
143
  });
144
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEZyb20gY29kZSwgY2FsbCB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSAob3Ige0BsaW5rIGdldFNoYXJlZEFib3J0U2lnbmFsfSkgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc2xvdC5cbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBhbHNvIG1pcnJvcnMgdGhlIGluc3RhbmNlIHVuZGVyIHRoZSBsZWdhY3kgYF9fb2JzaWRpYW5EZXZVdGlsc2AgZ2xvYmFsLCBidXQgb25seSBzbyB0aGF0XG4gKiBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcHkgc2hhcmUgaXQ7IG5ldyBjb2RlIGFuZCBuZXcgY29uc29sZSByZWNpcGVzIHNob3VsZCBub3QgdXNlIGl0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCk6IFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdzaGFyZWRBYm9ydENvbnRyb2xsZXInLCBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpKS52YWx1ZTtcbn1cblxuLyoqXG4gKiBUaGUgc2lnbmFsIG9mIHRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIENhbGwgaXQgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGUgZmlyc3QgYWJvcnQgc3RhcnRzXG4gKiBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFib3J0U2lnbmFsID0gZ2V0U2hhcmVkQWJvcnRTaWduYWwoKTtcbiAqIGZvciAoY29uc3QgdXJsIG9mIHVybHMpIHtcbiAqICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAqICAgYXdhaXQgZmV0Y2godXJsLCB7IHNpZ25hbDogYWJvcnRTaWduYWwgfSk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIEFib3J0U2lnbmFsfSBvZiB0aGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgcmV0dXJuIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcigpLnNpZ25hbDtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFib3J0IGxpc3RlbmVyIHRvIGFuIGFib3J0IHNpZ25hbCBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWxyZWFkeSBhYm9ydGVkLlxuICpcbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gYWRkIHRoZSBsaXN0ZW5lciB0by5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIGFib3J0IHNpZ25hbCBhYm9ydHMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlfSB0aGF0IHJlbW92ZXMgdGhlIGFib3J0IGxpc3RlbmVyIHdoZW4gZGlzcG9zZWQsIGZvciB1c2Ugd2l0aCBgdXNpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIGNhbGxiYWNrOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgY2FsbGJhY2soYWJvcnRTaWduYWwpO1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICBhYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjaywgeyBvbmNlOiB0cnVlIH0pO1xuICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7XG4gICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgIGFib3J0U2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgd3JhcHBlZENhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRDYWxsYmFjaygkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY2FsbGJhY2soJGV2ZW50LnRhcmdldCBhcyBBYm9ydFNpZ25hbCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZXNvbHZlcyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gRXhwZWN0ZWQgdHlwZSBvZiBgYWJvcnRTaWduYWwucmVhc29uYC5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0PFQgPSB1bmtub3duPihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPFQ+O1xuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZWplY3RzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHBhcmFtIHNob3VsZFJlamVjdE9uQWJvcnQgLSBXaGV0aGVyIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlamVjdHMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0OiB0cnVlKTogUHJvbWlzZTxuZXZlcj47XG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+IHtcbiAgICAgIGlmIChzaG91bGRSZWplY3RPbkFib3J0KSB7XG4gICAgICAgIHJlamVjdChhYm9ydFNpZ25hbC5yZWFzb24gYXMgRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShhYm9ydFNpZ25hbC5yZWFzb24gYXMgVCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHdCQUdPO0FBQ1Asc0JBQXFCO0FBQ3JCLGtDQUFzQztBQUsvQixNQUFNLG1CQUFtQjtBQThCekIsTUFBTSwwQkFBMEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNckMsSUFBVyxTQUFzQjtBQUMvQixXQUFPLEtBQUssZ0JBQWdCO0FBQUEsRUFDOUI7QUFBQSxFQUVRLGtCQUFrQixJQUFJLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXZDLE1BQU0sUUFBd0I7QUFDbkMsU0FBSyxnQkFBZ0IsTUFBTSxNQUFNO0FBQ2pDLFNBQUssa0JBQWtCLElBQUksZ0JBQWdCO0FBQUEsRUFDN0M7QUFDRjtBQVFPLFNBQVMsa0JBQWtCLG1CQUE2RDtBQUM3RixRQUFNLGVBQWUsa0JBQWtCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVc7QUFHNUUsTUFBSSxPQUFPLFlBQVksUUFBUSxZQUFZO0FBRXpDLFdBQU8sWUFBWSxJQUFJLFlBQVk7QUFBQSxFQUNyQztBQUVBLE1BQUksYUFBYSxXQUFXLEdBQUc7QUFDN0IsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUVBLE1BQUksYUFBYSxXQUFXLEtBQUssYUFBYSxDQUFDLEdBQUc7QUFDaEQsV0FBTyxhQUFhLENBQUM7QUFBQSxFQUN2QjtBQUVBLFFBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBRTVDLGFBQVcsZUFBZSxjQUFjO0FBQ3RDLFFBQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFFBQU0sMEJBQXdDLE1BQU0sS0FBSyxjQUFjLENBQUMsZ0JBQWdCLFFBQVEsYUFBYSxXQUFXLENBQUM7QUFFekgsUUFBTSxpQ0FBaUMsSUFBSSxvQ0FBa0IsRUFBRSxhQUFhLHdCQUF3QixDQUFDO0FBRXJHLFNBQU8sZ0JBQWdCO0FBRXZCLFdBQVMsWUFBWSxhQUFnQztBQUNuRCxtQ0FBK0IsUUFBUTtBQUN2QyxvQkFBZ0IsTUFBTSxZQUFZLE1BQU07QUFBQSxFQUMxQztBQUNGO0FBT08sU0FBUyxtQkFBZ0M7QUFDOUMsU0FBTyxJQUFJLGdCQUFnQixFQUFFO0FBQy9CO0FBUU8sU0FBUyxtQkFBbUIsdUJBQTRDO0FBQzdFLE1BQUksMEJBQTBCLGtCQUFrQjtBQUM5QyxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBVUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFFNUMsYUFBVyxXQUFXLE1BQU07QUFFMUIsb0JBQWdCLE1BQU0sSUFBSSxhQUFhLGdCQUFnQixPQUFPLHFCQUFxQixDQUFDLGlCQUFpQixjQUFjLENBQUM7QUFBQSxFQUN0SCxHQUFHLHFCQUFxQjtBQUN4QixTQUFPLGdCQUFnQjtBQUN6QjtBQXFCTyxTQUFTLDJCQUFzRDtBQUNwRSxhQUFPLG1EQUFzQix5QkFBeUIsSUFBSSwwQkFBMEIsQ0FBQyxFQUFFO0FBQ3pGO0FBbUJPLFNBQVMsdUJBQW9DO0FBQ2xELFNBQU8seUJBQXlCLEVBQUU7QUFDcEM7QUFTTyxTQUFTLFFBQVEsYUFBMEIsVUFBMEQ7QUFDMUcsTUFBSSxZQUFZLFNBQVM7QUFDdkIsYUFBUyxXQUFXO0FBQ3BCLFdBQU8sSUFBSSxxQ0FBbUIsRUFBRSxVQUFVLHFCQUFLLENBQUM7QUFBQSxFQUNsRDtBQUVBLGNBQVksaUJBQWlCLFNBQVMsaUJBQWlCLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDckUsU0FBTyxJQUFJLHFDQUFtQjtBQUFBLElBQzVCLFVBQVUsTUFBWTtBQUNwQixrQkFBWSxvQkFBb0IsU0FBUyxlQUFlO0FBQUEsSUFDMUQ7QUFBQSxFQUNGLENBQUM7QUFFRCxXQUFTLGdCQUFnQixRQUFxQjtBQUM1QyxhQUFTLE9BQU8sTUFBcUI7QUFBQSxFQUN2QztBQUNGO0FBMEJPLFNBQVMsYUFBMEIsYUFBMEIscUJBQTJDO0FBQzdHLFNBQU8sSUFBSSxRQUFXLENBQUMsU0FBUyxXQUFXO0FBQ3pDLFlBQVEsYUFBYSxNQUFNO0FBQ3pCLFVBQUkscUJBQXFCO0FBQ3ZCLGVBQU8sWUFBWSxNQUFlO0FBQUEsTUFDcEMsT0FBTztBQUNMLGdCQUFRLFlBQVksTUFBVztBQUFBLE1BQ2pDO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
144
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEZyb20gY29kZSwgY2FsbCB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSAob3Ige0BsaW5rIGdldFNoYXJlZEFib3J0U2lnbmFsfSkgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc2xvdC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcigpOiBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyIHtcbiAgcmV0dXJuIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnc2hhcmVkQWJvcnRDb250cm9sbGVyJywgbmV3IFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIoKSkudmFsdWU7XG59XG5cbi8qKlxuICogVGhlIHNpZ25hbCBvZiB0aGUgYXBwLXdpZGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqXG4gKiBDYWxsIGl0IGF0IHRoZSBzdGFydCBvZiBlYWNoIG9wZXJhdGlvbi4gTmV2ZXIgY2FjaGUgaXQsIG9yIHRoZSBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0c1xuICogYWxyZWFkeSBhYm9ydGVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhYm9ydFNpZ25hbCA9IGdldFNoYXJlZEFib3J0U2lnbmFsKCk7XG4gKiBmb3IgKGNvbnN0IHVybCBvZiB1cmxzKSB7XG4gKiAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gKiAgIGF3YWl0IGZldGNoKHVybCwgeyBzaWduYWw6IGFib3J0U2lnbmFsIH0pO1xuICogfVxuICogYGBgXG4gKlxuICogQHJldHVybnMgVGhlIHtAbGluayBBYm9ydFNpZ25hbH0gb2YgdGhlIHNoYXJlZCB7QGxpbmsgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcn0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRBYm9ydFNpZ25hbCgpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIoKS5zaWduYWw7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhYm9ydCBsaXN0ZW5lciB0byBhbiBhYm9ydCBzaWduYWwgYW5kIGNhbGxzIHRoZSBjYWxsYmFjayBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFscmVhZHkgYWJvcnRlZC5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGFkZCB0aGUgbGlzdGVuZXIgdG8uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBhYm9ydCBzaWduYWwgYWJvcnRzLlxuICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZX0gdGhhdCByZW1vdmVzIHRoZSBhYm9ydCBsaXN0ZW5lciB3aGVuIGRpc3Bvc2VkLCBmb3IgdXNlIHdpdGggYHVzaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9uQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBjYWxsYmFjazogKGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCkgPT4gdm9pZCk6IERpc3Bvc2FibGUge1xuICBpZiAoYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgIGNhbGxiYWNrKGFib3J0U2lnbmFsKTtcbiAgICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7IGNhbGxiYWNrOiBub29wIH0pO1xuICB9XG5cbiAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB3cmFwcGVkQ2FsbGJhY2ssIHsgb25jZTogdHJ1ZSB9KTtcbiAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgIGNhbGxiYWNrOiAoKTogdm9pZCA9PiB7XG4gICAgICBhYm9ydFNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjayk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiB3cmFwcGVkQ2FsbGJhY2soJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNhbGxiYWNrKCRldmVudC50YXJnZXQgYXMgQWJvcnRTaWduYWwpO1xuICB9XG59XG5cbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVzb2x2ZXMgd2l0aCBpdHMgcmVhc29uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIEV4cGVjdGVkIHR5cGUgb2YgYGFib3J0U2lnbmFsLnJlYXNvbmAuXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogUHJvbWlzZTxUPjtcbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVqZWN0cyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZWplY3RzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgc2hvdWxkUmVqZWN0T25BYm9ydDogdHJ1ZSk6IFByb21pc2U8bmV2ZXI+O1xuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZXNvbHZlcyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gRXhwZWN0ZWQgdHlwZSBvZiBgYWJvcnRTaWduYWwucmVhc29uYC5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkUmVqZWN0T25BYm9ydCAtIFdoZXRoZXIgdG8gcmVqZWN0IHRoZSBwcm9taXNlIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWJvcnRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQ8VCA9IHVua25vd24+KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgc2hvdWxkUmVqZWN0T25BYm9ydD86IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBvbkFib3J0KGFib3J0U2lnbmFsLCAoKSA9PiB7XG4gICAgICBpZiAoc2hvdWxkUmVqZWN0T25BYm9ydCkge1xuICAgICAgICByZWplY3QoYWJvcnRTaWduYWwucmVhc29uIGFzIEVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoYWJvcnRTaWduYWwucmVhc29uIGFzIFQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSx3QkFHTztBQUNQLHNCQUFxQjtBQUNyQixrQ0FBc0M7QUFLL0IsTUFBTSxtQkFBbUI7QUE4QnpCLE1BQU0sMEJBQTBCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXJDLElBQVcsU0FBc0I7QUFDL0IsV0FBTyxLQUFLLGdCQUFnQjtBQUFBLEVBQzlCO0FBQUEsRUFFUSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF2QyxNQUFNLFFBQXdCO0FBQ25DLFNBQUssZ0JBQWdCLE1BQU0sTUFBTTtBQUNqQyxTQUFLLGtCQUFrQixJQUFJLGdCQUFnQjtBQUFBLEVBQzdDO0FBQ0Y7QUFRTyxTQUFTLGtCQUFrQixtQkFBNkQ7QUFDN0YsUUFBTSxlQUFlLGtCQUFrQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXO0FBRzVFLE1BQUksT0FBTyxZQUFZLFFBQVEsWUFBWTtBQUV6QyxXQUFPLFlBQVksSUFBSSxZQUFZO0FBQUEsRUFDckM7QUFFQSxNQUFJLGFBQWEsV0FBVyxHQUFHO0FBQzdCLFdBQU8saUJBQWlCO0FBQUEsRUFDMUI7QUFFQSxNQUFJLGFBQWEsV0FBVyxLQUFLLGFBQWEsQ0FBQyxHQUFHO0FBQ2hELFdBQU8sYUFBYSxDQUFDO0FBQUEsRUFDdkI7QUFFQSxRQUFNLGtCQUFrQixJQUFJLGdCQUFnQjtBQUU1QyxhQUFXLGVBQWUsY0FBYztBQUN0QyxRQUFJLFlBQVksU0FBUztBQUN2QixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLDBCQUF3QyxNQUFNLEtBQUssY0FBYyxDQUFDLGdCQUFnQixRQUFRLGFBQWEsV0FBVyxDQUFDO0FBRXpILFFBQU0saUNBQWlDLElBQUksb0NBQWtCLEVBQUUsYUFBYSx3QkFBd0IsQ0FBQztBQUVyRyxTQUFPLGdCQUFnQjtBQUV2QixXQUFTLFlBQVksYUFBZ0M7QUFDbkQsbUNBQStCLFFBQVE7QUFDdkMsb0JBQWdCLE1BQU0sWUFBWSxNQUFNO0FBQUEsRUFDMUM7QUFDRjtBQU9PLFNBQVMsbUJBQWdDO0FBQzlDLFNBQU8sSUFBSSxnQkFBZ0IsRUFBRTtBQUMvQjtBQVFPLFNBQVMsbUJBQW1CLHVCQUE0QztBQUM3RSxNQUFJLDBCQUEwQixrQkFBa0I7QUFDOUMsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQVVBLFFBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBRTVDLGFBQVcsV0FBVyxNQUFNO0FBRTFCLG9CQUFnQixNQUFNLElBQUksYUFBYSxnQkFBZ0IsT0FBTyxxQkFBcUIsQ0FBQyxpQkFBaUIsY0FBYyxDQUFDO0FBQUEsRUFDdEgsR0FBRyxxQkFBcUI7QUFDeEIsU0FBTyxnQkFBZ0I7QUFDekI7QUFtQk8sU0FBUywyQkFBc0Q7QUFDcEUsYUFBTyxtREFBc0IseUJBQXlCLElBQUksMEJBQTBCLENBQUMsRUFBRTtBQUN6RjtBQW1CTyxTQUFTLHVCQUFvQztBQUNsRCxTQUFPLHlCQUF5QixFQUFFO0FBQ3BDO0FBU08sU0FBUyxRQUFRLGFBQTBCLFVBQTBEO0FBQzFHLE1BQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQVMsV0FBVztBQUNwQixXQUFPLElBQUkscUNBQW1CLEVBQUUsVUFBVSxxQkFBSyxDQUFDO0FBQUEsRUFDbEQ7QUFFQSxjQUFZLGlCQUFpQixTQUFTLGlCQUFpQixFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3JFLFNBQU8sSUFBSSxxQ0FBbUI7QUFBQSxJQUM1QixVQUFVLE1BQVk7QUFDcEIsa0JBQVksb0JBQW9CLFNBQVMsZUFBZTtBQUFBLElBQzFEO0FBQUEsRUFDRixDQUFDO0FBRUQsV0FBUyxnQkFBZ0IsUUFBcUI7QUFDNUMsYUFBUyxPQUFPLE1BQXFCO0FBQUEsRUFDdkM7QUFDRjtBQTBCTyxTQUFTLGFBQTBCLGFBQTBCLHFCQUEyQztBQUM3RyxTQUFPLElBQUksUUFBVyxDQUFDLFNBQVMsV0FBVztBQUN6QyxZQUFRLGFBQWEsTUFBTTtBQUN6QixVQUFJLHFCQUFxQjtBQUN2QixlQUFPLFlBQVksTUFBZTtBQUFBLE1BQ3BDLE9BQU87QUFDTCxnQkFBUSxZQUFZLE1BQVc7QUFBQSxNQUNqQztBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0gsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -87,8 +87,6 @@ export declare function abortSignalTimeout(timeoutInMilliseconds: number): Abort
87
87
  * ```
88
88
  *
89
89
  * From code, call {@link getSharedAbortController} (or {@link getSharedAbortSignal}) rather than reading the slot.
90
- * `@mnaoumov/obsidian-lib` also mirrors the instance under the legacy `__obsidianDevUtils` global, but only so that
91
- * plugins bundling an older `obsidian-dev-utils` copy share it; new code and new console recipes should not use it.
92
90
  *
93
91
  * @returns The shared {@link ResettableAbortController}.
94
92
  */
@@ -19,4 +19,4 @@ var __copyProps = (to, from, except, desc) => {
19
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
20
  var debug_controller_exports = {};
21
21
  module.exports = __toCommonJS(debug_controller_exports);
22
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlYnVnLWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQcm92aWRlcyB0aGUgaW50ZXJmYWNlIGZvciBjb250cm9sbGluZyBkZWJ1ZyBvdXRwdXQgdGhyb3VnaCBuYW1lc3BhY2UgbWFuYWdlbWVudC5cbiAqXG4gKiBEZWJ1ZyBuYW1lc3BhY2VzIGZvbGxvdyB0aGUgcGF0dGVybiAnbG9yZW0nLCBgbG9yZW06aXBzdW1gLCBgbG9yZW06aXBzdW06ZG9sb3JgLCBldGMsIGFuZCBjYW4gdXNlIHdpbGRjYXJkcyAoYCpgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLSBgbG9yZW06KmAgbWF0Y2hlcyBhbGwgc3VibW9kdWxlcyBvZiAnbG9yZW0nXG4gKiAtIGAqOmlwc3VtYCBtYXRjaGVzIGFsbCBwbHVnaW5zJyBgaXBzdW1gIHN1Ym1vZHVsZXNcbiAqIC0gYCpgIG1hdGNoZXMgZXZlcnl0aGluZ1xuICpcbiAqIFNwZWNpYWwgc3ludGF4OlxuICogLSBOYW1lc3BhY2VzIHByZWZpeGVkIHdpdGggJy0nIGFyZSBleHBsaWNpdGx5IGRpc2FibGVkXG4gKiAtIE11bHRpcGxlIG5hbWVzcGFjZXMgY2FuIGJlIGNvbWJpbmVkIHdpdGggY29tbWFzOiBgbG9yZW0sLWxvcmVtOmlwc3VtLGRvbG9yOipgXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9tbmFvdW1vdi5kZXYvdHlwZXNjcmlwdC1saWIvZ3VpZGVzL2RlYnVnZ2luZy99XG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVyZmFjZS1vbmx5IG1vZHVsZTsgbm8gcnVudGltZSBjb2RlIHRvIHRlc3QuICovXG5cbi8qKlxuICogQ29udHJvbHMgZGVidWcgb3V0cHV0IGJ5IG1hbmFnaW5nIGRlYnVnIG5hbWVzcGFjZXMuXG4gKiBFeHBvc2VkIGdsb2JhbGx5IGFzIGB3aW5kb3cuREVCVUdgLlxuICpcbiAqIEByZW1hcmtzXG4gKiBEZWJ1ZyBzZXR0aW5ncyBwZXJzaXN0IGFjcm9zcyBwbHVnaW4gcmVsb2FkcyBpbiBsb2NhbFN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVidWdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIERpc2FibGUgc3BlY2lmaWMgZGVidWcgbmFtZXNwYWNlcy4gRGlzYWJsZWQgbmFtZXNwYWNlcyB0YWtlIHByZWNlZGVuY2VcbiAgICogb3ZlciBlbmFibGVkIG9uZXMgd2hlbiB0aGVyZSdzIGEgY29uZmxpY3QuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJ2Zvby1iYXInKTsgLy8gaGlkZSBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZSgnZm9vLWJhcjoqJyk7IC8vIGhpZGUgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gdGhlIGBmb28tYmFyYCBwbHVnaW4gc3VibW9kdWxlc1xuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZShbJ2Zvby1iYXInLCAnYmF6LXF1eCddKTsgLy8gZGlzYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzXG4gICAqIHdpbmRvdy5ERUJVRy5kaXNhYmxlKCdmb28tYmFyLGJhei1xdXgnKTsgLy8gZGlzYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzIHVzaW5nIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJyonKTsgLy8gZGlzYWJsZSBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gU2luZ2xlIG5hbWVzcGFjZSBzdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHN0cmluZ3MgdG8gZGlzYWJsZVxuICAgKi9cbiAgZGlzYWJsZTogKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgc3BlY2lmaWMgZGVidWcgbmFtZXNwYWNlcy4gTm90ZSB0aGF0IGV4cGxpY2l0bHkgZGlzYWJsZWRcbiAgICogbmFtZXNwYWNlcyAocHJlZml4ZWQgd2l0aCAnLScpIHdpbGwgcmVtYWluIGRpc2FibGVkLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXInKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyOm9ic2lkaWFuLWRldi11dGlsczoqJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIHdpdGhpbiB0aGUgYGZvby1iYXJgIHBsdWdpbiAoaXQga2VlcHMgaXRzIGxlZ2FjeSBgb2JzaWRpYW4tZGV2LXV0aWxzYCBuYW1lc3BhY2UpXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXI6KicpOyAvLyBzaG93IGFsbCBkZWJ1ZyBtZXNzYWdlcyBmcm9tIHRoZSBgZm9vLWJhcmAgcGx1Z2luIGFuZCBpdHMgc3VibW9kdWxlc1xuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCcqOm9ic2lkaWFuLWRldi11dGlsczoqJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIHdpdGhpbiBhbnkgcGx1Z2luXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoWydmb28tYmFyJywgJ2Jhei1xdXgnXSk7IC8vIGVuYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXIsYmF6LXF1eCcpOyAvLyBlbmFibGUgbXVsdGlwbGUgbmFtZXNwYWNlcyB1c2luZyBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nXG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJyonKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gU2luZ2xlIG5hbWVzcGFjZSBzdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHN0cmluZ3MgdG8gZW5hYmxlXG4gICAqL1xuICBlbmFibGU6IChuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZDtcblxuICAvKipcbiAgICogR2V0IGN1cnJlbnRseSBjb25maWd1cmVkIGRlYnVnIG5hbWVzcGFjZXMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLmdldCgpOyAvLyByZXR1cm5zIFsnZm9vLWJhcicsICdiYXotcXV4OionLCAnLWxvcmVtLWlwc3VtJ11cbiAgICogYGBgXG4gICAqXG4gICAqIEByZXR1cm5zIEFycmF5IG9mIGVuYWJsZWQgYW5kIGRpc2FibGVkIChwcmVmaXhlZCB3aXRoIGAtYCkgZGVidWcgbmFtZXNwYWNlc1xuICAgKi9cbiAgZ2V0OiAoKSA9PiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU2V0IGRlYnVnIG5hbWVzcGFjZXMsIHJlcGxhY2luZyBhbGwgcHJldmlvdXMgY29uZmlndXJhdGlvbnMuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLnNldChbJ2Zvby1iYXInLCAnYmF6LXF1eDoqJywgJy1sb3JlbS1pcHN1bSddKTsgLy8gRW5hYmxlICdmb28tYmFyJyBhbmQgJ2Jhei1xdXg6KicsIGV4cGxpY2l0bHkgZGlzYWJsZSAnbG9yZW0taXBzdW0nXG4gICAqIHdpbmRvdy5ERUJVRy5zZXQoJ2Zvby1iYXIsYmF6LXF1eDoqLC1sb3JlbS1pcHN1bScpOyAvLyBTYW1lIHRoaW5nIHVzaW5nIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICogd2luZG93LkRFQlVHLnNldCgnKicpOyAvLyBFbmFibGUgYWxsIGRlYnVnIG1lc3NhZ2VzXG4gICAqIHdpbmRvdy5ERUJVRy5zZXQoJycpOyAvLyBEaXNhYmxlIGFsbCBkZWJ1ZyBtZXNzYWdlc1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIG5hbWVzcGFjZXMgLSBTdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHBhdHRlcm5zXG4gICAqL1xuICBzZXQ6IChuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSkgPT4gdm9pZDtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
22
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RlYnVnLWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQcm92aWRlcyB0aGUgaW50ZXJmYWNlIGZvciBjb250cm9sbGluZyBkZWJ1ZyBvdXRwdXQgdGhyb3VnaCBuYW1lc3BhY2UgbWFuYWdlbWVudC5cbiAqXG4gKiBEZWJ1ZyBuYW1lc3BhY2VzIGZvbGxvdyB0aGUgcGF0dGVybiAnbG9yZW0nLCBgbG9yZW06aXBzdW1gLCBgbG9yZW06aXBzdW06ZG9sb3JgLCBldGMsIGFuZCBjYW4gdXNlIHdpbGRjYXJkcyAoYCpgKS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLSBgbG9yZW06KmAgbWF0Y2hlcyBhbGwgc3VibW9kdWxlcyBvZiAnbG9yZW0nXG4gKiAtIGAqOmlwc3VtYCBtYXRjaGVzIGFsbCBwbHVnaW5zJyBgaXBzdW1gIHN1Ym1vZHVsZXNcbiAqIC0gYCpgIG1hdGNoZXMgZXZlcnl0aGluZ1xuICpcbiAqIFNwZWNpYWwgc3ludGF4OlxuICogLSBOYW1lc3BhY2VzIHByZWZpeGVkIHdpdGggJy0nIGFyZSBleHBsaWNpdGx5IGRpc2FibGVkXG4gKiAtIE11bHRpcGxlIG5hbWVzcGFjZXMgY2FuIGJlIGNvbWJpbmVkIHdpdGggY29tbWFzOiBgbG9yZW0sLWxvcmVtOmlwc3VtLGRvbG9yOipgXG4gKlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9tbmFvdW1vdi5kZXYvdHlwZXNjcmlwdC1saWIvZ3VpZGVzL2RlYnVnZ2luZy99XG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVyZmFjZS1vbmx5IG1vZHVsZTsgbm8gcnVudGltZSBjb2RlIHRvIHRlc3QuICovXG5cbi8qKlxuICogQ29udHJvbHMgZGVidWcgb3V0cHV0IGJ5IG1hbmFnaW5nIGRlYnVnIG5hbWVzcGFjZXMuXG4gKiBFeHBvc2VkIGdsb2JhbGx5IGFzIGB3aW5kb3cuREVCVUdgLlxuICpcbiAqIEByZW1hcmtzXG4gKiBEZWJ1ZyBzZXR0aW5ncyBwZXJzaXN0IGFjcm9zcyBwbHVnaW4gcmVsb2FkcyBpbiBsb2NhbFN0b3JhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVidWdDb250cm9sbGVyIHtcbiAgLyoqXG4gICAqIERpc2FibGUgc3BlY2lmaWMgZGVidWcgbmFtZXNwYWNlcy4gRGlzYWJsZWQgbmFtZXNwYWNlcyB0YWtlIHByZWNlZGVuY2VcbiAgICogb3ZlciBlbmFibGVkIG9uZXMgd2hlbiB0aGVyZSdzIGEgY29uZmxpY3QuXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJ2Zvby1iYXInKTsgLy8gaGlkZSBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZSgnZm9vLWJhcjoqJyk7IC8vIGhpZGUgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gdGhlIGBmb28tYmFyYCBwbHVnaW4gc3VibW9kdWxlc1xuICAgKiB3aW5kb3cuREVCVUcuZGlzYWJsZShbJ2Zvby1iYXInLCAnYmF6LXF1eCddKTsgLy8gZGlzYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzXG4gICAqIHdpbmRvdy5ERUJVRy5kaXNhYmxlKCdmb28tYmFyLGJhei1xdXgnKTsgLy8gZGlzYWJsZSBtdWx0aXBsZSBuYW1lc3BhY2VzIHVzaW5nIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdcbiAgICogd2luZG93LkRFQlVHLmRpc2FibGUoJyonKTsgLy8gZGlzYWJsZSBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gU2luZ2xlIG5hbWVzcGFjZSBzdHJpbmcgb3IgYXJyYXkgb2YgbmFtZXNwYWNlIHN0cmluZ3MgdG8gZGlzYWJsZVxuICAgKi9cbiAgZGlzYWJsZTogKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFbmFibGUgc3BlY2lmaWMgZGVidWcgbmFtZXNwYWNlcy4gTm90ZSB0aGF0IGV4cGxpY2l0bHkgZGlzYWJsZWRcbiAgICogbmFtZXNwYWNlcyAocHJlZml4ZWQgd2l0aCAnLScpIHdpbGwgcmVtYWluIGRpc2FibGVkLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHdpbmRvdy5ERUJVRy5lbmFibGUoJ2Zvby1iYXInKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyOm9ic2lkaWFuLWxpYjoqJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzIGZyb20gYEBtbmFvdW1vdi9vYnNpZGlhbi1saWJgIHdpdGhpbiB0aGUgYGZvby1iYXJgIHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyOionKTsgLy8gc2hvdyBhbGwgZGVidWcgbWVzc2FnZXMgZnJvbSB0aGUgYGZvby1iYXJgIHBsdWdpbiBhbmQgaXRzIHN1Ym1vZHVsZXNcbiAgICogd2luZG93LkRFQlVHLmVuYWJsZSgnKjpvYnNpZGlhbi1saWI6KicpOyAvLyBzaG93IGFsbCBkZWJ1ZyBtZXNzYWdlcyBmcm9tIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCB3aXRoaW4gYW55IHBsdWdpblxuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKFsnZm9vLWJhcicsICdiYXotcXV4J10pOyAvLyBlbmFibGUgbXVsdGlwbGUgbmFtZXNwYWNlc1xuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCdmb28tYmFyLGJhei1xdXgnKTsgLy8gZW5hYmxlIG11bHRpcGxlIG5hbWVzcGFjZXMgdXNpbmcgY29tbWEtc2VwYXJhdGVkIHN0cmluZ1xuICAgKiB3aW5kb3cuREVCVUcuZW5hYmxlKCcqJyk7IC8vIHNob3cgYWxsIGRlYnVnIG1lc3NhZ2VzXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFNpbmdsZSBuYW1lc3BhY2Ugc3RyaW5nIG9yIGFycmF5IG9mIG5hbWVzcGFjZSBzdHJpbmdzIHRvIGVuYWJsZVxuICAgKi9cbiAgZW5hYmxlOiAobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEdldCBjdXJyZW50bHkgY29uZmlndXJlZCBkZWJ1ZyBuYW1lc3BhY2VzLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHdpbmRvdy5ERUJVRy5nZXQoKTsgLy8gcmV0dXJucyBbJ2Zvby1iYXInLCAnYmF6LXF1eDoqJywgJy1sb3JlbS1pcHN1bSddXG4gICAqIGBgYFxuICAgKlxuICAgKiBAcmV0dXJucyBBcnJheSBvZiBlbmFibGVkIGFuZCBkaXNhYmxlZCAocHJlZml4ZWQgd2l0aCBgLWApIGRlYnVnIG5hbWVzcGFjZXNcbiAgICovXG4gIGdldDogKCkgPT4gc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFNldCBkZWJ1ZyBuYW1lc3BhY2VzLCByZXBsYWNpbmcgYWxsIHByZXZpb3VzIGNvbmZpZ3VyYXRpb25zLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIHdpbmRvdy5ERUJVRy5zZXQoWydmb28tYmFyJywgJ2Jhei1xdXg6KicsICctbG9yZW0taXBzdW0nXSk7IC8vIEVuYWJsZSAnZm9vLWJhcicgYW5kICdiYXotcXV4OionLCBleHBsaWNpdGx5IGRpc2FibGUgJ2xvcmVtLWlwc3VtJ1xuICAgKiB3aW5kb3cuREVCVUcuc2V0KCdmb28tYmFyLGJhei1xdXg6KiwtbG9yZW0taXBzdW0nKTsgLy8gU2FtZSB0aGluZyB1c2luZyBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nXG4gICAqIHdpbmRvdy5ERUJVRy5zZXQoJyonKTsgLy8gRW5hYmxlIGFsbCBkZWJ1ZyBtZXNzYWdlc1xuICAgKiB3aW5kb3cuREVCVUcuc2V0KCcnKTsgLy8gRGlzYWJsZSBhbGwgZGVidWcgbWVzc2FnZXNcbiAgICogYGBgXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lc3BhY2VzIC0gU3RyaW5nIG9yIGFycmF5IG9mIG5hbWVzcGFjZSBwYXR0ZXJuc1xuICAgKi9cbiAgc2V0OiAobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pID0+IHZvaWQ7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
@@ -48,9 +48,9 @@ export interface DebugController {
48
48
  * @example
49
49
  * ```typescript
50
50
  * window.DEBUG.enable('foo-bar'); // show all debug messages from the `foo-bar` plugin
51
- * window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within the `foo-bar` plugin (it keeps its legacy `obsidian-dev-utils` namespace)
51
+ * window.DEBUG.enable('foo-bar:obsidian-lib:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within the `foo-bar` plugin
52
52
  * window.DEBUG.enable('foo-bar:*'); // show all debug messages from the `foo-bar` plugin and its submodules
53
- * window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within any plugin
53
+ * window.DEBUG.enable('*:obsidian-lib:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within any plugin
54
54
  * window.DEBUG.enable(['foo-bar', 'baz-qux']); // enable multiple namespaces
55
55
  * window.DEBUG.enable('foo-bar,baz-qux'); // enable multiple namespaces using comma-separated string
56
56
  * window.DEBUG.enable('*'); // show all debug messages
@@ -139,15 +139,10 @@ function printWithStackTrace(params) {
139
139
  debuggerInstance(message, ...$arguments, "\n\n---\nContext stack trace:\n", makeStackTraceError(stackTrace));
140
140
  }
141
141
  function showInitialDebugMessage(pluginId) {
142
- const isEnabled = getSharedDebugLibInstance().enabled(pluginId);
143
- const state = isEnabled ? "enabled" : "disabled";
144
- const changeAction = isEnabled ? "disable" : "enable";
145
- const namespaces = getNamespaces();
146
- setNamespaces(pluginId);
147
- getDebugger(pluginId)(
148
- `Debug messages for plugin ${pluginId} are ${state}.${formatGuideReference(` how to ${changeAction} them`)}`
149
- );
150
- setNamespaces(namespaces);
142
+ if (!getSharedDebugLibInstance().enabled(pluginId)) {
143
+ return;
144
+ }
145
+ getDebugger(pluginId)(`Debug messages for plugin ${pluginId} are enabled.${formatGuideReference(" how to disable them")}`);
151
146
  }
152
147
  function disableNamespaces(namespaces) {
153
148
  const set = new Set(getNamespaces());
@@ -220,4 +215,4 @@ function toArray(namespaces) {
220
215
  printWithStackTrace,
221
216
  showInitialDebugMessage
222
217
  });
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGFsaWFzaW5nIGRlYnVnZ2VyJ3Mgb3duIGZyYW1lIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGBkZWJ1Z2AgcGFja2FnZTogdGhlIGBhcHBseWAgdHJhcCBvZiBpdHMgcHJveHkuXG4gKi9cbmNvbnN0IEFMSUFTX0ZSQU1FU19UT19TS0lQID0gMTtcbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogV2hlbiB0aGUgaG9zdCBzdXBwbGllZCBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZUFsaWFzZXNgLCBhIGZpbHRlciB3cml0dGVuIGZvciBhbiBhbGlhcyBzdGlsbCBzaG93cyB0aGUgbWVzc2FnZXMuXG4gKiBFYWNoIG1lc3NhZ2UgcHJpbnRzIE9OQ0U6IHVuZGVyIHRoZSBjdXJyZW50IG5hbWVzcGFjZSB3aGVuIGEgZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYVxuICogZmlsdGVyIGVuYWJsZXMuIFByaW50aW5nIHVuZGVyIGV2ZXJ5IGVuYWJsZWQgb25lIHdvdWxkIGRvdWJsZSBlYWNoIG1lc3NhZ2UgdW5kZXIgdGhlIG1vc3QgY29tbW9uIGZpbHRlciBvZiBhbGwsXG4gKiBgPHByZWZpeD4qYCwgd2hpY2ggZW5hYmxlcyB0aGVtIGFsbC5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGxpYnJhcnkgKHVuZGVyIGl0cyBkZWJ1ZyBuYW1lc3BhY2UsIHNlZSBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGFsaWFzZXMgPSBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlQWxpYXNlcztcbiAgaWYgKGFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGRlYnVnZ2VyIGNvbWVzIGZyb20gdGhlIHNoYXJlZCBjYWNoZSBgZ2V0RGVidWdnZXJgIGtlZXBzLCBzbyBvbmx5IHRoZSBjaGVhcCBwcm94eSBpcyBuZXcgb24gZWFjaCBjYWxsLCBhbmQgYVxuICAvLyBzcHkgaW5zdGFsbGVkIG9uIG9uZSBjYWxsJ3MgYGxvZ2AgaXMgdGhlIG9uZSB0aGUgbmV4dCBjYWxsIHJlYWNoZXMuXG4gIGNvbnN0IGN1cnJlbnREZWJ1Z2dlciA9IGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gLCBBTElBU19GUkFNRVNfVE9fU0tJUCk7XG4gIGNvbnN0IGFsaWFzRGVidWdnZXJzID0gYWxpYXNlcy5tYXAoKGFsaWFzKSA9PiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7YWxpYXN9OiR7bmFtZXNwYWNlfWAsIEFMSUFTX0ZSQU1FU19UT19TS0lQKSk7XG4gIGNvbnN0IGFsbERlYnVnZ2VycyA9IFtjdXJyZW50RGVidWdnZXIsIC4uLmFsaWFzRGVidWdnZXJzXTtcbiAgcmV0dXJuIG5ldyBQcm94eShjdXJyZW50RGVidWdnZXIsIHtcbiAgICBhcHBseShfdGFyZ2V0LCBfdGhpc0FyZ3VtZW50LCAkYXJndW1lbnRzOiBQYXJhbWV0ZXJzPERlYnVnZ2VyPik6IHZvaWQge1xuICAgICAgYWxsRGVidWdnZXJzLmZpbmQoKGRlYnVnZ2VySW5zdGFuY2UpID0+IGRlYnVnZ2VySW5zdGFuY2UuZW5hYmxlZCk/LiguLi4kYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3BlcnR5ID09PSAnZW5hYmxlZCcpIHtcbiAgICAgICAgcmV0dXJuIGFsbERlYnVnZ2Vycy5zb21lKChkZWJ1Z2dlckluc3RhbmNlKSA9PiBkZWJ1Z2dlckluc3RhbmNlLmVuYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdz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
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGFsaWFzaW5nIGRlYnVnZ2VyJ3Mgb3duIGZyYW1lIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGBkZWJ1Z2AgcGFja2FnZTogdGhlIGBhcHBseWAgdHJhcCBvZiBpdHMgcHJveHkuXG4gKi9cbmNvbnN0IEFMSUFTX0ZSQU1FU19UT19TS0lQID0gMTtcbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogV2hlbiB0aGUgaG9zdCBzdXBwbGllZCBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZUFsaWFzZXNgLCBhIGZpbHRlciB3cml0dGVuIGZvciBhbiBhbGlhcyBzdGlsbCBzaG93cyB0aGUgbWVzc2FnZXMuXG4gKiBFYWNoIG1lc3NhZ2UgcHJpbnRzIE9OQ0U6IHVuZGVyIHRoZSBjdXJyZW50IG5hbWVzcGFjZSB3aGVuIGEgZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYVxuICogZmlsdGVyIGVuYWJsZXMuIFByaW50aW5nIHVuZGVyIGV2ZXJ5IGVuYWJsZWQgb25lIHdvdWxkIGRvdWJsZSBlYWNoIG1lc3NhZ2UgdW5kZXIgdGhlIG1vc3QgY29tbW9uIGZpbHRlciBvZiBhbGwsXG4gKiBgPHByZWZpeD4qYCwgd2hpY2ggZW5hYmxlcyB0aGVtIGFsbC5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGxpYnJhcnkgKHVuZGVyIGl0cyBkZWJ1ZyBuYW1lc3BhY2UsIHNlZSBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGFsaWFzZXMgPSBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlQWxpYXNlcztcbiAgaWYgKGFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGRlYnVnZ2VyIGNvbWVzIGZyb20gdGhlIHNoYXJlZCBjYWNoZSBgZ2V0RGVidWdnZXJgIGtlZXBzLCBzbyBvbmx5IHRoZSBjaGVhcCBwcm94eSBpcyBuZXcgb24gZWFjaCBjYWxsLCBhbmQgYVxuICAvLyBzcHkgaW5zdGFsbGVkIG9uIG9uZSBjYWxsJ3MgYGxvZ2AgaXMgdGhlIG9uZSB0aGUgbmV4dCBjYWxsIHJlYWNoZXMuXG4gIGNvbnN0IGN1cnJlbnREZWJ1Z2dlciA9IGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gLCBBTElBU19GUkFNRVNfVE9fU0tJUCk7XG4gIGNvbnN0IGFsaWFzRGVidWdnZXJzID0gYWxpYXNlcy5tYXAoKGFsaWFzKSA9PiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7YWxpYXN9OiR7bmFtZXNwYWNlfWAsIEFMSUFTX0ZSQU1FU19UT19TS0lQKSk7XG4gIGNvbnN0IGFsbERlYnVnZ2VycyA9IFtjdXJyZW50RGVidWdnZXIsIC4uLmFsaWFzRGVidWdnZXJzXTtcbiAgcmV0dXJuIG5ldyBQcm94eShjdXJyZW50RGVidWdnZXIsIHtcbiAgICBhcHBseShfdGFyZ2V0LCBfdGhpc0FyZ3VtZW50LCAkYXJndW1lbnRzOiBQYXJhbWV0ZXJzPERlYnVnZ2VyPik6IHZvaWQge1xuICAgICAgYWxsRGVidWdnZXJzLmZpbmQoKGRlYnVnZ2VySW5zdGFuY2UpID0+IGRlYnVnZ2VySW5zdGFuY2UuZW5hYmxlZCk/LiguLi4kYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3BlcnR5ID09PSAnZW5hYmxlZCcpIHtcbiAgICAgICAgcmV0dXJuIGFsbERlYnVnZ2Vycy5zb21lKChkZWJ1Z2dlckluc3RhbmNlKSA9PiBkZWJ1Z2dlckluc3RhbmNlLmVuYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZSwgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gZGlzYWJsZSB0aGUgcGx1Z2luJ3MgZGVidWcgbWVzc2FnZXMuXG4gKlxuICogUHJpbnRzIG5vdGhpbmcgd2hpbGUgdGhlIHBsdWdpbidzIGRlYnVnIG1lc3NhZ2VzIGFyZSBkaXNhYmxlZCwgc28gYSBwbHVnaW4gaW4gaXRzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3cml0ZXMgbm90aGluZyB0byB0aGUgY29uc29sZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKS5lbmFibGVkKHBsdWdpbklkKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGdldERlYnVnZ2VyKHBsdWdpbklkKShgRGVidWcgbWVzc2FnZXMgZm9yIHBsdWdpbiAke3BsdWdpbklkfSBhcmUgZW5hYmxlZC4ke2Zvcm1hdEd1aWRlUmVmZXJlbmNlKCcgaG93IHRvIGRpc2FibGUgdGhlbScpfWApO1xufVxuXG5mdW5jdGlvbiBkaXNhYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAobmFtZXNwYWNlLnN0YXJ0c1dpdGgoTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgc2V0LmRlbGV0ZShuYW1lc3BhY2UpO1xuICAgIHNldC5hZGQobmVnYXRlZE5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGVuYWJsZU5hbWVzcGFjZXMobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgY29uc3Qgc2V0ID0gbmV3IFNldChnZXROYW1lc3BhY2VzKCkpO1xuICBmb3IgKGNvbnN0IG5hbWVzcGFjZSBvZiB0b0FycmF5KG5hbWVzcGFjZXMpKSB7XG4gICAgaWYgKCFuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb25zdCBuZWdhdGVkTmFtZXNwYWNlID0gTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYICsgbmFtZXNwYWNlO1xuICAgICAgc2V0LmRlbGV0ZShuZWdhdGVkTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgc2V0LmFkZChuYW1lc3BhY2UpO1xuICB9XG4gIHNldE5hbWVzcGFjZXMoWy4uLnNldF0pO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRHdWlkZVJlZmVyZW5jZShzdWZmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBMaWJyYXJ5LmRlYnVnR3VpZGVVcmwgPyBgIFNlZSAke0xpYnJhcnkuZGVidWdHdWlkZVVybH0ke3N1ZmZpeH0uYCA6ICcnO1xufVxuXG5mdW5jdGlvbiBnZXROYW1lc3BhY2VzKCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHRvQXJyYXkoZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmxvYWQoKSA/PyAnJyk7XG59XG5cbmZ1bmN0aW9uIGdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKTogdHlwZW9mIGRlYnVnIHtcbiAgcmV0dXJuIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWcnLCBkZWJ1ZykudmFsdWU7XG59XG5cbmZ1bmN0aW9uIGxvZ1dpdGhDYWxsZXIocGFyYW1zOiBMb2dXaXRoQ2FsbGVyUGFyYW1zKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICAkYXJndW1lbnRzLFxuICAgIGZyYW1lc1RvU2tpcCxcbiAgICBtZXNzYWdlLFxuICAgIG5hbWVzcGFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIWdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKS5lbmFibGVkKG5hbWVzcGFjZSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgLS0gVmFsaWQgdXNhZ2UuXG4gICAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNhbGxlciBpcyAzIGZyYW1lcyBhYm92ZSB0aGlzIG9uZSwgYmVjYXVzZSB0aGUgY2FsbCBzdGFjayBpcyBhcyBmb2xsb3dzOlxuICAgKlxuICAgKiAwOiBsb2dXaXRoQ2FsbGVyXG4gICAqIDE6IGRlYnVnSW5zdGFuY2UubG9nXG4gICAqIDI6IGRlYnVnXG4gICAqIDM6IGZ1bmN0aW9uTmFtZSAodGhlIGNhbGxlcilcbiAgICpcbiAgICogYGdldFN0YWNrVHJhY2VgIGRyb3BzIGl0cyBvd24gZnJhbWUgYW5kLCBvbiBhbiBlbmdpbmUgdGhhdCB3cml0ZXMgb25lLCB0aGUgYEVycm9yYCBoZWFkZXIgbGluZS5cbiAgICovXG4gIGNvbnN0IENBTExFUl9GUkFNRV9JTkRFWCA9IDM7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgLS0gVmFsaWQgdXNhZ2UuXG4gIGNvbnNvbGUuZGVidWcobWVzc2FnZSwgLi4uJGFyZ3VtZW50cywgJ1xcblxcbi0tLVxcbkxvZ2dlciBzdGFjayB0cmFjZTpcXG4nLCBtYWtlU3RhY2tUcmFjZUVycm9yKGdldFN0YWNrVHJhY2UoQ0FMTEVSX0ZSQU1FX0lOREVYICsgZnJhbWVzVG9Ta2lwKSkpO1xufVxuXG5mdW5jdGlvbiBtYWtlU3RhY2tUcmFjZUVycm9yKHN0YWNrVHJhY2U6IHN0cmluZyk6IEN1c3RvbVN0YWNrVHJhY2VFcnJvciB7XG4gIHJldHVybiBuZXcgQ3VzdG9tU3RhY2tUcmFjZUVycm9yKHtcbiAgICBjYXVzZTogdW5kZWZpbmVkLFxuICAgIG1lc3NhZ2U6IGBEZWJ1ZyBtb2RlOiBpbnRlbnRpb25hbCBwbGFjZWhvbGRlciBlcnJvci4ke2Zvcm1hdEd1aWRlUmVmZXJlbmNlKCcnKX1gLFxuICAgIHN0YWNrVHJhY2VcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbmFtZXNwYWNlcyB0byBlbmFibGUuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZXMgLSBUaGUgbmFtZXNwYWNlcyB0byBlbmFibGUuXG4gKi9cbmZ1bmN0aW9uIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZSh0b0FycmF5KG5hbWVzcGFjZXMpLmpvaW4oTkFNRVNQQUNFX1NFUEFSQVRPUikpO1xufVxuXG5mdW5jdGlvbiB0b0FycmF5KG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICByZXR1cm4gdHlwZW9mIG5hbWVzcGFjZXMgPT09ICdzdHJpbmcnID8gbmFtZXNwYWNlcy5zcGxpdChOQU1FU1BBQ0VfU0VQQVJBVE9SKS5maWx0ZXIoQm9vbGVhbikgOiBuYW1lc3BhY2VzLmZsYXRNYXAoKG5hbWVzcGFjZSkgPT4gdG9BcnJheShuYW1lc3BhY2UpKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7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
@@ -64,7 +64,9 @@ export declare function getLibDebugger(namespace: string): Debugger;
64
64
  */
65
65
  export declare function printWithStackTrace(params: PrintWithStackTraceParams): void;
66
66
  /**
67
- * Shows an initial debug message.
67
+ * Shows an initial debug message, telling the user how to disable the plugin's debug messages.
68
+ *
69
+ * Prints nothing while the plugin's debug messages are disabled, so a plugin in its default configuration writes nothing to the console.
68
70
  *
69
71
  * @param pluginId - The plugin ID.
70
72
  */
@@ -83,6 +83,7 @@ __export(path_exports, {
83
83
  module.exports = __toCommonJS(path_exports);
84
84
  var import_path_browserify = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('path-browserify')), 1);
85
85
  var import_string = require('./string.cjs');
86
+ const ROOTED_WINDOWS_DRIVE_ROOT_REG_EXP = /^\/[a-zA-Z]:$/;
86
87
  const WINDOWS_DRIVE_REG_EXP = /^[a-zA-Z]:\//;
87
88
  const WINDOWS_POSIX_LIKE_PATH_REG_EXP = /[a-zA-Z]:\/[^:]*$/;
88
89
  const posix = import_path_browserify.default.posix;
@@ -126,6 +127,9 @@ function resolve(...pathSegments) {
126
127
  rootedSegments.unshift(toRootedPosixPath(process.cwd()));
127
128
  }
128
129
  const path = posix.resolve(...rootedSegments);
130
+ if (ROOTED_WINDOWS_DRIVE_ROOT_REG_EXP.test(path)) {
131
+ return `${path.slice(1)}/`;
132
+ }
129
133
  const match = WINDOWS_POSIX_LIKE_PATH_REG_EXP.exec(path);
130
134
  return match?.[0] ?? path;
131
135
  }
@@ -168,4 +172,4 @@ function upperCaseDrive(path) {
168
172
  toPosixBuffer,
169
173
  toPosixPath
170
174
  });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXRoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGhCcm93c2VyaWZ5IGZyb20gJ3BhdGgtYnJvd3NlcmlmeSc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIHJlcGxhY2VBbGxcbn0gZnJvbSAnLi9zdHJpbmcudHMnO1xuXG5jb25zdCBXSU5ET1dTX0RSSVZFX1JFR19FWFAgPSAvXlthLXpBLVpdOlxcLy87XG5jb25zdCBXSU5ET1dTX1BPU0lYX0xJS0VfUEFUSF9SRUdfRVhQID0gL1thLXpBLVpdOlxcL1teOl0qJC87XG5cbi8qKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3IgaGFuZGxpbmcgUE9TSVggcGF0aHMuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3NpeCA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4O1xuXG4vKipcbiAqIEEgUE9TSVggcGF0aCBkZWxpbWl0ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWxpbWl0ZXIgPSBwb3NpeC5kZWxpbWl0ZXI7XG5cbi8qKlxuICogQSBQT1NJWCBzZWdtZW50IHNlcGFyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlcGFyYXRvciA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4LnNlcDtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIG5hbWUgb2YgYSBmaWxlLCBvcHRpb25hbGx5IHJlbW92aW5nIHRoZSBmaWxlIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgYmFzZSBuYW1lIGZyb20uXG4gKiBAcGFyYW0gZXh0IC0gQW4gb3B0aW9uYWwgZXh0ZW5zaW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBiYXNlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYmFzZSBuYW1lIG9mIHRoZSBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgYmFzZW5hbWUgPSBwb3NpeC5iYXNlbmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiBhIHBhdGguXG4gKlxuICogYGRpcmVjdG9yeWAgaXMgdXNlZCBpbnN0ZWFkIG9mIGBmb2xkZXJgIHRvIHByZXNlcnZlIGNvbXBhdGliaWxpdHkgd2l0aCBgbm9kZTpwYXRoYCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGRpcmVjdG9yeSBuYW1lIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZGlyZWN0b3J5IG5hbWUgb2YgdGhlIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBkaXJuYW1lID0gcG9zaXguZGlybmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaWxlIGV4dGVuc2lvbiBvZiBhIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgZXh0ZW5zaW9uIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZXh0bmFtZSA9IHBvc2l4LmV4dG5hbWU7XG5cbi8qKlxuICogRm9ybWF0cyBhIHBhdGggb2JqZWN0IGludG8gYSBwYXRoIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gcGF0aE9iamVjdCAtIFRoZSBwYXRoIG9iamVjdCB0byBmb3JtYXQuXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHBhdGggc3RyaW5nLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0ID0gcG9zaXguZm9ybWF0O1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBwYXRoIGlzIGFic29sdXRlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBYnNvbHV0ZShwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHBvc2l4LmlzQWJzb2x1dGUocGF0aCkgfHwgV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUC5leGVjKHBhdGgpPy5bMF0gPT09IHBhdGg7XG59XG5cbi8qKlxuICogSm9pbnMgbXVsdGlwbGUgcGF0aCBzZWdtZW50cyBpbnRvIGEgc2luZ2xlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhzIC0gVGhlIHBhdGggc2VnbWVudHMgdG8gam9pbi5cbiAqIEByZXR1cm5zIFRoZSBqb2luZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGpvaW4gPSBwb3NpeC5qb2luO1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBwYXRoLCByZXNvbHZpbmcgJy4uJyBhbmQgJy4nIHNlZ21lbnRzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZVBhdGggPSBwb3NpeC5ub3JtYWxpemU7XG5cbi8qKlxuICogUGFyc2VzIGEgcGF0aCBzdHJpbmcgaW50byBhIHBhdGggb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggc3RyaW5nIHRvIHBhcnNlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBwYXRoIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlID0gcG9zaXgucGFyc2U7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIG1ha2VGaWxlTmFtZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZUZpbGVOYW1lUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgdG8gYXBwZW5kIHRoZSBleHRlbnNpb24gdG8uXG4gICAqL1xuICByZWFkb25seSBmaWxlQmFzZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGV4dGVuc2lvbiB0byBhcHBlbmQgdG8gdGhlIGZpbGUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVFeHRlbnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBmaWxlIG5hbWUgZnJvbSB0aGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCwgY29udmVydGluZyBpdCB0byBhIFBPU0lYLXN0eWxlIHBhdGguXG4gKlxuICogQHBhcmFtIGltcG9ydE1ldGFVcmwgLSBUaGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgdGhlIGZpbGUgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmaWxlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlTmFtZShpbXBvcnRNZXRhVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZShkZWNvZGVVUkkobmV3IFVSTChpbXBvcnRNZXRhVXJsKS5wYXRobmFtZSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGZvbGRlciBuYW1lIGZyb20gdGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBmb2xkZXIgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmb2xkZXIgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlck5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGRpcm5hbWUoZ2V0RmlsZU5hbWUoaW1wb3J0TWV0YVVybCkpO1xufVxuXG4vKipcbiAqIE1ha2VzIGEgZmlsZSBuYW1lIGJ5IGFwcGVuZGluZyBhbiBleHRlbnNpb24gdG8gYSBnaXZlbiBmaWxlIG5hbWUuXG4gKiBJZiB0aGUgZXh0ZW5zaW9uIGlzIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHJldHVybmVkIGFzIGlzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgbWFraW5nIHRoZSBmaWxlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBuYW1lIHdpdGggdGhlIGV4dGVuc2lvbiBhcHBlbmRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGaWxlTmFtZShwYXJhbXM6IE1ha2VGaWxlTmFtZVBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXJhbXMuZmlsZUV4dGVuc2lvbiA/IGAke3BhcmFtcy5maWxlQmFzZU5hbWV9LiR7cGFyYW1zLmZpbGVFeHRlbnNpb259YCA6IHBhcmFtcy5maWxlQmFzZU5hbWU7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIGdpdmVuIHBhdGggYnkgZW5zdXJpbmcgaXQgaXMgcmVsYXRpdmUsIGFkZGluZyBcIi4vXCIgaWYgbmVjZXNzYXJ5LlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aCwgc3RhcnRpbmcgd2l0aCBcIi4vXCIgaWYgaXQgd2FzIHJlbGF0aXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSWZSZWxhdGl2ZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKCcvJykgfHwgcGF0aC5pbmNsdWRlcygnOicpXG4gICAgPyBwYXRoXG4gICAgOiBlbnN1cmVTdGFydHNXaXRoKHtcbiAgICAgICRzdHJpbmc6IHBhdGgsXG4gICAgICBwcmVmaXg6ICcuLydcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gb25lIHBhdGggdG8gYW5vdGhlci5cbiAqXG4gKiBgcGF0aC1icm93c2VyaWZ5YCdzIG93biBgcmVsYXRpdmVgIGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5OiBpdCByZXNvbHZlcyBhIHJlbGF0aXZlIGFyZ3VtZW50IGFnYWluc3RcbiAqIGBwcm9jZXNzLmN3ZCgpYCwgd2hpY2ggb24gV2luZG93cyBpcyBgRjpcXC4uLmAgcmF0aGVyIHRoYW4gYSBQT1NJWCBhYnNvbHV0ZSBwYXRoLCBhbmQgaXRzIHNsaWNpbmcgdGhlbiBhc3N1bWVzIGFcbiAqIGxlYWRpbmcgYC9gIC0gc28gYHJlbGF0aXZlKCdzcmMnLCAnLi4veCcpYCBjYW1lIGJhY2sgYXMgYCcuLi8uLngnYC4gQm90aCBhcmd1bWVudHMgYXJlIHJlc29sdmVkIHRocm91Z2hcbiAqIHtAbGluayByZXNvbHZlfSBoZXJlIGluc3RlYWQsIGFuZCByb290ZWQgYXQgYC9gIGJlZm9yZSB0aGUgUE9TSVggY29tcGFyaXNvbi5cbiAqXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBzdGFydGluZyBwYXRoLlxuICogQHBhcmFtIHRvIC0gVGhlIGRlc3RpbmF0aW9uIHBhdGguXG4gKiBAcmV0dXJucyBUaGUgcmVsYXRpdmUgcGF0aCBmcm9tIGBmcm9tYCB0byBgdG9gLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVsYXRpdmUoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcmVzb2x2ZWRGcm9tID0gcmVzb2x2ZShmcm9tKTtcbiAgY29uc3QgcmVzb2x2ZWRUbyA9IHJlc29sdmUodG8pO1xuICBjb25zdCBmcm9tRHJpdmUgPSBXSU5ET1dTX0RSSVZFX1JFR19FWFAuZXhlYyhyZXNvbHZlZEZyb20pPy5bMF0udG9VcHBlckNhc2UoKTtcbiAgY29uc3QgdG9Ecml2ZSA9IFdJTkRPV1NfRFJJVkVfUkVHX0VYUC5leGVjKHJlc29sdmVkVG8pPy5bMF0udG9VcHBlckNhc2UoKTtcbiAgcmV0dXJuIGZyb21Ecml2ZSA9PT0gdG9Ecml2ZVxuICAgID8gcG9zaXgucmVsYXRpdmUodG9Sb290ZWRQb3NpeFBhdGgodXBwZXJDYXNlRHJpdmUocmVzb2x2ZWRGcm9tKSksIHRvUm9vdGVkUG9zaXhQYXRoKHVwcGVyQ2FzZURyaXZlKHJlc29sdmVkVG8pKSlcbiAgICA6IHJlc29sdmVkVG87XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzZXF1ZW5jZSBvZiBwYXRocyBvciBwYXRoIHNlZ21lbnRzIGludG8gYW4gYWJzb2x1dGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aFNlZ21lbnRzIC0gVGhlIHNlcXVlbmNlIG9mIHBhdGggc2VnbWVudHMgdG8gcmVzb2x2ZS5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBhYnNvbHV0ZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZSguLi5wYXRoU2VnbWVudHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgLypcbiAgICogYHBhdGgtYnJvd3NlcmlmeWAgdHJlYXRzIG9ubHkgYSBsZWFkaW5nIGAvYCBhcyBhYnNvbHV0ZSBhbmQgam9pbnMgYHByb2Nlc3MuY3dkKClgIGluIGFzIGFuIG9wYXF1ZSBzZWdtZW50LCBzbyBvblxuICAgKiBXaW5kb3dzIGEgYC4uYCBjbGltYmluZyBvdXQgb2YgdGhlIHdvcmtpbmcgZm9sZGVyIGNhbmNlbGxlZCB0aGUgd2hvbGUgYEY6XFwuLi5gIGN3ZC4gRXZlcnkgc2VnbWVudCBpcyBtYWRlIFBPU0lYXG4gICAqIGFuZCBhIGRyaXZlIHJvb3QgaXMgZ2l2ZW4gYSBsZWFkaW5nIGAvYCwgd2hpY2ggbWFrZXMgaXQgYSByb290IGBwYXRoLWJyb3dzZXJpZnlgIHVuZGVyc3RhbmRzOyB0aGUgYC9gIGlzIGRyb3BwZWRcbiAgICogYWdhaW4gYmVsb3cuXG4gICAqL1xuICBjb25zdCByb290ZWRTZWdtZW50cyA9IHBhdGhTZWdtZW50cy5tYXAoKHNlZ21lbnQpID0+IHRvUm9vdGVkUG9zaXhQYXRoKHNlZ21lbnQpKTtcbiAgaWYgKHJvb3RlZFNlZ21lbnRzLmV2ZXJ5KChzZWdtZW50KSA9PiAhc2VnbWVudC5zdGFydHNXaXRoKCcvJykpKSB7XG4gICAgcm9vdGVkU2VnbWVudHMudW5zaGlmdCh0b1Jvb3RlZFBvc2l4UGF0aChwcm9jZXNzLmN3ZCgpKSk7XG4gIH1cbiAgY29uc3QgcGF0aCA9IHBvc2l4LnJlc29sdmUoLi4ucm9vdGVkU2VnbWVudHMpO1xuICBjb25zdCBtYXRjaCA9IFdJTkRPV1NfUE9TSVhfTElLRV9QQVRIX1JFR19FWFAuZXhlYyhwYXRoKTtcbiAgcmV0dXJuIG1hdGNoPy5bMF0gPz8gcGF0aDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJ1ZmZlciBjb250YWluaW5nIGEgcGF0aCB0byBhIFBPU0lYLXN0eWxlIGJ1ZmZlciBieSByZXBsYWNpbmcgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkIHNsYXNoZXMuXG4gKlxuICogQHBhcmFtIGJ1ZmZlciAtIFRoZSBidWZmZXIgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgbmV3IGJ1ZmZlciBjb250YWluaW5nIHRoZSBQT1NJWC1zdHlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qb3NpeEJ1ZmZlcihidWZmZXI6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0b1Bvc2l4UGF0aChTdHJpbmcoYnVmZmVyKSkpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gcGF0aCB0byBhIFBPU0lYLXN0eWxlIHBhdGggYnkgcmVwbGFjaW5nIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZCBzbGFzaGVzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qb3NpeFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IHBhdGgsXG4gICAgcmVwbGFjZXI6ICcvJyxcbiAgICBzZWFyY2hWYWx1ZTogJ1xcXFwnXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB0b1Jvb3RlZFBvc2l4UGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwb3NpeFBhdGggPSB0b1Bvc2l4UGF0aChwYXRoKTtcbiAgcmV0dXJuIFdJTkRPV1NfRFJJVkVfUkVHX0VYUC50ZXN0KHBvc2l4UGF0aCkgPyBgLyR7cG9zaXhQYXRofWAgOiBwb3NpeFBhdGg7XG59XG5cbmZ1bmN0aW9uIHVwcGVyQ2FzZURyaXZlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLnJlcGxhY2UoV0lORE9XU19EUklWRV9SRUdfRVhQLCAoZHJpdmUpID0+IGRyaXZlLnRvVXBwZXJDYXNlKCkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsNkJBQTJCO0FBRTNCLG9CQUdPO0FBRVAsTUFBTSx3QkFBd0I7QUFDOUIsTUFBTSxrQ0FBa0M7QUFLakMsTUFBTSxRQUFRLHVCQUFBQSxRQUFlO0FBSzdCLE1BQU0sWUFBWSxNQUFNO0FBS3hCLE1BQU0sWUFBWSx1QkFBQUEsUUFBZSxNQUFNO0FBU3ZDLE1BQU0sV0FBVyxNQUFNO0FBVXZCLE1BQU0sVUFBVSxNQUFNO0FBUXRCLE1BQU0sVUFBVSxNQUFNO0FBUXRCLE1BQU0sU0FBUyxNQUFNO0FBUXJCLFNBQVMsV0FBVyxNQUF1QjtBQUNoRCxTQUFPLE1BQU0sV0FBVyxJQUFJLEtBQUssZ0NBQWdDLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTTtBQUN2RjtBQVFPLE1BQU0sT0FBTyxNQUFNO0FBUW5CLE1BQU0sZ0JBQWdCLE1BQU07QUFRNUIsTUFBTSxRQUFRLE1BQU07QUF1QnBCLFNBQVMsWUFBWSxlQUErQjtBQUN6RCxTQUFPLFFBQVEsVUFBVSxJQUFJLElBQUksYUFBYSxFQUFFLFFBQVEsQ0FBQztBQUMzRDtBQVFPLFNBQVMsY0FBYyxlQUErQjtBQUMzRCxTQUFPLFFBQVEsWUFBWSxhQUFhLENBQUM7QUFDM0M7QUFTTyxTQUFTLGFBQWEsUUFBb0M7QUFDL0QsU0FBTyxPQUFPLGdCQUFnQixHQUFHLE9BQU8sWUFBWSxJQUFJLE9BQU8sYUFBYSxLQUFLLE9BQU87QUFDMUY7QUFRTyxTQUFTLG9CQUFvQixNQUFzQjtBQUN4RCxTQUFPLEtBQUssV0FBVyxHQUFHLEtBQUssS0FBSyxTQUFTLEdBQUcsSUFDNUMsV0FDQSxnQ0FBaUI7QUFBQSxJQUNqQixTQUFTO0FBQUEsSUFDVCxRQUFRO0FBQUEsRUFDVixDQUFDO0FBQ0w7QUFjTyxTQUFTLFNBQVMsTUFBYyxJQUFvQjtBQUN6RCxRQUFNLGVBQWUsUUFBUSxJQUFJO0FBQ2pDLFFBQU0sYUFBYSxRQUFRLEVBQUU7QUFDN0IsUUFBTSxZQUFZLHNCQUFzQixLQUFLLFlBQVksSUFBSSxDQUFDLEVBQUUsWUFBWTtBQUM1RSxRQUFNLFVBQVUsc0JBQXNCLEtBQUssVUFBVSxJQUFJLENBQUMsRUFBRSxZQUFZO0FBQ3hFLFNBQU8sY0FBYyxVQUNqQixNQUFNLFNBQVMsa0JBQWtCLGVBQWUsWUFBWSxDQUFDLEdBQUcsa0JBQWtCLGVBQWUsVUFBVSxDQUFDLENBQUMsSUFDN0c7QUFDTjtBQVFPLFNBQVMsV0FBVyxjQUFnQztBQU96RCxRQUFNLGlCQUFpQixhQUFhLElBQUksQ0FBQyxZQUFZLGtCQUFrQixPQUFPLENBQUM7QUFDL0UsTUFBSSxlQUFlLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxXQUFXLEdBQUcsQ0FBQyxHQUFHO0FBQy9ELG1CQUFlLFFBQVEsa0JBQWtCLFFBQVEsSUFBSSxDQUFDLENBQUM7QUFBQSxFQUN6RDtBQUNBLFFBQU0sT0FBTyxNQUFNLFFBQVEsR0FBRyxjQUFjO0FBQzVDLFFBQU0sUUFBUSxnQ0FBZ0MsS0FBSyxJQUFJO0FBQ3ZELFNBQU8sUUFBUSxDQUFDLEtBQUs7QUFDdkI7QUFRTyxTQUFTLGNBQWMsUUFBd0I7QUFDcEQsU0FBTyxPQUFPLEtBQUssWUFBWSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQ2hEO0FBUU8sU0FBUyxZQUFZLE1BQXNCO0FBQ2hELGFBQU8sMEJBQVc7QUFBQSxJQUNoQixTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsRUFDZixDQUFDO0FBQ0g7QUFFQSxTQUFTLGtCQUFrQixNQUFzQjtBQUMvQyxRQUFNLFlBQVksWUFBWSxJQUFJO0FBQ2xDLFNBQU8sc0JBQXNCLEtBQUssU0FBUyxJQUFJLElBQUksU0FBUyxLQUFLO0FBQ25FO0FBRUEsU0FBUyxlQUFlLE1BQXNCO0FBQzVDLFNBQU8sS0FBSyxRQUFRLHVCQUF1QixDQUFDLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDM0U7IiwibmFtZXMiOlsicGF0aEJyb3dzZXJpZnkiXX0=
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXRoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGhCcm93c2VyaWZ5IGZyb20gJ3BhdGgtYnJvd3NlcmlmeSc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIHJlcGxhY2VBbGxcbn0gZnJvbSAnLi9zdHJpbmcudHMnO1xuXG5jb25zdCBST09URURfV0lORE9XU19EUklWRV9ST09UX1JFR19FWFAgPSAvXlxcL1thLXpBLVpdOiQvO1xuY29uc3QgV0lORE9XU19EUklWRV9SRUdfRVhQID0gL15bYS16QS1aXTpcXC8vO1xuY29uc3QgV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUCA9IC9bYS16QS1aXTpcXC9bXjpdKiQvO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIGhhbmRsaW5nIFBPU0lYIHBhdGhzLlxuICovXG5leHBvcnQgY29uc3QgcG9zaXggPSBwYXRoQnJvd3NlcmlmeS5wb3NpeDtcblxuLyoqXG4gKiBBIFBPU0lYIHBhdGggZGVsaW1pdGVyLlxuICovXG5leHBvcnQgY29uc3QgZGVsaW1pdGVyID0gcG9zaXguZGVsaW1pdGVyO1xuXG4vKipcbiAqIEEgUE9TSVggc2VnbWVudCBzZXBhcmF0b3IuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXBhcmF0b3IgPSBwYXRoQnJvd3NlcmlmeS5wb3NpeC5zZXA7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZSBuYW1lIG9mIGEgZmlsZSwgb3B0aW9uYWxseSByZW1vdmluZyB0aGUgZmlsZSBleHRlbnNpb24uXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGJhc2UgbmFtZSBmcm9tLlxuICogQHBhcmFtIGV4dCAtIEFuIG9wdGlvbmFsIGV4dGVuc2lvbiB0byByZW1vdmUgZnJvbSB0aGUgYmFzZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGJhc2UgbmFtZSBvZiB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhc2VuYW1lID0gcG9zaXguYmFzZW5hbWU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGlyZWN0b3J5IG5hbWUgb2YgYSBwYXRoLlxuICpcbiAqIGBkaXJlY3RvcnlgIGlzIHVzZWQgaW5zdGVhZCBvZiBgZm9sZGVyYCB0byBwcmVzZXJ2ZSBjb21wYXRpYmlsaXR5IHdpdGggYG5vZGU6cGF0aGAgbW9kdWxlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gZ2V0IHRoZSBkaXJlY3RvcnkgbmFtZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGRpcmVjdG9yeSBuYW1lIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZGlybmFtZSA9IHBvc2l4LmRpcm5hbWU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmlsZSBleHRlbnNpb24gb2YgYSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gZ2V0IHRoZSBleHRlbnNpb24gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIGV4dGVuc2lvbiBvZiB0aGUgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4dG5hbWUgPSBwb3NpeC5leHRuYW1lO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBwYXRoIG9iamVjdCBpbnRvIGEgcGF0aCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHBhdGhPYmplY3QgLSBUaGUgcGF0aCBvYmplY3QgdG8gZm9ybWF0LlxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBwYXRoIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdCA9IHBvc2l4LmZvcm1hdDtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgcGF0aCBpcyBhYnNvbHV0ZS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzb2x1dGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBwb3NpeC5pc0Fic29sdXRlKHBhdGgpIHx8IFdJTkRPV1NfUE9TSVhfTElLRV9QQVRIX1JFR19FWFAuZXhlYyhwYXRoKT8uWzBdID09PSBwYXRoO1xufVxuXG4vKipcbiAqIEpvaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMgaW50byBhIHNpbmdsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRocyAtIFRoZSBwYXRoIHNlZ21lbnRzIHRvIGpvaW4uXG4gKiBAcmV0dXJucyBUaGUgam9pbmVkIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBqb2luID0gcG9zaXguam9pbjtcblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgcGF0aCwgcmVzb2x2aW5nICcuLicgYW5kICcuJyBzZWdtZW50cy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVQYXRoID0gcG9zaXgubm9ybWFsaXplO1xuXG4vKipcbiAqIFBhcnNlcyBhIHBhdGggc3RyaW5nIGludG8gYSBwYXRoIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHN0cmluZyB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgcGF0aCBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZSA9IHBvc2l4LnBhcnNlO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBtYWtlRmlsZU5hbWV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ha2VGaWxlTmFtZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBuYW1lIHRvIGFwcGVuZCB0aGUgZXh0ZW5zaW9uIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZUJhc2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBleHRlbnNpb24gdG8gYXBwZW5kIHRvIHRoZSBmaWxlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBmaWxlRXh0ZW5zaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZmlsZSBuYW1lIGZyb20gdGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBmaWxlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZmlsZSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZU5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmUoZGVjb2RlVVJJKG5ldyBVUkwoaW1wb3J0TWV0YVVybCkucGF0aG5hbWUpKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBmb2xkZXIgbmFtZSBmcm9tIHRoZSBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgLCBjb252ZXJ0aW5nIGl0IHRvIGEgUE9TSVgtc3R5bGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gaW1wb3J0TWV0YVVybCAtIFRoZSBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgZm9sZGVyIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZm9sZGVyIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXJOYW1lKGltcG9ydE1ldGFVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBkaXJuYW1lKGdldEZpbGVOYW1lKGltcG9ydE1ldGFVcmwpKTtcbn1cblxuLyoqXG4gKiBNYWtlcyBhIGZpbGUgbmFtZSBieSBhcHBlbmRpbmcgYW4gZXh0ZW5zaW9uIHRvIGEgZ2l2ZW4gZmlsZSBuYW1lLlxuICogSWYgdGhlIGV4dGVuc2lvbiBpcyBlbXB0eSwgdGhlIGZpbGUgbmFtZSBpcyByZXR1cm5lZCBhcyBpcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIG1ha2luZyB0aGUgZmlsZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGZpbGUgbmFtZSB3aXRoIHRoZSBleHRlbnNpb24gYXBwZW5kZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRmlsZU5hbWUocGFyYW1zOiBNYWtlRmlsZU5hbWVQYXJhbXMpOiBzdHJpbmcge1xuICByZXR1cm4gcGFyYW1zLmZpbGVFeHRlbnNpb24gPyBgJHtwYXJhbXMuZmlsZUJhc2VOYW1lfS4ke3BhcmFtcy5maWxlRXh0ZW5zaW9ufWAgOiBwYXJhbXMuZmlsZUJhc2VOYW1lO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBnaXZlbiBwYXRoIGJ5IGVuc3VyaW5nIGl0IGlzIHJlbGF0aXZlLCBhZGRpbmcgXCIuL1wiIGlmIG5lY2Vzc2FyeS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIHBhdGgsIHN0YXJ0aW5nIHdpdGggXCIuL1wiIGlmIGl0IHdhcyByZWxhdGl2ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUlmUmVsYXRpdmUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aCgnLycpIHx8IHBhdGguaW5jbHVkZXMoJzonKVxuICAgID8gcGF0aFxuICAgIDogZW5zdXJlU3RhcnRzV2l0aCh7XG4gICAgICAkc3RyaW5nOiBwYXRoLFxuICAgICAgcHJlZml4OiAnLi8nXG4gICAgfSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIG9uZSBwYXRoIHRvIGFub3RoZXIuXG4gKlxuICogYHBhdGgtYnJvd3NlcmlmeWAncyBvd24gYHJlbGF0aXZlYCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseTogaXQgcmVzb2x2ZXMgYSByZWxhdGl2ZSBhcmd1bWVudCBhZ2FpbnN0XG4gKiBgcHJvY2Vzcy5jd2QoKWAsIHdoaWNoIG9uIFdpbmRvd3MgaXMgYEY6XFwuLi5gIHJhdGhlciB0aGFuIGEgUE9TSVggYWJzb2x1dGUgcGF0aCwgYW5kIGl0cyBzbGljaW5nIHRoZW4gYXNzdW1lcyBhXG4gKiBsZWFkaW5nIGAvYCAtIHNvIGByZWxhdGl2ZSgnc3JjJywgJy4uL3gnKWAgY2FtZSBiYWNrIGFzIGAnLi4vLi54J2AuIEJvdGggYXJndW1lbnRzIGFyZSByZXNvbHZlZCB0aHJvdWdoXG4gKiB7QGxpbmsgcmVzb2x2ZX0gaGVyZSBpbnN0ZWFkLCBhbmQgcm9vdGVkIGF0IGAvYCBiZWZvcmUgdGhlIFBPU0lYIGNvbXBhcmlzb24uXG4gKlxuICogQHBhcmFtIGZyb20gLSBUaGUgc3RhcnRpbmcgcGF0aC5cbiAqIEBwYXJhbSB0byAtIFRoZSBkZXN0aW5hdGlvbiBwYXRoLlxuICogQHJldHVybnMgVGhlIHJlbGF0aXZlIHBhdGggZnJvbSBgZnJvbWAgdG8gYHRvYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbGF0aXZlKGZyb206IHN0cmluZywgdG86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJlc29sdmVkRnJvbSA9IHJlc29sdmUoZnJvbSk7XG4gIGNvbnN0IHJlc29sdmVkVG8gPSByZXNvbHZlKHRvKTtcbiAgY29uc3QgZnJvbURyaXZlID0gV0lORE9XU19EUklWRV9SRUdfRVhQLmV4ZWMocmVzb2x2ZWRGcm9tKT8uWzBdLnRvVXBwZXJDYXNlKCk7XG4gIGNvbnN0IHRvRHJpdmUgPSBXSU5ET1dTX0RSSVZFX1JFR19FWFAuZXhlYyhyZXNvbHZlZFRvKT8uWzBdLnRvVXBwZXJDYXNlKCk7XG4gIHJldHVybiBmcm9tRHJpdmUgPT09IHRvRHJpdmVcbiAgICA/IHBvc2l4LnJlbGF0aXZlKHRvUm9vdGVkUG9zaXhQYXRoKHVwcGVyQ2FzZURyaXZlKHJlc29sdmVkRnJvbSkpLCB0b1Jvb3RlZFBvc2l4UGF0aCh1cHBlckNhc2VEcml2ZShyZXNvbHZlZFRvKSkpXG4gICAgOiByZXNvbHZlZFRvO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGEgc2VxdWVuY2Ugb2YgcGF0aHMgb3IgcGF0aCBzZWdtZW50cyBpbnRvIGFuIGFic29sdXRlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhTZWdtZW50cyAtIFRoZSBzZXF1ZW5jZSBvZiBwYXRoIHNlZ21lbnRzIHRvIHJlc29sdmUuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmUoLi4ucGF0aFNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIC8qXG4gICAqIGBwYXRoLWJyb3dzZXJpZnlgIHRyZWF0cyBvbmx5IGEgbGVhZGluZyBgL2AgYXMgYWJzb2x1dGUgYW5kIGpvaW5zIGBwcm9jZXNzLmN3ZCgpYCBpbiBhcyBhbiBvcGFxdWUgc2VnbWVudCwgc28gb25cbiAgICogV2luZG93cyBhIGAuLmAgY2xpbWJpbmcgb3V0IG9mIHRoZSB3b3JraW5nIGZvbGRlciBjYW5jZWxsZWQgdGhlIHdob2xlIGBGOlxcLi4uYCBjd2QuIEV2ZXJ5IHNlZ21lbnQgaXMgbWFkZSBQT1NJWFxuICAgKiBhbmQgYSBkcml2ZSByb290IGlzIGdpdmVuIGEgbGVhZGluZyBgL2AsIHdoaWNoIG1ha2VzIGl0IGEgcm9vdCBgcGF0aC1icm93c2VyaWZ5YCB1bmRlcnN0YW5kczsgdGhlIGAvYCBpcyBkcm9wcGVkXG4gICAqIGFnYWluIGJlbG93LlxuICAgKi9cbiAgY29uc3Qgcm9vdGVkU2VnbWVudHMgPSBwYXRoU2VnbWVudHMubWFwKChzZWdtZW50KSA9PiB0b1Jvb3RlZFBvc2l4UGF0aChzZWdtZW50KSk7XG4gIGlmIChyb290ZWRTZWdtZW50cy5ldmVyeSgoc2VnbWVudCkgPT4gIXNlZ21lbnQuc3RhcnRzV2l0aCgnLycpKSkge1xuICAgIHJvb3RlZFNlZ21lbnRzLnVuc2hpZnQodG9Sb290ZWRQb3NpeFBhdGgocHJvY2Vzcy5jd2QoKSkpO1xuICB9XG4gIGNvbnN0IHBhdGggPSBwb3NpeC5yZXNvbHZlKC4uLnJvb3RlZFNlZ21lbnRzKTtcbiAgLy8gYHBhdGgtYnJvd3NlcmlmeWAgZHJvcHMgdGhlIHRyYWlsaW5nIGAvYCBvZiBhIHJvb3QgaXQgZGlkIG5vdCBrbm93LCBzbyBhIGRyaXZlIHJvb3QgY29tZXMgYmFjayBhcyBgL0Y6YC5cbiAgaWYgKFJPT1RFRF9XSU5ET1dTX0RSSVZFX1JPT1RfUkVHX0VYUC50ZXN0KHBhdGgpKSB7XG4gICAgcmV0dXJuIGAke3BhdGguc2xpY2UoMSl9L2A7XG4gIH1cbiAgY29uc3QgbWF0Y2ggPSBXSU5ET1dTX1BPU0lYX0xJS0VfUEFUSF9SRUdfRVhQLmV4ZWMocGF0aCk7XG4gIHJldHVybiBtYXRjaD8uWzBdID8/IHBhdGg7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBidWZmZXIgY29udGFpbmluZyBhIHBhdGggdG8gYSBQT1NJWC1zdHlsZSBidWZmZXIgYnkgcmVwbGFjaW5nIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZCBzbGFzaGVzLlxuICpcbiAqIEBwYXJhbSBidWZmZXIgLSBUaGUgYnVmZmVyIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIG5ldyBidWZmZXIgY29udGFpbmluZyB0aGUgUE9TSVgtc3R5bGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXhCdWZmZXIoYnVmZmVyOiBCdWZmZXIpOiBCdWZmZXIge1xuICByZXR1cm4gQnVmZmVyLmZyb20odG9Qb3NpeFBhdGgoU3RyaW5nKGJ1ZmZlcikpKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHBhdGggdG8gYSBQT1NJWC1zdHlsZSBwYXRoIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXhQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBwYXRoLFxuICAgIHJlcGxhY2VyOiAnLycsXG4gICAgc2VhcmNoVmFsdWU6ICdcXFxcJ1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9Sb290ZWRQb3NpeFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcG9zaXhQYXRoID0gdG9Qb3NpeFBhdGgocGF0aCk7XG4gIHJldHVybiBXSU5ET1dTX0RSSVZFX1JFR19FWFAudGVzdChwb3NpeFBhdGgpID8gYC8ke3Bvc2l4UGF0aH1gIDogcG9zaXhQYXRoO1xufVxuXG5mdW5jdGlvbiB1cHBlckNhc2VEcml2ZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5yZXBsYWNlKFdJTkRPV1NfRFJJVkVfUkVHX0VYUCwgKGRyaXZlKSA9PiBkcml2ZS50b1VwcGVyQ2FzZSgpKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLDZCQUEyQjtBQUUzQixvQkFHTztBQUVQLE1BQU0sb0NBQW9DO0FBQzFDLE1BQU0sd0JBQXdCO0FBQzlCLE1BQU0sa0NBQWtDO0FBS2pDLE1BQU0sUUFBUSx1QkFBQUEsUUFBZTtBQUs3QixNQUFNLFlBQVksTUFBTTtBQUt4QixNQUFNLFlBQVksdUJBQUFBLFFBQWUsTUFBTTtBQVN2QyxNQUFNLFdBQVcsTUFBTTtBQVV2QixNQUFNLFVBQVUsTUFBTTtBQVF0QixNQUFNLFVBQVUsTUFBTTtBQVF0QixNQUFNLFNBQVMsTUFBTTtBQVFyQixTQUFTLFdBQVcsTUFBdUI7QUFDaEQsU0FBTyxNQUFNLFdBQVcsSUFBSSxLQUFLLGdDQUFnQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU07QUFDdkY7QUFRTyxNQUFNLE9BQU8sTUFBTTtBQVFuQixNQUFNLGdCQUFnQixNQUFNO0FBUTVCLE1BQU0sUUFBUSxNQUFNO0FBdUJwQixTQUFTLFlBQVksZUFBK0I7QUFDekQsU0FBTyxRQUFRLFVBQVUsSUFBSSxJQUFJLGFBQWEsRUFBRSxRQUFRLENBQUM7QUFDM0Q7QUFRTyxTQUFTLGNBQWMsZUFBK0I7QUFDM0QsU0FBTyxRQUFRLFlBQVksYUFBYSxDQUFDO0FBQzNDO0FBU08sU0FBUyxhQUFhLFFBQW9DO0FBQy9ELFNBQU8sT0FBTyxnQkFBZ0IsR0FBRyxPQUFPLFlBQVksSUFBSSxPQUFPLGFBQWEsS0FBSyxPQUFPO0FBQzFGO0FBUU8sU0FBUyxvQkFBb0IsTUFBc0I7QUFDeEQsU0FBTyxLQUFLLFdBQVcsR0FBRyxLQUFLLEtBQUssU0FBUyxHQUFHLElBQzVDLFdBQ0EsZ0NBQWlCO0FBQUEsSUFDakIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1YsQ0FBQztBQUNMO0FBY08sU0FBUyxTQUFTLE1BQWMsSUFBb0I7QUFDekQsUUFBTSxlQUFlLFFBQVEsSUFBSTtBQUNqQyxRQUFNLGFBQWEsUUFBUSxFQUFFO0FBQzdCLFFBQU0sWUFBWSxzQkFBc0IsS0FBSyxZQUFZLElBQUksQ0FBQyxFQUFFLFlBQVk7QUFDNUUsUUFBTSxVQUFVLHNCQUFzQixLQUFLLFVBQVUsSUFBSSxDQUFDLEVBQUUsWUFBWTtBQUN4RSxTQUFPLGNBQWMsVUFDakIsTUFBTSxTQUFTLGtCQUFrQixlQUFlLFlBQVksQ0FBQyxHQUFHLGtCQUFrQixlQUFlLFVBQVUsQ0FBQyxDQUFDLElBQzdHO0FBQ047QUFRTyxTQUFTLFdBQVcsY0FBZ0M7QUFPekQsUUFBTSxpQkFBaUIsYUFBYSxJQUFJLENBQUMsWUFBWSxrQkFBa0IsT0FBTyxDQUFDO0FBQy9FLE1BQUksZUFBZSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsV0FBVyxHQUFHLENBQUMsR0FBRztBQUMvRCxtQkFBZSxRQUFRLGtCQUFrQixRQUFRLElBQUksQ0FBQyxDQUFDO0FBQUEsRUFDekQ7QUFDQSxRQUFNLE9BQU8sTUFBTSxRQUFRLEdBQUcsY0FBYztBQUU1QyxNQUFJLGtDQUFrQyxLQUFLLElBQUksR0FBRztBQUNoRCxXQUFPLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQztBQUFBLEVBQ3pCO0FBQ0EsUUFBTSxRQUFRLGdDQUFnQyxLQUFLLElBQUk7QUFDdkQsU0FBTyxRQUFRLENBQUMsS0FBSztBQUN2QjtBQVFPLFNBQVMsY0FBYyxRQUF3QjtBQUNwRCxTQUFPLE9BQU8sS0FBSyxZQUFZLE9BQU8sTUFBTSxDQUFDLENBQUM7QUFDaEQ7QUFRTyxTQUFTLFlBQVksTUFBc0I7QUFDaEQsYUFBTywwQkFBVztBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULFVBQVU7QUFBQSxJQUNWLGFBQWE7QUFBQSxFQUNmLENBQUM7QUFDSDtBQUVBLFNBQVMsa0JBQWtCLE1BQXNCO0FBQy9DLFFBQU0sWUFBWSxZQUFZLElBQUk7QUFDbEMsU0FBTyxzQkFBc0IsS0FBSyxTQUFTLElBQUksSUFBSSxTQUFTLEtBQUs7QUFDbkU7QUFFQSxTQUFTLGVBQWUsTUFBc0I7QUFDNUMsU0FBTyxLQUFLLFFBQVEsdUJBQXVCLENBQUMsVUFBVSxNQUFNLFlBQVksQ0FBQztBQUMzRTsiLCJuYW1lcyI6WyJwYXRoQnJvd3NlcmlmeSJdfQ==
@@ -65,4 +65,4 @@ function getGlobal() {
65
65
  getTypescriptLibStateSlot,
66
66
  resetTypescriptLibState
67
67
  });
68
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGVzY3JpcHQtbGliLXN0YXRlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvZiB0aGUgZ2VuZXJpYywgbm9uLU9ic2lkaWFuIHBhcnQgb2YgdGhlIGxpYnJhcnkuXG4gKlxuICogVGhlIGJhZyBsaXZlcyBvbiBgZ2xvYmFsVGhpc2AgdW5kZXIgYSBgU3ltYm9sLmZvcmAga2V5LCBzbyBldmVyeSBjb3B5IG9mIHRoaXMgbW9kdWxlIGxvYWRlZCBpbiBvbmUgcmVhbG0gc2hhcmVzXG4gKiBpdCwgd2hpY2hldmVyIHZlcnNpb24gaXQgaXMuIEl0IGhvbGRzIHdoYXQgbXVzdCBleGlzdCBvbmNlIHBlciByZWFsbTogdGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZVxuICogc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIuIE9ic2lkaWFuLXNwZWNpZmljIHN0YXRlIHN0YXlzIGluIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCwgdW5kZXIgaXRzIGxlZ2FjeSBgX19vYnNpZGlhbkRldlV0aWxzYCBnbG9iYWwuXG4gKlxuICogVGhlIHNsb3QgaXMgYSBjcm9zcy12ZXJzaW9uIHdpcmUgZm9ybWF0OiBpdHMga2V5IGFuZCB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIG9ubHkgZXZlciBjaGFuZ2VcbiAqIGFkZGl0aXZlbHkuXG4gKi9cblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnLi92YWx1ZS13cmFwcGVyLnRzJztcblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIHRoaXMgY29weSB3cml0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OID0gMTtcblxuLyoqXG4gKiBUaGUga2V5IG9mIHRoZSBnbG9iYWwgc2xvdCBob2xkaW5nIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0uXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVk6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2wuZm9yKCdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RhdGUnKTtcblxuLyoqXG4gKiBUaGUgc2hhcmVkLXN0YXRlIHNsb3Qgc3RvcmVkIG9uIGBnbG9iYWxUaGlzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgLyoqXG4gICAqIFRoZSBzaGFyZWQgdmFsdWVzLCBlYWNoIGluIGEge0BsaW5rIFZhbHVlV3JhcHBlcn0gc28gYSBob2xkZXIgY2FuIHJlcGxhY2UgdGhlIHZhbHVlIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBWYWx1ZVdyYXBwZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgc2xvdCBzaGFwZSB0aGUgY3JlYXRvciB3cm90ZS4gSW5mb3JtYXRpb25hbDogdGhlIHNoYXBlIG9ubHkgY2hhbmdlcyBhZGRpdGl2ZWx5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xufVxuXG50eXBlIEdsb2JhbFdpdGhUeXBlc2NyaXB0TGliU3RhdGUgPSBQYXJ0aWFsPFJlY29yZDx0eXBlb2YgVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZLCBUeXBlc2NyaXB0TGliU3RhdGVTbG90Pj47XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgYSBzaGFyZWQtc3RhdGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gZm9yIGEgZ2l2ZW4ga2V5LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzaGFyZWQgc3RhdGUgdmFsdWUuXG4gKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzdG9yZSBvciByZXRyaWV2ZSB0aGUgc2hhcmVkIHN0YXRlIHVuZGVyLlxuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHVzZSBpZiB0aGUgc2hhcmVkIHN0YXRlIGRvZXMgbm90IGV4aXN0IHlldC5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSB0aGF0IHN0b3JlcyB0aGUgc2hhcmVkIHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZXNjcmlwdExpYlN0YXRlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICByZXR1cm4gKGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKS52YWx1ZXNba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyB0aGUgc2hhcmVkLXN0YXRlIHNsb3QuXG4gKlxuICogQHJldHVybnMgVGhlIHtAbGluayBUeXBlc2NyaXB0TGliU3RhdGVTbG90fS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIGNvbnN0IGdsb2JhbCA9IGdldEdsb2JhbCgpO1xuICBsZXQgc2xvdCA9IGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldO1xuICBpZiAoIXNsb3QpIHtcbiAgICBzbG90ID0gY3JlYXRlU2xvdCgpO1xuICAgIGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldID0gc2xvdDtcbiAgfVxuICByZXR1cm4gc2xvdDtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgZG9lcyBub3QgbGVhayBiZXR3ZWVuIHRlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUoKTogdm9pZCB7XG4gIGdldEdsb2JhbCgpW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV0gPSBjcmVhdGVTbG90KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIHJldHVybiB7XG4gICAgdmFsdWVzOiB7fSxcbiAgICB2ZXJzaW9uOiBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEdsb2JhbCgpOiBHbG9iYWxXaXRoVHlwZXNjcmlwdExpYlN0YXRlIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMgYXMgR2xvYmFsV2l0aFR5cGVzY3JpcHRMaWJTdGF0ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsMkJBQTZCO0FBS3RCLE1BQU0sK0JBQStCO0FBS3JDLE1BQU0sMkJBQTBDLHVCQUFPLElBQUksZ0NBQWdDO0FBMkIzRixTQUFTLHNCQUF5QixLQUFhLGNBQWtDO0FBQ3RGLFNBQVEsMEJBQTBCLEVBQUUsT0FBTyxHQUFHLE1BQU0sa0NBQWEsR0FBRyxZQUFZO0FBQ2xGO0FBT08sU0FBUyw0QkFBb0Q7QUFDbEUsUUFBTSxTQUFTLFVBQVU7QUFDekIsTUFBSSxPQUFPLE9BQU8sd0JBQXdCO0FBQzFDLE1BQUksQ0FBQyxNQUFNO0FBQ1QsV0FBTyxXQUFXO0FBQ2xCLFdBQU8sd0JBQXdCLElBQUk7QUFBQSxFQUNyQztBQUNBLFNBQU87QUFDVDtBQU9PLFNBQVMsMEJBQWdDO0FBQzlDLFlBQVUsRUFBRSx3QkFBd0IsSUFBSSxXQUFXO0FBQ3JEO0FBRUEsU0FBUyxhQUFxQztBQUM1QyxTQUFPO0FBQUEsSUFDTCxRQUFRLENBQUM7QUFBQSxJQUNULFNBQVM7QUFBQSxFQUNYO0FBQ0Y7QUFFQSxTQUFTLFlBQTBDO0FBQ2pELFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
68
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGVzY3JpcHQtbGliLXN0YXRlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvZiB0aGUgZ2VuZXJpYywgbm9uLU9ic2lkaWFuIHBhcnQgb2YgdGhlIGxpYnJhcnkuXG4gKlxuICogVGhlIGJhZyBsaXZlcyBvbiBgZ2xvYmFsVGhpc2AgdW5kZXIgYSBgU3ltYm9sLmZvcmAga2V5LCBzbyBldmVyeSBjb3B5IG9mIHRoaXMgbW9kdWxlIGxvYWRlZCBpbiBvbmUgcmVhbG0gc2hhcmVzXG4gKiBpdCwgd2hpY2hldmVyIHZlcnNpb24gaXQgaXMuIEl0IGhvbGRzIHdoYXQgbXVzdCBleGlzdCBvbmNlIHBlciByZWFsbTogdGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZVxuICogc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIuIE9ic2lkaWFuLXNwZWNpZmljIHN0YXRlIHN0YXlzIGluIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCwgdW5kZXIgaXRzIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5MaWJgIGdsb2JhbC5cbiAqXG4gKiBUaGUgc2xvdCBpcyBhIGNyb3NzLXZlcnNpb24gd2lyZSBmb3JtYXQ6IGl0cyBrZXkgYW5kIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0gc2hhcGUgb25seSBldmVyIGNoYW5nZVxuICogYWRkaXRpdmVseS5cbiAqL1xuXG5pbXBvcnQgeyBWYWx1ZVdyYXBwZXIgfSBmcm9tICcuL3ZhbHVlLXdyYXBwZXIudHMnO1xuXG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0gc2hhcGUgdGhpcyBjb3B5IHdyaXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRZUEVTQ1JJUFRfTElCX1NUQVRFX1ZFUlNJT04gPSAxO1xuXG4vKipcbiAqIFRoZSBrZXkgb2YgdGhlIGdsb2JhbCBzbG90IGhvbGRpbmcgdGhlIHtAbGluayBUeXBlc2NyaXB0TGliU3RhdGVTbG90fS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWTogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbC5mb3IoJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdGF0ZScpO1xuXG4vKipcbiAqIFRoZSBzaGFyZWQtc3RhdGUgc2xvdCBzdG9yZWQgb24gYGdsb2JhbFRoaXNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3Qge1xuICAvKipcbiAgICogVGhlIHNoYXJlZCB2YWx1ZXMsIGVhY2ggaW4gYSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBzbyBhIGhvbGRlciBjYW4gcmVwbGFjZSB0aGUgdmFsdWUgaW4gcGxhY2UuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIFZhbHVlV3JhcHBlcj47XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzbG90IHNoYXBlIHRoZSBjcmVhdG9yIHdyb3RlLiBJbmZvcm1hdGlvbmFsOiB0aGUgc2hhcGUgb25seSBjaGFuZ2VzIGFkZGl0aXZlbHkuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBudW1iZXI7XG59XG5cbnR5cGUgR2xvYmFsV2l0aFR5cGVzY3JpcHRMaWJTdGF0ZSA9IFBhcnRpYWw8UmVjb3JkPHR5cGVvZiBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVksIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3Q+PjtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZC1zdGF0ZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBmb3IgYSBnaXZlbiBrZXkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNoYXJlZCBzdGF0ZSB2YWx1ZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUgdW5kZXIuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QgeWV0LlxuICogQHJldHVybnMgVGhlIHtAbGluayBWYWx1ZVdyYXBwZXJ9IHRoYXQgc3RvcmVzIHRoZSBzaGFyZWQgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlc2NyaXB0TGliU3RhdGU8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFZhbHVlV3JhcHBlcjxUPiB7XG4gIHJldHVybiAoZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCgpLnZhbHVlc1trZXldID8/PSBWYWx1ZVdyYXBwZXIub2YoZGVmYXVsdFZhbHVlKSkgYXMgVmFsdWVXcmFwcGVyPFQ+O1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBvciBjcmVhdGVzIHRoZSBzaGFyZWQtc3RhdGUgc2xvdC5cbiAqXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCgpOiBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgY29uc3QgZ2xvYmFsID0gZ2V0R2xvYmFsKCk7XG4gIGxldCBzbG90ID0gZ2xvYmFsW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV07XG4gIGlmICghc2xvdCkge1xuICAgIHNsb3QgPSBjcmVhdGVTbG90KCk7XG4gICAgZ2xvYmFsW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV0gPSBzbG90O1xuICB9XG4gIHJldHVybiBzbG90O1xufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2hhcmVkLXN0YXRlIGJhZy5cbiAqXG4gKiBJbnRlbmRlZCBmb3IgdGVzdCBpc29sYXRpb246IGNhbGwgaXQgYmVmb3JlIGVhY2ggdGVzdCBzbyBhY2N1bXVsYXRlZCBzdGF0ZSBkb2VzIG5vdCBsZWFrIGJldHdlZW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNldFR5cGVzY3JpcHRMaWJTdGF0ZSgpOiB2b2lkIHtcbiAgZ2V0R2xvYmFsKClbVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZXSA9IGNyZWF0ZVNsb3QoKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU2xvdCgpOiBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZXM6IHt9LFxuICAgIHZlcnNpb246IFRZUEVTQ1JJUFRfTElCX1NUQVRFX1ZFUlNJT05cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0R2xvYmFsKCk6IEdsb2JhbFdpdGhUeXBlc2NyaXB0TGliU3RhdGUge1xuICByZXR1cm4gZ2xvYmFsVGhpcyBhcyBHbG9iYWxXaXRoVHlwZXNjcmlwdExpYlN0YXRlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSwyQkFBNkI7QUFLdEIsTUFBTSwrQkFBK0I7QUFLckMsTUFBTSwyQkFBMEMsdUJBQU8sSUFBSSxnQ0FBZ0M7QUEyQjNGLFNBQVMsc0JBQXlCLEtBQWEsY0FBa0M7QUFDdEYsU0FBUSwwQkFBMEIsRUFBRSxPQUFPLEdBQUcsTUFBTSxrQ0FBYSxHQUFHLFlBQVk7QUFDbEY7QUFPTyxTQUFTLDRCQUFvRDtBQUNsRSxRQUFNLFNBQVMsVUFBVTtBQUN6QixNQUFJLE9BQU8sT0FBTyx3QkFBd0I7QUFDMUMsTUFBSSxDQUFDLE1BQU07QUFDVCxXQUFPLFdBQVc7QUFDbEIsV0FBTyx3QkFBd0IsSUFBSTtBQUFBLEVBQ3JDO0FBQ0EsU0FBTztBQUNUO0FBT08sU0FBUywwQkFBZ0M7QUFDOUMsWUFBVSxFQUFFLHdCQUF3QixJQUFJLFdBQVc7QUFDckQ7QUFFQSxTQUFTLGFBQXFDO0FBQzVDLFNBQU87QUFBQSxJQUNMLFFBQVEsQ0FBQztBQUFBLElBQ1QsU0FBUztBQUFBLEVBQ1g7QUFDRjtBQUVBLFNBQVMsWUFBMEM7QUFDakQsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * The bag lives on `globalThis` under a `Symbol.for` key, so every copy of this module loaded in one realm shares
8
8
  * it, whichever version it is. It holds what must exist once per realm: the debuggers, the `debug` instance and the
9
- * shared abort controller. Obsidian-specific state stays in `@mnaoumov/obsidian-lib`, under its legacy `__obsidianDevUtils` global.
9
+ * shared abort controller. Obsidian-specific state stays in `@mnaoumov/obsidian-lib`, under its `globalThis.__obsidianLib` global.
10
10
  *
11
11
  * The slot is a cross-version wire format: its key and the {@link TypescriptLibStateSlot} shape only ever change
12
12
  * additively.
@@ -87,8 +87,6 @@ export declare function abortSignalTimeout(timeoutInMilliseconds: number): Abort
87
87
  * ```
88
88
  *
89
89
  * From code, call {@link getSharedAbortController} (or {@link getSharedAbortSignal}) rather than reading the slot.
90
- * `@mnaoumov/obsidian-lib` also mirrors the instance under the legacy `__obsidianDevUtils` global, but only so that
91
- * plugins bundling an older `obsidian-dev-utils` copy share it; new code and new console recipes should not use it.
92
90
  *
93
91
  * @returns The shared {@link ResettableAbortController}.
94
92
  */
@@ -112,4 +112,4 @@ export {
112
112
  onAbort,
113
113
  waitForAbort
114
114
  };
115
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEZyb20gY29kZSwgY2FsbCB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSAob3Ige0BsaW5rIGdldFNoYXJlZEFib3J0U2lnbmFsfSkgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc2xvdC5cbiAqIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCBhbHNvIG1pcnJvcnMgdGhlIGluc3RhbmNlIHVuZGVyIHRoZSBsZWdhY3kgYF9fb2JzaWRpYW5EZXZVdGlsc2AgZ2xvYmFsLCBidXQgb25seSBzbyB0aGF0XG4gKiBwbHVnaW5zIGJ1bmRsaW5nIGFuIG9sZGVyIGBvYnNpZGlhbi1kZXYtdXRpbHNgIGNvcHkgc2hhcmUgaXQ7IG5ldyBjb2RlIGFuZCBuZXcgY29uc29sZSByZWNpcGVzIHNob3VsZCBub3QgdXNlIGl0LlxuICpcbiAqIEByZXR1cm5zIFRoZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyKCk6IFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdzaGFyZWRBYm9ydENvbnRyb2xsZXInLCBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpKS52YWx1ZTtcbn1cblxuLyoqXG4gKiBUaGUgc2lnbmFsIG9mIHRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIENhbGwgaXQgYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlIG9wZXJhdGlvbiBhZnRlciB0aGUgZmlyc3QgYWJvcnQgc3RhcnRzXG4gKiBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFib3J0U2lnbmFsID0gZ2V0U2hhcmVkQWJvcnRTaWduYWwoKTtcbiAqIGZvciAoY29uc3QgdXJsIG9mIHVybHMpIHtcbiAqICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAqICAgYXdhaXQgZmV0Y2godXJsLCB7IHNpZ25hbDogYWJvcnRTaWduYWwgfSk7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIEFib3J0U2lnbmFsfSBvZiB0aGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgcmV0dXJuIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcigpLnNpZ25hbDtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGFib3J0IGxpc3RlbmVyIHRvIGFuIGFib3J0IHNpZ25hbCBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWxyZWFkeSBhYm9ydGVkLlxuICpcbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gYWRkIHRoZSBsaXN0ZW5lciB0by5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIGFib3J0IHNpZ25hbCBhYm9ydHMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlfSB0aGF0IHJlbW92ZXMgdGhlIGFib3J0IGxpc3RlbmVyIHdoZW4gZGlzcG9zZWQsIGZvciB1c2Ugd2l0aCBgdXNpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BYm9ydChhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwsIGNhbGxiYWNrOiAoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gIGlmIChhYm9ydFNpZ25hbC5hYm9ydGVkKSB7XG4gICAgY2FsbGJhY2soYWJvcnRTaWduYWwpO1xuICAgIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHsgY2FsbGJhY2s6IG5vb3AgfSk7XG4gIH1cblxuICBhYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjaywgeyBvbmNlOiB0cnVlIH0pO1xuICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7XG4gICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgIGFib3J0U2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0Jywgd3JhcHBlZENhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHdyYXBwZWRDYWxsYmFjaygkZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY2FsbGJhY2soJGV2ZW50LnRhcmdldCBhcyBBYm9ydFNpZ25hbCk7XG4gIH1cbn1cblxuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZXNvbHZlcyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gRXhwZWN0ZWQgdHlwZSBvZiBgYWJvcnRTaWduYWwucmVhc29uYC5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0PFQgPSB1bmtub3duPihhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNlPFQ+O1xuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZWplY3RzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHBhcmFtIHNob3VsZFJlamVjdE9uQWJvcnQgLSBXaGV0aGVyIHRvIHJlamVjdCB0aGUgcHJvbWlzZSBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFib3J0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlamVjdHMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0OiB0cnVlKTogUHJvbWlzZTxuZXZlcj47XG4vKipcbiAqIFdhaXRzIGZvciBhbiBhYm9ydCBzaWduYWwgdG8gYWJvcnQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlYXNvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBFeHBlY3RlZCB0eXBlIG9mIGBhYm9ydFNpZ25hbC5yZWFzb25gLlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBzaG91bGRSZWplY3RPbkFib3J0PzogYm9vbGVhbik6IFByb21pc2U8VD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8VD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+IHtcbiAgICAgIGlmIChzaG91bGRSZWplY3RPbkFib3J0KSB7XG4gICAgICAgIHJlamVjdChhYm9ydFNpZ25hbC5yZWFzb24gYXMgRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZShhYm9ydFNpZ25hbC5yZWFzb24gYXMgVCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFNQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsWUFBWTtBQUNyQixTQUFTLDZCQUE2QjtBQUsvQixNQUFNLG1CQUFtQjtBQThCekIsTUFBTSwwQkFBMEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNckMsSUFBVyxTQUFzQjtBQUMvQixXQUFPLEtBQUssZ0JBQWdCO0FBQUEsRUFDOUI7QUFBQSxFQUVRLGtCQUFrQixJQUFJLGdCQUFnQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXZDLE1BQU0sUUFBd0I7QUFDbkMsU0FBSyxnQkFBZ0IsTUFBTSxNQUFNO0FBQ2pDLFNBQUssa0JBQWtCLElBQUksZ0JBQWdCO0FBQUEsRUFDN0M7QUFDRjtBQVFPLFNBQVMsa0JBQWtCLG1CQUE2RDtBQUM3RixRQUFNLGVBQWUsa0JBQWtCLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFdBQVc7QUFHNUUsTUFBSSxPQUFPLFlBQVksUUFBUSxZQUFZO0FBRXpDLFdBQU8sWUFBWSxJQUFJLFlBQVk7QUFBQSxFQUNyQztBQUVBLE1BQUksYUFBYSxXQUFXLEdBQUc7QUFDN0IsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQUVBLE1BQUksYUFBYSxXQUFXLEtBQUssYUFBYSxDQUFDLEdBQUc7QUFDaEQsV0FBTyxhQUFhLENBQUM7QUFBQSxFQUN2QjtBQUVBLFFBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBRTVDLGFBQVcsZUFBZSxjQUFjO0FBQ3RDLFFBQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFFBQU0sMEJBQXdDLE1BQU0sS0FBSyxjQUFjLENBQUMsZ0JBQWdCLFFBQVEsYUFBYSxXQUFXLENBQUM7QUFFekgsUUFBTSxpQ0FBaUMsSUFBSSxrQkFBa0IsRUFBRSxhQUFhLHdCQUF3QixDQUFDO0FBRXJHLFNBQU8sZ0JBQWdCO0FBRXZCLFdBQVMsWUFBWSxhQUFnQztBQUNuRCxtQ0FBK0IsUUFBUTtBQUN2QyxvQkFBZ0IsTUFBTSxZQUFZLE1BQU07QUFBQSxFQUMxQztBQUNGO0FBT08sU0FBUyxtQkFBZ0M7QUFDOUMsU0FBTyxJQUFJLGdCQUFnQixFQUFFO0FBQy9CO0FBUU8sU0FBUyxtQkFBbUIsdUJBQTRDO0FBQzdFLE1BQUksMEJBQTBCLGtCQUFrQjtBQUM5QyxXQUFPLGlCQUFpQjtBQUFBLEVBQzFCO0FBVUEsUUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFFNUMsYUFBVyxXQUFXLE1BQU07QUFFMUIsb0JBQWdCLE1BQU0sSUFBSSxhQUFhLGdCQUFnQixPQUFPLHFCQUFxQixDQUFDLGlCQUFpQixjQUFjLENBQUM7QUFBQSxFQUN0SCxHQUFHLHFCQUFxQjtBQUN4QixTQUFPLGdCQUFnQjtBQUN6QjtBQXFCTyxTQUFTLDJCQUFzRDtBQUNwRSxTQUFPLHNCQUFzQix5QkFBeUIsSUFBSSwwQkFBMEIsQ0FBQyxFQUFFO0FBQ3pGO0FBbUJPLFNBQVMsdUJBQW9DO0FBQ2xELFNBQU8seUJBQXlCLEVBQUU7QUFDcEM7QUFTTyxTQUFTLFFBQVEsYUFBMEIsVUFBMEQ7QUFDMUcsTUFBSSxZQUFZLFNBQVM7QUFDdkIsYUFBUyxXQUFXO0FBQ3BCLFdBQU8sSUFBSSxtQkFBbUIsRUFBRSxVQUFVLEtBQUssQ0FBQztBQUFBLEVBQ2xEO0FBRUEsY0FBWSxpQkFBaUIsU0FBUyxpQkFBaUIsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUNyRSxTQUFPLElBQUksbUJBQW1CO0FBQUEsSUFDNUIsVUFBVSxNQUFZO0FBQ3BCLGtCQUFZLG9CQUFvQixTQUFTLGVBQWU7QUFBQSxJQUMxRDtBQUFBLEVBQ0YsQ0FBQztBQUVELFdBQVMsZ0JBQWdCLFFBQXFCO0FBQzVDLGFBQVMsT0FBTyxNQUFxQjtBQUFBLEVBQ3ZDO0FBQ0Y7QUEwQk8sU0FBUyxhQUEwQixhQUEwQixxQkFBMkM7QUFDN0csU0FBTyxJQUFJLFFBQVcsQ0FBQyxTQUFTLFdBQVc7QUFDekMsWUFBUSxhQUFhLE1BQU07QUFDekIsVUFBSSxxQkFBcUI7QUFDdkIsZUFBTyxZQUFZLE1BQWU7QUFBQSxNQUNwQyxPQUFPO0FBQ0wsZ0JBQVEsWUFBWSxNQUFXO0FBQUEsTUFDakM7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNILENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
115
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Fib3J0LWNvbnRyb2xsZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBYm9ydENvbnRyb2xsZXIgdXRpbGl0aWVzLlxuICovXG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGVcbn0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSB9IGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuXG4vKipcbiAqIEEgY29uc3RhbnQgcmVwcmVzZW50aW5nIGFuIGluZmluaXRlIHRpbWVvdXQuXG4gKi9cbmV4cG9ydCBjb25zdCBJTkZJTklURV9USU1FT1VUID0gSW5maW5pdHk7XG5cbi8qKlxuICogQW4ge0BsaW5rIEFib3J0Q29udHJvbGxlcn0gdGhhdCBjYW4gYmUgYWJvcnRlZCBtb3JlIHRoYW4gb25jZS5cbiAqXG4gKiBBIHBsYWluIHtAbGluayBBYm9ydENvbnRyb2xsZXJ9IGlzIHNpbmdsZS11c2U6IG9uY2UgYWJvcnRlZCwgaXRzIHNpZ25hbCBzdGF5cyBhYm9ydGVkIGZvcmV2ZXIsIHNvIGl0XG4gKiBjYW5ub3QgYmFjayBhIGNhbmNlbCBidXR0b24gdGhhdCB0aGUgdXNlciBtYXkgcHJlc3MgbW9yZSB0aGFuIG9uY2UuIFRoaXMgb25lIGFib3J0cyB0aGUgY3VycmVudCBzaWduYWxcbiAqIGFuZCBpbW1lZGlhdGVseSByZXBsYWNlcyBpdCwgc28gdGhlIG5leHQgb3BlcmF0aW9uIHN0YXJ0cyB3aXRoIGEgZnJlc2gsIG5vbi1hYm9ydGVkIHNpZ25hbCB3aGlsZSB0aGUgd29ya1xuICogdGhhdCBjYXB0dXJlZCB0aGUgcHJldmlvdXMgc2lnbmFsIHN0aWxsIG9ic2VydmVzIHRoZSBhYm9ydC5cbiAqXG4gKiBSZWFkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLnNpZ25hbH0gYXQgdGhlIHN0YXJ0IG9mIGVhY2ggb3BlcmF0aW9uLiBOZXZlciBjYWNoZSBpdCwgb3IgdGhlXG4gKiBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0cyBhbHJlYWR5IGFib3J0ZWQuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIgPSBuZXcgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcigpO1xuICpcbiAqIGF3YWl0IGxvb3Aoe1xuICogICBhYm9ydFNpZ25hbDogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5zaWduYWwsXG4gKiAgIGJ1aWxkTm90aWNlTWVzc2FnZTogKGZpbGUpID0+IGBQcm9jZXNzaW5nICR7ZmlsZS5wYXRofWAsXG4gKiAgIGl0ZW1zOiBhcHAudmF1bHQuZ2V0TWFya2Rvd25GaWxlcygpLFxuICogICBwcm9jZXNzSXRlbTogYXN5bmMgKGZpbGUpID0+IHsgYXdhaXQgcHJvY2Vzc0ZpbGUoZmlsZSk7IH1cbiAqIH0pO1xuICpcbiAqIC8vIEZyb20gYSBjYW5jZWwgYnV0dG9uLCBhIGNvbW1hbmQsIG9yIHRoZSBkZXZ0b29scyBjb25zb2xlLlxuICogcmVzZXR0YWJsZUFib3J0Q29udHJvbGxlci5hYm9ydCgpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSBmb3IgdGhlIGFwcC13aWRlIGluc3RhbmNlLlxuICovXG5leHBvcnQgY2xhc3MgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlciB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBhYm9ydCBzaWduYWwuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB7QGxpbmsgQWJvcnRTaWduYWx9IHRoYXQgYWJvcnRzIG9uIHRoZSBuZXh0IHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyLmFib3J0fSBjYWxsLlxuICAgKi9cbiAgcHVibGljIGdldCBzaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICBwcml2YXRlIGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBjdXJyZW50IHNpZ25hbCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZyZXNoLCBub24tYWJvcnRlZCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSByZWFzb24gLSBUaGUgcmVhc29uIHRvIGFib3J0IHdpdGguIFdoZW4gb21pdHRlZCwgdGhlIHNpZ25hbCBpcyBhYm9ydGVkIHdpdGggdGhlIG5hdGl2ZVxuICAgKiBgQWJvcnRFcnJvcmAge0BsaW5rIERPTUV4Y2VwdGlvbn0sIGV4YWN0bHkgYXMge0BsaW5rIEFib3J0Q29udHJvbGxlci5hYm9ydH0gZG9lcy5cbiAgICovXG4gIHB1YmxpYyBhYm9ydChyZWFzb24/OiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5hYm9ydENvbnRyb2xsZXIuYWJvcnQocmVhc29uKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqXG4gKiBAcGFyYW0gbWF5YmVBYm9ydFNpZ25hbHMgLSBUaGUgYWJvcnQgc2lnbmFscyB0byBhYm9ydCB3aGVuIGFueSBvZiB0aGVtIGFib3J0LlxuICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyB3aGVuIGFueSBvZiB0aGUgZ2l2ZW4gYWJvcnQgc2lnbmFscyBhYm9ydC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFib3J0U2lnbmFsQW55KC4uLm1heWJlQWJvcnRTaWduYWxzOiAoQWJvcnRTaWduYWwgfCB1bmRlZmluZWQpW10pOiBBYm9ydFNpZ25hbCB7XG4gIGNvbnN0IGFib3J0U2lnbmFscyA9IG1heWJlQWJvcnRTaWduYWxzLmZpbHRlcigoYWJvcnRTaWduYWwpID0+ICEhYWJvcnRTaWduYWwpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYEFib3J0U2lnbmFsLmFueWAgaXMgZmVhdHVyZS1kZXRlY3RlZCBoZXJlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgaWYgKHR5cGVvZiBBYm9ydFNpZ25hbC5hbnkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIGBBYm9ydFNpZ25hbC5hbnlgIGlzIGZlYXR1cmUtZGV0ZWN0ZWQgYnkgdGhlIGd1YXJkIGFib3ZlIHdpdGggYSBtYW51YWwgZmFsbGJhY2sgYmVsb3csIHNvIGl0IGlzIG5vdCByZXF1aXJlZCBvbiBvbGRlciBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHZlcnNpb25zIHRoYXQgbGFjayBpdC5cbiAgICByZXR1cm4gQWJvcnRTaWduYWwuYW55KGFib3J0U2lnbmFscyk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBhYm9ydFNpZ25hbE5ldmVyKCk7XG4gIH1cblxuICBpZiAoYWJvcnRTaWduYWxzLmxlbmd0aCA9PT0gMSAmJiBhYm9ydFNpZ25hbHNbMF0pIHtcbiAgICByZXR1cm4gYWJvcnRTaWduYWxzWzBdO1xuICB9XG5cbiAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gIGZvciAoY29uc3QgYWJvcnRTaWduYWwgb2YgYWJvcnRTaWduYWxzKSB7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybiBhYm9ydFNpZ25hbDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBhYm9ydEhhbmRsZXJEaXNwb3NhYmxlczogRGlzcG9zYWJsZVtdID0gQXJyYXkuZnJvbShhYm9ydFNpZ25hbHMsIChhYm9ydFNpZ25hbCkgPT4gb25BYm9ydChhYm9ydFNpZ25hbCwgaGFuZGxlQWJvcnQpKTtcblxuICBjb25zdCBjb21iaW5lZEFib3J0SGFuZGxlckRpc3Bvc2FibGUgPSBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlczogYWJvcnRIYW5kbGVyRGlzcG9zYWJsZXMgfSk7XG5cbiAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG5cbiAgZnVuY3Rpb24gaGFuZGxlQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgY29tYmluZWRBYm9ydEhhbmRsZXJEaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoYWJvcnRTaWduYWwucmVhc29uKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IG5ldmVyIGFib3J0cy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYWJvcnQgc2lnbmFsIHRoYXQgbmV2ZXIgYWJvcnRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxOZXZlcigpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyKCkuc2lnbmFsO1xufVxuXG4vKipcbiAqIEFuIGFib3J0IHNpZ25hbCB0aGF0IGFib3J0cyBhZnRlciBhIHRpbWVvdXQuXG4gKlxuICogQHBhcmFtIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyAtIFRoZSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy5cbiAqIEByZXR1cm5zIFRoZSBhYm9ydCBzaWduYWwgdGhhdCBhYm9ydHMgYWZ0ZXIgYSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYWJvcnRTaWduYWxUaW1lb3V0KHRpbWVvdXRJbk1pbGxpc2Vjb25kczogbnVtYmVyKTogQWJvcnRTaWduYWwge1xuICBpZiAodGltZW91dEluTWlsbGlzZWNvbmRzID09PSBJTkZJTklURV9USU1FT1VUKSB7XG4gICAgcmV0dXJuIGFib3J0U2lnbmFsTmV2ZXIoKTtcbiAgfVxuXG4gIC8vIEludGVudGlvbmFsbHkgTk9UIHRoZSBuYXRpdmUgYEFib3J0U2lnbmFsLnRpbWVvdXRgLCB3aG9zZSBpbnRlcm5hbCB0aW1lciBjYW5ub3QgYmUgYWR2YW5jZWQgYnlcbiAgLy8gYHZpLnVzZUZha2VUaW1lcnMoKWAsIHNvIGBzbGVlcGAgKGl0cyBzb2xlIGNvbnN1bWVyKSB3b3VsZCBiZSB1bmNvbnRyb2xsYWJsZSBpbiB0ZXN0cy4gQnVpbGRpbmdcbiAgLy8gYHNsZWVwYCdzIHNpZ25hbCBvZmYgYGdsb2JhbFRoaXMuc2V0VGltZW91dGAga2VlcHMgaXQgZmFrZS10aW1lciBjb250cm9sbGFibGUgKGxpa2VcbiAgLy8gYHNldFRpbWVvdXRBc3luY2ApIGFuZCBhbHNvIHdvcmtzIGluIGEgTm9kZSBlbnZpcm9ubWVudCB3aGVyZSBgd2luZG93YCBpcyB1bmRlZmluZWQsIHNpbmNlXG4gIC8vIGBnbG9iYWxUaGlzYCBleGlzdHMgaW4gTm9kZSB0b28uIENvbnN1bWVyIGludGVncmF0aW9uLXRlc3QgcHJvamVjdHMgcnVuIHZpdGVzdCB1bmRlclxuICAvLyBgZW52aXJvbm1lbnQ6ICdub2RlJ2AsIGluIHdoaWNoIGEgYHdpbmRvd2AtYmFzZWQgcHJpbWl0aXZlIHRocm93cyBhIGBSZWZlcmVuY2VFcnJvcmAuXG4gIC8vIFRoZSBhYm9ydCByZWFzb24gbWlycm9ycyB0aGUgbmF0aXZlIG9uZSAtLSBhIGBET01FeGNlcHRpb25gIG5hbWVkIGBUaW1lb3V0RXJyb3JgIC0tIG1hdGNoaW5nXG4gIC8vIGBBYm9ydFNpZ25hbC50aW1lb3V0YCBmb3IgYHJlYXNvbi5uYW1lYCBjaGVja3MuXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICBnbG9iYWxUaGlzLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gYERPTUV4Y2VwdGlvbmAgaXMgYSBET00gZ2xvYmFsIGFsd2F5cyBwcmVzZW50IGluIHRoZSBPYnNpZGlhbi9FbGVjdHJvbiAoQ2hyb21pdW0pIHJ1bnRpbWUgdGhpcyBjb2RlIHRhcmdldHMsIGFuZCBpcyBhbHNvIGEgTm9kZSBnbG9iYWwgZnJvbSBOb2RlIDE3IG9ud2FyZC5cbiAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IERPTUV4Y2VwdGlvbihgVGltZWQgb3V0IGluICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kc2AsICdUaW1lb3V0RXJyb3InKSk7XG4gIH0sIHRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xufVxuXG4vKipcbiAqIFRoZSBhcHAtd2lkZSBzaGFyZWQge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXJ9LlxuICpcbiAqIEV2ZXJ5IHBsdWdpbiBidWlsdCBvbiB0aGlzIGxpYnJhcnkgc2hhcmVzIG9uZSBpbnN0YW5jZSwgc28gYSBzaW5nbGUge0BsaW5rIFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIuYWJvcnR9XG4gKiBjYWxsIGNhbmNlbHMgd2hhdGV2ZXIgbG9uZy1ydW5uaW5nIG9wZXJhdGlvbiBpcyBpbiBmbGlnaHQsIHdoaWNoZXZlciBwbHVnaW4gc3RhcnRlZCBpdC4gQSBwbHVnaW4gdGhhdCBuZWVkc1xuICogYSBjYW5jZWwgYnV0dG9uIG9mIGl0cyBvd24gc2NvcGUgY29uc3RydWN0cyBpdHMgb3duIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfSBpbnN0ZWFkLlxuICpcbiAqIEl0IGxpdmVzIGluIHRoZSBzaGFyZWQgc3RhdGUsIHNvIGl0IGlzIHJlYWNoYWJsZSBmcm9tIHRoZSBkZXZ0b29scyBjb25zb2xlOlxuICpcbiAqIGBgYGphdmFzY3JpcHRcbiAqIGdsb2JhbFRoaXNbU3ltYm9sLmZvcignQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3N0YXRlJyldLnZhbHVlcy5zaGFyZWRBYm9ydENvbnRyb2xsZXIudmFsdWUuYWJvcnQoKTtcbiAqIGBgYFxuICpcbiAqIEZyb20gY29kZSwgY2FsbCB7QGxpbmsgZ2V0U2hhcmVkQWJvcnRDb250cm9sbGVyfSAob3Ige0BsaW5rIGdldFNoYXJlZEFib3J0U2lnbmFsfSkgcmF0aGVyIHRoYW4gcmVhZGluZyB0aGUgc2xvdC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFNoYXJlZEFib3J0Q29udHJvbGxlcigpOiBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyIHtcbiAgcmV0dXJuIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnc2hhcmVkQWJvcnRDb250cm9sbGVyJywgbmV3IFJlc2V0dGFibGVBYm9ydENvbnRyb2xsZXIoKSkudmFsdWU7XG59XG5cbi8qKlxuICogVGhlIHNpZ25hbCBvZiB0aGUgYXBwLXdpZGUgc2hhcmVkIHtAbGluayBSZXNldHRhYmxlQWJvcnRDb250cm9sbGVyfS5cbiAqXG4gKiBDYWxsIGl0IGF0IHRoZSBzdGFydCBvZiBlYWNoIG9wZXJhdGlvbi4gTmV2ZXIgY2FjaGUgaXQsIG9yIHRoZSBvcGVyYXRpb24gYWZ0ZXIgdGhlIGZpcnN0IGFib3J0IHN0YXJ0c1xuICogYWxyZWFkeSBhYm9ydGVkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBhYm9ydFNpZ25hbCA9IGdldFNoYXJlZEFib3J0U2lnbmFsKCk7XG4gKiBmb3IgKGNvbnN0IHVybCBvZiB1cmxzKSB7XG4gKiAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gKiAgIGF3YWl0IGZldGNoKHVybCwgeyBzaWduYWw6IGFib3J0U2lnbmFsIH0pO1xuICogfVxuICogYGBgXG4gKlxuICogQHJldHVybnMgVGhlIHtAbGluayBBYm9ydFNpZ25hbH0gb2YgdGhlIHNoYXJlZCB7QGxpbmsgUmVzZXR0YWJsZUFib3J0Q29udHJvbGxlcn0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRTaGFyZWRBYm9ydFNpZ25hbCgpOiBBYm9ydFNpZ25hbCB7XG4gIHJldHVybiBnZXRTaGFyZWRBYm9ydENvbnRyb2xsZXIoKS5zaWduYWw7XG59XG5cbi8qKlxuICogQWRkcyBhbiBhYm9ydCBsaXN0ZW5lciB0byBhbiBhYm9ydCBzaWduYWwgYW5kIGNhbGxzIHRoZSBjYWxsYmFjayBpZiB0aGUgYWJvcnQgc2lnbmFsIGlzIGFscmVhZHkgYWJvcnRlZC5cbiAqXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGFkZCB0aGUgbGlzdGVuZXIgdG8uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBhYm9ydCBzaWduYWwgYWJvcnRzLlxuICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZX0gdGhhdCByZW1vdmVzIHRoZSBhYm9ydCBsaXN0ZW5lciB3aGVuIGRpc3Bvc2VkLCBmb3IgdXNlIHdpdGggYHVzaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9uQWJvcnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLCBjYWxsYmFjazogKGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCkgPT4gdm9pZCk6IERpc3Bvc2FibGUge1xuICBpZiAoYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgIGNhbGxiYWNrKGFib3J0U2lnbmFsKTtcbiAgICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7IGNhbGxiYWNrOiBub29wIH0pO1xuICB9XG5cbiAgYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCB3cmFwcGVkQ2FsbGJhY2ssIHsgb25jZTogdHJ1ZSB9KTtcbiAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgIGNhbGxiYWNrOiAoKTogdm9pZCA9PiB7XG4gICAgICBhYm9ydFNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIHdyYXBwZWRDYWxsYmFjayk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiB3cmFwcGVkQ2FsbGJhY2soJGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNhbGxiYWNrKCRldmVudC50YXJnZXQgYXMgQWJvcnRTaWduYWwpO1xuICB9XG59XG5cbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVzb2x2ZXMgd2l0aCBpdHMgcmVhc29uLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIEV4cGVjdGVkIHR5cGUgb2YgYGFib3J0U2lnbmFsLnJlYXNvbmAuXG4gKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIHdhaXQgZm9yLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aXRoIHRoZSByZWFzb24gb2YgdGhlIGFib3J0IHNpZ25hbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdhaXRGb3JBYm9ydDxUID0gdW5rbm93bj4oYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogUHJvbWlzZTxUPjtcbi8qKlxuICogV2FpdHMgZm9yIGFuIGFib3J0IHNpZ25hbCB0byBhYm9ydCBhbmQgcmVqZWN0cyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHBhcmFtIGFib3J0U2lnbmFsIC0gVGhlIGFib3J0IHNpZ25hbCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSBzaG91bGRSZWplY3RPbkFib3J0IC0gV2hldGhlciB0byByZWplY3QgdGhlIHByb21pc2UgaWYgdGhlIGFib3J0IHNpZ25hbCBpcyBhYm9ydGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZWplY3RzIHdpdGggdGhlIHJlYXNvbiBvZiB0aGUgYWJvcnQgc2lnbmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdEZvckFib3J0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgc2hvdWxkUmVqZWN0T25BYm9ydDogdHJ1ZSk6IFByb21pc2U8bmV2ZXI+O1xuLyoqXG4gKiBXYWl0cyBmb3IgYW4gYWJvcnQgc2lnbmFsIHRvIGFib3J0IGFuZCByZXNvbHZlcyB3aXRoIGl0cyByZWFzb24uXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gRXhwZWN0ZWQgdHlwZSBvZiBgYWJvcnRTaWduYWwucmVhc29uYC5cbiAqIEBwYXJhbSBhYm9ydFNpZ25hbCAtIFRoZSBhYm9ydCBzaWduYWwgdG8gd2FpdCBmb3IuXG4gKiBAcGFyYW0gc2hvdWxkUmVqZWN0T25BYm9ydCAtIFdoZXRoZXIgdG8gcmVqZWN0IHRoZSBwcm9taXNlIGlmIHRoZSBhYm9ydCBzaWduYWwgaXMgYWJvcnRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcmVhc29uIG9mIHRoZSBhYm9ydCBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0Rm9yQWJvcnQ8VCA9IHVua25vd24+KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCwgc2hvdWxkUmVqZWN0T25BYm9ydD86IGJvb2xlYW4pOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBvbkFib3J0KGFib3J0U2lnbmFsLCAoKSA9PiB7XG4gICAgICBpZiAoc2hvdWxkUmVqZWN0T25BYm9ydCkge1xuICAgICAgICByZWplY3QoYWJvcnRTaWduYWwucmVhc29uIGFzIEVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoYWJvcnRTaWduYWwucmVhc29uIGFzIFQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBTUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLFlBQVk7QUFDckIsU0FBUyw2QkFBNkI7QUFLL0IsTUFBTSxtQkFBbUI7QUE4QnpCLE1BQU0sMEJBQTBCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXJDLElBQVcsU0FBc0I7QUFDL0IsV0FBTyxLQUFLLGdCQUFnQjtBQUFBLEVBQzlCO0FBQUEsRUFFUSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF2QyxNQUFNLFFBQXdCO0FBQ25DLFNBQUssZ0JBQWdCLE1BQU0sTUFBTTtBQUNqQyxTQUFLLGtCQUFrQixJQUFJLGdCQUFnQjtBQUFBLEVBQzdDO0FBQ0Y7QUFRTyxTQUFTLGtCQUFrQixtQkFBNkQ7QUFDN0YsUUFBTSxlQUFlLGtCQUFrQixPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxXQUFXO0FBRzVFLE1BQUksT0FBTyxZQUFZLFFBQVEsWUFBWTtBQUV6QyxXQUFPLFlBQVksSUFBSSxZQUFZO0FBQUEsRUFDckM7QUFFQSxNQUFJLGFBQWEsV0FBVyxHQUFHO0FBQzdCLFdBQU8saUJBQWlCO0FBQUEsRUFDMUI7QUFFQSxNQUFJLGFBQWEsV0FBVyxLQUFLLGFBQWEsQ0FBQyxHQUFHO0FBQ2hELFdBQU8sYUFBYSxDQUFDO0FBQUEsRUFDdkI7QUFFQSxRQUFNLGtCQUFrQixJQUFJLGdCQUFnQjtBQUU1QyxhQUFXLGVBQWUsY0FBYztBQUN0QyxRQUFJLFlBQVksU0FBUztBQUN2QixhQUFPO0FBQUEsSUFDVDtBQUFBLEVBQ0Y7QUFFQSxRQUFNLDBCQUF3QyxNQUFNLEtBQUssY0FBYyxDQUFDLGdCQUFnQixRQUFRLGFBQWEsV0FBVyxDQUFDO0FBRXpILFFBQU0saUNBQWlDLElBQUksa0JBQWtCLEVBQUUsYUFBYSx3QkFBd0IsQ0FBQztBQUVyRyxTQUFPLGdCQUFnQjtBQUV2QixXQUFTLFlBQVksYUFBZ0M7QUFDbkQsbUNBQStCLFFBQVE7QUFDdkMsb0JBQWdCLE1BQU0sWUFBWSxNQUFNO0FBQUEsRUFDMUM7QUFDRjtBQU9PLFNBQVMsbUJBQWdDO0FBQzlDLFNBQU8sSUFBSSxnQkFBZ0IsRUFBRTtBQUMvQjtBQVFPLFNBQVMsbUJBQW1CLHVCQUE0QztBQUM3RSxNQUFJLDBCQUEwQixrQkFBa0I7QUFDOUMsV0FBTyxpQkFBaUI7QUFBQSxFQUMxQjtBQVVBLFFBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBRTVDLGFBQVcsV0FBVyxNQUFNO0FBRTFCLG9CQUFnQixNQUFNLElBQUksYUFBYSxnQkFBZ0IsT0FBTyxxQkFBcUIsQ0FBQyxpQkFBaUIsY0FBYyxDQUFDO0FBQUEsRUFDdEgsR0FBRyxxQkFBcUI7QUFDeEIsU0FBTyxnQkFBZ0I7QUFDekI7QUFtQk8sU0FBUywyQkFBc0Q7QUFDcEUsU0FBTyxzQkFBc0IseUJBQXlCLElBQUksMEJBQTBCLENBQUMsRUFBRTtBQUN6RjtBQW1CTyxTQUFTLHVCQUFvQztBQUNsRCxTQUFPLHlCQUF5QixFQUFFO0FBQ3BDO0FBU08sU0FBUyxRQUFRLGFBQTBCLFVBQTBEO0FBQzFHLE1BQUksWUFBWSxTQUFTO0FBQ3ZCLGFBQVMsV0FBVztBQUNwQixXQUFPLElBQUksbUJBQW1CLEVBQUUsVUFBVSxLQUFLLENBQUM7QUFBQSxFQUNsRDtBQUVBLGNBQVksaUJBQWlCLFNBQVMsaUJBQWlCLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDckUsU0FBTyxJQUFJLG1CQUFtQjtBQUFBLElBQzVCLFVBQVUsTUFBWTtBQUNwQixrQkFBWSxvQkFBb0IsU0FBUyxlQUFlO0FBQUEsSUFDMUQ7QUFBQSxFQUNGLENBQUM7QUFFRCxXQUFTLGdCQUFnQixRQUFxQjtBQUM1QyxhQUFTLE9BQU8sTUFBcUI7QUFBQSxFQUN2QztBQUNGO0FBMEJPLFNBQVMsYUFBMEIsYUFBMEIscUJBQTJDO0FBQzdHLFNBQU8sSUFBSSxRQUFXLENBQUMsU0FBUyxXQUFXO0FBQ3pDLFlBQVEsYUFBYSxNQUFNO0FBQ3pCLFVBQUkscUJBQXFCO0FBQ3ZCLGVBQU8sWUFBWSxNQUFlO0FBQUEsTUFDcEMsT0FBTztBQUNMLGdCQUFRLFlBQVksTUFBVztBQUFBLE1BQ2pDO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -48,9 +48,9 @@ export interface DebugController {
48
48
  * @example
49
49
  * ```typescript
50
50
  * window.DEBUG.enable('foo-bar'); // show all debug messages from the `foo-bar` plugin
51
- * window.DEBUG.enable('foo-bar:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within the `foo-bar` plugin (it keeps its legacy `obsidian-dev-utils` namespace)
51
+ * window.DEBUG.enable('foo-bar:obsidian-lib:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within the `foo-bar` plugin
52
52
  * window.DEBUG.enable('foo-bar:*'); // show all debug messages from the `foo-bar` plugin and its submodules
53
- * window.DEBUG.enable('*:obsidian-dev-utils:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within any plugin
53
+ * window.DEBUG.enable('*:obsidian-lib:*'); // show all debug messages from `@mnaoumov/obsidian-lib` within any plugin
54
54
  * window.DEBUG.enable(['foo-bar', 'baz-qux']); // enable multiple namespaces
55
55
  * window.DEBUG.enable('foo-bar,baz-qux'); // enable multiple namespaces using comma-separated string
56
56
  * window.DEBUG.enable('*'); // show all debug messages
@@ -64,7 +64,9 @@ export declare function getLibDebugger(namespace: string): Debugger;
64
64
  */
65
65
  export declare function printWithStackTrace(params: PrintWithStackTraceParams): void;
66
66
  /**
67
- * Shows an initial debug message.
67
+ * Shows an initial debug message, telling the user how to disable the plugin's debug messages.
68
+ *
69
+ * Prints nothing while the plugin's debug messages are disabled, so a plugin in its default configuration writes nothing to the console.
68
70
  *
69
71
  * @param pluginId - The plugin ID.
70
72
  */
@@ -104,15 +104,10 @@ function printWithStackTrace(params) {
104
104
  debuggerInstance(message, ...$arguments, "\n\n---\nContext stack trace:\n", makeStackTraceError(stackTrace));
105
105
  }
106
106
  function showInitialDebugMessage(pluginId) {
107
- const isEnabled = getSharedDebugLibInstance().enabled(pluginId);
108
- const state = isEnabled ? "enabled" : "disabled";
109
- const changeAction = isEnabled ? "disable" : "enable";
110
- const namespaces = getNamespaces();
111
- setNamespaces(pluginId);
112
- getDebugger(pluginId)(
113
- `Debug messages for plugin ${pluginId} are ${state}.${formatGuideReference(` how to ${changeAction} them`)}`
114
- );
115
- setNamespaces(namespaces);
107
+ if (!getSharedDebugLibInstance().enabled(pluginId)) {
108
+ return;
109
+ }
110
+ getDebugger(pluginId)(`Debug messages for plugin ${pluginId} are enabled.${formatGuideReference(" how to disable them")}`);
116
111
  }
117
112
  function disableNamespaces(namespaces) {
118
113
  const set = new Set(getNamespaces());
@@ -184,4 +179,4 @@ export {
184
179
  printWithStackTrace,
185
180
  showInitialDebugMessage
186
181
  };
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGFsaWFzaW5nIGRlYnVnZ2VyJ3Mgb3duIGZyYW1lIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGBkZWJ1Z2AgcGFja2FnZTogdGhlIGBhcHBseWAgdHJhcCBvZiBpdHMgcHJveHkuXG4gKi9cbmNvbnN0IEFMSUFTX0ZSQU1FU19UT19TS0lQID0gMTtcbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogV2hlbiB0aGUgaG9zdCBzdXBwbGllZCBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZUFsaWFzZXNgLCBhIGZpbHRlciB3cml0dGVuIGZvciBhbiBhbGlhcyBzdGlsbCBzaG93cyB0aGUgbWVzc2FnZXMuXG4gKiBFYWNoIG1lc3NhZ2UgcHJpbnRzIE9OQ0U6IHVuZGVyIHRoZSBjdXJyZW50IG5hbWVzcGFjZSB3aGVuIGEgZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYVxuICogZmlsdGVyIGVuYWJsZXMuIFByaW50aW5nIHVuZGVyIGV2ZXJ5IGVuYWJsZWQgb25lIHdvdWxkIGRvdWJsZSBlYWNoIG1lc3NhZ2UgdW5kZXIgdGhlIG1vc3QgY29tbW9uIGZpbHRlciBvZiBhbGwsXG4gKiBgPHByZWZpeD4qYCwgd2hpY2ggZW5hYmxlcyB0aGVtIGFsbC5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGxpYnJhcnkgKHVuZGVyIGl0cyBkZWJ1ZyBuYW1lc3BhY2UsIHNlZSBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGFsaWFzZXMgPSBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlQWxpYXNlcztcbiAgaWYgKGFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGRlYnVnZ2VyIGNvbWVzIGZyb20gdGhlIHNoYXJlZCBjYWNoZSBgZ2V0RGVidWdnZXJgIGtlZXBzLCBzbyBvbmx5IHRoZSBjaGVhcCBwcm94eSBpcyBuZXcgb24gZWFjaCBjYWxsLCBhbmQgYVxuICAvLyBzcHkgaW5zdGFsbGVkIG9uIG9uZSBjYWxsJ3MgYGxvZ2AgaXMgdGhlIG9uZSB0aGUgbmV4dCBjYWxsIHJlYWNoZXMuXG4gIGNvbnN0IGN1cnJlbnREZWJ1Z2dlciA9IGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gLCBBTElBU19GUkFNRVNfVE9fU0tJUCk7XG4gIGNvbnN0IGFsaWFzRGVidWdnZXJzID0gYWxpYXNlcy5tYXAoKGFsaWFzKSA9PiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7YWxpYXN9OiR7bmFtZXNwYWNlfWAsIEFMSUFTX0ZSQU1FU19UT19TS0lQKSk7XG4gIGNvbnN0IGFsbERlYnVnZ2VycyA9IFtjdXJyZW50RGVidWdnZXIsIC4uLmFsaWFzRGVidWdnZXJzXTtcbiAgcmV0dXJuIG5ldyBQcm94eShjdXJyZW50RGVidWdnZXIsIHtcbiAgICBhcHBseShfdGFyZ2V0LCBfdGhpc0FyZ3VtZW50LCAkYXJndW1lbnRzOiBQYXJhbWV0ZXJzPERlYnVnZ2VyPik6IHZvaWQge1xuICAgICAgYWxsRGVidWdnZXJzLmZpbmQoKGRlYnVnZ2VySW5zdGFuY2UpID0+IGRlYnVnZ2VySW5zdGFuY2UuZW5hYmxlZCk/LiguLi4kYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3BlcnR5ID09PSAnZW5hYmxlZCcpIHtcbiAgICAgICAgcmV0dXJuIGFsbERlYnVnZ2Vycy5zb21lKChkZWJ1Z2dlckluc3RhbmNlKSA9PiBkZWJ1Z2dlckluc3RhbmNlLmVuYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBjb25zdCBpc0VuYWJsZWQgPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlZChwbHVnaW5JZCk7XG4gIGNvbnN0IHN0YXRlID0gaXNFbmFibGVkID8gJ2VuYWJsZWQnIDogJ2Rpc2FibGVkJztcbiAgY29uc3QgY2hhbmdlQWN0aW9uID0gaXNFbmFibGVkID8gJ2Rpc2FibGUnIDogJ2VuYWJsZSc7XG4gIGNvbnN0IG5hbWVzcGFjZXMgPSBnZXROYW1lc3BhY2VzKCk7XG4gIHNldE5hbWVzcGFjZXMocGx1Z2luSWQpO1xuICBnZXREZWJ1Z2dlcihwbHVnaW5JZCkoXG4gICAgYERlYnVnIG1lc3NhZ2VzIGZvciBwbHVnaW4gJHtwbHVnaW5JZH0gYXJlICR7c3RhdGV9LiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoYCBob3cgdG8gJHtjaGFuZ2VBY3Rpb259IHRoZW1gKX1gXG4gICk7XG4gIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlcyk7XG59XG5cbmZ1bmN0aW9uIGRpc2FibGVOYW1lc3BhY2VzKG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gIGNvbnN0IHNldCA9IG5ldyBTZXQoZ2V0TmFtZXNwYWNlcygpKTtcbiAgZm9yIChjb25zdCBuYW1lc3BhY2Ugb2YgdG9BcnJheShuYW1lc3BhY2VzKSkge1xuICAgIGlmIChuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3QgbmVnYXRlZE5hbWVzcGFjZSA9IE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCArIG5hbWVzcGFjZTtcbiAgICBzZXQuZGVsZXRlKG5hbWVzcGFjZSk7XG4gICAgc2V0LmFkZChuZWdhdGVkTmFtZXNwYWNlKTtcbiAgfVxuICBzZXROYW1lc3BhY2VzKFsuLi5zZXRdKTtcbn1cblxuZnVuY3Rpb24gZW5hYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAoIW5hbWVzcGFjZS5zdGFydHNXaXRoKE5FR0FURURfTkFNRVNQQUNFX1BSRUZJWCkpIHtcbiAgICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgICBzZXQuZGVsZXRlKG5lZ2F0ZWROYW1lc3BhY2UpO1xuICAgIH1cbiAgICBzZXQuYWRkKG5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGZvcm1hdEd1aWRlUmVmZXJlbmNlKHN1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIExpYnJhcnkuZGVidWdHdWlkZVVybCA/IGAgU2VlICR7TGlicmFyeS5kZWJ1Z0d1aWRlVXJsfSR7c3VmZml4fS5gIDogJyc7XG59XG5cbmZ1bmN0aW9uIGdldE5hbWVzcGFjZXMoKTogc3RyaW5nW10ge1xuICByZXR1cm4gdG9BcnJheShnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkubG9hZCgpID8/ICcnKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpOiB0eXBlb2YgZGVidWcge1xuICByZXR1cm4gZ2V0VHlwZXNjcmlwdExpYlN0YXRlKCdkZWJ1ZycsIGRlYnVnKS52YWx1ZTtcbn1cblxuZnVuY3Rpb24gbG9nV2l0aENhbGxlcihwYXJhbXM6IExvZ1dpdGhDYWxsZXJQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3Qge1xuICAgICRhcmd1bWVudHMsXG4gICAgZnJhbWVzVG9Ta2lwLFxuICAgIG1lc3NhZ2UsXG4gICAgbmFtZXNwYWNlXG4gIH0gPSBwYXJhbXM7XG4gIGlmICghZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZWQobmFtZXNwYWNlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmICghTGlicmFyeS5zaG91bGRQcmludFN0YWNrVHJhY2UpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY2FsbGVyIGlzIDMgZnJhbWVzIGFib3ZlIHRoaXMgb25lLCBiZWNhdXNlIHRoZSBjYWxsIHN0YWNrIGlzIGFzIGZvbGxvd3M6XG4gICAqXG4gICAqIDA6IGxvZ1dpdGhDYWxsZXJcbiAgICogMTogZGVidWdJbnN0YW5jZS5sb2dcbiAgICogMjogZGVidWdcbiAgICogMzogZnVuY3Rpb25OYW1lICh0aGUgY2FsbGVyKVxuICAgKlxuICAgKiBgZ2V0U3RhY2tUcmFjZWAgZHJvcHMgaXRzIG93biBmcmFtZSBhbmQsIG9uIGFuIGVuZ2luZSB0aGF0IHdyaXRlcyBvbmUsIHRoZSBgRXJyb3JgIGhlYWRlciBsaW5lLlxuICAgKi9cbiAgY29uc3QgQ0FMTEVSX0ZSQU1FX0lOREVYID0gMztcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzLCAnXFxuXFxuLS0tXFxuTG9nZ2VyIHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3IoZ2V0U3RhY2tUcmFjZShDQUxMRVJfRlJBTUVfSU5ERVggKyBmcmFtZXNUb1NraXApKSk7XG59XG5cbmZ1bmN0aW9uIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZTogc3RyaW5nKTogQ3VzdG9tU3RhY2tUcmFjZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3Ioe1xuICAgIGNhdXNlOiB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogYERlYnVnIG1vZGU6IGludGVudGlvbmFsIHBsYWNlaG9sZGVyIGVycm9yLiR7Zm9ybWF0R3VpZGVSZWZlcmVuY2UoJycpfWAsXG4gICAgc3RhY2tUcmFjZVxuICB9KTtcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlcyAtIFRoZSBuYW1lc3BhY2VzIHRvIGVuYWJsZS5cbiAqL1xuZnVuY3Rpb24gc2V0TmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkuZW5hYmxlKHRvQXJyYXkobmFtZXNwYWNlcykuam9pbihOQU1FU1BBQ0VfU0VQQVJBVE9SKSk7XG59XG5cbmZ1bmN0aW9uIHRvQXJyYXkobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiB0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzLnNwbGl0KE5BTUVTUEFDRV9TRVBBUkFUT1IpLmZpbHRlcihCb29sZWFuKSA6IG5hbWVzcGFjZXMuZmxhdE1hcCgobmFtZXNwYWNlKSA9PiB0b0FycmF5KG5hbWVzcGFjZSkpO1xufVxuIl0sIm1hcHBpbmdz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
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIGRlYnVnZ2luZy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnZ2VyIH0gZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuXG5pbXBvcnQgdHlwZSB7IERlYnVnQ29udHJvbGxlciB9IGZyb20gJy4vZGVidWctY29udHJvbGxlci50cyc7XG5cbmltcG9ydCB7XG4gIEN1c3RvbVN0YWNrVHJhY2VFcnJvcixcbiAgZ2V0U3RhY2tUcmFjZVxufSBmcm9tICcuL2Vycm9yLnRzJztcbmltcG9ydCB7IExpYnJhcnkgfSBmcm9tICcuL2xpYnJhcnkudHMnO1xuaW1wb3J0IHsgZ2V0VHlwZXNjcmlwdExpYlN0YXRlIH0gZnJvbSAnLi90eXBlc2NyaXB0LWxpYi1zdGF0ZS50cyc7XG5cbi8qKlxuICogVGhlIGFsaWFzaW5nIGRlYnVnZ2VyJ3Mgb3duIGZyYW1lIGJldHdlZW4gdGhlIGNhbGxlciBhbmQgdGhlIGBkZWJ1Z2AgcGFja2FnZTogdGhlIGBhcHBseWAgdHJhcCBvZiBpdHMgcHJveHkuXG4gKi9cbmNvbnN0IEFMSUFTX0ZSQU1FU19UT19TS0lQID0gMTtcbmNvbnN0IE5BTUVTUEFDRV9TRVBBUkFUT1IgPSAnLCc7XG5jb25zdCBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggPSAnLSc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHByaW50V2l0aFN0YWNrVHJhY2V9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFByaW50V2l0aFN0YWNrVHJhY2VQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGFyZ3VtZW50cyB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5ICRhcmd1bWVudHM6IHVua25vd25bXTtcblxuICAvKipcbiAgICogVGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWdnZXJJbnN0YW5jZTogRGVidWdnZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhY2sgdHJhY2UgdG8gcHJpbnQuXG4gICAqL1xuICByZWFkb25seSBzdGFja1RyYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGxvZ1dpdGhDYWxsZXJ9LlxuICovXG5pbnRlcmZhY2UgTG9nV2l0aENhbGxlclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXJndW1lbnRzIHRvIHByaW50LlxuICAgKi9cbiAgcmVhZG9ubHkgJGFyZ3VtZW50czogdW5rbm93bltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGZyYW1lcyB0byBza2lwIGluIHRoZSBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGZyYW1lc1RvU2tpcDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBwcmludC5cbiAgICovXG4gIHJlYWRvbmx5IG1lc3NhZ2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZXNwYWNlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogRW5hYmxlcyB0aGUgZGVidWdnZXJzIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmFibGVMaWJyYXJ5RGVidWdnZXJzKCk6IHZvaWQge1xuICBlbmFibGVOYW1lc3BhY2VzKFtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlLCBgJHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToqYF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBkZWJ1ZyBjb250cm9sbGVyLlxuICpcbiAqIEByZXR1cm5zIEEgZGVidWcgY29udHJvbGxlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERlYnVnQ29udHJvbGxlcigpOiBEZWJ1Z0NvbnRyb2xsZXIge1xuICByZXR1cm4ge1xuICAgIGRpc2FibGU6IGRpc2FibGVOYW1lc3BhY2VzLFxuICAgIGVuYWJsZTogZW5hYmxlTmFtZXNwYWNlcyxcbiAgICBnZXQ6IGdldE5hbWVzcGFjZXMsXG4gICAgc2V0OiBzZXROYW1lc3BhY2VzXG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIHdpdGggYSBsb2cgZnVuY3Rpb24gdGhhdCBpbmNsdWRlcyB0aGUgY2FsbGVyJ3MgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHBhcmFtIGZyYW1lc1RvU2tpcCAtIFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIHNraXAgaW4gdGhlIHN0YWNrIHRyYWNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSB3aXRoIGEgbG9nIGZ1bmN0aW9uIHRoYXQgaW5jbHVkZXMgdGhlIGNhbGxlcidzIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWJ1Z2dlcihuYW1lc3BhY2U6IHN0cmluZywgZnJhbWVzVG9Ta2lwID0gMCk6IERlYnVnZ2VyIHtcbiAgY29uc3Qga2V5ID0gYCR7bmFtZXNwYWNlfToke1N0cmluZyhmcmFtZXNUb1NraXApfWA7XG4gIGNvbnN0IGRlYnVnZ2Vyc01hcCA9IGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWdnZXJzJywgbmV3IE1hcDxzdHJpbmcsIERlYnVnZ2VyPigpKS52YWx1ZTtcbiAgbGV0IGRlYnVnZ2VyRXggPSBkZWJ1Z2dlcnNNYXAuZ2V0KGtleSk7XG4gIGlmICghZGVidWdnZXJFeCkge1xuICAgIGRlYnVnZ2VyRXggPSBnZXRTaGFyZWREZWJ1Z0xpYkluc3RhbmNlKCkobmFtZXNwYWNlKTtcbiAgICBkZWJ1Z2dlckV4LmxvZyA9IChtZXNzYWdlOiBzdHJpbmcsIC4uLiRhcmd1bWVudHM6IHVua25vd25bXSk6IHZvaWQgPT4ge1xuICAgICAgbG9nV2l0aENhbGxlcih7XG4gICAgICAgICRhcmd1bWVudHMsXG4gICAgICAgIGZyYW1lc1RvU2tpcCxcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgbmFtZXNwYWNlXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgZGVidWdnZXJzTWFwLnNldChrZXksIGRlYnVnZ2VyRXgpO1xuICB9XG5cbiAgcmV0dXJuIGRlYnVnZ2VyRXg7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIGRlYnVnZ2VyIGluc3RhbmNlIGZvciB0aGUgbGlicmFyeSAodW5kZXIgaXRzIGRlYnVnIG5hbWVzcGFjZSwgc2VlIGBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlYCkuXG4gKlxuICogV2hlbiB0aGUgaG9zdCBzdXBwbGllZCBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZUFsaWFzZXNgLCBhIGZpbHRlciB3cml0dGVuIGZvciBhbiBhbGlhcyBzdGlsbCBzaG93cyB0aGUgbWVzc2FnZXMuXG4gKiBFYWNoIG1lc3NhZ2UgcHJpbnRzIE9OQ0U6IHVuZGVyIHRoZSBjdXJyZW50IG5hbWVzcGFjZSB3aGVuIGEgZmlsdGVyIGVuYWJsZXMgaXQsIG90aGVyd2lzZSB1bmRlciB0aGUgZmlyc3QgYWxpYXMgYVxuICogZmlsdGVyIGVuYWJsZXMuIFByaW50aW5nIHVuZGVyIGV2ZXJ5IGVuYWJsZWQgb25lIHdvdWxkIGRvdWJsZSBlYWNoIG1lc3NhZ2UgdW5kZXIgdGhlIG1vc3QgY29tbW9uIGZpbHRlciBvZiBhbGwsXG4gKiBgPHByZWZpeD4qYCwgd2hpY2ggZW5hYmxlcyB0aGVtIGFsbC5cbiAqXG4gKiBAcGFyYW0gbmFtZXNwYWNlIC0gVGhlIG5hbWVzcGFjZSBmb3IgdGhlIGRlYnVnZ2VyIGluc3RhbmNlLlxuICogQHJldHVybnMgQSBkZWJ1Z2dlciBpbnN0YW5jZSBmb3IgdGhlIGxpYnJhcnkgKHVuZGVyIGl0cyBkZWJ1ZyBuYW1lc3BhY2UsIHNlZSBgTGlicmFyeS5kZWJ1Z05hbWVzcGFjZWApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TGliRGVidWdnZXIobmFtZXNwYWNlOiBzdHJpbmcpOiBEZWJ1Z2dlciB7XG4gIGNvbnN0IGFsaWFzZXMgPSBMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlQWxpYXNlcztcbiAgaWYgKGFsaWFzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gKTtcbiAgfVxuXG4gIC8vIEV2ZXJ5IGRlYnVnZ2VyIGNvbWVzIGZyb20gdGhlIHNoYXJlZCBjYWNoZSBgZ2V0RGVidWdnZXJgIGtlZXBzLCBzbyBvbmx5IHRoZSBjaGVhcCBwcm94eSBpcyBuZXcgb24gZWFjaCBjYWxsLCBhbmQgYVxuICAvLyBzcHkgaW5zdGFsbGVkIG9uIG9uZSBjYWxsJ3MgYGxvZ2AgaXMgdGhlIG9uZSB0aGUgbmV4dCBjYWxsIHJlYWNoZXMuXG4gIGNvbnN0IGN1cnJlbnREZWJ1Z2dlciA9IGdldERlYnVnZ2VyKGAke0xpYnJhcnkuZGVidWdQcmVmaXhOYW1lc3BhY2V9JHtMaWJyYXJ5LmRlYnVnTmFtZXNwYWNlfToke25hbWVzcGFjZX1gLCBBTElBU19GUkFNRVNfVE9fU0tJUCk7XG4gIGNvbnN0IGFsaWFzRGVidWdnZXJzID0gYWxpYXNlcy5tYXAoKGFsaWFzKSA9PiBnZXREZWJ1Z2dlcihgJHtMaWJyYXJ5LmRlYnVnUHJlZml4TmFtZXNwYWNlfSR7YWxpYXN9OiR7bmFtZXNwYWNlfWAsIEFMSUFTX0ZSQU1FU19UT19TS0lQKSk7XG4gIGNvbnN0IGFsbERlYnVnZ2VycyA9IFtjdXJyZW50RGVidWdnZXIsIC4uLmFsaWFzRGVidWdnZXJzXTtcbiAgcmV0dXJuIG5ldyBQcm94eShjdXJyZW50RGVidWdnZXIsIHtcbiAgICBhcHBseShfdGFyZ2V0LCBfdGhpc0FyZ3VtZW50LCAkYXJndW1lbnRzOiBQYXJhbWV0ZXJzPERlYnVnZ2VyPik6IHZvaWQge1xuICAgICAgYWxsRGVidWdnZXJzLmZpbmQoKGRlYnVnZ2VySW5zdGFuY2UpID0+IGRlYnVnZ2VySW5zdGFuY2UuZW5hYmxlZCk/LiguLi4kYXJndW1lbnRzKTtcbiAgICB9LFxuICAgIGdldCh0YXJnZXQsIHByb3BlcnR5LCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3BlcnR5ID09PSAnZW5hYmxlZCcpIHtcbiAgICAgICAgcmV0dXJuIGFsbERlYnVnZ2Vycy5zb21lKChkZWJ1Z2dlckluc3RhbmNlKSA9PiBkZWJ1Z2dlckluc3RhbmNlLmVuYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB2YWx1ZTogdW5rbm93biA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHJlY2VpdmVyKTtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFByaW50cyBhIG1lc3NhZ2Ugd2l0aCBhIHN0YWNrIHRyYWNlLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgcHJpbnRpbmcgdGhlIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmludFdpdGhTdGFja1RyYWNlKHBhcmFtczogUHJpbnRXaXRoU3RhY2tUcmFjZVBhcmFtcyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgJGFyZ3VtZW50cyxcbiAgICBkZWJ1Z2dlckluc3RhbmNlLFxuICAgIG1lc3NhZ2UsXG4gICAgc3RhY2tUcmFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgZGVidWdnZXJJbnN0YW5jZShtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBkZWJ1Z2dlckluc3RhbmNlKG1lc3NhZ2UsIC4uLiRhcmd1bWVudHMsICdcXG5cXG4tLS1cXG5Db250ZXh0IHN0YWNrIHRyYWNlOlxcbicsIG1ha2VTdGFja1RyYWNlRXJyb3Ioc3RhY2tUcmFjZSkpO1xufVxuXG4vKipcbiAqIFNob3dzIGFuIGluaXRpYWwgZGVidWcgbWVzc2FnZSwgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gZGlzYWJsZSB0aGUgcGx1Z2luJ3MgZGVidWcgbWVzc2FnZXMuXG4gKlxuICogUHJpbnRzIG5vdGhpbmcgd2hpbGUgdGhlIHBsdWdpbidzIGRlYnVnIG1lc3NhZ2VzIGFyZSBkaXNhYmxlZCwgc28gYSBwbHVnaW4gaW4gaXRzIGRlZmF1bHQgY29uZmlndXJhdGlvbiB3cml0ZXMgbm90aGluZyB0byB0aGUgY29uc29sZS5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElELlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0luaXRpYWxEZWJ1Z01lc3NhZ2UocGx1Z2luSWQ6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIWdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKS5lbmFibGVkKHBsdWdpbklkKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGdldERlYnVnZ2VyKHBsdWdpbklkKShgRGVidWcgbWVzc2FnZXMgZm9yIHBsdWdpbiAke3BsdWdpbklkfSBhcmUgZW5hYmxlZC4ke2Zvcm1hdEd1aWRlUmVmZXJlbmNlKCcgaG93IHRvIGRpc2FibGUgdGhlbScpfWApO1xufVxuXG5mdW5jdGlvbiBkaXNhYmxlTmFtZXNwYWNlcyhuYW1lc3BhY2VzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICBjb25zdCBzZXQgPSBuZXcgU2V0KGdldE5hbWVzcGFjZXMoKSk7XG4gIGZvciAoY29uc3QgbmFtZXNwYWNlIG9mIHRvQXJyYXkobmFtZXNwYWNlcykpIHtcbiAgICBpZiAobmFtZXNwYWNlLnN0YXJ0c1dpdGgoTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IG5lZ2F0ZWROYW1lc3BhY2UgPSBORUdBVEVEX05BTUVTUEFDRV9QUkVGSVggKyBuYW1lc3BhY2U7XG4gICAgc2V0LmRlbGV0ZShuYW1lc3BhY2UpO1xuICAgIHNldC5hZGQobmVnYXRlZE5hbWVzcGFjZSk7XG4gIH1cbiAgc2V0TmFtZXNwYWNlcyhbLi4uc2V0XSk7XG59XG5cbmZ1bmN0aW9uIGVuYWJsZU5hbWVzcGFjZXMobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgY29uc3Qgc2V0ID0gbmV3IFNldChnZXROYW1lc3BhY2VzKCkpO1xuICBmb3IgKGNvbnN0IG5hbWVzcGFjZSBvZiB0b0FycmF5KG5hbWVzcGFjZXMpKSB7XG4gICAgaWYgKCFuYW1lc3BhY2Uuc3RhcnRzV2l0aChORUdBVEVEX05BTUVTUEFDRV9QUkVGSVgpKSB7XG4gICAgICBjb25zdCBuZWdhdGVkTmFtZXNwYWNlID0gTkVHQVRFRF9OQU1FU1BBQ0VfUFJFRklYICsgbmFtZXNwYWNlO1xuICAgICAgc2V0LmRlbGV0ZShuZWdhdGVkTmFtZXNwYWNlKTtcbiAgICB9XG4gICAgc2V0LmFkZChuYW1lc3BhY2UpO1xuICB9XG4gIHNldE5hbWVzcGFjZXMoWy4uLnNldF0pO1xufVxuXG5mdW5jdGlvbiBmb3JtYXRHdWlkZVJlZmVyZW5jZShzdWZmaXg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBMaWJyYXJ5LmRlYnVnR3VpZGVVcmwgPyBgIFNlZSAke0xpYnJhcnkuZGVidWdHdWlkZVVybH0ke3N1ZmZpeH0uYCA6ICcnO1xufVxuXG5mdW5jdGlvbiBnZXROYW1lc3BhY2VzKCk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHRvQXJyYXkoZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmxvYWQoKSA/PyAnJyk7XG59XG5cbmZ1bmN0aW9uIGdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKTogdHlwZW9mIGRlYnVnIHtcbiAgcmV0dXJuIGdldFR5cGVzY3JpcHRMaWJTdGF0ZSgnZGVidWcnLCBkZWJ1ZykudmFsdWU7XG59XG5cbmZ1bmN0aW9uIGxvZ1dpdGhDYWxsZXIocGFyYW1zOiBMb2dXaXRoQ2FsbGVyUGFyYW1zKTogdm9pZCB7XG4gIGNvbnN0IHtcbiAgICAkYXJndW1lbnRzLFxuICAgIGZyYW1lc1RvU2tpcCxcbiAgICBtZXNzYWdlLFxuICAgIG5hbWVzcGFjZVxuICB9ID0gcGFyYW1zO1xuICBpZiAoIWdldFNoYXJlZERlYnVnTGliSW5zdGFuY2UoKS5lbmFibGVkKG5hbWVzcGFjZSkpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoIUxpYnJhcnkuc2hvdWxkUHJpbnRTdGFja1RyYWNlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgLS0gVmFsaWQgdXNhZ2UuXG4gICAgY29uc29sZS5kZWJ1ZyhtZXNzYWdlLCAuLi4kYXJndW1lbnRzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGNhbGxlciBpcyAzIGZyYW1lcyBhYm92ZSB0aGlzIG9uZSwgYmVjYXVzZSB0aGUgY2FsbCBzdGFjayBpcyBhcyBmb2xsb3dzOlxuICAgKlxuICAgKiAwOiBsb2dXaXRoQ2FsbGVyXG4gICAqIDE6IGRlYnVnSW5zdGFuY2UubG9nXG4gICAqIDI6IGRlYnVnXG4gICAqIDM6IGZ1bmN0aW9uTmFtZSAodGhlIGNhbGxlcilcbiAgICpcbiAgICogYGdldFN0YWNrVHJhY2VgIGRyb3BzIGl0cyBvd24gZnJhbWUgYW5kLCBvbiBhbiBlbmdpbmUgdGhhdCB3cml0ZXMgb25lLCB0aGUgYEVycm9yYCBoZWFkZXIgbGluZS5cbiAgICovXG4gIGNvbnN0IENBTExFUl9GUkFNRV9JTkRFWCA9IDM7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgLS0gVmFsaWQgdXNhZ2UuXG4gIGNvbnNvbGUuZGVidWcobWVzc2FnZSwgLi4uJGFyZ3VtZW50cywgJ1xcblxcbi0tLVxcbkxvZ2dlciBzdGFjayB0cmFjZTpcXG4nLCBtYWtlU3RhY2tUcmFjZUVycm9yKGdldFN0YWNrVHJhY2UoQ0FMTEVSX0ZSQU1FX0lOREVYICsgZnJhbWVzVG9Ta2lwKSkpO1xufVxuXG5mdW5jdGlvbiBtYWtlU3RhY2tUcmFjZUVycm9yKHN0YWNrVHJhY2U6IHN0cmluZyk6IEN1c3RvbVN0YWNrVHJhY2VFcnJvciB7XG4gIHJldHVybiBuZXcgQ3VzdG9tU3RhY2tUcmFjZUVycm9yKHtcbiAgICBjYXVzZTogdW5kZWZpbmVkLFxuICAgIG1lc3NhZ2U6IGBEZWJ1ZyBtb2RlOiBpbnRlbnRpb25hbCBwbGFjZWhvbGRlciBlcnJvci4ke2Zvcm1hdEd1aWRlUmVmZXJlbmNlKCcnKX1gLFxuICAgIHN0YWNrVHJhY2VcbiAgfSk7XG59XG5cbi8qKlxuICogU2V0cyB0aGUgbmFtZXNwYWNlcyB0byBlbmFibGUuXG4gKlxuICogQHBhcmFtIG5hbWVzcGFjZXMgLSBUaGUgbmFtZXNwYWNlcyB0byBlbmFibGUuXG4gKi9cbmZ1bmN0aW9uIHNldE5hbWVzcGFjZXMobmFtZXNwYWNlczogc3RyaW5nIHwgc3RyaW5nW10pOiB2b2lkIHtcbiAgZ2V0U2hhcmVkRGVidWdMaWJJbnN0YW5jZSgpLmVuYWJsZSh0b0FycmF5KG5hbWVzcGFjZXMpLmpvaW4oTkFNRVNQQUNFX1NFUEFSQVRPUikpO1xufVxuXG5mdW5jdGlvbiB0b0FycmF5KG5hbWVzcGFjZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogc3RyaW5nW10ge1xuICByZXR1cm4gdHlwZW9mIG5hbWVzcGFjZXMgPT09ICdzdHJpbmcnID8gbmFtZXNwYWNlcy5zcGxpdChOQU1FU1BBQ0VfU0VQQVJBVE9SKS5maWx0ZXIoQm9vbGVhbikgOiBuYW1lc3BhY2VzLmZsYXRNYXAoKG5hbWVzcGFjZSkgPT4gdG9BcnJheShuYW1lc3BhY2UpKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7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
@@ -35,6 +35,7 @@ import {
35
35
  ensureStartsWith,
36
36
  replaceAll
37
37
  } from "./string.mjs";
38
+ const ROOTED_WINDOWS_DRIVE_ROOT_REG_EXP = /^\/[a-zA-Z]:$/;
38
39
  const WINDOWS_DRIVE_REG_EXP = /^[a-zA-Z]:\//;
39
40
  const WINDOWS_POSIX_LIKE_PATH_REG_EXP = /[a-zA-Z]:\/[^:]*$/;
40
41
  const posix = pathBrowserify.posix;
@@ -78,6 +79,9 @@ function resolve(...pathSegments) {
78
79
  rootedSegments.unshift(toRootedPosixPath(process.cwd()));
79
80
  }
80
81
  const path = posix.resolve(...rootedSegments);
82
+ if (ROOTED_WINDOWS_DRIVE_ROOT_REG_EXP.test(path)) {
83
+ return `${path.slice(1)}/`;
84
+ }
81
85
  const match = WINDOWS_POSIX_LIKE_PATH_REG_EXP.exec(path);
82
86
  return match?.[0] ?? path;
83
87
  }
@@ -119,4 +123,4 @@ export {
119
123
  toPosixBuffer,
120
124
  toPosixPath
121
125
  };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXRoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGhCcm93c2VyaWZ5IGZyb20gJ3BhdGgtYnJvd3NlcmlmeSc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIHJlcGxhY2VBbGxcbn0gZnJvbSAnLi9zdHJpbmcudHMnO1xuXG5jb25zdCBXSU5ET1dTX0RSSVZFX1JFR19FWFAgPSAvXlthLXpBLVpdOlxcLy87XG5jb25zdCBXSU5ET1dTX1BPU0lYX0xJS0VfUEFUSF9SRUdfRVhQID0gL1thLXpBLVpdOlxcL1teOl0qJC87XG5cbi8qKlxuICogUHJvdmlkZXMgbWV0aG9kcyBmb3IgaGFuZGxpbmcgUE9TSVggcGF0aHMuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3NpeCA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4O1xuXG4vKipcbiAqIEEgUE9TSVggcGF0aCBkZWxpbWl0ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWxpbWl0ZXIgPSBwb3NpeC5kZWxpbWl0ZXI7XG5cbi8qKlxuICogQSBQT1NJWCBzZWdtZW50IHNlcGFyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlcGFyYXRvciA9IHBhdGhCcm93c2VyaWZ5LnBvc2l4LnNlcDtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIG5hbWUgb2YgYSBmaWxlLCBvcHRpb25hbGx5IHJlbW92aW5nIHRoZSBmaWxlIGV4dGVuc2lvbi5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGdldCB0aGUgYmFzZSBuYW1lIGZyb20uXG4gKiBAcGFyYW0gZXh0IC0gQW4gb3B0aW9uYWwgZXh0ZW5zaW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBiYXNlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgYmFzZSBuYW1lIG9mIHRoZSBmaWxlLlxuICovXG5leHBvcnQgY29uc3QgYmFzZW5hbWUgPSBwb3NpeC5iYXNlbmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBkaXJlY3RvcnkgbmFtZSBvZiBhIHBhdGguXG4gKlxuICogYGRpcmVjdG9yeWAgaXMgdXNlZCBpbnN0ZWFkIG9mIGBmb2xkZXJgIHRvIHByZXNlcnZlIGNvbXBhdGliaWxpdHkgd2l0aCBgbm9kZTpwYXRoYCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGRpcmVjdG9yeSBuYW1lIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgZGlyZWN0b3J5IG5hbWUgb2YgdGhlIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBkaXJuYW1lID0gcG9zaXguZGlybmFtZTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBmaWxlIGV4dGVuc2lvbiBvZiBhIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGV4dGVuc2lvbiBmcm9tLlxuICogQHJldHVybnMgVGhlIGZpbGUgZXh0ZW5zaW9uIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZXh0bmFtZSA9IHBvc2l4LmV4dG5hbWU7XG5cbi8qKlxuICogRm9ybWF0cyBhIHBhdGggb2JqZWN0IGludG8gYSBwYXRoIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gcGF0aE9iamVjdCAtIFRoZSBwYXRoIG9iamVjdCB0byBmb3JtYXQuXG4gKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHBhdGggc3RyaW5nLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0ID0gcG9zaXguZm9ybWF0O1xuXG4vKipcbiAqIERldGVybWluZXMgaWYgYSBwYXRoIGlzIGFic29sdXRlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNBYnNvbHV0ZShwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHBvc2l4LmlzQWJzb2x1dGUocGF0aCkgfHwgV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUC5leGVjKHBhdGgpPy5bMF0gPT09IHBhdGg7XG59XG5cbi8qKlxuICogSm9pbnMgbXVsdGlwbGUgcGF0aCBzZWdtZW50cyBpbnRvIGEgc2luZ2xlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhzIC0gVGhlIHBhdGggc2VnbWVudHMgdG8gam9pbi5cbiAqIEByZXR1cm5zIFRoZSBqb2luZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGpvaW4gPSBwb3NpeC5qb2luO1xuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBwYXRoLCByZXNvbHZpbmcgJy4uJyBhbmQgJy4nIHNlZ21lbnRzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZVBhdGggPSBwb3NpeC5ub3JtYWxpemU7XG5cbi8qKlxuICogUGFyc2VzIGEgcGF0aCBzdHJpbmcgaW50byBhIHBhdGggb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggc3RyaW5nIHRvIHBhcnNlLlxuICogQHJldHVybnMgVGhlIHBhcnNlZCBwYXRoIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlID0gcG9zaXgucGFyc2U7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIG1ha2VGaWxlTmFtZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWFrZUZpbGVOYW1lUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIG5hbWUgdG8gYXBwZW5kIHRoZSBleHRlbnNpb24gdG8uXG4gICAqL1xuICByZWFkb25seSBmaWxlQmFzZU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGV4dGVuc2lvbiB0byBhcHBlbmQgdG8gdGhlIGZpbGUgbmFtZS5cbiAgICovXG4gIHJlYWRvbmx5IGZpbGVFeHRlbnNpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBmaWxlIG5hbWUgZnJvbSB0aGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCwgY29udmVydGluZyBpdCB0byBhIFBPU0lYLXN0eWxlIHBhdGguXG4gKlxuICogQHBhcmFtIGltcG9ydE1ldGFVcmwgLSBUaGUgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCBmcm9tIHdoaWNoIHRvIGV4dHJhY3QgdGhlIGZpbGUgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmaWxlIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGaWxlTmFtZShpbXBvcnRNZXRhVXJsOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzb2x2ZShkZWNvZGVVUkkobmV3IFVSTChpbXBvcnRNZXRhVXJsKS5wYXRobmFtZSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGZvbGRlciBuYW1lIGZyb20gdGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBmb2xkZXIgbmFtZS5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBmb2xkZXIgbmFtZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEZvbGRlck5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGRpcm5hbWUoZ2V0RmlsZU5hbWUoaW1wb3J0TWV0YVVybCkpO1xufVxuXG4vKipcbiAqIE1ha2VzIGEgZmlsZSBuYW1lIGJ5IGFwcGVuZGluZyBhbiBleHRlbnNpb24gdG8gYSBnaXZlbiBmaWxlIG5hbWUuXG4gKiBJZiB0aGUgZXh0ZW5zaW9uIGlzIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHJldHVybmVkIGFzIGlzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgbWFraW5nIHRoZSBmaWxlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgZmlsZSBuYW1lIHdpdGggdGhlIGV4dGVuc2lvbiBhcHBlbmRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ha2VGaWxlTmFtZShwYXJhbXM6IE1ha2VGaWxlTmFtZVBhcmFtcyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXJhbXMuZmlsZUV4dGVuc2lvbiA/IGAke3BhcmFtcy5maWxlQmFzZU5hbWV9LiR7cGFyYW1zLmZpbGVFeHRlbnNpb259YCA6IHBhcmFtcy5maWxlQmFzZU5hbWU7XG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBhIGdpdmVuIHBhdGggYnkgZW5zdXJpbmcgaXQgaXMgcmVsYXRpdmUsIGFkZGluZyBcIi4vXCIgaWYgbmVjZXNzYXJ5LlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gbm9ybWFsaXplLlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcGF0aCwgc3RhcnRpbmcgd2l0aCBcIi4vXCIgaWYgaXQgd2FzIHJlbGF0aXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSWZSZWxhdGl2ZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5zdGFydHNXaXRoKCcvJykgfHwgcGF0aC5pbmNsdWRlcygnOicpXG4gICAgPyBwYXRoXG4gICAgOiBlbnN1cmVTdGFydHNXaXRoKHtcbiAgICAgICRzdHJpbmc6IHBhdGgsXG4gICAgICBwcmVmaXg6ICcuLydcbiAgICB9KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByZWxhdGl2ZSBwYXRoIGZyb20gb25lIHBhdGggdG8gYW5vdGhlci5cbiAqXG4gKiBgcGF0aC1icm93c2VyaWZ5YCdzIG93biBgcmVsYXRpdmVgIGNhbm5vdCBiZSB1c2VkIGRpcmVjdGx5OiBpdCByZXNvbHZlcyBhIHJlbGF0aXZlIGFyZ3VtZW50IGFnYWluc3RcbiAqIGBwcm9jZXNzLmN3ZCgpYCwgd2hpY2ggb24gV2luZG93cyBpcyBgRjpcXC4uLmAgcmF0aGVyIHRoYW4gYSBQT1NJWCBhYnNvbHV0ZSBwYXRoLCBhbmQgaXRzIHNsaWNpbmcgdGhlbiBhc3N1bWVzIGFcbiAqIGxlYWRpbmcgYC9gIC0gc28gYHJlbGF0aXZlKCdzcmMnLCAnLi4veCcpYCBjYW1lIGJhY2sgYXMgYCcuLi8uLngnYC4gQm90aCBhcmd1bWVudHMgYXJlIHJlc29sdmVkIHRocm91Z2hcbiAqIHtAbGluayByZXNvbHZlfSBoZXJlIGluc3RlYWQsIGFuZCByb290ZWQgYXQgYC9gIGJlZm9yZSB0aGUgUE9TSVggY29tcGFyaXNvbi5cbiAqXG4gKiBAcGFyYW0gZnJvbSAtIFRoZSBzdGFydGluZyBwYXRoLlxuICogQHBhcmFtIHRvIC0gVGhlIGRlc3RpbmF0aW9uIHBhdGguXG4gKiBAcmV0dXJucyBUaGUgcmVsYXRpdmUgcGF0aCBmcm9tIGBmcm9tYCB0byBgdG9gLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVsYXRpdmUoZnJvbTogc3RyaW5nLCB0bzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcmVzb2x2ZWRGcm9tID0gcmVzb2x2ZShmcm9tKTtcbiAgY29uc3QgcmVzb2x2ZWRUbyA9IHJlc29sdmUodG8pO1xuICBjb25zdCBmcm9tRHJpdmUgPSBXSU5ET1dTX0RSSVZFX1JFR19FWFAuZXhlYyhyZXNvbHZlZEZyb20pPy5bMF0udG9VcHBlckNhc2UoKTtcbiAgY29uc3QgdG9Ecml2ZSA9IFdJTkRPV1NfRFJJVkVfUkVHX0VYUC5leGVjKHJlc29sdmVkVG8pPy5bMF0udG9VcHBlckNhc2UoKTtcbiAgcmV0dXJuIGZyb21Ecml2ZSA9PT0gdG9Ecml2ZVxuICAgID8gcG9zaXgucmVsYXRpdmUodG9Sb290ZWRQb3NpeFBhdGgodXBwZXJDYXNlRHJpdmUocmVzb2x2ZWRGcm9tKSksIHRvUm9vdGVkUG9zaXhQYXRoKHVwcGVyQ2FzZURyaXZlKHJlc29sdmVkVG8pKSlcbiAgICA6IHJlc29sdmVkVG87XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgYSBzZXF1ZW5jZSBvZiBwYXRocyBvciBwYXRoIHNlZ21lbnRzIGludG8gYW4gYWJzb2x1dGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gcGF0aFNlZ21lbnRzIC0gVGhlIHNlcXVlbmNlIG9mIHBhdGggc2VnbWVudHMgdG8gcmVzb2x2ZS5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBhYnNvbHV0ZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZSguLi5wYXRoU2VnbWVudHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgLypcbiAgICogYHBhdGgtYnJvd3NlcmlmeWAgdHJlYXRzIG9ubHkgYSBsZWFkaW5nIGAvYCBhcyBhYnNvbHV0ZSBhbmQgam9pbnMgYHByb2Nlc3MuY3dkKClgIGluIGFzIGFuIG9wYXF1ZSBzZWdtZW50LCBzbyBvblxuICAgKiBXaW5kb3dzIGEgYC4uYCBjbGltYmluZyBvdXQgb2YgdGhlIHdvcmtpbmcgZm9sZGVyIGNhbmNlbGxlZCB0aGUgd2hvbGUgYEY6XFwuLi5gIGN3ZC4gRXZlcnkgc2VnbWVudCBpcyBtYWRlIFBPU0lYXG4gICAqIGFuZCBhIGRyaXZlIHJvb3QgaXMgZ2l2ZW4gYSBsZWFkaW5nIGAvYCwgd2hpY2ggbWFrZXMgaXQgYSByb290IGBwYXRoLWJyb3dzZXJpZnlgIHVuZGVyc3RhbmRzOyB0aGUgYC9gIGlzIGRyb3BwZWRcbiAgICogYWdhaW4gYmVsb3cuXG4gICAqL1xuICBjb25zdCByb290ZWRTZWdtZW50cyA9IHBhdGhTZWdtZW50cy5tYXAoKHNlZ21lbnQpID0+IHRvUm9vdGVkUG9zaXhQYXRoKHNlZ21lbnQpKTtcbiAgaWYgKHJvb3RlZFNlZ21lbnRzLmV2ZXJ5KChzZWdtZW50KSA9PiAhc2VnbWVudC5zdGFydHNXaXRoKCcvJykpKSB7XG4gICAgcm9vdGVkU2VnbWVudHMudW5zaGlmdCh0b1Jvb3RlZFBvc2l4UGF0aChwcm9jZXNzLmN3ZCgpKSk7XG4gIH1cbiAgY29uc3QgcGF0aCA9IHBvc2l4LnJlc29sdmUoLi4ucm9vdGVkU2VnbWVudHMpO1xuICBjb25zdCBtYXRjaCA9IFdJTkRPV1NfUE9TSVhfTElLRV9QQVRIX1JFR19FWFAuZXhlYyhwYXRoKTtcbiAgcmV0dXJuIG1hdGNoPy5bMF0gPz8gcGF0aDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGJ1ZmZlciBjb250YWluaW5nIGEgcGF0aCB0byBhIFBPU0lYLXN0eWxlIGJ1ZmZlciBieSByZXBsYWNpbmcgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkIHNsYXNoZXMuXG4gKlxuICogQHBhcmFtIGJ1ZmZlciAtIFRoZSBidWZmZXIgdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgbmV3IGJ1ZmZlciBjb250YWluaW5nIHRoZSBQT1NJWC1zdHlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qb3NpeEJ1ZmZlcihidWZmZXI6IEJ1ZmZlcik6IEJ1ZmZlciB7XG4gIHJldHVybiBCdWZmZXIuZnJvbSh0b1Bvc2l4UGF0aChTdHJpbmcoYnVmZmVyKSkpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgZ2l2ZW4gcGF0aCB0byBhIFBPU0lYLXN0eWxlIHBhdGggYnkgcmVwbGFjaW5nIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZCBzbGFzaGVzLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gY29udmVydC5cbiAqIEByZXR1cm5zIFRoZSBQT1NJWC1zdHlsZSBwYXRoLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9Qb3NpeFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlcGxhY2VBbGwoe1xuICAgICRzdHJpbmc6IHBhdGgsXG4gICAgcmVwbGFjZXI6ICcvJyxcbiAgICBzZWFyY2hWYWx1ZTogJ1xcXFwnXG4gIH0pO1xufVxuXG5mdW5jdGlvbiB0b1Jvb3RlZFBvc2l4UGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBwb3NpeFBhdGggPSB0b1Bvc2l4UGF0aChwYXRoKTtcbiAgcmV0dXJuIFdJTkRPV1NfRFJJVkVfUkVHX0VYUC50ZXN0KHBvc2l4UGF0aCkgPyBgLyR7cG9zaXhQYXRofWAgOiBwb3NpeFBhdGg7XG59XG5cbmZ1bmN0aW9uIHVwcGVyQ2FzZURyaXZlKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBwYXRoLnJlcGxhY2UoV0lORE9XU19EUklWRV9SRUdfRVhQLCAoZHJpdmUpID0+IGRyaXZlLnRvVXBwZXJDYXNlKCkpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLE9BQU8sb0JBQW9CO0FBRTNCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsTUFBTSx3QkFBd0I7QUFDOUIsTUFBTSxrQ0FBa0M7QUFLakMsTUFBTSxRQUFRLGVBQWU7QUFLN0IsTUFBTSxZQUFZLE1BQU07QUFLeEIsTUFBTSxZQUFZLGVBQWUsTUFBTTtBQVN2QyxNQUFNLFdBQVcsTUFBTTtBQVV2QixNQUFNLFVBQVUsTUFBTTtBQVF0QixNQUFNLFVBQVUsTUFBTTtBQVF0QixNQUFNLFNBQVMsTUFBTTtBQVFyQixTQUFTLFdBQVcsTUFBdUI7QUFDaEQsU0FBTyxNQUFNLFdBQVcsSUFBSSxLQUFLLGdDQUFnQyxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU07QUFDdkY7QUFRTyxNQUFNLE9BQU8sTUFBTTtBQVFuQixNQUFNLGdCQUFnQixNQUFNO0FBUTVCLE1BQU0sUUFBUSxNQUFNO0FBdUJwQixTQUFTLFlBQVksZUFBK0I7QUFDekQsU0FBTyxRQUFRLFVBQVUsSUFBSSxJQUFJLGFBQWEsRUFBRSxRQUFRLENBQUM7QUFDM0Q7QUFRTyxTQUFTLGNBQWMsZUFBK0I7QUFDM0QsU0FBTyxRQUFRLFlBQVksYUFBYSxDQUFDO0FBQzNDO0FBU08sU0FBUyxhQUFhLFFBQW9DO0FBQy9ELFNBQU8sT0FBTyxnQkFBZ0IsR0FBRyxPQUFPLFlBQVksSUFBSSxPQUFPLGFBQWEsS0FBSyxPQUFPO0FBQzFGO0FBUU8sU0FBUyxvQkFBb0IsTUFBc0I7QUFDeEQsU0FBTyxLQUFLLFdBQVcsR0FBRyxLQUFLLEtBQUssU0FBUyxHQUFHLElBQzVDLE9BQ0EsaUJBQWlCO0FBQUEsSUFDakIsU0FBUztBQUFBLElBQ1QsUUFBUTtBQUFBLEVBQ1YsQ0FBQztBQUNMO0FBY08sU0FBUyxTQUFTLE1BQWMsSUFBb0I7QUFDekQsUUFBTSxlQUFlLFFBQVEsSUFBSTtBQUNqQyxRQUFNLGFBQWEsUUFBUSxFQUFFO0FBQzdCLFFBQU0sWUFBWSxzQkFBc0IsS0FBSyxZQUFZLElBQUksQ0FBQyxFQUFFLFlBQVk7QUFDNUUsUUFBTSxVQUFVLHNCQUFzQixLQUFLLFVBQVUsSUFBSSxDQUFDLEVBQUUsWUFBWTtBQUN4RSxTQUFPLGNBQWMsVUFDakIsTUFBTSxTQUFTLGtCQUFrQixlQUFlLFlBQVksQ0FBQyxHQUFHLGtCQUFrQixlQUFlLFVBQVUsQ0FBQyxDQUFDLElBQzdHO0FBQ047QUFRTyxTQUFTLFdBQVcsY0FBZ0M7QUFPekQsUUFBTSxpQkFBaUIsYUFBYSxJQUFJLENBQUMsWUFBWSxrQkFBa0IsT0FBTyxDQUFDO0FBQy9FLE1BQUksZUFBZSxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsV0FBVyxHQUFHLENBQUMsR0FBRztBQUMvRCxtQkFBZSxRQUFRLGtCQUFrQixRQUFRLElBQUksQ0FBQyxDQUFDO0FBQUEsRUFDekQ7QUFDQSxRQUFNLE9BQU8sTUFBTSxRQUFRLEdBQUcsY0FBYztBQUM1QyxRQUFNLFFBQVEsZ0NBQWdDLEtBQUssSUFBSTtBQUN2RCxTQUFPLFFBQVEsQ0FBQyxLQUFLO0FBQ3ZCO0FBUU8sU0FBUyxjQUFjLFFBQXdCO0FBQ3BELFNBQU8sT0FBTyxLQUFLLFlBQVksT0FBTyxNQUFNLENBQUMsQ0FBQztBQUNoRDtBQVFPLFNBQVMsWUFBWSxNQUFzQjtBQUNoRCxTQUFPLFdBQVc7QUFBQSxJQUNoQixTQUFTO0FBQUEsSUFDVCxVQUFVO0FBQUEsSUFDVixhQUFhO0FBQUEsRUFDZixDQUFDO0FBQ0g7QUFFQSxTQUFTLGtCQUFrQixNQUFzQjtBQUMvQyxRQUFNLFlBQVksWUFBWSxJQUFJO0FBQ2xDLFNBQU8sc0JBQXNCLEtBQUssU0FBUyxJQUFJLElBQUksU0FBUyxLQUFLO0FBQ25FO0FBRUEsU0FBUyxlQUFlLE1BQXNCO0FBQzVDLFNBQU8sS0FBSyxRQUFRLHVCQUF1QixDQUFDLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDM0U7IiwibmFtZXMiOltdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXRoLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgaGFuZGxpbmcgcGF0aHMuXG4gKi9cblxuaW1wb3J0IHBhdGhCcm93c2VyaWZ5IGZyb20gJ3BhdGgtYnJvd3NlcmlmeSc7XG5cbmltcG9ydCB7XG4gIGVuc3VyZVN0YXJ0c1dpdGgsXG4gIHJlcGxhY2VBbGxcbn0gZnJvbSAnLi9zdHJpbmcudHMnO1xuXG5jb25zdCBST09URURfV0lORE9XU19EUklWRV9ST09UX1JFR19FWFAgPSAvXlxcL1thLXpBLVpdOiQvO1xuY29uc3QgV0lORE9XU19EUklWRV9SRUdfRVhQID0gL15bYS16QS1aXTpcXC8vO1xuY29uc3QgV0lORE9XU19QT1NJWF9MSUtFX1BBVEhfUkVHX0VYUCA9IC9bYS16QS1aXTpcXC9bXjpdKiQvO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgZm9yIGhhbmRsaW5nIFBPU0lYIHBhdGhzLlxuICovXG5leHBvcnQgY29uc3QgcG9zaXggPSBwYXRoQnJvd3NlcmlmeS5wb3NpeDtcblxuLyoqXG4gKiBBIFBPU0lYIHBhdGggZGVsaW1pdGVyLlxuICovXG5leHBvcnQgY29uc3QgZGVsaW1pdGVyID0gcG9zaXguZGVsaW1pdGVyO1xuXG4vKipcbiAqIEEgUE9TSVggc2VnbWVudCBzZXBhcmF0b3IuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXBhcmF0b3IgPSBwYXRoQnJvd3NlcmlmeS5wb3NpeC5zZXA7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYmFzZSBuYW1lIG9mIGEgZmlsZSwgb3B0aW9uYWxseSByZW1vdmluZyB0aGUgZmlsZSBleHRlbnNpb24uXG4gKlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCB0byBnZXQgdGhlIGJhc2UgbmFtZSBmcm9tLlxuICogQHBhcmFtIGV4dCAtIEFuIG9wdGlvbmFsIGV4dGVuc2lvbiB0byByZW1vdmUgZnJvbSB0aGUgYmFzZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGJhc2UgbmFtZSBvZiB0aGUgZmlsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhc2VuYW1lID0gcG9zaXguYmFzZW5hbWU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGlyZWN0b3J5IG5hbWUgb2YgYSBwYXRoLlxuICpcbiAqIGBkaXJlY3RvcnlgIGlzIHVzZWQgaW5zdGVhZCBvZiBgZm9sZGVyYCB0byBwcmVzZXJ2ZSBjb21wYXRpYmlsaXR5IHdpdGggYG5vZGU6cGF0aGAgbW9kdWxlLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gZ2V0IHRoZSBkaXJlY3RvcnkgbmFtZSBmcm9tLlxuICogQHJldHVybnMgVGhlIGRpcmVjdG9yeSBuYW1lIG9mIHRoZSBwYXRoLlxuICovXG5leHBvcnQgY29uc3QgZGlybmFtZSA9IHBvc2l4LmRpcm5hbWU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZmlsZSBleHRlbnNpb24gb2YgYSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggdG8gZ2V0IHRoZSBleHRlbnNpb24gZnJvbS5cbiAqIEByZXR1cm5zIFRoZSBmaWxlIGV4dGVuc2lvbiBvZiB0aGUgcGF0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGV4dG5hbWUgPSBwb3NpeC5leHRuYW1lO1xuXG4vKipcbiAqIEZvcm1hdHMgYSBwYXRoIG9iamVjdCBpbnRvIGEgcGF0aCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIHBhdGhPYmplY3QgLSBUaGUgcGF0aCBvYmplY3QgdG8gZm9ybWF0LlxuICogQHJldHVybnMgVGhlIGZvcm1hdHRlZCBwYXRoIHN0cmluZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZvcm1hdCA9IHBvc2l4LmZvcm1hdDtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIGlmIGEgcGF0aCBpcyBhYnNvbHV0ZS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBwYXRoIGlzIGFic29sdXRlLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQWJzb2x1dGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBwb3NpeC5pc0Fic29sdXRlKHBhdGgpIHx8IFdJTkRPV1NfUE9TSVhfTElLRV9QQVRIX1JFR19FWFAuZXhlYyhwYXRoKT8uWzBdID09PSBwYXRoO1xufVxuXG4vKipcbiAqIEpvaW5zIG11bHRpcGxlIHBhdGggc2VnbWVudHMgaW50byBhIHNpbmdsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBwYXRocyAtIFRoZSBwYXRoIHNlZ21lbnRzIHRvIGpvaW4uXG4gKiBAcmV0dXJucyBUaGUgam9pbmVkIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBqb2luID0gcG9zaXguam9pbjtcblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgcGF0aCwgcmVzb2x2aW5nICcuLicgYW5kICcuJyBzZWdtZW50cy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIHBhdGguXG4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVQYXRoID0gcG9zaXgubm9ybWFsaXplO1xuXG4vKipcbiAqIFBhcnNlcyBhIHBhdGggc3RyaW5nIGludG8gYSBwYXRoIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHN0cmluZyB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFRoZSBwYXJzZWQgcGF0aCBvYmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZSA9IHBvc2l4LnBhcnNlO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBtYWtlRmlsZU5hbWV9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1ha2VGaWxlTmFtZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBuYW1lIHRvIGFwcGVuZCB0aGUgZXh0ZW5zaW9uIHRvLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlsZUJhc2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBleHRlbnNpb24gdG8gYXBwZW5kIHRvIHRoZSBmaWxlIG5hbWUuXG4gICAqL1xuICByZWFkb25seSBmaWxlRXh0ZW5zaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgZmlsZSBuYW1lIGZyb20gdGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAsIGNvbnZlcnRpbmcgaXQgdG8gYSBQT1NJWC1zdHlsZSBwYXRoLlxuICpcbiAqIEBwYXJhbSBpbXBvcnRNZXRhVXJsIC0gVGhlIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZnJvbSB3aGljaCB0byBleHRyYWN0IHRoZSBmaWxlIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZmlsZSBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RmlsZU5hbWUoaW1wb3J0TWV0YVVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlc29sdmUoZGVjb2RlVVJJKG5ldyBVUkwoaW1wb3J0TWV0YVVybCkucGF0aG5hbWUpKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBmb2xkZXIgbmFtZSBmcm9tIHRoZSBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgLCBjb252ZXJ0aW5nIGl0IHRvIGEgUE9TSVgtc3R5bGUgcGF0aC5cbiAqXG4gKiBAcGFyYW0gaW1wb3J0TWV0YVVybCAtIFRoZSBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgIGZyb20gd2hpY2ggdG8gZXh0cmFjdCB0aGUgZm9sZGVyIG5hbWUuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgZm9sZGVyIG5hbWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRGb2xkZXJOYW1lKGltcG9ydE1ldGFVcmw6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBkaXJuYW1lKGdldEZpbGVOYW1lKGltcG9ydE1ldGFVcmwpKTtcbn1cblxuLyoqXG4gKiBNYWtlcyBhIGZpbGUgbmFtZSBieSBhcHBlbmRpbmcgYW4gZXh0ZW5zaW9uIHRvIGEgZ2l2ZW4gZmlsZSBuYW1lLlxuICogSWYgdGhlIGV4dGVuc2lvbiBpcyBlbXB0eSwgdGhlIGZpbGUgbmFtZSBpcyByZXR1cm5lZCBhcyBpcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIG1ha2luZyB0aGUgZmlsZSBuYW1lLlxuICogQHJldHVybnMgVGhlIGZpbGUgbmFtZSB3aXRoIHRoZSBleHRlbnNpb24gYXBwZW5kZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYWtlRmlsZU5hbWUocGFyYW1zOiBNYWtlRmlsZU5hbWVQYXJhbXMpOiBzdHJpbmcge1xuICByZXR1cm4gcGFyYW1zLmZpbGVFeHRlbnNpb24gPyBgJHtwYXJhbXMuZmlsZUJhc2VOYW1lfS4ke3BhcmFtcy5maWxlRXh0ZW5zaW9ufWAgOiBwYXJhbXMuZmlsZUJhc2VOYW1lO1xufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBnaXZlbiBwYXRoIGJ5IGVuc3VyaW5nIGl0IGlzIHJlbGF0aXZlLCBhZGRpbmcgXCIuL1wiIGlmIG5lY2Vzc2FyeS5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIG5vcm1hbGl6ZS5cbiAqIEByZXR1cm5zIFRoZSBub3JtYWxpemVkIHBhdGgsIHN0YXJ0aW5nIHdpdGggXCIuL1wiIGlmIGl0IHdhcyByZWxhdGl2ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUlmUmVsYXRpdmUocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aCgnLycpIHx8IHBhdGguaW5jbHVkZXMoJzonKVxuICAgID8gcGF0aFxuICAgIDogZW5zdXJlU3RhcnRzV2l0aCh7XG4gICAgICAkc3RyaW5nOiBwYXRoLFxuICAgICAgcHJlZml4OiAnLi8nXG4gICAgfSk7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIG9uZSBwYXRoIHRvIGFub3RoZXIuXG4gKlxuICogYHBhdGgtYnJvd3NlcmlmeWAncyBvd24gYHJlbGF0aXZlYCBjYW5ub3QgYmUgdXNlZCBkaXJlY3RseTogaXQgcmVzb2x2ZXMgYSByZWxhdGl2ZSBhcmd1bWVudCBhZ2FpbnN0XG4gKiBgcHJvY2Vzcy5jd2QoKWAsIHdoaWNoIG9uIFdpbmRvd3MgaXMgYEY6XFwuLi5gIHJhdGhlciB0aGFuIGEgUE9TSVggYWJzb2x1dGUgcGF0aCwgYW5kIGl0cyBzbGljaW5nIHRoZW4gYXNzdW1lcyBhXG4gKiBsZWFkaW5nIGAvYCAtIHNvIGByZWxhdGl2ZSgnc3JjJywgJy4uL3gnKWAgY2FtZSBiYWNrIGFzIGAnLi4vLi54J2AuIEJvdGggYXJndW1lbnRzIGFyZSByZXNvbHZlZCB0aHJvdWdoXG4gKiB7QGxpbmsgcmVzb2x2ZX0gaGVyZSBpbnN0ZWFkLCBhbmQgcm9vdGVkIGF0IGAvYCBiZWZvcmUgdGhlIFBPU0lYIGNvbXBhcmlzb24uXG4gKlxuICogQHBhcmFtIGZyb20gLSBUaGUgc3RhcnRpbmcgcGF0aC5cbiAqIEBwYXJhbSB0byAtIFRoZSBkZXN0aW5hdGlvbiBwYXRoLlxuICogQHJldHVybnMgVGhlIHJlbGF0aXZlIHBhdGggZnJvbSBgZnJvbWAgdG8gYHRvYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbGF0aXZlKGZyb206IHN0cmluZywgdG86IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHJlc29sdmVkRnJvbSA9IHJlc29sdmUoZnJvbSk7XG4gIGNvbnN0IHJlc29sdmVkVG8gPSByZXNvbHZlKHRvKTtcbiAgY29uc3QgZnJvbURyaXZlID0gV0lORE9XU19EUklWRV9SRUdfRVhQLmV4ZWMocmVzb2x2ZWRGcm9tKT8uWzBdLnRvVXBwZXJDYXNlKCk7XG4gIGNvbnN0IHRvRHJpdmUgPSBXSU5ET1dTX0RSSVZFX1JFR19FWFAuZXhlYyhyZXNvbHZlZFRvKT8uWzBdLnRvVXBwZXJDYXNlKCk7XG4gIHJldHVybiBmcm9tRHJpdmUgPT09IHRvRHJpdmVcbiAgICA/IHBvc2l4LnJlbGF0aXZlKHRvUm9vdGVkUG9zaXhQYXRoKHVwcGVyQ2FzZURyaXZlKHJlc29sdmVkRnJvbSkpLCB0b1Jvb3RlZFBvc2l4UGF0aCh1cHBlckNhc2VEcml2ZShyZXNvbHZlZFRvKSkpXG4gICAgOiByZXNvbHZlZFRvO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGEgc2VxdWVuY2Ugb2YgcGF0aHMgb3IgcGF0aCBzZWdtZW50cyBpbnRvIGFuIGFic29sdXRlIHBhdGguXG4gKlxuICogQHBhcmFtIHBhdGhTZWdtZW50cyAtIFRoZSBzZXF1ZW5jZSBvZiBwYXRoIHNlZ21lbnRzIHRvIHJlc29sdmUuXG4gKiBAcmV0dXJucyBUaGUgcmVzb2x2ZWQgYWJzb2x1dGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmUoLi4ucGF0aFNlZ21lbnRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gIC8qXG4gICAqIGBwYXRoLWJyb3dzZXJpZnlgIHRyZWF0cyBvbmx5IGEgbGVhZGluZyBgL2AgYXMgYWJzb2x1dGUgYW5kIGpvaW5zIGBwcm9jZXNzLmN3ZCgpYCBpbiBhcyBhbiBvcGFxdWUgc2VnbWVudCwgc28gb25cbiAgICogV2luZG93cyBhIGAuLmAgY2xpbWJpbmcgb3V0IG9mIHRoZSB3b3JraW5nIGZvbGRlciBjYW5jZWxsZWQgdGhlIHdob2xlIGBGOlxcLi4uYCBjd2QuIEV2ZXJ5IHNlZ21lbnQgaXMgbWFkZSBQT1NJWFxuICAgKiBhbmQgYSBkcml2ZSByb290IGlzIGdpdmVuIGEgbGVhZGluZyBgL2AsIHdoaWNoIG1ha2VzIGl0IGEgcm9vdCBgcGF0aC1icm93c2VyaWZ5YCB1bmRlcnN0YW5kczsgdGhlIGAvYCBpcyBkcm9wcGVkXG4gICAqIGFnYWluIGJlbG93LlxuICAgKi9cbiAgY29uc3Qgcm9vdGVkU2VnbWVudHMgPSBwYXRoU2VnbWVudHMubWFwKChzZWdtZW50KSA9PiB0b1Jvb3RlZFBvc2l4UGF0aChzZWdtZW50KSk7XG4gIGlmIChyb290ZWRTZWdtZW50cy5ldmVyeSgoc2VnbWVudCkgPT4gIXNlZ21lbnQuc3RhcnRzV2l0aCgnLycpKSkge1xuICAgIHJvb3RlZFNlZ21lbnRzLnVuc2hpZnQodG9Sb290ZWRQb3NpeFBhdGgocHJvY2Vzcy5jd2QoKSkpO1xuICB9XG4gIGNvbnN0IHBhdGggPSBwb3NpeC5yZXNvbHZlKC4uLnJvb3RlZFNlZ21lbnRzKTtcbiAgLy8gYHBhdGgtYnJvd3NlcmlmeWAgZHJvcHMgdGhlIHRyYWlsaW5nIGAvYCBvZiBhIHJvb3QgaXQgZGlkIG5vdCBrbm93LCBzbyBhIGRyaXZlIHJvb3QgY29tZXMgYmFjayBhcyBgL0Y6YC5cbiAgaWYgKFJPT1RFRF9XSU5ET1dTX0RSSVZFX1JPT1RfUkVHX0VYUC50ZXN0KHBhdGgpKSB7XG4gICAgcmV0dXJuIGAke3BhdGguc2xpY2UoMSl9L2A7XG4gIH1cbiAgY29uc3QgbWF0Y2ggPSBXSU5ET1dTX1BPU0lYX0xJS0VfUEFUSF9SRUdfRVhQLmV4ZWMocGF0aCk7XG4gIHJldHVybiBtYXRjaD8uWzBdID8/IHBhdGg7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBidWZmZXIgY29udGFpbmluZyBhIHBhdGggdG8gYSBQT1NJWC1zdHlsZSBidWZmZXIgYnkgcmVwbGFjaW5nIGJhY2tzbGFzaGVzIHdpdGggZm9yd2FyZCBzbGFzaGVzLlxuICpcbiAqIEBwYXJhbSBidWZmZXIgLSBUaGUgYnVmZmVyIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBBIG5ldyBidWZmZXIgY29udGFpbmluZyB0aGUgUE9TSVgtc3R5bGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXhCdWZmZXIoYnVmZmVyOiBCdWZmZXIpOiBCdWZmZXIge1xuICByZXR1cm4gQnVmZmVyLmZyb20odG9Qb3NpeFBhdGgoU3RyaW5nKGJ1ZmZlcikpKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGdpdmVuIHBhdGggdG8gYSBQT1NJWC1zdHlsZSBwYXRoIGJ5IHJlcGxhY2luZyBiYWNrc2xhc2hlcyB3aXRoIGZvcndhcmQgc2xhc2hlcy5cbiAqXG4gKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgUE9TSVgtc3R5bGUgcGF0aC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUG9zaXhQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiByZXBsYWNlQWxsKHtcbiAgICAkc3RyaW5nOiBwYXRoLFxuICAgIHJlcGxhY2VyOiAnLycsXG4gICAgc2VhcmNoVmFsdWU6ICdcXFxcJ1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9Sb290ZWRQb3NpeFBhdGgocGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcG9zaXhQYXRoID0gdG9Qb3NpeFBhdGgocGF0aCk7XG4gIHJldHVybiBXSU5ET1dTX0RSSVZFX1JFR19FWFAudGVzdChwb3NpeFBhdGgpID8gYC8ke3Bvc2l4UGF0aH1gIDogcG9zaXhQYXRoO1xufVxuXG5mdW5jdGlvbiB1cHBlckNhc2VEcml2ZShwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gcGF0aC5yZXBsYWNlKFdJTkRPV1NfRFJJVkVfUkVHX0VYUCwgKGRyaXZlKSA9PiBkcml2ZS50b1VwcGVyQ2FzZSgpKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxPQUFPLG9CQUFvQjtBQUUzQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLE1BQU0sb0NBQW9DO0FBQzFDLE1BQU0sd0JBQXdCO0FBQzlCLE1BQU0sa0NBQWtDO0FBS2pDLE1BQU0sUUFBUSxlQUFlO0FBSzdCLE1BQU0sWUFBWSxNQUFNO0FBS3hCLE1BQU0sWUFBWSxlQUFlLE1BQU07QUFTdkMsTUFBTSxXQUFXLE1BQU07QUFVdkIsTUFBTSxVQUFVLE1BQU07QUFRdEIsTUFBTSxVQUFVLE1BQU07QUFRdEIsTUFBTSxTQUFTLE1BQU07QUFRckIsU0FBUyxXQUFXLE1BQXVCO0FBQ2hELFNBQU8sTUFBTSxXQUFXLElBQUksS0FBSyxnQ0FBZ0MsS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNO0FBQ3ZGO0FBUU8sTUFBTSxPQUFPLE1BQU07QUFRbkIsTUFBTSxnQkFBZ0IsTUFBTTtBQVE1QixNQUFNLFFBQVEsTUFBTTtBQXVCcEIsU0FBUyxZQUFZLGVBQStCO0FBQ3pELFNBQU8sUUFBUSxVQUFVLElBQUksSUFBSSxhQUFhLEVBQUUsUUFBUSxDQUFDO0FBQzNEO0FBUU8sU0FBUyxjQUFjLGVBQStCO0FBQzNELFNBQU8sUUFBUSxZQUFZLGFBQWEsQ0FBQztBQUMzQztBQVNPLFNBQVMsYUFBYSxRQUFvQztBQUMvRCxTQUFPLE9BQU8sZ0JBQWdCLEdBQUcsT0FBTyxZQUFZLElBQUksT0FBTyxhQUFhLEtBQUssT0FBTztBQUMxRjtBQVFPLFNBQVMsb0JBQW9CLE1BQXNCO0FBQ3hELFNBQU8sS0FBSyxXQUFXLEdBQUcsS0FBSyxLQUFLLFNBQVMsR0FBRyxJQUM1QyxPQUNBLGlCQUFpQjtBQUFBLElBQ2pCLFNBQVM7QUFBQSxJQUNULFFBQVE7QUFBQSxFQUNWLENBQUM7QUFDTDtBQWNPLFNBQVMsU0FBUyxNQUFjLElBQW9CO0FBQ3pELFFBQU0sZUFBZSxRQUFRLElBQUk7QUFDakMsUUFBTSxhQUFhLFFBQVEsRUFBRTtBQUM3QixRQUFNLFlBQVksc0JBQXNCLEtBQUssWUFBWSxJQUFJLENBQUMsRUFBRSxZQUFZO0FBQzVFLFFBQU0sVUFBVSxzQkFBc0IsS0FBSyxVQUFVLElBQUksQ0FBQyxFQUFFLFlBQVk7QUFDeEUsU0FBTyxjQUFjLFVBQ2pCLE1BQU0sU0FBUyxrQkFBa0IsZUFBZSxZQUFZLENBQUMsR0FBRyxrQkFBa0IsZUFBZSxVQUFVLENBQUMsQ0FBQyxJQUM3RztBQUNOO0FBUU8sU0FBUyxXQUFXLGNBQWdDO0FBT3pELFFBQU0saUJBQWlCLGFBQWEsSUFBSSxDQUFDLFlBQVksa0JBQWtCLE9BQU8sQ0FBQztBQUMvRSxNQUFJLGVBQWUsTUFBTSxDQUFDLFlBQVksQ0FBQyxRQUFRLFdBQVcsR0FBRyxDQUFDLEdBQUc7QUFDL0QsbUJBQWUsUUFBUSxrQkFBa0IsUUFBUSxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQ3pEO0FBQ0EsUUFBTSxPQUFPLE1BQU0sUUFBUSxHQUFHLGNBQWM7QUFFNUMsTUFBSSxrQ0FBa0MsS0FBSyxJQUFJLEdBQUc7QUFDaEQsV0FBTyxHQUFHLEtBQUssTUFBTSxDQUFDLENBQUM7QUFBQSxFQUN6QjtBQUNBLFFBQU0sUUFBUSxnQ0FBZ0MsS0FBSyxJQUFJO0FBQ3ZELFNBQU8sUUFBUSxDQUFDLEtBQUs7QUFDdkI7QUFRTyxTQUFTLGNBQWMsUUFBd0I7QUFDcEQsU0FBTyxPQUFPLEtBQUssWUFBWSxPQUFPLE1BQU0sQ0FBQyxDQUFDO0FBQ2hEO0FBUU8sU0FBUyxZQUFZLE1BQXNCO0FBQ2hELFNBQU8sV0FBVztBQUFBLElBQ2hCLFNBQVM7QUFBQSxJQUNULFVBQVU7QUFBQSxJQUNWLGFBQWE7QUFBQSxFQUNmLENBQUM7QUFDSDtBQUVBLFNBQVMsa0JBQWtCLE1BQXNCO0FBQy9DLFFBQU0sWUFBWSxZQUFZLElBQUk7QUFDbEMsU0FBTyxzQkFBc0IsS0FBSyxTQUFTLElBQUksSUFBSSxTQUFTLEtBQUs7QUFDbkU7QUFFQSxTQUFTLGVBQWUsTUFBc0I7QUFDNUMsU0FBTyxLQUFLLFFBQVEsdUJBQXVCLENBQUMsVUFBVSxNQUFNLFlBQVksQ0FBQztBQUMzRTsiLCJuYW1lcyI6W119
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * The bag lives on `globalThis` under a `Symbol.for` key, so every copy of this module loaded in one realm shares
8
8
  * it, whichever version it is. It holds what must exist once per realm: the debuggers, the `debug` instance and the
9
- * shared abort controller. Obsidian-specific state stays in `@mnaoumov/obsidian-lib`, under its legacy `__obsidianDevUtils` global.
9
+ * shared abort controller. Obsidian-specific state stays in `@mnaoumov/obsidian-lib`, under its `globalThis.__obsidianLib` global.
10
10
  *
11
11
  * The slot is a cross-version wire format: its key and the {@link TypescriptLibStateSlot} shape only ever change
12
12
  * additively.
@@ -37,4 +37,4 @@ export {
37
37
  getTypescriptLibStateSlot,
38
38
  resetTypescriptLibState
39
39
  };
40
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGVzY3JpcHQtbGliLXN0YXRlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvZiB0aGUgZ2VuZXJpYywgbm9uLU9ic2lkaWFuIHBhcnQgb2YgdGhlIGxpYnJhcnkuXG4gKlxuICogVGhlIGJhZyBsaXZlcyBvbiBgZ2xvYmFsVGhpc2AgdW5kZXIgYSBgU3ltYm9sLmZvcmAga2V5LCBzbyBldmVyeSBjb3B5IG9mIHRoaXMgbW9kdWxlIGxvYWRlZCBpbiBvbmUgcmVhbG0gc2hhcmVzXG4gKiBpdCwgd2hpY2hldmVyIHZlcnNpb24gaXQgaXMuIEl0IGhvbGRzIHdoYXQgbXVzdCBleGlzdCBvbmNlIHBlciByZWFsbTogdGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZVxuICogc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIuIE9ic2lkaWFuLXNwZWNpZmljIHN0YXRlIHN0YXlzIGluIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCwgdW5kZXIgaXRzIGxlZ2FjeSBgX19vYnNpZGlhbkRldlV0aWxzYCBnbG9iYWwuXG4gKlxuICogVGhlIHNsb3QgaXMgYSBjcm9zcy12ZXJzaW9uIHdpcmUgZm9ybWF0OiBpdHMga2V5IGFuZCB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIG9ubHkgZXZlciBjaGFuZ2VcbiAqIGFkZGl0aXZlbHkuXG4gKi9cblxuaW1wb3J0IHsgVmFsdWVXcmFwcGVyIH0gZnJvbSAnLi92YWx1ZS13cmFwcGVyLnRzJztcblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9IHNoYXBlIHRoaXMgY29weSB3cml0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OID0gMTtcblxuLyoqXG4gKiBUaGUga2V5IG9mIHRoZSBnbG9iYWwgc2xvdCBob2xkaW5nIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0uXG4gKi9cbmV4cG9ydCBjb25zdCBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVk6IHVuaXF1ZSBzeW1ib2wgPSBTeW1ib2wuZm9yKCdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RhdGUnKTtcblxuLyoqXG4gKiBUaGUgc2hhcmVkLXN0YXRlIHNsb3Qgc3RvcmVkIG9uIGBnbG9iYWxUaGlzYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgLyoqXG4gICAqIFRoZSBzaGFyZWQgdmFsdWVzLCBlYWNoIGluIGEge0BsaW5rIFZhbHVlV3JhcHBlcn0gc28gYSBob2xkZXIgY2FuIHJlcGxhY2UgdGhlIHZhbHVlIGluIHBsYWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVzOiBSZWNvcmQ8c3RyaW5nLCBWYWx1ZVdyYXBwZXI+O1xuXG4gIC8qKlxuICAgKiBUaGUgdmVyc2lvbiBvZiB0aGUgc2xvdCBzaGFwZSB0aGUgY3JlYXRvciB3cm90ZS4gSW5mb3JtYXRpb25hbDogdGhlIHNoYXBlIG9ubHkgY2hhbmdlcyBhZGRpdGl2ZWx5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xufVxuXG50eXBlIEdsb2JhbFdpdGhUeXBlc2NyaXB0TGliU3RhdGUgPSBQYXJ0aWFsPFJlY29yZDx0eXBlb2YgVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZLCBUeXBlc2NyaXB0TGliU3RhdGVTbG90Pj47XG5cbi8qKlxuICogUmV0cmlldmVzIG9yIGNyZWF0ZXMgYSBzaGFyZWQtc3RhdGUge0BsaW5rIFZhbHVlV3JhcHBlcn0gZm9yIGEgZ2l2ZW4ga2V5LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBzaGFyZWQgc3RhdGUgdmFsdWUuXG4gKiBAcGFyYW0ga2V5IC0gVGhlIGtleSB0byBzdG9yZSBvciByZXRyaWV2ZSB0aGUgc2hhcmVkIHN0YXRlIHVuZGVyLlxuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSAtIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHVzZSBpZiB0aGUgc2hhcmVkIHN0YXRlIGRvZXMgbm90IGV4aXN0IHlldC5cbiAqIEByZXR1cm5zIFRoZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSB0aGF0IHN0b3JlcyB0aGUgc2hhcmVkIHN0YXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZXNjcmlwdExpYlN0YXRlPFQ+KGtleTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IFQpOiBWYWx1ZVdyYXBwZXI8VD4ge1xuICByZXR1cm4gKGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKS52YWx1ZXNba2V5XSA/Pz0gVmFsdWVXcmFwcGVyLm9mKGRlZmF1bHRWYWx1ZSkpIGFzIFZhbHVlV3JhcHBlcjxUPjtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyB0aGUgc2hhcmVkLXN0YXRlIHNsb3QuXG4gKlxuICogQHJldHVybnMgVGhlIHtAbGluayBUeXBlc2NyaXB0TGliU3RhdGVTbG90fS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIGNvbnN0IGdsb2JhbCA9IGdldEdsb2JhbCgpO1xuICBsZXQgc2xvdCA9IGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldO1xuICBpZiAoIXNsb3QpIHtcbiAgICBzbG90ID0gY3JlYXRlU2xvdCgpO1xuICAgIGdsb2JhbFtUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVldID0gc2xvdDtcbiAgfVxuICByZXR1cm4gc2xvdDtcbn1cblxuLyoqXG4gKiBDbGVhcnMgdGhlIHNoYXJlZC1zdGF0ZSBiYWcuXG4gKlxuICogSW50ZW5kZWQgZm9yIHRlc3QgaXNvbGF0aW9uOiBjYWxsIGl0IGJlZm9yZSBlYWNoIHRlc3Qgc28gYWNjdW11bGF0ZWQgc3RhdGUgZG9lcyBub3QgbGVhayBiZXR3ZWVuIHRlc3RzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRUeXBlc2NyaXB0TGliU3RhdGUoKTogdm9pZCB7XG4gIGdldEdsb2JhbCgpW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV0gPSBjcmVhdGVTbG90KCk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVNsb3QoKTogVHlwZXNjcmlwdExpYlN0YXRlU2xvdCB7XG4gIHJldHVybiB7XG4gICAgdmFsdWVzOiB7fSxcbiAgICB2ZXJzaW9uOiBUWVBFU0NSSVBUX0xJQl9TVEFURV9WRVJTSU9OXG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEdsb2JhbCgpOiBHbG9iYWxXaXRoVHlwZXNjcmlwdExpYlN0YXRlIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMgYXMgR2xvYmFsV2l0aFR5cGVzY3JpcHRMaWJTdGF0ZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7O0FBYUEsU0FBUyxvQkFBb0I7QUFLdEIsTUFBTSwrQkFBK0I7QUFLckMsTUFBTSwyQkFBMEMsdUJBQU8sSUFBSSxnQ0FBZ0M7QUEyQjNGLFNBQVMsc0JBQXlCLEtBQWEsY0FBa0M7QUFDdEYsU0FBUSwwQkFBMEIsRUFBRSxPQUFPLEdBQUcsTUFBTSxhQUFhLEdBQUcsWUFBWTtBQUNsRjtBQU9PLFNBQVMsNEJBQW9EO0FBQ2xFLFFBQU0sU0FBUyxVQUFVO0FBQ3pCLE1BQUksT0FBTyxPQUFPLHdCQUF3QjtBQUMxQyxNQUFJLENBQUMsTUFBTTtBQUNULFdBQU8sV0FBVztBQUNsQixXQUFPLHdCQUF3QixJQUFJO0FBQUEsRUFDckM7QUFDQSxTQUFPO0FBQ1Q7QUFPTyxTQUFTLDBCQUFnQztBQUM5QyxZQUFVLEVBQUUsd0JBQXdCLElBQUksV0FBVztBQUNyRDtBQUVBLFNBQVMsYUFBcUM7QUFDNUMsU0FBTztBQUFBLElBQ0wsUUFBUSxDQUFDO0FBQUEsSUFDVCxTQUFTO0FBQUEsRUFDWDtBQUNGO0FBRUEsU0FBUyxZQUEwQztBQUNqRCxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
40
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3R5cGVzY3JpcHQtbGliLXN0YXRlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBwcm9jZXNzLXdpZGUgc2hhcmVkLXN0YXRlIGJhZyBvZiB0aGUgZ2VuZXJpYywgbm9uLU9ic2lkaWFuIHBhcnQgb2YgdGhlIGxpYnJhcnkuXG4gKlxuICogVGhlIGJhZyBsaXZlcyBvbiBgZ2xvYmFsVGhpc2AgdW5kZXIgYSBgU3ltYm9sLmZvcmAga2V5LCBzbyBldmVyeSBjb3B5IG9mIHRoaXMgbW9kdWxlIGxvYWRlZCBpbiBvbmUgcmVhbG0gc2hhcmVzXG4gKiBpdCwgd2hpY2hldmVyIHZlcnNpb24gaXQgaXMuIEl0IGhvbGRzIHdoYXQgbXVzdCBleGlzdCBvbmNlIHBlciByZWFsbTogdGhlIGRlYnVnZ2VycywgdGhlIGBkZWJ1Z2AgaW5zdGFuY2UgYW5kIHRoZVxuICogc2hhcmVkIGFib3J0IGNvbnRyb2xsZXIuIE9ic2lkaWFuLXNwZWNpZmljIHN0YXRlIHN0YXlzIGluIGBAbW5hb3Vtb3Yvb2JzaWRpYW4tbGliYCwgdW5kZXIgaXRzIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5MaWJgIGdsb2JhbC5cbiAqXG4gKiBUaGUgc2xvdCBpcyBhIGNyb3NzLXZlcnNpb24gd2lyZSBmb3JtYXQ6IGl0cyBrZXkgYW5kIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0gc2hhcGUgb25seSBldmVyIGNoYW5nZVxuICogYWRkaXRpdmVseS5cbiAqL1xuXG5pbXBvcnQgeyBWYWx1ZVdyYXBwZXIgfSBmcm9tICcuL3ZhbHVlLXdyYXBwZXIudHMnO1xuXG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSB7QGxpbmsgVHlwZXNjcmlwdExpYlN0YXRlU2xvdH0gc2hhcGUgdGhpcyBjb3B5IHdyaXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRZUEVTQ1JJUFRfTElCX1NUQVRFX1ZFUlNJT04gPSAxO1xuXG4vKipcbiAqIFRoZSBrZXkgb2YgdGhlIGdsb2JhbCBzbG90IGhvbGRpbmcgdGhlIHtAbGluayBUeXBlc2NyaXB0TGliU3RhdGVTbG90fS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWTogdW5pcXVlIHN5bWJvbCA9IFN5bWJvbC5mb3IoJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9zdGF0ZScpO1xuXG4vKipcbiAqIFRoZSBzaGFyZWQtc3RhdGUgc2xvdCBzdG9yZWQgb24gYGdsb2JhbFRoaXNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3Qge1xuICAvKipcbiAgICogVGhlIHNoYXJlZCB2YWx1ZXMsIGVhY2ggaW4gYSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBzbyBhIGhvbGRlciBjYW4gcmVwbGFjZSB0aGUgdmFsdWUgaW4gcGxhY2UuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZXM6IFJlY29yZDxzdHJpbmcsIFZhbHVlV3JhcHBlcj47XG5cbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzbG90IHNoYXBlIHRoZSBjcmVhdG9yIHdyb3RlLiBJbmZvcm1hdGlvbmFsOiB0aGUgc2hhcGUgb25seSBjaGFuZ2VzIGFkZGl0aXZlbHkuXG4gICAqL1xuICByZWFkb25seSB2ZXJzaW9uOiBudW1iZXI7XG59XG5cbnR5cGUgR2xvYmFsV2l0aFR5cGVzY3JpcHRMaWJTdGF0ZSA9IFBhcnRpYWw8UmVjb3JkPHR5cGVvZiBUWVBFU0NSSVBUX0xJQl9TVEFURV9LRVksIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3Q+PjtcblxuLyoqXG4gKiBSZXRyaWV2ZXMgb3IgY3JlYXRlcyBhIHNoYXJlZC1zdGF0ZSB7QGxpbmsgVmFsdWVXcmFwcGVyfSBmb3IgYSBnaXZlbiBrZXkuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNoYXJlZCBzdGF0ZSB2YWx1ZS5cbiAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IHRvIHN0b3JlIG9yIHJldHJpZXZlIHRoZSBzaGFyZWQgc3RhdGUgdW5kZXIuXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIC0gVGhlIGRlZmF1bHQgdmFsdWUgdG8gdXNlIGlmIHRoZSBzaGFyZWQgc3RhdGUgZG9lcyBub3QgZXhpc3QgeWV0LlxuICogQHJldHVybnMgVGhlIHtAbGluayBWYWx1ZVdyYXBwZXJ9IHRoYXQgc3RvcmVzIHRoZSBzaGFyZWQgc3RhdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeXBlc2NyaXB0TGliU3RhdGU8VD4oa2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogVCk6IFZhbHVlV3JhcHBlcjxUPiB7XG4gIHJldHVybiAoZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCgpLnZhbHVlc1trZXldID8/PSBWYWx1ZVdyYXBwZXIub2YoZGVmYXVsdFZhbHVlKSkgYXMgVmFsdWVXcmFwcGVyPFQ+O1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBvciBjcmVhdGVzIHRoZSBzaGFyZWQtc3RhdGUgc2xvdC5cbiAqXG4gKiBAcmV0dXJucyBUaGUge0BsaW5rIFR5cGVzY3JpcHRMaWJTdGF0ZVNsb3R9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHlwZXNjcmlwdExpYlN0YXRlU2xvdCgpOiBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgY29uc3QgZ2xvYmFsID0gZ2V0R2xvYmFsKCk7XG4gIGxldCBzbG90ID0gZ2xvYmFsW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV07XG4gIGlmICghc2xvdCkge1xuICAgIHNsb3QgPSBjcmVhdGVTbG90KCk7XG4gICAgZ2xvYmFsW1RZUEVTQ1JJUFRfTElCX1NUQVRFX0tFWV0gPSBzbG90O1xuICB9XG4gIHJldHVybiBzbG90O1xufVxuXG4vKipcbiAqIENsZWFycyB0aGUgc2hhcmVkLXN0YXRlIGJhZy5cbiAqXG4gKiBJbnRlbmRlZCBmb3IgdGVzdCBpc29sYXRpb246IGNhbGwgaXQgYmVmb3JlIGVhY2ggdGVzdCBzbyBhY2N1bXVsYXRlZCBzdGF0ZSBkb2VzIG5vdCBsZWFrIGJldHdlZW4gdGVzdHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNldFR5cGVzY3JpcHRMaWJTdGF0ZSgpOiB2b2lkIHtcbiAgZ2V0R2xvYmFsKClbVFlQRVNDUklQVF9MSUJfU1RBVEVfS0VZXSA9IGNyZWF0ZVNsb3QoKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU2xvdCgpOiBUeXBlc2NyaXB0TGliU3RhdGVTbG90IHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZXM6IHt9LFxuICAgIHZlcnNpb246IFRZUEVTQ1JJUFRfTElCX1NUQVRFX1ZFUlNJT05cbiAgfTtcbn1cblxuZnVuY3Rpb24gZ2V0R2xvYmFsKCk6IEdsb2JhbFdpdGhUeXBlc2NyaXB0TGliU3RhdGUge1xuICByZXR1cm4gZ2xvYmFsVGhpcyBhcyBHbG9iYWxXaXRoVHlwZXNjcmlwdExpYlN0YXRlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7QUFhQSxTQUFTLG9CQUFvQjtBQUt0QixNQUFNLCtCQUErQjtBQUtyQyxNQUFNLDJCQUEwQyx1QkFBTyxJQUFJLGdDQUFnQztBQTJCM0YsU0FBUyxzQkFBeUIsS0FBYSxjQUFrQztBQUN0RixTQUFRLDBCQUEwQixFQUFFLE9BQU8sR0FBRyxNQUFNLGFBQWEsR0FBRyxZQUFZO0FBQ2xGO0FBT08sU0FBUyw0QkFBb0Q7QUFDbEUsUUFBTSxTQUFTLFVBQVU7QUFDekIsTUFBSSxPQUFPLE9BQU8sd0JBQXdCO0FBQzFDLE1BQUksQ0FBQyxNQUFNO0FBQ1QsV0FBTyxXQUFXO0FBQ2xCLFdBQU8sd0JBQXdCLElBQUk7QUFBQSxFQUNyQztBQUNBLFNBQU87QUFDVDtBQU9PLFNBQVMsMEJBQWdDO0FBQzlDLFlBQVUsRUFBRSx3QkFBd0IsSUFBSSxXQUFXO0FBQ3JEO0FBRUEsU0FBUyxhQUFxQztBQUM1QyxTQUFPO0FBQUEsSUFDTCxRQUFRLENBQUM7QUFBQSxJQUNULFNBQVM7QUFBQSxFQUNYO0FBQ0Y7QUFFQSxTQUFTLFlBQTBDO0FBQ2pELFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mnaoumov/typescript-lib",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "Generic TypeScript utilities: async helpers, errors, disposables, strings, paths, debug logging and more, usable in any TypeScript project.",
5
5
  "keywords": [
6
6
  "typescript",
@@ -103,6 +103,7 @@
103
103
  "spellcheck": "jiti scripts/spellcheck.ts",
104
104
  "test": "jiti scripts/test.ts",
105
105
  "test:coverage": "jiti scripts/test-coverage.ts",
106
+ "test:mutation": "jiti scripts/test-mutation.ts",
106
107
  "test:watch": "jiti scripts/test-watch.ts",
107
108
  "version": "jiti scripts/version.ts"
108
109
  },
@@ -118,9 +119,11 @@
118
119
  "@astrojs/starlight": "^0.42.6",
119
120
  "@commitlint/cli": "^21.2.2",
120
121
  "@commitlint/config-conventional": "^21.2.2",
121
- "@mnaoumov/typescript-dev-toolkit": "^3.7.0",
122
+ "@mnaoumov/typescript-dev-toolkit": "^3.11.0",
122
123
  "@mnaoumov/typescript-test-toolkit": "^1.0.0",
123
124
  "@resvg/resvg-js": "^2.6.2",
125
+ "@stryker-mutator/core": "^10.1.1",
126
+ "@stryker-mutator/vitest-runner": "^10.1.1",
124
127
  "@total-typescript/ts-reset": "^0.6.1",
125
128
  "@tsconfig/strictest": "^2.0.8",
126
129
  "@types/node": "^26.6.2",