@mnaoumov/typescript-lib 1.0.0 → 1.0.1
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.
- package/README.md +9 -1
- package/dist/lib/cjs/@types/debug.d.cts +1 -1
- package/dist/lib/cjs/abort-controller.cjs +1 -59
- package/dist/lib/cjs/abort-controller.d.cts +2 -1
- package/dist/lib/cjs/aggregate-error.cjs +1 -59
- package/dist/lib/cjs/aggregate-error.d.cts +1 -1
- package/dist/lib/cjs/array-buffer.cjs +1 -59
- package/dist/lib/cjs/array-buffer.d.cts +1 -1
- package/dist/lib/cjs/array.cjs +1 -59
- package/dist/lib/cjs/array.d.cts +1 -1
- package/dist/lib/cjs/async-events.cjs +1 -59
- package/dist/lib/cjs/async-events.d.cts +1 -1
- package/dist/lib/cjs/async-operation-hook.cjs +1 -59
- package/dist/lib/cjs/async-operation-hook.d.cts +1 -1
- package/dist/lib/cjs/async.cjs +1 -59
- package/dist/lib/cjs/async.d.cts +2 -1
- package/dist/lib/cjs/beeper.cjs +1 -59
- package/dist/lib/cjs/beeper.d.cts +1 -1
- package/dist/lib/cjs/blob.cjs +1 -59
- package/dist/lib/cjs/blob.d.cts +2 -1
- package/dist/lib/cjs/bytes.cjs +1 -59
- package/dist/lib/cjs/bytes.d.cts +1 -1
- package/dist/lib/cjs/debug-controller.cjs +1 -59
- package/dist/lib/cjs/debug-controller.d.cts +1 -1
- package/dist/lib/cjs/debug.cjs +6 -37
- package/dist/lib/cjs/debug.d.cts +1 -1
- package/dist/lib/cjs/desktop-zip-extractor.cjs +1 -59
- package/dist/lib/cjs/desktop-zip-extractor.d.cts +2 -1
- package/dist/lib/cjs/disposable.cjs +4 -54
- package/dist/lib/cjs/disposable.d.cts +1 -1
- package/dist/lib/cjs/enum.cjs +1 -59
- package/dist/lib/cjs/enum.d.cts +1 -1
- package/dist/lib/cjs/error.cjs +1 -59
- package/dist/lib/cjs/error.d.cts +2 -1
- package/dist/lib/cjs/function.cjs +1 -59
- package/dist/lib/cjs/function.d.cts +1 -1
- package/dist/lib/cjs/html-element.cjs +1 -59
- package/dist/lib/cjs/html-element.d.cts +2 -1
- package/dist/lib/cjs/index.cjs +33 -91
- package/dist/lib/cjs/index.d.cts +1 -1
- package/dist/lib/cjs/jpeg-metadata.cjs +1 -59
- package/dist/lib/cjs/jpeg-metadata.d.cts +1 -1
- package/dist/lib/cjs/library-references.d.cts +2 -0
- package/dist/lib/cjs/library.cjs +1 -59
- package/dist/lib/cjs/object-utils.cjs +1 -59
- package/dist/lib/cjs/object-utils.d.cts +1 -1
- package/dist/lib/cjs/path.cjs +6 -37
- package/dist/lib/cjs/path.d.cts +2 -1
- package/dist/lib/cjs/reg-exp.cjs +1 -59
- package/dist/lib/cjs/reg-exp.d.cts +1 -1
- package/dist/lib/cjs/string.cjs +1 -59
- package/dist/lib/cjs/string.d.cts +2 -1
- package/dist/lib/cjs/transformers/date-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/date-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/group-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/group-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/index.cjs +9 -67
- package/dist/lib/cjs/transformers/index.d.cts +1 -1
- package/dist/lib/cjs/transformers/map-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/map-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/set-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/set-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +1 -1
- package/dist/lib/cjs/transformers/typed-transformer.cjs +1 -59
- package/dist/lib/cjs/transformers/typed-transformer.d.cts +1 -1
- package/dist/lib/cjs/two-way-map.cjs +1 -59
- package/dist/lib/cjs/two-way-map.d.cts +1 -1
- package/dist/lib/cjs/type-guards.cjs +1 -59
- package/dist/lib/cjs/type-guards.d.cts +1 -1
- package/dist/lib/cjs/type.cjs +1 -59
- package/dist/lib/cjs/type.d.cts +1 -1
- package/dist/lib/cjs/typescript-lib-state.cjs +1 -59
- package/dist/lib/cjs/typescript-lib-state.d.cts +1 -1
- package/dist/lib/cjs/url.cjs +1 -59
- package/dist/lib/cjs/url.d.cts +1 -1
- package/dist/lib/cjs/value-provider.cjs +1 -59
- package/dist/lib/cjs/value-provider.d.cts +2 -1
- package/dist/lib/cjs/value-wrapper.cjs +1 -59
- package/dist/lib/cjs/value-wrapper.d.cts +1 -1
- package/dist/lib/esm/@types/debug.d.mts +1 -1
- package/dist/lib/esm/abort-controller.d.mts +2 -1
- package/dist/lib/esm/abort-controller.mjs +1 -45
- package/dist/lib/esm/aggregate-error.d.mts +1 -1
- package/dist/lib/esm/aggregate-error.mjs +1 -45
- package/dist/lib/esm/array-buffer.d.mts +1 -1
- package/dist/lib/esm/array-buffer.mjs +1 -45
- package/dist/lib/esm/array.d.mts +1 -1
- package/dist/lib/esm/array.mjs +1 -45
- package/dist/lib/esm/async-events.d.mts +1 -1
- package/dist/lib/esm/async-events.mjs +1 -45
- package/dist/lib/esm/async-operation-hook.d.mts +1 -1
- package/dist/lib/esm/async-operation-hook.mjs +1 -45
- package/dist/lib/esm/async.d.mts +2 -1
- package/dist/lib/esm/async.mjs +1 -45
- package/dist/lib/esm/beeper.d.mts +1 -1
- package/dist/lib/esm/beeper.mjs +1 -45
- package/dist/lib/esm/blob.d.mts +2 -1
- package/dist/lib/esm/blob.mjs +1 -45
- package/dist/lib/esm/bytes.d.mts +1 -1
- package/dist/lib/esm/bytes.mjs +1 -45
- package/dist/lib/esm/debug-controller.d.mts +1 -1
- package/dist/lib/esm/debug-controller.mjs +0 -44
- package/dist/lib/esm/debug.d.mts +1 -1
- package/dist/lib/esm/debug.mjs +5 -22
- package/dist/lib/esm/desktop-zip-extractor.d.mts +2 -1
- package/dist/lib/esm/desktop-zip-extractor.mjs +1 -45
- package/dist/lib/esm/disposable.d.mts +1 -1
- package/dist/lib/esm/disposable.mjs +4 -40
- package/dist/lib/esm/enum.d.mts +1 -1
- package/dist/lib/esm/enum.mjs +1 -45
- package/dist/lib/esm/error.d.mts +2 -1
- package/dist/lib/esm/error.mjs +1 -45
- package/dist/lib/esm/function.d.mts +1 -1
- package/dist/lib/esm/function.mjs +1 -45
- package/dist/lib/esm/html-element.d.mts +2 -1
- package/dist/lib/esm/html-element.mjs +1 -45
- package/dist/lib/esm/index.d.mts +1 -1
- package/dist/lib/esm/index.mjs +1 -45
- package/dist/lib/esm/jpeg-metadata.d.mts +1 -1
- package/dist/lib/esm/jpeg-metadata.mjs +1 -45
- package/dist/lib/esm/library-references.d.mts +2 -0
- package/dist/lib/esm/library.mjs +1 -45
- package/dist/lib/esm/object-utils.d.mts +1 -1
- package/dist/lib/esm/object-utils.mjs +1 -45
- package/dist/lib/esm/path.d.mts +2 -1
- package/dist/lib/esm/path.mjs +5 -22
- package/dist/lib/esm/reg-exp.d.mts +1 -1
- package/dist/lib/esm/reg-exp.mjs +1 -45
- package/dist/lib/esm/string.d.mts +2 -1
- package/dist/lib/esm/string.mjs +1 -45
- package/dist/lib/esm/transformers/date-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/date-transformer.mjs +1 -45
- package/dist/lib/esm/transformers/group-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/group-transformer.mjs +1 -45
- package/dist/lib/esm/transformers/index.d.mts +1 -1
- package/dist/lib/esm/transformers/index.mjs +1 -45
- package/dist/lib/esm/transformers/map-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/map-transformer.mjs +1 -45
- package/dist/lib/esm/transformers/set-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/set-transformer.mjs +1 -45
- package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +1 -45
- package/dist/lib/esm/transformers/transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/transformer.mjs +1 -45
- package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +1 -45
- package/dist/lib/esm/transformers/typed-transformer.d.mts +1 -1
- package/dist/lib/esm/transformers/typed-transformer.mjs +1 -45
- package/dist/lib/esm/two-way-map.d.mts +1 -1
- package/dist/lib/esm/two-way-map.mjs +1 -45
- package/dist/lib/esm/type-guards.d.mts +1 -1
- package/dist/lib/esm/type-guards.mjs +1 -45
- package/dist/lib/esm/type.d.mts +1 -1
- package/dist/lib/esm/type.mjs +1 -45
- package/dist/lib/esm/typescript-lib-state.d.mts +1 -1
- package/dist/lib/esm/typescript-lib-state.mjs +1 -45
- package/dist/lib/esm/url.d.mts +1 -1
- package/dist/lib/esm/url.mjs +1 -45
- package/dist/lib/esm/value-provider.d.mts +2 -1
- package/dist/lib/esm/value-provider.mjs +1 -45
- package/dist/lib/esm/value-wrapper.d.mts +1 -1
- package/dist/lib/esm/value-wrapper.mjs +1 -45
- package/package.json +61 -19
|
@@ -3,64 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
-
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
|
-
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
-
globalThis.process = browserProcess;
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (existingProcess.versions?.node) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
-
existingProcessRecord[key] ??= value;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function keepName($unknown) {
|
|
45
|
-
return $unknown;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
|
-
const globalThisRecord = globalThis;
|
|
51
|
-
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord['__name'] ??= keepName;
|
|
53
|
-
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
54
|
-
|
|
55
|
-
ensureBrowserProcess();
|
|
56
|
-
|
|
57
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
58
|
-
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
60
|
-
}
|
|
61
|
-
})();
|
|
62
|
-
})();
|
|
63
|
-
|
|
64
6
|
"use strict";
|
|
65
7
|
var __defProp = Object.defineProperty;
|
|
66
8
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -138,4 +80,4 @@ function omitReturnType($function) {
|
|
|
138
80
|
omitAsyncReturnType,
|
|
139
81
|
omitReturnType
|
|
140
82
|
});
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Z1bmN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgYW5kIHR5cGVzIGZvciB3b3JraW5nIHdpdGggZnVuY3Rpb25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmd1bWVudHMgLSBUaGUgYXJndW1lbnRzIG9mIHRoZSBmdW5jdGlvbi5cbiAqIEB0eXBlUGFyYW0gUmV0dXJuIC0gVGhlIGF3YWl0ZWQgcmV0dXJuIHR5cGUgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljQXN5bmNGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdLCBSZXR1cm4gPSB1bmtub3duPiA9IEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMsIFByb21pc2U8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgdm9pZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3VtZW50cyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljQXN5bmNWb2lkRnVuY3Rpb248QXJndW1lbnRzIGV4dGVuZHMgdW5rbm93bltdID0gbmV2ZXJbXT4gPSBHZW5lcmljQXN5bmNGdW5jdGlvbjxBcmd1bWVudHMsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAdHlwZVBhcmFtIFJldHVybiAtIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdLCBSZXR1cm4gPSB1bmtub3duPiA9ICguLi4kYXJndW1lbnRzOiBBcmd1bWVudHMpID0+IFJldHVybjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ2VuZXJpYyBwcm9taXNhYmxlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAdHlwZVBhcmFtIFJldHVybiAtIFRoZSBhd2FpdGVkIHJldHVybiB0eXBlIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY1Byb21pc2FibGVGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdLCBSZXR1cm4gPSB1bmtub3duPiA9IEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMsIFByb21pc2FibGU8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgcHJvbWlzYWJsZSB2b2lkIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNQcm9taXNhYmxlVm9pZEZ1bmN0aW9uPEFyZ3VtZW50cyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10+ID0gR2VuZXJpY1Byb21pc2FibGVGdW5jdGlvbjxBcmd1bWVudHMsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIHZvaWQgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmd1bWVudHMgLSBUaGUgYXJndW1lbnRzIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY1ZvaWRGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdPiA9IEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMsIHZvaWQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgZnVuY3Rpb24gaW50byBhIHN0cmluZyB0aGF0IGlzIGEgdmFsaWQgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqXG4gKiBgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKClgIG9uIGEgc2hvcnRoYW5kIG1ldGhvZCBsaWtlIGB7IGZuKCkge30gfWBcbiAqIHJldHVybnMgYFwiZm4oKSB7fVwiYCwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZXhwcmVzc2lvbi5cbiAqIFRoaXMgaGVscGVyIGRldGVjdHMgdGhhdCBmb3JtIGFuZCBwcmVmaXhlcyBpdCB3aXRoIGBmdW5jdGlvbiBgLlxuICpcbiAqIEBwYXJhbSAkZnVuY3Rpb24gLSBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHRoYXQgaXMgYSB2YWxpZCBmdW5jdGlvbiBleHByZXNzaW9uLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlIC0tIFdlIG5lZWQgdG8gdXNlIGBGdW5jdGlvbmAgdHlwZS5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdW5jdGlvbkV4cHJlc3Npb25TdHJpbmcoJGZ1bmN0aW9uOiBGdW5jdGlvbik6IHN0cmluZyB7XG4gIGNvbnN0IGZ1bmN0aW9uU3RyaW5nID0gJGZ1bmN0aW9uLnRvU3RyaW5nKCk7XG5cbiAgaWYgKEZVTkNUSU9OX0VYUFJFU1NJT05fUkUudGVzdChmdW5jdGlvblN0cmluZykpIHtcbiAgICByZXR1cm4gZnVuY3Rpb25TdHJpbmc7XG4gIH1cblxuICBjb25zdCBhc3luY01hdGNoID0gQVNZTkNfS0VZV09SRF9SRS5leGVjKGZ1bmN0aW9uU3RyaW5nKTtcbiAgcmV0dXJuIGFzeW5jTWF0Y2ggPyBgYXN5bmMgZnVuY3Rpb24gJHtmdW5jdGlvblN0cmluZy5zbGljZShhc3luY01hdGNoWzBdLmxlbmd0aCl9YCA6IGBmdW5jdGlvbiAke2Z1bmN0aW9uU3RyaW5nfWA7XG59XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IGRvZXMgbm90aGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKTogdm9pZCB7XG4gIC8vIERvZXMgbm90aGluZy5cbn1cblxuLyoqXG4gKiBBIHNpbmdsZXRvbiBuby1vcCBwcm9taXNlLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3ByZWZlci1ub29wLWFzeW5jIC0tIEF2b2lkIGNpcmN1bGFyIHJlZmVyZW5jZS5cbmV4cG9ydCBjb25zdCBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IGRvZXMgbm90aGluZy5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vb3BBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2U7XG59XG5cbi8qKlxuICogTWFrZXMgYW4gYXN5bmMgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgYXN5bmMgZnVuY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBvbWl0cyB0aGUgcmV0dXJuIHZhbHVlLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gJGZ1bmN0aW9uIC0gRnVuY3Rpb24gdG8gYmUgY2FsbGVkLlxuICogQHJldHVybnMgQW4gYXN5bmMgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBvbWl0cyB0aGUgcmV0dXJuIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb21pdEFzeW5jUmV0dXJuVHlwZTxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10+KCRmdW5jdGlvbjogR2VuZXJpY0FzeW5jRnVuY3Rpb248QXJndW1lbnRzPik6IEdlbmVyaWNBc3luY1ZvaWRGdW5jdGlvbjxBcmd1bWVudHM+IHtcbiAgcmV0dXJuIGFzeW5jICguLi4kYXJndW1lbnRzOiBBcmd1bWVudHMpID0+IHtcbiAgICBhd2FpdCAkZnVuY3Rpb24oLi4uJGFyZ3VtZW50cyk7XG4gIH07XG59XG5cbi8qKlxuICogTWF0Y2hlcyBzdHJpbmdzIHRoYXQgYXJlIGFscmVhZHkgdmFsaWQgZnVuY3Rpb24gZXhwcmVzc2lvbnM6XG4gKiAtIGBmdW5jdGlvbiAuLi5gIChrZXl3b3JkLCBub3QgaWRlbnRpZmllciBsaWtlIGBmdW5jdGlvbjFgKVxuICogLSBgKGAgKGFycm93IGZ1bmN0aW9uKVxuICogLSBgYXN5bmNcXGJgIGZvbGxvd2VkIGJ5IGBmdW5jdGlvblxcYmAgb3IgYChgIChhc3luYyBmdW5jdGlvbi9hcnJvdylcbiAqL1xuY29uc3QgRlVOQ1RJT05fRVhQUkVTU0lPTl9SRSA9IC9eKD86ZnVuY3Rpb25cXGJ8YXN5bmNcXGJcXHMqKD86ZnVuY3Rpb25cXGJ8XFwoKXxcXCgpLztcblxuLyoqXG4gKiBNYXRjaGVzIHRoZSBgYXN5bmNgIGtleXdvcmQgKHdvcmQgYm91bmRhcnksIG5vdCBgYXN5bmMxYCkgZm9sbG93ZWQgYnkgb3B0aW9uYWwgd2hpdGVzcGFjZS5cbiAqIFVzZWQgdG8gc3RyaXAgdGhlIGBhc3luY2AgcHJlZml4IGZyb20gYXN5bmMgc2hvcnRoYW5kIG1ldGhvZHMgYmVmb3JlIHJlLWFkZGluZyBgYXN5bmMgZnVuY3Rpb25gLlxuICovXG5jb25zdCBBU1lOQ19LRVlXT1JEX1JFID0gL15hc3luY1xcYlxccyovO1xuXG50eXBlIEFyZ3VtZW50TmFtZXNPZjxUIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPiA9IE1hcFRvQXJndW1lbnROYW1lczxQYXJhbWV0ZXJzPFQ+PjtcblxuaW50ZXJmYWNlIENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zIHtcbiAgcmVhZG9ubHkgZnVuY3Rpb25Cb2R5OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+IGV4dGVuZHMgQ3JlYXRlRnVuY3Rpb25Bcmd1bWVudGxlc3NQYXJhbXMge1xuICByZWFkb25seSBhcmd1bWVudE5hbWVzOiBBcmd1bWVudE5hbWVzT2Y8VEZ1bmN0aW9uPjtcbn1cblxudHlwZSBNYXBUb0FyZ3VtZW50TmFtZXM8VEFyZ3VtZW50cyBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIGtleW9mIFRBcmd1bWVudHNdOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIENsb25lIGEgZnVuY3Rpb24gYnkgY3JlYXRpbmcgYSBuZXcgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24uXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgZm9yIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgdGhlIHNhbWUgYmVoYXZpb3IgYnV0IGlzIG5vdCBzdHJpY3RseSBlcXVhbCB0byB0aGUgb3JpZ2luYWwgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBURnVuY3Rpb24gLSBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2xvbmUuXG4gKiBAcGFyYW0gJGZ1bmN0aW9uIC0gVGhlIGZ1bmN0aW9uIHRvIGNsb25lLlxuICogQHJldHVybnMgQSBuZXcgZnVuY3Rpb24gdGhhdCBoYXMgdGhlIHNhbWUgYmVoYXZpb3IgYXMgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVGdW5jdGlvbjxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+KCRmdW5jdGlvbjogVEZ1bmN0aW9uKTogVEZ1bmN0aW9uIHtcbiAgcmV0dXJuIGNsb25lZEZ1bmN0aW9uIGFzIFRGdW5jdGlvbjtcblxuICBmdW5jdGlvbiBjbG9uZWRGdW5jdGlvbih0aGlzOiBUaGlzUGFyYW1ldGVyVHlwZTxURnVuY3Rpb24+LCAuLi4kYXJndW1lbnRzOiBQYXJhbWV0ZXJzPFRGdW5jdGlvbj4pOiBSZXR1cm5UeXBlPFRGdW5jdGlvbj4ge1xuICAgIHJldHVybiAkZnVuY3Rpb24uYXBwbHkodGhpcywgJGFyZ3VtZW50cykgYXMgUmV0dXJuVHlwZTxURnVuY3Rpb24+O1xuICB9XG59XG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEZ1bmN0aW9uIGlzIGFyZ3VtZW50bGVzcywgc28gYGFyZ05hbWVzYCBpcyBub3QgbmVlZGVkLlxuICpcbiAqIEB0eXBlUGFyYW0gVEZ1bmN0aW9uIC0gVGhlIHR5cGUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBjcmVhdGUgdGhlIGZ1bmN0aW9uIHdpdGguXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIGNyZWF0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMgLS0gV2UgbmVlZCByZXR1cm4gdHlwZS5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxURnVuY3Rpb24gZXh0ZW5kcyAoKSA9PiB1bmtub3duPihwYXJhbXM6IENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zKTogVEZ1bmN0aW9uO1xuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBGdW5jdGlvbiBoYXMgYXJndW1lbnRzLCBzbyBgYXJnTmFtZXNgIGlzIHJlcXVpcmVkLlxuICpcbiAqIEB0eXBlUGFyYW0gVEZ1bmN0aW9uIC0gVGhlIHR5cGUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBjcmVhdGUgdGhlIGZ1bmN0aW9uIHdpdGguXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIGNyZWF0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uPFRGdW5jdGlvbiBleHRlbmRzIEdlbmVyaWNGdW5jdGlvbj4ocGFyYW1zOiBDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24+KTogVEZ1bmN0aW9uO1xuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRGdW5jdGlvbiAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbiB0byBjcmVhdGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSB0aGUgZnVuY3Rpb24gd2l0aC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gY3JlYXRlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb248VEZ1bmN0aW9uIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPihcbiAgcGFyYW1zOiBDcmVhdGVGdW5jdGlvbkFyZ3VtZW50bGVzc1BhcmFtcyAmIFBhcnRpYWw8Q3JlYXRlRnVuY3Rpb25QYXJhbXM8VEZ1bmN0aW9uPj5cbik6IFRGdW5jdGlvbiB7XG4gIGNvbnN0IGFyZ3VtZW50TmFtZXMgPSBwYXJhbXMuYXJndW1lbnROYW1lcyA/PyBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW1wbGllZC1ldmFsIC0tIE5lZWQgZnVuY3Rpb24gY29uc3RydWN0b3JcbiAgcmV0dXJuIG5ldyBGdW5jdGlvbiguLi5hcmd1bWVudE5hbWVzLCBwYXJhbXMuZnVuY3Rpb25Cb2R5KSBhcyBURnVuY3Rpb247XG59XG5cbi8qKlxuICogTWFrZXMgYSBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgYW5kIG9taXRzIHRoZSByZXR1cm4gdmFsdWUuXG4gKlxuICogQHR5cGVQYXJhbSBBcmd1bWVudHMgLSBBcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSAkZnVuY3Rpb24gLSBGdW5jdGlvbiB0byBiZSBjYWxsZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgY2FsbHMgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBhbmQgb21pdHMgdGhlIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9taXRSZXR1cm5UeXBlPEFyZ3VtZW50cyBleHRlbmRzIHVua25vd25bXT4oJGZ1bmN0aW9uOiBHZW5lcmljRnVuY3Rpb248QXJndW1lbnRzPik6IEdlbmVyaWNWb2lkRnVuY3Rpb248QXJndW1lbnRzPiB7XG4gIHJldHVybiAoLi4uJGFyZ3VtZW50czogQXJndW1lbnRzKSA9PiB7XG4gICAgJGZ1bmN0aW9uKC4uLiRhcmd1bWVudHMpO1xuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0VPLFNBQVMsNEJBQTRCLFdBQTZCO0FBQ3ZFLFFBQU0saUJBQWlCLFVBQVUsU0FBUztBQUUxQyxNQUFJLHVCQUF1QixLQUFLLGNBQWMsR0FBRztBQUMvQyxXQUFPO0FBQUEsRUFDVDtBQUVBLFFBQU0sYUFBYSxpQkFBaUIsS0FBSyxjQUFjO0FBQ3ZELFNBQU8sYUFBYSxrQkFBa0IsZUFBZSxNQUFNLFdBQVcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLFlBQVksY0FBYztBQUNqSDtBQUtPLFNBQVMsT0FBYTtBQUU3QjtBQU1PLE1BQU0sNEJBQTRCLFFBQVEsUUFBUTtBQU9sRCxTQUFTLFlBQTJCO0FBQ3pDLFNBQU87QUFDVDtBQVNPLFNBQVMsb0JBQWlELFdBQWlGO0FBQ2hKLFNBQU8sVUFBVSxlQUEwQjtBQUN6QyxVQUFNLFVBQVUsR0FBRyxVQUFVO0FBQUEsRUFDL0I7QUFDRjtBQVFBLE1BQU0seUJBQXlCO0FBTS9CLE1BQU0sbUJBQW1CO0FBeUJsQixTQUFTLGNBQWlELFdBQWlDO0FBQ2hHLFNBQU87QUFFUCxXQUFTLGtCQUFzRCxZQUEwRDtBQUN2SCxXQUFPLFVBQVUsTUFBTSxNQUFNLFVBQVU7QUFBQSxFQUN6QztBQUNGO0FBOEJPLFNBQVMsZUFDZCxRQUNXO0FBQ1gsUUFBTSxnQkFBZ0IsT0FBTyxpQkFBaUIsQ0FBQztBQUUvQyxTQUFPLElBQUksU0FBUyxHQUFHLGVBQWUsT0FBTyxZQUFZO0FBQzNEO0FBU08sU0FBUyxlQUE0QyxXQUF1RTtBQUNqSSxTQUFPLElBQUksZUFBMEI7QUFDbkMsY0FBVSxHQUFHLFVBQVU7QUFBQSxFQUN6QjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2Z1bmN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdXRpbGl0eSBmdW5jdGlvbnMgYW5kIHR5cGVzIGZvciB3b3JraW5nIHdpdGggZnVuY3Rpb25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmd1bWVudHMgLSBUaGUgYXJndW1lbnRzIG9mIHRoZSBmdW5jdGlvbi5cbiAqIEB0eXBlUGFyYW0gUmV0dXJuIC0gVGhlIGF3YWl0ZWQgcmV0dXJuIHR5cGUgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljQXN5bmNGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdLCBSZXR1cm4gPSB1bmtub3duPiA9IEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMsIFByb21pc2U8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgYXN5bmMgdm9pZCBmdW5jdGlvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIEFyZ3VtZW50cyAtIFRoZSBhcmd1bWVudHMgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHZW5lcmljQXN5bmNWb2lkRnVuY3Rpb248QXJndW1lbnRzIGV4dGVuZHMgdW5rbm93bltdID0gbmV2ZXJbXT4gPSBHZW5lcmljQXN5bmNGdW5jdGlvbjxBcmd1bWVudHMsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAdHlwZVBhcmFtIFJldHVybiAtIFRoZSByZXR1cm4gdHlwZSBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdLCBSZXR1cm4gPSB1bmtub3duPiA9ICguLi4kYXJndW1lbnRzOiBBcmd1bWVudHMpID0+IFJldHVybjtcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZ2VuZXJpYyBwcm9taXNhYmxlIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAdHlwZVBhcmFtIFJldHVybiAtIFRoZSBhd2FpdGVkIHJldHVybiB0eXBlIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY1Byb21pc2FibGVGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdLCBSZXR1cm4gPSB1bmtub3duPiA9IEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMsIFByb21pc2FibGU8UmV0dXJuPj47XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGdlbmVyaWMgcHJvbWlzYWJsZSB2b2lkIGZ1bmN0aW9uLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gVGhlIGFyZ3VtZW50cyBvZiB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdlbmVyaWNQcm9taXNhYmxlVm9pZEZ1bmN0aW9uPEFyZ3VtZW50cyBleHRlbmRzIHVua25vd25bXSA9IG5ldmVyW10+ID0gR2VuZXJpY1Byb21pc2FibGVGdW5jdGlvbjxBcmd1bWVudHMsIHZvaWQ+O1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBnZW5lcmljIHZvaWQgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBBcmd1bWVudHMgLSBUaGUgYXJndW1lbnRzIG9mIHRoZSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IHR5cGUgR2VuZXJpY1ZvaWRGdW5jdGlvbjxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdPiA9IEdlbmVyaWNGdW5jdGlvbjxBcmd1bWVudHMsIHZvaWQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgZnVuY3Rpb24gaW50byBhIHN0cmluZyB0aGF0IGlzIGEgdmFsaWQgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqXG4gKiBgRnVuY3Rpb24ucHJvdG90eXBlLnRvU3RyaW5nKClgIG9uIGEgc2hvcnRoYW5kIG1ldGhvZCBsaWtlIGB7IGZuKCkge30gfWBcbiAqIHJldHVybnMgYFwiZm4oKSB7fVwiYCwgd2hpY2ggaXMgbm90IGEgdmFsaWQgZXhwcmVzc2lvbi5cbiAqIFRoaXMgaGVscGVyIGRldGVjdHMgdGhhdCBmb3JtIGFuZCBwcmVmaXhlcyBpdCB3aXRoIGBmdW5jdGlvbiBgLlxuICpcbiAqIEBwYXJhbSAkZnVuY3Rpb24gLSBUaGUgZnVuY3Rpb24gdG8gY29udmVydC5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIHRoYXQgaXMgYSB2YWxpZCBmdW5jdGlvbiBleHByZXNzaW9uLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlIC0tIFdlIG5lZWQgdG8gdXNlIGBGdW5jdGlvbmAgdHlwZS5cbmV4cG9ydCBmdW5jdGlvbiBnZXRGdW5jdGlvbkV4cHJlc3Npb25TdHJpbmcoJGZ1bmN0aW9uOiBGdW5jdGlvbik6IHN0cmluZyB7XG4gIGNvbnN0IGZ1bmN0aW9uU3RyaW5nID0gJGZ1bmN0aW9uLnRvU3RyaW5nKCk7XG5cbiAgaWYgKEZVTkNUSU9OX0VYUFJFU1NJT05fUkUudGVzdChmdW5jdGlvblN0cmluZykpIHtcbiAgICByZXR1cm4gZnVuY3Rpb25TdHJpbmc7XG4gIH1cblxuICBjb25zdCBhc3luY01hdGNoID0gQVNZTkNfS0VZV09SRF9SRS5leGVjKGZ1bmN0aW9uU3RyaW5nKTtcbiAgcmV0dXJuIGFzeW5jTWF0Y2ggPyBgYXN5bmMgZnVuY3Rpb24gJHtmdW5jdGlvblN0cmluZy5zbGljZShhc3luY01hdGNoWzBdLmxlbmd0aCl9YCA6IGBmdW5jdGlvbiAke2Z1bmN0aW9uU3RyaW5nfWA7XG59XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IGRvZXMgbm90aGluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKTogdm9pZCB7XG4gIC8vIERvZXMgbm90aGluZy5cbn1cblxuLyoqXG4gKiBBIHNpbmdsZXRvbiBuby1vcCBwcm9taXNlLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3ByZWZlci1ub29wLWFzeW5jIC0tIEF2b2lkIGNpcmN1bGFyIHJlZmVyZW5jZS5cbmV4cG9ydCBjb25zdCBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlID0gUHJvbWlzZS5yZXNvbHZlKCk7XG5cbi8qKlxuICogQSBmdW5jdGlvbiB0aGF0IGRvZXMgbm90aGluZy5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmdW5jdGlvbiBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vb3BBc3luYygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2U7XG59XG5cbi8qKlxuICogTWFrZXMgYW4gYXN5bmMgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgYXN5bmMgZnVuY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBvbWl0cyB0aGUgcmV0dXJuIHZhbHVlLlxuICpcbiAqIEB0eXBlUGFyYW0gQXJndW1lbnRzIC0gQXJndW1lbnRzIHRvIGJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gJGZ1bmN0aW9uIC0gRnVuY3Rpb24gdG8gYmUgY2FsbGVkLlxuICogQHJldHVybnMgQW4gYXN5bmMgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24gd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzIGFuZCBvbWl0cyB0aGUgcmV0dXJuIHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb21pdEFzeW5jUmV0dXJuVHlwZTxBcmd1bWVudHMgZXh0ZW5kcyB1bmtub3duW10+KCRmdW5jdGlvbjogR2VuZXJpY0FzeW5jRnVuY3Rpb248QXJndW1lbnRzPik6IEdlbmVyaWNBc3luY1ZvaWRGdW5jdGlvbjxBcmd1bWVudHM+IHtcbiAgcmV0dXJuIGFzeW5jICguLi4kYXJndW1lbnRzOiBBcmd1bWVudHMpID0+IHtcbiAgICBhd2FpdCAkZnVuY3Rpb24oLi4uJGFyZ3VtZW50cyk7XG4gIH07XG59XG5cbi8qKlxuICogTWF0Y2hlcyBzdHJpbmdzIHRoYXQgYXJlIGFscmVhZHkgdmFsaWQgZnVuY3Rpb24gZXhwcmVzc2lvbnM6XG4gKiAtIGBmdW5jdGlvbiAuLi5gIChrZXl3b3JkLCBub3QgaWRlbnRpZmllciBsaWtlIGBmdW5jdGlvbjFgKVxuICogLSBgKGAgKGFycm93IGZ1bmN0aW9uKVxuICogLSBgYXN5bmNcXGJgIGZvbGxvd2VkIGJ5IGBmdW5jdGlvblxcYmAgb3IgYChgIChhc3luYyBmdW5jdGlvbi9hcnJvdylcbiAqL1xuY29uc3QgRlVOQ1RJT05fRVhQUkVTU0lPTl9SRSA9IC9eKD86ZnVuY3Rpb25cXGJ8YXN5bmNcXGJcXHMqKD86ZnVuY3Rpb25cXGJ8XFwoKXxcXCgpLztcblxuLyoqXG4gKiBNYXRjaGVzIHRoZSBgYXN5bmNgIGtleXdvcmQgKHdvcmQgYm91bmRhcnksIG5vdCBgYXN5bmMxYCkgZm9sbG93ZWQgYnkgb3B0aW9uYWwgd2hpdGVzcGFjZS5cbiAqIFVzZWQgdG8gc3RyaXAgdGhlIGBhc3luY2AgcHJlZml4IGZyb20gYXN5bmMgc2hvcnRoYW5kIG1ldGhvZHMgYmVmb3JlIHJlLWFkZGluZyBgYXN5bmMgZnVuY3Rpb25gLlxuICovXG5jb25zdCBBU1lOQ19LRVlXT1JEX1JFID0gL15hc3luY1xcYlxccyovO1xuXG50eXBlIEFyZ3VtZW50TmFtZXNPZjxUIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPiA9IE1hcFRvQXJndW1lbnROYW1lczxQYXJhbWV0ZXJzPFQ+PjtcblxuaW50ZXJmYWNlIENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zIHtcbiAgcmVhZG9ubHkgZnVuY3Rpb25Cb2R5OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+IGV4dGVuZHMgQ3JlYXRlRnVuY3Rpb25Bcmd1bWVudGxlc3NQYXJhbXMge1xuICByZWFkb25seSBhcmd1bWVudE5hbWVzOiBBcmd1bWVudE5hbWVzT2Y8VEZ1bmN0aW9uPjtcbn1cblxudHlwZSBNYXBUb0FyZ3VtZW50TmFtZXM8VEFyZ3VtZW50cyBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4gPSB7XG4gIHJlYWRvbmx5IFtLIGluIGtleW9mIFRBcmd1bWVudHNdOiBzdHJpbmc7XG59O1xuXG4vKipcbiAqIENsb25lIGEgZnVuY3Rpb24gYnkgY3JlYXRpbmcgYSBuZXcgZnVuY3Rpb24gdGhhdCBjYWxscyB0aGUgb3JpZ2luYWwgZnVuY3Rpb24uXG4gKlxuICogVGhpcyBpcyB1c2VmdWwgZm9yIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIG9mIGEgZnVuY3Rpb24gdGhhdCBoYXMgdGhlIHNhbWUgYmVoYXZpb3IgYnV0IGlzIG5vdCBzdHJpY3RseSBlcXVhbCB0byB0aGUgb3JpZ2luYWwgZnVuY3Rpb24uXG4gKlxuICogQHR5cGVQYXJhbSBURnVuY3Rpb24gLSBUaGUgdHlwZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2xvbmUuXG4gKiBAcGFyYW0gJGZ1bmN0aW9uIC0gVGhlIGZ1bmN0aW9uIHRvIGNsb25lLlxuICogQHJldHVybnMgQSBuZXcgZnVuY3Rpb24gdGhhdCBoYXMgdGhlIHNhbWUgYmVoYXZpb3IgYXMgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVGdW5jdGlvbjxURnVuY3Rpb24gZXh0ZW5kcyBHZW5lcmljRnVuY3Rpb24+KCRmdW5jdGlvbjogVEZ1bmN0aW9uKTogVEZ1bmN0aW9uIHtcbiAgcmV0dXJuIGNsb25lZEZ1bmN0aW9uIGFzIFRGdW5jdGlvbjtcblxuICBmdW5jdGlvbiBjbG9uZWRGdW5jdGlvbih0aGlzOiBUaGlzUGFyYW1ldGVyVHlwZTxURnVuY3Rpb24+LCAuLi4kYXJndW1lbnRzOiBQYXJhbWV0ZXJzPFRGdW5jdGlvbj4pOiBSZXR1cm5UeXBlPFRGdW5jdGlvbj4ge1xuICAgIHJldHVybiAkZnVuY3Rpb24uYXBwbHkodGhpcywgJGFyZ3VtZW50cykgYXMgUmV0dXJuVHlwZTxURnVuY3Rpb24+O1xuICB9XG59XG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICpcbiAqIEZ1bmN0aW9uIGlzIGFyZ3VtZW50bGVzcywgc28gYGFyZ05hbWVzYCBpcyBub3QgbmVlZGVkLlxuICpcbiAqIEB0eXBlUGFyYW0gVEZ1bmN0aW9uIC0gVGhlIHR5cGUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBjcmVhdGUgdGhlIGZ1bmN0aW9uIHdpdGguXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIGNyZWF0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLXBhcmFtZXRlcnMgLS0gV2UgbmVlZCByZXR1cm4gdHlwZS5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGdW5jdGlvbjxURnVuY3Rpb24gZXh0ZW5kcyAoKSA9PiB1bmtub3duPihwYXJhbXM6IENyZWF0ZUZ1bmN0aW9uQXJndW1lbnRsZXNzUGFyYW1zKTogVEZ1bmN0aW9uO1xuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBGdW5jdGlvbiBoYXMgYXJndW1lbnRzLCBzbyBgYXJnTmFtZXNgIGlzIHJlcXVpcmVkLlxuICpcbiAqIEB0eXBlUGFyYW0gVEZ1bmN0aW9uIC0gVGhlIHR5cGUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyB0byBjcmVhdGUgdGhlIGZ1bmN0aW9uIHdpdGguXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIGNyZWF0ZWQgZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZ1bmN0aW9uPFRGdW5jdGlvbiBleHRlbmRzIEdlbmVyaWNGdW5jdGlvbj4ocGFyYW1zOiBDcmVhdGVGdW5jdGlvblBhcmFtczxURnVuY3Rpb24+KTogVEZ1bmN0aW9uO1xuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gZnJvbSB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRGdW5jdGlvbiAtIFRoZSB0eXBlIG9mIHRoZSBmdW5jdGlvbiB0byBjcmVhdGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIHRvIGNyZWF0ZSB0aGUgZnVuY3Rpb24gd2l0aC5cbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gY3JlYXRlZCBmcm9tIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRnVuY3Rpb248VEZ1bmN0aW9uIGV4dGVuZHMgR2VuZXJpY0Z1bmN0aW9uPihcbiAgcGFyYW1zOiBDcmVhdGVGdW5jdGlvbkFyZ3VtZW50bGVzc1BhcmFtcyAmIFBhcnRpYWw8Q3JlYXRlRnVuY3Rpb25QYXJhbXM8VEZ1bmN0aW9uPj5cbik6IFRGdW5jdGlvbiB7XG4gIGNvbnN0IGFyZ3VtZW50TmFtZXMgPSBwYXJhbXMuYXJndW1lbnROYW1lcyA/PyBbXTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW1wbGllZC1ldmFsIC0tIE5lZWQgZnVuY3Rpb24gY29uc3RydWN0b3JcbiAgcmV0dXJuIG5ldyBGdW5jdGlvbiguLi5hcmd1bWVudE5hbWVzLCBwYXJhbXMuZnVuY3Rpb25Cb2R5KSBhcyBURnVuY3Rpb247XG59XG5cbi8qKlxuICogTWFrZXMgYSBmdW5jdGlvbiB0aGF0IGNhbGxzIHRoZSBvcmlnaW5hbCBmdW5jdGlvbiB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMgYW5kIG9taXRzIHRoZSByZXR1cm4gdmFsdWUuXG4gKlxuICogQHR5cGVQYXJhbSBBcmd1bWVudHMgLSBBcmd1bWVudHMgdG8gYmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAqIEBwYXJhbSAkZnVuY3Rpb24gLSBGdW5jdGlvbiB0byBiZSBjYWxsZWQuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgY2FsbHMgdGhlIG9yaWdpbmFsIGZ1bmN0aW9uIHdpdGggdGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBhbmQgb21pdHMgdGhlIHJldHVybiB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9taXRSZXR1cm5UeXBlPEFyZ3VtZW50cyBleHRlbmRzIHVua25vd25bXT4oJGZ1bmN0aW9uOiBHZW5lcmljRnVuY3Rpb248QXJndW1lbnRzPik6IEdlbmVyaWNWb2lkRnVuY3Rpb248QXJndW1lbnRzPiB7XG4gIHJldHVybiAoLi4uJGFyZ3VtZW50czogQXJndW1lbnRzKSA9PiB7XG4gICAgJGZ1bmN0aW9uKC4uLiRhcmd1bWVudHMpO1xuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnRU8sU0FBUyw0QkFBNEIsV0FBNkI7QUFDdkUsUUFBTSxpQkFBaUIsVUFBVSxTQUFTO0FBRTFDLE1BQUksdUJBQXVCLEtBQUssY0FBYyxHQUFHO0FBQy9DLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxhQUFhLGlCQUFpQixLQUFLLGNBQWM7QUFDdkQsU0FBTyxhQUFhLGtCQUFrQixlQUFlLE1BQU0sV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssWUFBWSxjQUFjO0FBQ2pIO0FBS08sU0FBUyxPQUFhO0FBRTdCO0FBTU8sTUFBTSw0QkFBNEIsUUFBUSxRQUFRO0FBT2xELFNBQVMsWUFBMkI7QUFDekMsU0FBTztBQUNUO0FBU08sU0FBUyxvQkFBaUQsV0FBaUY7QUFDaEosU0FBTyxVQUFVLGVBQTBCO0FBQ3pDLFVBQU0sVUFBVSxHQUFHLFVBQVU7QUFBQSxFQUMvQjtBQUNGO0FBUUEsTUFBTSx5QkFBeUI7QUFNL0IsTUFBTSxtQkFBbUI7QUF5QmxCLFNBQVMsY0FBaUQsV0FBaUM7QUFDaEcsU0FBTztBQUVQLFdBQVMsa0JBQXNELFlBQTBEO0FBQ3ZILFdBQU8sVUFBVSxNQUFNLE1BQU0sVUFBVTtBQUFBLEVBQ3pDO0FBQ0Y7QUE4Qk8sU0FBUyxlQUNkLFFBQ1c7QUFDWCxRQUFNLGdCQUFnQixPQUFPLGlCQUFpQixDQUFDO0FBRS9DLFNBQU8sSUFBSSxTQUFTLEdBQUcsZUFBZSxPQUFPLFlBQVk7QUFDM0Q7QUFTTyxTQUFTLGVBQTRDLFdBQXVFO0FBQ2pJLFNBQU8sSUFBSSxlQUEwQjtBQUNuQyxjQUFVLEdBQUcsVUFBVTtBQUFBLEVBQ3pCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -3,64 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
-
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
|
-
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
-
globalThis.process = browserProcess;
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (existingProcess.versions?.node) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
-
existingProcessRecord[key] ??= value;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function keepName($unknown) {
|
|
45
|
-
return $unknown;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
|
-
const globalThisRecord = globalThis;
|
|
51
|
-
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord['__name'] ??= keepName;
|
|
53
|
-
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
54
|
-
|
|
55
|
-
ensureBrowserProcess();
|
|
56
|
-
|
|
57
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
58
|
-
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
60
|
-
}
|
|
61
|
-
})();
|
|
62
|
-
})();
|
|
63
|
-
|
|
64
6
|
"use strict";
|
|
65
7
|
var __defProp = Object.defineProperty;
|
|
66
8
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -338,4 +280,4 @@ function setElementText(element, text) {
|
|
|
338
280
|
toPx,
|
|
339
281
|
waitUntilConnected
|
|
340
282
|
});
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0bWwtZWxlbWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIE9ic2lkaWFuLXJ1bnRpbWUtYWdub3N0aWMgaGVscGVycyBmb3Igd29ya2luZyB3aXRoIEhUTUwgZWxlbWVudHMuXG4gKlxuICogU2V2ZXJhbCBoZWxwZXJzIGhlcmUgbWlycm9yIGJlaGF2aW9yIHRoYXQgdGhlIE9ic2lkaWFuIHJ1bnRpbWUgaW5qZWN0cyBvbnRvIHRoZSBET00gcHJvdG90eXBlc1xuICogKGBjcmVhdGVFbGAvYGNyZWF0ZURpdmAvYGNyZWF0ZVNwYW5gL2BjcmVhdGVTdmdgL2BjcmVhdGVGcmFnbWVudGAsIGBOb2RlLnByb3RvdHlwZS5pbnN0YW5jZU9mYCxcbiAqIGBFbGVtZW50LnByb3RvdHlwZS5zZXRUZXh0YC9gc2V0QXR0cnNgKS4gVG8gc3RheSBpbmRlcGVuZGVudCBvZiB0aGUgT2JzaWRpYW4gcnVudGltZSwgdGhhdCBiZWhhdmlvclxuICogaXMgcmVpbXBsZW1lbnRlZCBoZXJlIGluIHN0YW5kYXJkIERPTSwgcG9ydGVkIGZyb20gT2JzaWRpYW4ncyBvd24gaW1wbGVtZW50YXRpb24gaW5cbiAqIGBvYnNpZGlhbi5hc2FyL2VuaGFuY2UuanNgLiBTZWUgdGhlIGBvYnNpZGlhbi12ZXJzaW9uc2AgcHJvamVjdDsgcmV2YWxpZGF0ZSB0aGUgcG9ydCB3aGVuIE9ic2lkaWFuXG4gKiBjaGFuZ2VzIGBlbmhhbmNlLmpzYCAodGhlcmUgaXMgYSByZW1pbmRlciBpbiBgQ0xBVURFLm1kYCkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ2FsbGJhY2tEaXNwb3NhYmxlIH0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnLi90eXBlLWd1YXJkcy50cyc7XG5cbmNvbnN0IFNWR19OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xuXG4vKipcbiAqIFRoZSBlbGVtZW50IGluZm9ybWF0aW9uIHtAbGluayBjcmVhdGVFbEFzeW5jfSBhbmQgaXRzIHNpYmxpbmdzIGFwcGx5OiB0aGUgZWxlbWVudC10eXBlLWFnbm9zdGljIHN1YnNldCBvZlxuICogT2JzaWRpYW4ncyBgRG9tRWxlbWVudEluZm9gLCBkZWNsYXJlZCBoZXJlIHNvIHRoaXMgbW9kdWxlIG5lZWRzIG5vIE9ic2lkaWFuIHR5cGluZ3MuIEFuIE9ic2lkaWFuXG4gKiBgRG9tRWxlbWVudEluZm9gIHZhbHVlIGlzIGFzc2lnbmFibGUgdG8gaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBhdHRyaWJ1dGVzIHRvIHNldDsgYG51bGxgIHJlbW92ZXMgdGhlIGF0dHJpYnV0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHI/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuIHwgbnVsbCB8IG51bWJlciB8IHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBDU1MgY2xhc3Mgb3IgY2xhc3Nlcy5cbiAgICovXG4gIHJlYWRvbmx5IGNscz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IHRvIGluc2VydCB0aGUgZWxlbWVudCBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50PzogTm9kZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbnNlcnQgdGhlIGVsZW1lbnQgYXMgdGhlIHBhcmVudCdzIGZpcnN0IGNoaWxkIGluc3RlYWQgb2YgaXRzIGxhc3QuXG4gICAqL1xuICByZWFkb25seSBwcmVwZW5kPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRleHQgY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IHRleHQ/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdG9vbHRpcCB0ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIFNWRyBlbGVtZW50IGluZm9ybWF0aW9uIHtAbGluayBjcmVhdGVTdmdBc3luY30gYXBwbGllczogdGhlIHN1YnNldCBvZiBPYnNpZGlhbidzIGBTdmdFbGVtZW50SW5mb2AgaXRcbiAqIHN1cHBvcnRzLCBkZWNsYXJlZCBoZXJlIHNvIHRoaXMgbW9kdWxlIG5lZWRzIG5vIE9ic2lkaWFuIHR5cGluZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU3ZnRWxlbWVudEluZm8ge1xuICAvKipcbiAgICogVGhlIGF0dHJpYnV0ZXMgdG8gc2V0OyBgbnVsbGAgcmVtb3ZlcyB0aGUgYXR0cmlidXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cj86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4gfCBudWxsIHwgbnVtYmVyIHwgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBvciBjbGFzc2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJlbnQgdG8gaW5zZXJ0IHRoZSBlbGVtZW50IGludG8uXG4gICAqL1xuICByZWFkb25seSBwYXJlbnQ/OiBOb2RlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluc2VydCB0aGUgZWxlbWVudCBhcyB0aGUgcGFyZW50J3MgZmlyc3QgY2hpbGQgaW5zdGVhZCBvZiBpdHMgbGFzdC5cbiAgICovXG4gIHJlYWRvbmx5IHByZXBlbmQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgSFRNTCBlbGVtZW50IHRoYXQgY2FuIGJlIHZhbGlkYXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICAvKipcbiAgICogQ2hlY2tzIHRoZSB2YWxpZGl0eSBvZiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbGVtZW50IGlzIHZhbGlkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIGNoZWNrVmFsaWRpdHk6ICgpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgdGhlIHZhbGlkaXR5IG9mIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcmVwb3J0VmFsaWRpdHk6ICgpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHMgYSBjdXN0b20gZXJyb3IgbWVzc2FnZSBvbiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2V0IG9uIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgc2V0Q3VzdG9tVmFsaWRpdHk6IChlcnJvcjogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBbiBlcnJvciBtZXNzYWdlIG9mIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZGl2IGFzeW5jaHJvbm91c2x5LlxuICpcbiAqIEBwYXJhbSBvIC0gVGhlIGVsZW1lbnQgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBkaXYgaXMgY3JlYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGRpdi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURpdkFzeW5jKFxuICBvPzogQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHwgc3RyaW5nLFxuICBjYWxsYmFjaz86IChlbGVtZW50OiBIVE1MRGl2RWxlbWVudCkgPT4gUHJvbWlzYWJsZTx2b2lkPlxuKTogUHJvbWlzZTxIVE1MRGl2RWxlbWVudD4ge1xuICBjb25zdCBkaXYgPSBjcmVhdGVIdG1sRWxlbWVudCgnZGl2Jywgbyk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oZGl2KTtcbiAgcmV0dXJuIGRpdjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVsZW1lbnQgYXN5bmNocm9ub3VzbHkuXG4gKlxuICogQHR5cGVQYXJhbSBLIC0gVGhlIHRhZyBuYW1lIGtleSBmcm9tIGBIVE1MRWxlbWVudFRhZ05hbWVNYXBgLlxuICogQHBhcmFtIHRhZyAtIFRoZSB0YWcgbmFtZSBvZiB0aGUgZWxlbWVudCB0byBjcmVhdGUuXG4gKiBAcGFyYW0gbyAtIFRoZSBlbGVtZW50IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgZWxlbWVudCBpcyBjcmVhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgZWxlbWVudC5cbiAqIEByZW1hcmtzIE5vdCByZWZhY3RvcmVkIHRvIHBhcmFtZXRlci1vYmplY3QgcGF0dGVybiwgdG8ga2VlcCB0aGUgcGFyaXR5IHdpdGggT2JzaWRpYW4ncyBgY3JlYXRlRWxgIChvciBjcmVhdGVTdmcsIGNvcnJlc3BvbmRpbmdseSkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVFbEFzeW5jPEsgZXh0ZW5kcyBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXA+KFxuICB0YWc6IEssXG4gIG8/OiBDcmVhdGVIdG1sRWxlbWVudEluZm8gfCBzdHJpbmcsXG4gIGNhbGxiYWNrPzogKGVsZW1lbnQ6IEhUTUxFbGVtZW50VGFnTmFtZU1hcFtLXSkgPT4gUHJvbWlzYWJsZTx2b2lkPlxuKTogUHJvbWlzZTxIVE1MRWxlbWVudFRhZ05hbWVNYXBbS10+IHtcbiAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZUh0bWxFbGVtZW50KHRhZywgbyk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oZWxlbWVudCk7XG4gIHJldHVybiBlbGVtZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBEb2N1bWVudEZyYWdtZW50IGFzeW5jaHJvbm91c2x5LlxuICpcbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIERvY3VtZW50RnJhZ21lbnQgaXMgY3JlYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIERvY3VtZW50RnJhZ21lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVGcmFnbWVudEFzeW5jKGNhbGxiYWNrPzogKGVsZW1lbnQ6IERvY3VtZW50RnJhZ21lbnQpID0+IFByb21pc2FibGU8dm9pZD4pOiBQcm9taXNlPERvY3VtZW50RnJhZ21lbnQ+IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLWNyZWF0ZS1lbCAtLSBBZ25vc3RpYyBtb2R1bGUuXG4gIGNvbnN0IGZyYWdtZW50ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO1xuICBhd2FpdCBjYWxsYmFjaz8uKGZyYWdtZW50KTtcbiAgcmV0dXJuIGZyYWdtZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzcGFuIGFzeW5jaHJvbm91c2x5LlxuICpcbiAqIEBwYXJhbSBvIC0gVGhlIGVsZW1lbnQgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBzcGFuIGlzIGNyZWF0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzcGFuLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3BhbkFzeW5jKFxuICBvPzogQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHwgc3RyaW5nLFxuICBjYWxsYmFjaz86IChlbGVtZW50OiBIVE1MU3BhbkVsZW1lbnQpID0+IFByb21pc2FibGU8dm9pZD5cbik6IFByb21pc2U8SFRNTFNwYW5FbGVtZW50PiB7XG4gIGNvbnN0IHNwYW4gPSBjcmVhdGVIdG1sRWxlbWVudCgnc3BhbicsIG8pO1xuICBhd2FpdCBjYWxsYmFjaz8uKHNwYW4pO1xuICByZXR1cm4gc3Bhbjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc3ZnIGFzeW5jaHJvbm91c2x5LlxuICpcbiAqIEB0eXBlUGFyYW0gSyAtIFRoZSB0YWcgbmFtZSBrZXkgZnJvbSBgU1ZHRWxlbWVudFRhZ05hbWVNYXBgLlxuICogQHBhcmFtIHRhZyAtIFRoZSB0YWcgbmFtZSBvZiB0aGUgc3ZnIHRvIGNyZWF0ZS5cbiAqIEBwYXJhbSBvIC0gVGhlIHN2ZyBpbmZvcm1hdGlvbi5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIHN2ZyBpcyBjcmVhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgc3ZnLlxuICogQHJlbWFya3MgTm90IHJlZmFjdG9yZWQgdG8gcGFyYW1ldGVyLW9iamVjdCBwYXR0ZXJuLCB0byBrZWVwIHRoZSBwYXJpdHkgd2l0aCBPYnNpZGlhbidzIGBjcmVhdGVTdmdgIChvciBjcmVhdGVFbCwgY29ycmVzcG9uZGluZ2x5KS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZVN2Z0FzeW5jPEsgZXh0ZW5kcyBrZXlvZiBTVkdFbGVtZW50VGFnTmFtZU1hcD4oXG4gIHRhZzogSyxcbiAgbz86IENyZWF0ZVN2Z0VsZW1lbnRJbmZvIHwgc3RyaW5nLFxuICBjYWxsYmFjaz86IChlbGVtZW50OiBTVkdFbGVtZW50VGFnTmFtZU1hcFtLXSkgPT4gUHJvbWlzYWJsZTx2b2lkPlxuKTogUHJvbWlzZTxTVkdFbGVtZW50VGFnTmFtZU1hcFtLXT4ge1xuICBjb25zdCBzdmcgPSBjcmVhdGVTdmdFbGVtZW50KHRhZywgbyk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oc3ZnKTtcbiAgcmV0dXJuIHN2Zztcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgdGhlIGdpdmVuIGVsZW1lbnQgaXMgbG9hZGVkLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gZW5zdXJlIGlzIGxvYWRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBpcyBsb2FkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBlbnN1cmVMb2FkZWQoZWxlbWVudDogRWxlbWVudCk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoaXNMb2FkZWQoZWxlbWVudCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3Qgd2luID0gZ2V0Tm9kZVdpbmRvdyhlbGVtZW50KTtcbiAgaWYgKFxuICAgIGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTEJvZHlFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTEltYWdlRWxlbWVudClcbiAgICB8fCBpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxJRnJhbWVFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTEVtYmVkRWxlbWVudClcbiAgICB8fCBpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxMaW5rRWxlbWVudClcbiAgICB8fCBpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxPYmplY3RFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTFN0eWxlRWxlbWVudClcbiAgICB8fCBpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxUcmFja0VsZW1lbnQpXG4gICkge1xuICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCByZXNvbHZlKTtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZXNvbHZlKTtcbiAgICB9KTtcbiAgICByZXR1cm47XG4gIH1cblxuICBhd2FpdCBQcm9taXNlLmFsbChnZXRMb2FkYWJsZUVsZW1lbnRzKGVsZW1lbnQpLm1hcCgobG9hZGFibGVFbGVtZW50KSA9PiBlbnN1cmVMb2FkZWQobG9hZGFibGVFbGVtZW50KSkpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHdpbmRvdyBhIGRvY3VtZW50IGJlbG9uZ3MgdG8uXG4gKlxuICogQSBkb2N1bWVudCBpcyB0aGUgb25lIG5vZGUgd2hvc2UgYG93bmVyRG9jdW1lbnRgIGlzIGBudWxsYCwgc28gdGhlIGBvd25lckRvY3VtZW50YC1jaGFzaW5nIGxvb2t1cFxuICogdXNlZCBmb3Igb3JkaW5hcnkgbm9kZXMgcmVzb2x2ZXMgYSBkb2N1bWVudCB0byB0aGUgd3Jvbmcgd2luZG93LiBSZWFkaW5nIGBkZWZhdWx0Vmlld2Agb2ZmIHRoZVxuICogZG9jdW1lbnQgaXRzZWxmIGlzIHdoYXQga2VlcHMgYSBwb3Atb3V0IHdpbmRvdydzIGNvb3JkaW5hdGVzIG1lYXN1cmVkIGFnYWluc3QgdGhhdCB3aW5kb3cuXG4gKlxuICogQHBhcmFtIGRvYyAtIFRoZSBkb2N1bWVudCB0byBnZXQgdGhlIHdpbmRvdyBvZi5cbiAqIEByZXR1cm5zIFRoZSB3aW5kb3cgdGhlIGRvY3VtZW50IGJlbG9uZ3MgdG8uXG4gKiBAdGhyb3dzIEFuIHtAbGluayBFcnJvcn0gaWYgdGhlIGRvY3VtZW50IGlzIGRldGFjaGVkIGFuZCB0aGVyZWZvcmUgaGFzIG5vIHdpbmRvdy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldERvY3VtZW50V2luZG93KGRvYzogRG9jdW1lbnQpOiBXaW5kb3cge1xuICByZXR1cm4gZW5zdXJlTm9uTnVsbGFibGUoZG9jLmRlZmF1bHRWaWV3LCAnVGhlIGRvY3VtZW50IGhhcyBubyB3aW5kb3cnKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSB6LWluZGV4IG9mIHRoZSBnaXZlbiBlbGVtZW50LlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gZ2V0IHRoZSB6LWluZGV4IG9mLlxuICogQHJldHVybnMgVGhlIHotaW5kZXggb2YgdGhlIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRaSW5kZXgoZWxlbWVudDogRWxlbWVudCk6IG51bWJlciB7XG4gIGxldCBlbGVtZW50MjogRWxlbWVudCB8IG51bGwgPSBlbGVtZW50O1xuXG4gIHdoaWxlIChlbGVtZW50Mikge1xuICAgIGNvbnN0IHpJbmRleFN0cmluZyA9IGdldENvbXB1dGVkU3R5bGUoZWxlbWVudDIpLnpJbmRleDtcbiAgICBjb25zdCB6SW5kZXggPSBOdW1iZXIucGFyc2VJbnQoekluZGV4U3RyaW5nLCAxMCk7XG4gICAgaWYgKCFOdW1iZXIuaXNOYU4oekluZGV4KSkge1xuICAgICAgcmV0dXJuIHpJbmRleDtcbiAgICB9XG4gICAgZWxlbWVudDIgPSBlbGVtZW50Mi5wYXJlbnRFbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIDA7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBlbGVtZW50IGlzIHZpc2libGUgaW4gdGhlIG9mZnNldCBwYXJlbnQuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZWxlbWVudCBpcyB2aXNpYmxlIGluIHRoZSBvZmZzZXQgcGFyZW50LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRWxlbWVudFZpc2libGVJbk9mZnNldFBhcmVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICBjb25zdCBwYXJlbnRFbGVtZW50ID0gZWxlbWVudC5vZmZzZXRQYXJlbnQ7XG4gIGlmICghcGFyZW50RWxlbWVudCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGVsZW1lbnRSZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgY29uc3QgcGFyZW50RWxlbWVudFJlY3QgPSBwYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gIHJldHVybiAoXG4gICAgcGFyZW50RWxlbWVudFJlY3QudG9wIDw9IGVsZW1lbnRSZWN0LnRvcFxuICAgICYmIGVsZW1lbnRSZWN0LmJvdHRvbSA8PSBwYXJlbnRFbGVtZW50UmVjdC5ib3R0b21cbiAgICAmJiBwYXJlbnRFbGVtZW50UmVjdC5sZWZ0IDw9IGVsZW1lbnRSZWN0LmxlZnRcbiAgICAmJiBlbGVtZW50UmVjdC5yaWdodCA8PSBwYXJlbnRFbGVtZW50UmVjdC5yaWdodFxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZWxlbWVudCBpcyBsb2FkZWQuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgZWxlbWVudCBpcyBsb2FkZWQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNMb2FkZWQoZWxlbWVudDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICBjb25zdCB3aW4gPSBnZXROb2RlV2luZG93KGVsZW1lbnQpO1xuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxCb2R5RWxlbWVudCkpIHtcbiAgICBjb25zdCByZWFkeVN0YXRlID0gZWxlbWVudC5vd25lckRvY3VtZW50LnJlYWR5U3RhdGU7XG4gICAgcmV0dXJuIHJlYWR5U3RhdGUgPT09ICdjb21wbGV0ZScgfHwgcmVhZHlTdGF0ZSA9PT0gJ2ludGVyYWN0aXZlJztcbiAgfVxuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxJbWFnZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuIGVsZW1lbnQuY29tcGxldGUgJiYgZWxlbWVudC5uYXR1cmFsV2lkdGggPiAwO1xuICB9XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTElGcmFtZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuICEhZWxlbWVudC5jb250ZW50RG9jdW1lbnQ7XG4gIH1cblxuICBpZiAoaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MRW1iZWRFbGVtZW50KSkge1xuICAgIHJldHVybiAhIWVsZW1lbnQuZ2V0U1ZHRG9jdW1lbnQoKTtcbiAgfVxuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxMaW5rRWxlbWVudCkpIHtcbiAgICByZXR1cm4gZWxlbWVudC5yZWwgIT09ICdzdHlsZXNoZWV0JyB8fCBlbGVtZW50LnNoZWV0ICE9PSBudWxsO1xuICB9XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTE9iamVjdEVsZW1lbnQpKSB7XG4gICAgcmV0dXJuICEhZWxlbWVudC5jb250ZW50RG9jdW1lbnQgfHwgISFlbGVtZW50LmdldFNWR0RvY3VtZW50KCk7XG4gIH1cblxuICBpZiAoaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MU2NyaXB0RWxlbWVudCkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxTdHlsZUVsZW1lbnQpKSB7XG4gICAgcmV0dXJuICEhZWxlbWVudC5zaGVldDtcbiAgfVxuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxUcmFja0VsZW1lbnQpKSB7XG4gICAgY29uc3QgUkVBRFlfU1RBVEVfTE9BREVEID0gMjtcbiAgICByZXR1cm4gZWxlbWVudC5yZWFkeVN0YXRlID09PSBSRUFEWV9TVEFURV9MT0FERUQ7XG4gIH1cblxuICByZXR1cm4gZ2V0TG9hZGFibGVFbGVtZW50cyhlbGVtZW50KS5ldmVyeSgobG9hZGFibGVFbGVtZW50KSA9PiBpc0xvYWRlZChsb2FkYWJsZUVsZW1lbnQpKTtcbn1cblxuLyoqXG4gKiBBZGRzIGFuIGV2ZW50IGxpc3RlbmVyIHRvIHRoZSBhbmNlc3RvciBub2RlcyBvZiB0aGUgZ2l2ZW4gbm9kZS5cbiAqXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBub2RlIHRvIGFkZCB0aGUgZXZlbnQgbGlzdGVuZXIgdG8uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlfSB0aGF0IHJlbW92ZXMgdGhlIGV2ZW50IGxpc3RlbmVycyB3aGVuIGRpc3Bvc2VkLCBmb3IgdXNlIHdpdGggYHVzaW5nYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9uQW5jZXN0b3JTY3JvbGxPclJlc2l6ZShub2RlOiBOb2RlLCBjYWxsYmFjazogKCkgPT4gdm9pZCk6IERpc3Bvc2FibGUge1xuICBjb25zdCB3aW4gPSBnZXROb2RlV2luZG93KG5vZGUpO1xuICBjb25zdCBhbmNlc3RvcnM6IEV2ZW50VGFyZ2V0W10gPSBbbm9kZS5vd25lckRvY3VtZW50ID8/IHdpbi5kb2N1bWVudCwgd2luXTtcblxuICBsZXQgY3VycmVudE5vZGU6IE5vZGUgfCBudWxsID0gbm9kZTtcblxuICB3aGlsZSAoY3VycmVudE5vZGUpIHtcbiAgICBhbmNlc3RvcnMucHVzaChjdXJyZW50Tm9kZSk7XG4gICAgY3VycmVudE5vZGUgPSBjdXJyZW50Tm9kZS5wYXJlbnROb2RlO1xuICB9XG5cbiAgbGV0IGlzRXZlbnRUcmlnZ2VyZWQgPSBmYWxzZTtcblxuICBmb3IgKGNvbnN0IGFuY2VzdG9yIG9mIGFuY2VzdG9ycykge1xuICAgIGFuY2VzdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGNhbGxiYWNrU21vb3RoLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gICAgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2FsbGJhY2tTbW9vdGgsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIHJldHVybiBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHtcbiAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgZm9yIChjb25zdCBhbmNlc3RvciBvZiBhbmNlc3RvcnMpIHtcbiAgICAgICAgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2FsbGJhY2tTbW9vdGgsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgICAgYW5jZXN0b3IucmVtb3ZlRXZlbnRMaXN0ZW5lcigncmVzaXplJywgY2FsbGJhY2tTbW9vdGgsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrU21vb3RoKCk6IHZvaWQge1xuICAgIGlmIChpc0V2ZW50VHJpZ2dlcmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaXNFdmVudFRyaWdnZXJlZCA9IHRydWU7XG5cbiAgICB3aW4ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNhbGxiYWNrKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpc0V2ZW50VHJpZ2dlcmVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIG51bWJlciB0byBhIHN0cmluZyB3aXRoICdweCcgYXBwZW5kZWQuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIG51bWJlciB0byBjb252ZXJ0LlxuICogQHJldHVybnMgVGhlIG51bWJlciBhcyBhIHN0cmluZyB3aXRoICdweCcgYXBwZW5kZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b1B4KHZhbHVlOiBudW1iZXIpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7U3RyaW5nKHZhbHVlKX1weGA7XG59XG5cbi8qKlxuICogV2FpdHMgdW50aWwgdGhlIGdpdmVuIGVsZW1lbnQgaXMgY29ubmVjdGVkIHRvIHRoZSBET00uXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBjaGVjay5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGVsZW1lbnQgaXMgY29ubmVjdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2FpdFVudGlsQ29ubmVjdGVkKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgIGlmIChlbGVtZW50LmlzQ29ubmVjdGVkKSB7XG4gICAgICByZXNvbHZlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gT2JzaWRpYW4ncyBgZWwub25Ob2RlSW5zZXJ0ZWRgIHVzZXMgYSBgbm9kZS1pbnNlcnRlZGAgQ1NTIGtleWZyYW1lIGZyb20gT2JzaWRpYW4ncyBzdHlsZXNoZWV0LlxuICAgIC8vIFRoZSBhZ25vc3RpYyBlcXVpdmFsZW50IGluc3RlYWQgb2JzZXJ2ZXMgdGhlIGVsZW1lbnQncyBkb2N1bWVudCBmb3IgaXQgYmVjb21pbmcgY29ubmVjdGVkLlxuICAgIGNvbnN0IG93bmVyRG9jdW1lbnQgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQ7XG4gICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgKGdldE5vZGVXaW5kb3coZWxlbWVudCkpLk11dGF0aW9uT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgaWYgKCFlbGVtZW50LmlzQ29ubmVjdGVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgcmVzb2x2ZSgpO1xuICAgIH0pO1xuICAgIG9ic2VydmVyLm9ic2VydmUob3duZXJEb2N1bWVudCwgeyBjaGlsZExpc3Q6IHRydWUsIHN1YnRyZWU6IHRydWUgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgdGhlIGVsZW1lbnQtdHlwZS1hZ25vc3RpYyBzdWJzZXQgb2YgT2JzaWRpYW4ncyBgRG9tRWxlbWVudEluZm9gIHRoYXQgaXRzIGBjcmVhdGVFbGBcbiAqIHN1cHBvcnRzIFx1MjAxNCBgY2xzYCwgYHRleHRgLCBgYXR0cmAsIGB0aXRsZWAsIGFuZCBgcGFyZW50YC9gcHJlcGVuZGAuIFRoZSBlbGVtZW50LXR5cGUtc3BlY2lmaWNcbiAqIGZpZWxkcyAoYHZhbHVlYCwgYHR5cGVgLCBgcGxhY2Vob2xkZXJgLCBgaHJlZmApIGFuZCB0aGUgYG9uKmAgZXZlbnQtaGFuZGxlciBrZXlzIGFyZSBpbnRlbnRpb25hbGx5XG4gKiBOT1QgcG9ydGVkIChubyBpbnRlcm5hbCBjYWxsZXIgbmVlZHMgdGhlbSk7IGV4dGVuZCB0aGlzIGlmIGEgY29uc3VtZXIgZG9lcyBcdTIwMTQgYW5kIHJldmFsaWRhdGUgYWdhaW5zdFxuICogYGVuaGFuY2UuanNgIChzZWUgdGhlIGBAZmlsZWAgbm90ZSBhbmQgYENMQVVERS5tZGApLlxuICpcbiAqIEBwYXJhbSBlbGVtZW50IC0gVGhlIGVsZW1lbnQgdG8gYXBwbHkgdGhlIGluZm8gdG8uXG4gKiBAcGFyYW0gbyAtIFRoZSBlbGVtZW50IGluZm8gKG9yIGEgYmFyZSBjbGFzcyBzdHJpbmcpLlxuICovXG5mdW5jdGlvbiBhcHBseURvbUVsZW1lbnRJbmZvKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBvOiBDcmVhdGVIdG1sRWxlbWVudEluZm8gfCBzdHJpbmcgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgY29uc3QgaW5mbzogQ3JlYXRlSHRtbEVsZW1lbnRJbmZvID0gdHlwZW9mIG8gPT09ICdzdHJpbmcnID8geyBjbHM6IG8gfSA6IG8gPz8ge307XG5cbiAgaWYgKGluZm8uY2xzICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50LmNsYXNzTmFtZSA9IEFycmF5LmlzQXJyYXkoaW5mby5jbHMpID8gaW5mby5jbHMuam9pbignICcpIDogaW5mby5jbHM7XG4gIH1cbiAgaWYgKGluZm8udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc2V0RWxlbWVudFRleHQoZWxlbWVudCwgaW5mby50ZXh0KTtcbiAgfVxuICBpZiAoaW5mby5hdHRyKSB7XG4gICAgc2V0RWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudCwgaW5mby5hdHRyKTtcbiAgfVxuICBpZiAoaW5mby50aXRsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZWxlbWVudC50aXRsZSA9IGluZm8udGl0bGU7XG4gIH1cbiAgaW5zZXJ0SW50b1BhcmVudChlbGVtZW50LCBpbmZvKTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlSHRtbEVsZW1lbnQ8SyBleHRlbmRzIGtleW9mIEhUTUxFbGVtZW50VGFnTmFtZU1hcD4odGFnOiBLLCBvPzogQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHwgc3RyaW5nKTogSFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tdIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLWNyZWF0ZS1lbCAtLSBBZ25vc3RpYyBtb2R1bGUuXG4gIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZyk7XG4gIGFwcGx5RG9tRWxlbWVudEluZm8oZWxlbWVudCwgbyk7XG4gIHJldHVybiBlbGVtZW50O1xufVxuXG5mdW5jdGlvbiBjcmVhdGVTdmdFbGVtZW50PEsgZXh0ZW5kcyBrZXlvZiBTVkdFbGVtZW50VGFnTmFtZU1hcD4odGFnOiBLLCBvPzogQ3JlYXRlU3ZnRWxlbWVudEluZm8gfCBzdHJpbmcpOiBTVkdFbGVtZW50VGFnTmFtZU1hcFtLXSB7XG4gIGNvbnN0IHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTkFNRVNQQUNFLCB0YWcpO1xuICBjb25zdCBpbmZvOiBDcmVhdGVTdmdFbGVtZW50SW5mbyA9IHR5cGVvZiBvID09PSAnc3RyaW5nJyA/IHsgY2xzOiBvIH0gOiBvID8/IHt9O1xuXG4gIGlmIChpbmZvLmNscyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5mby5jbHMpKSB7XG4gICAgICBzdmcuY2xhc3NMaXN0LmFkZCguLi5pbmZvLmNscyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN2Zy5jbGFzc0xpc3QuYWRkKGluZm8uY2xzKTtcbiAgICB9XG4gIH1cbiAgaWYgKGluZm8uYXR0cikge1xuICAgIHNldEVsZW1lbnRBdHRyaWJ1dGVzKHN2ZywgaW5mby5hdHRyKTtcbiAgfVxuICBpbnNlcnRJbnRvUGFyZW50KHN2ZywgaW5mbyk7XG4gIHJldHVybiBzdmc7XG59XG5cbmZ1bmN0aW9uIGdldExvYWRhYmxlRWxlbWVudHMoZWxlbWVudDogRWxlbWVudCk6IEVsZW1lbnRbXSB7XG4gIHJldHVybiBbLi4uZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdib2R5LCBpbWcsIGlmcmFtZSwgZW1iZWQsIGxpbmssIG9iamVjdCwgc2NyaXB0LCBzdHlsZSwgdHJhY2snKV07XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbm1kL25vLWdsb2JhbC10aGlzIC0tIFR5cGUtb25seTogdGhlIHJlc29sdmVkIHdpbmRvdyBuZWVkcyB0aGUgZ2xvYmFsIERPTSBjb25zdHJ1Y3RvciB0eXBpbmdzLlxuZnVuY3Rpb24gZ2V0Tm9kZVdpbmRvdyhub2RlOiBOb2RlKTogdHlwZW9mIGdsb2JhbFRoaXMgJiBXaW5kb3cge1xuICByZXR1cm4gbm9kZS5vd25lckRvY3VtZW50Py5kZWZhdWx0VmlldyA/PyB3aW5kb3c7XG59XG5cbmZ1bmN0aW9uIGluc2VydEludG9QYXJlbnQoZWxlbWVudDogRWxlbWVudCwgaW5mbzogQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHwgQ3JlYXRlU3ZnRWxlbWVudEluZm8pOiB2b2lkIHtcbiAgaWYgKCFpbmZvLnBhcmVudCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoaW5mby5wcmVwZW5kKSB7XG4gICAgaW5mby5wYXJlbnQuaW5zZXJ0QmVmb3JlKGVsZW1lbnQsIGluZm8ucGFyZW50LmZpcnN0Q2hpbGQpO1xuICB9IGVsc2Uge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB1bmljb3JuL3ByZWZlci1kb20tbm9kZS1hcHBlbmQgLS0gYHBhcmVudGAgaXMgYSBgTm9kZWAsIGFuZCBgYXBwZW5kYCBpcyBkZWNsYXJlZCBvbiBgUGFyZW50Tm9kZWAsIG5vdCBvbiBgTm9kZWAuXG4gICAgaW5mby5wYXJlbnQuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNJbnN0YW5jZU9mPFQgZXh0ZW5kcyBOb2RlPihub2RlOiBOb2RlLCBjdG9yOiBhYnN0cmFjdCBuZXcgKC4uLiRhcmd1bWVudHM6IG5ldmVyW10pID0+IFQpOiBub2RlIGlzIFQge1xuICAvLyBBZ25vc3RpYyByZWltcGxlbWVudGF0aW9uIG9mIE9ic2lkaWFuJ3MgYE5vZGUucHJvdG90eXBlLmluc3RhbmNlT2ZgIChlbmhhbmNlLmpzKS5cbiAgLy8gVGhlIGNhbGxlciByZXNvbHZlcyBgY3RvcmAgaW4gdGhlIG5vZGUncyBvd24gcmVhbG0gKHZpYSBgZ2V0Tm9kZVdpbmRvd2ApLCBrZWVwaW5nIGl0IGNyb3NzLXdpbmRvdyBzYWZlLlxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItaW5zdGFuY2VvZiAtLSBUaGlzIElTIHRoZSBhZ25vc3RpYyBgLmluc3RhbmNlT2ZgIHJlcGxhY2VtZW50LlxuICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIGN0b3I7XG59XG5cbmZ1bmN0aW9uIHNldEVsZW1lbnRBdHRyaWJ1dGVzKGVsZW1lbnQ6IEVsZW1lbnQsIGF0dHJpYnV0ZTogTm9uTnVsbGFibGU8Q3JlYXRlSHRtbEVsZW1lbnRJbmZvWydhdHRyJ10+KTogdm9pZCB7XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhdHRyaWJ1dGUpKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vcHJlZmVyLXRvZ2dsZS1hdHRyaWJ1dGUgLS0gYHRvZ2dsZUF0dHJpYnV0ZWAgb25seSBldmVyIHNldHMgdGhlIGVtcHR5IHN0cmluZywgc28gaXQgY2Fubm90IGNhcnJ5IGBTdHJpbmcodmFsdWUpYC4gVGhlIHJ1bGUgbWF0Y2hlcyB0aGUgcmVtb3ZlL3NldCBzaGFwZSB3aXRob3V0IHNlZWluZyB0aGF0IHRoZSB2YWx1ZSBpcyB3aGF0IHRoaXMgYnJhbmNoIGV4aXN0cyB0byB3cml0ZS5cbiAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCBTdHJpbmcodmFsdWUpKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0RWxlbWVudFRleHQoZWxlbWVudDogSFRNTEVsZW1lbnQsIHRleHQ6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKHRleHQgaW5zdGFuY2VvZiBEb2N1bWVudEZyYWdtZW50KSB7XG4gICAgZWxlbWVudC5yZXBsYWNlQ2hpbGRyZW4odGV4dCk7XG4gIH0gZWxzZSB7XG4gICAgZWxlbWVudC50ZXh0Q29udGVudCA9IHRleHQ7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQSx3QkFBbUM7QUFDbkMseUJBQWtDO0FBRWxDLE1BQU0sZ0JBQWdCO0FBcUd0QixlQUFzQixlQUNwQixHQUNBLFVBQ3lCO0FBQ3pCLFFBQU0sTUFBTSxrQkFBa0IsT0FBTyxDQUFDO0FBQ3RDLFFBQU0sV0FBVyxHQUFHO0FBQ3BCLFNBQU87QUFDVDtBQVlBLGVBQXNCLGNBQ3BCLEtBQ0EsR0FDQSxVQUNtQztBQUNuQyxRQUFNLFVBQVUsa0JBQWtCLEtBQUssQ0FBQztBQUN4QyxRQUFNLFdBQVcsT0FBTztBQUN4QixTQUFPO0FBQ1Q7QUFRQSxlQUFzQixvQkFBb0IsVUFBdUY7QUFFL0gsUUFBTSxXQUFXLFNBQVMsdUJBQXVCO0FBQ2pELFFBQU0sV0FBVyxRQUFRO0FBQ3pCLFNBQU87QUFDVDtBQVNBLGVBQXNCLGdCQUNwQixHQUNBLFVBQzBCO0FBQzFCLFFBQU0sT0FBTyxrQkFBa0IsUUFBUSxDQUFDO0FBQ3hDLFFBQU0sV0FBVyxJQUFJO0FBQ3JCLFNBQU87QUFDVDtBQVlBLGVBQXNCLGVBQ3BCLEtBQ0EsR0FDQSxVQUNrQztBQUNsQyxRQUFNLE1BQU0saUJBQWlCLEtBQUssQ0FBQztBQUNuQyxRQUFNLFdBQVcsR0FBRztBQUNwQixTQUFPO0FBQ1Q7QUFRQSxlQUFzQixhQUFhLFNBQWlDO0FBQ2xFLE1BQUksU0FBUyxPQUFPLEdBQUc7QUFDckI7QUFBQSxFQUNGO0FBQ0EsUUFBTSxNQUFNLGNBQWMsT0FBTztBQUNqQyxNQUNFLGFBQWEsU0FBUyxJQUFJLGVBQWUsS0FDdEMsYUFBYSxTQUFTLElBQUksZ0JBQWdCLEtBQzFDLGFBQWEsU0FBUyxJQUFJLGlCQUFpQixLQUMzQyxhQUFhLFNBQVMsSUFBSSxnQkFBZ0IsS0FDMUMsYUFBYSxTQUFTLElBQUksZUFBZSxLQUN6QyxhQUFhLFNBQVMsSUFBSSxpQkFBaUIsS0FDM0MsYUFBYSxTQUFTLElBQUksZ0JBQWdCLEtBQzFDLGFBQWEsU0FBUyxJQUFJLGdCQUFnQixHQUM3QztBQUNBLFVBQU0sSUFBSSxRQUFRLENBQUMsWUFBWTtBQUM3QixjQUFRLGlCQUFpQixRQUFRLE9BQU87QUFDeEMsY0FBUSxpQkFBaUIsU0FBUyxPQUFPO0FBQUEsSUFDM0MsQ0FBQztBQUNEO0FBQUEsRUFDRjtBQUVBLFFBQU0sUUFBUSxJQUFJLG9CQUFvQixPQUFPLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixhQUFhLGVBQWUsQ0FBQyxDQUFDO0FBQ3hHO0FBYU8sU0FBUyxrQkFBa0IsS0FBdUI7QUFDdkQsYUFBTyxzQ0FBa0IsSUFBSSxhQUFhLDRCQUE0QjtBQUN4RTtBQVFPLFNBQVMsVUFBVSxTQUEwQjtBQUNsRCxNQUFJLFdBQTJCO0FBRS9CLFNBQU8sVUFBVTtBQUNmLFVBQU0sZUFBZSxpQkFBaUIsUUFBUSxFQUFFO0FBQ2hELFVBQU0sU0FBUyxPQUFPLFNBQVMsY0FBYyxFQUFFO0FBQy9DLFFBQUksQ0FBQyxPQUFPLE1BQU0sTUFBTSxHQUFHO0FBQ3pCLGFBQU87QUFBQSxJQUNUO0FBQ0EsZUFBVyxTQUFTO0FBQUEsRUFDdEI7QUFFQSxTQUFPO0FBQ1Q7QUFRTyxTQUFTLCtCQUErQixTQUErQjtBQUM1RSxRQUFNLGdCQUFnQixRQUFRO0FBQzlCLE1BQUksQ0FBQyxlQUFlO0FBQ2xCLFdBQU87QUFBQSxFQUNUO0FBRUEsUUFBTSxjQUFjLFFBQVEsc0JBQXNCO0FBQ2xELFFBQU0sb0JBQW9CLGNBQWMsc0JBQXNCO0FBRTlELFNBQ0Usa0JBQWtCLE9BQU8sWUFBWSxPQUNsQyxZQUFZLFVBQVUsa0JBQWtCLFVBQ3hDLGtCQUFrQixRQUFRLFlBQVksUUFDdEMsWUFBWSxTQUFTLGtCQUFrQjtBQUU5QztBQVFPLFNBQVMsU0FBUyxTQUEyQjtBQUNsRCxRQUFNLE1BQU0sY0FBYyxPQUFPO0FBRWpDLE1BQUksYUFBYSxTQUFTLElBQUksZUFBZSxHQUFHO0FBQzlDLFVBQU0sYUFBYSxRQUFRLGNBQWM7QUFDekMsV0FBTyxlQUFlLGNBQWMsZUFBZTtBQUFBLEVBQ3JEO0FBRUEsTUFBSSxhQUFhLFNBQVMsSUFBSSxnQkFBZ0IsR0FBRztBQUMvQyxXQUFPLFFBQVEsWUFBWSxRQUFRLGVBQWU7QUFBQSxFQUNwRDtBQUVBLE1BQUksYUFBYSxTQUFTLElBQUksaUJBQWlCLEdBQUc7QUFDaEQsV0FBTyxDQUFDLENBQUMsUUFBUTtBQUFBLEVBQ25CO0FBRUEsTUFBSSxhQUFhLFNBQVMsSUFBSSxnQkFBZ0IsR0FBRztBQUMvQyxXQUFPLENBQUMsQ0FBQyxRQUFRLGVBQWU7QUFBQSxFQUNsQztBQUVBLE1BQUksYUFBYSxTQUFTLElBQUksZUFBZSxHQUFHO0FBQzlDLFdBQU8sUUFBUSxRQUFRLGdCQUFnQixRQUFRLFVBQVU7QUFBQSxFQUMzRDtBQUVBLE1BQUksYUFBYSxTQUFTLElBQUksaUJBQWlCLEdBQUc7QUFDaEQsV0FBTyxDQUFDLENBQUMsUUFBUSxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsZUFBZTtBQUFBLEVBQy9EO0FBRUEsTUFBSSxhQUFhLFNBQVMsSUFBSSxpQkFBaUIsR0FBRztBQUNoRCxXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksYUFBYSxTQUFTLElBQUksZ0JBQWdCLEdBQUc7QUFDL0MsV0FBTyxDQUFDLENBQUMsUUFBUTtBQUFBLEVBQ25CO0FBRUEsTUFBSSxhQUFhLFNBQVMsSUFBSSxnQkFBZ0IsR0FBRztBQUMvQyxVQUFNLHFCQUFxQjtBQUMzQixXQUFPLFFBQVEsZUFBZTtBQUFBLEVBQ2hDO0FBRUEsU0FBTyxvQkFBb0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsU0FBUyxlQUFlLENBQUM7QUFDMUY7QUFTTyxTQUFTLHlCQUF5QixNQUFZLFVBQWtDO0FBQ3JGLFFBQU0sTUFBTSxjQUFjLElBQUk7QUFDOUIsUUFBTSxZQUEyQixDQUFDLEtBQUssaUJBQWlCLElBQUksVUFBVSxHQUFHO0FBRXpFLE1BQUksY0FBMkI7QUFFL0IsU0FBTyxhQUFhO0FBQ2xCLGNBQVUsS0FBSyxXQUFXO0FBQzFCLGtCQUFjLFlBQVk7QUFBQSxFQUM1QjtBQUVBLE1BQUksbUJBQW1CO0FBRXZCLGFBQVcsWUFBWSxXQUFXO0FBQ2hDLGFBQVMsaUJBQWlCLFVBQVUsZ0JBQWdCLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFDckUsYUFBUyxpQkFBaUIsVUFBVSxnQkFBZ0IsRUFBRSxTQUFTLEtBQUssQ0FBQztBQUFBLEVBQ3ZFO0FBRUEsU0FBTyxJQUFJLHFDQUFtQjtBQUFBLElBQzVCLFVBQVUsTUFBWTtBQUNwQixpQkFBVyxZQUFZLFdBQVc7QUFDaEMsaUJBQVMsb0JBQW9CLFVBQVUsZ0JBQWdCLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFDeEUsaUJBQVMsb0JBQW9CLFVBQVUsZ0JBQWdCLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFBQSxNQUMxRTtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFFRCxXQUFTLGlCQUF1QjtBQUM5QixRQUFJLGtCQUFrQjtBQUNwQjtBQUFBLElBQ0Y7QUFFQSx1QkFBbUI7QUFFbkIsUUFBSSxzQkFBc0IsTUFBTTtBQUM5QixVQUFJO0FBQ0YsaUJBQVM7QUFBQSxNQUNYLFVBQUU7QUFDQSwyQkFBbUI7QUFBQSxNQUNyQjtBQUFBLElBQ0YsQ0FBQztBQUFBLEVBQ0g7QUFDRjtBQVFPLFNBQVMsS0FBSyxPQUF1QjtBQUMxQyxTQUFPLEdBQUcsT0FBTyxLQUFLLENBQUM7QUFDekI7QUFRTyxTQUFTLG1CQUFtQixTQUFxQztBQUN0RSxTQUFPLElBQUksUUFBUSxDQUFDLFlBQVk7QUFDOUIsUUFBSSxRQUFRLGFBQWE7QUFDdkIsY0FBUTtBQUNSO0FBQUEsSUFDRjtBQUlBLFVBQU0sZ0JBQWdCLFFBQVE7QUFDOUIsVUFBTSxXQUFXLEtBQUssY0FBYyxPQUFPLEdBQUcsaUJBQWlCLE1BQU07QUFDbkUsVUFBSSxDQUFDLFFBQVEsYUFBYTtBQUN4QjtBQUFBLE1BQ0Y7QUFFQSxlQUFTLFdBQVc7QUFDcEIsY0FBUTtBQUFBLElBQ1YsQ0FBQztBQUNELGFBQVMsUUFBUSxlQUFlLEVBQUUsV0FBVyxNQUFNLFNBQVMsS0FBSyxDQUFDO0FBQUEsRUFDcEUsQ0FBQztBQUNIO0FBWUEsU0FBUyxvQkFBb0IsU0FBc0IsR0FBcUQ7QUFDdEcsUUFBTSxPQUE4QixPQUFPLE1BQU0sV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQztBQUUvRSxNQUFJLEtBQUssUUFBUSxRQUFXO0FBQzFCLFlBQVEsWUFBWSxNQUFNLFFBQVEsS0FBSyxHQUFHLElBQUksS0FBSyxJQUFJLEtBQUssR0FBRyxJQUFJLEtBQUs7QUFBQSxFQUMxRTtBQUNBLE1BQUksS0FBSyxTQUFTLFFBQVc7QUFDM0IsbUJBQWUsU0FBUyxLQUFLLElBQUk7QUFBQSxFQUNuQztBQUNBLE1BQUksS0FBSyxNQUFNO0FBQ2IseUJBQXFCLFNBQVMsS0FBSyxJQUFJO0FBQUEsRUFDekM7QUFDQSxNQUFJLEtBQUssVUFBVSxRQUFXO0FBQzVCLFlBQVEsUUFBUSxLQUFLO0FBQUEsRUFDdkI7QUFDQSxtQkFBaUIsU0FBUyxJQUFJO0FBQ2hDO0FBRUEsU0FBUyxrQkFBeUQsS0FBUSxHQUE4RDtBQUV0SSxRQUFNLFVBQVUsU0FBUyxjQUFjLEdBQUc7QUFDMUMsc0JBQW9CLFNBQVMsQ0FBQztBQUM5QixTQUFPO0FBQ1Q7QUFFQSxTQUFTLGlCQUF1RCxLQUFRLEdBQTREO0FBQ2xJLFFBQU0sTUFBTSxTQUFTLGdCQUFnQixlQUFlLEdBQUc7QUFDdkQsUUFBTSxPQUE2QixPQUFPLE1BQU0sV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQztBQUU5RSxNQUFJLEtBQUssUUFBUSxRQUFXO0FBQzFCLFFBQUksTUFBTSxRQUFRLEtBQUssR0FBRyxHQUFHO0FBQzNCLFVBQUksVUFBVSxJQUFJLEdBQUcsS0FBSyxHQUFHO0FBQUEsSUFDL0IsT0FBTztBQUNMLFVBQUksVUFBVSxJQUFJLEtBQUssR0FBRztBQUFBLElBQzVCO0FBQUEsRUFDRjtBQUNBLE1BQUksS0FBSyxNQUFNO0FBQ2IseUJBQXFCLEtBQUssS0FBSyxJQUFJO0FBQUEsRUFDckM7QUFDQSxtQkFBaUIsS0FBSyxJQUFJO0FBQzFCLFNBQU87QUFDVDtBQUVBLFNBQVMsb0JBQW9CLFNBQTZCO0FBQ3hELFNBQU8sQ0FBQyxHQUFHLFFBQVEsaUJBQWlCLDhEQUE4RCxDQUFDO0FBQ3JHO0FBR0EsU0FBUyxjQUFjLE1BQXdDO0FBQzdELFNBQU8sS0FBSyxlQUFlLGVBQWU7QUFDNUM7QUFFQSxTQUFTLGlCQUFpQixTQUFrQixNQUEwRDtBQUNwRyxNQUFJLENBQUMsS0FBSyxRQUFRO0FBQ2hCO0FBQUEsRUFDRjtBQUNBLE1BQUksS0FBSyxTQUFTO0FBQ2hCLFNBQUssT0FBTyxhQUFhLFNBQVMsS0FBSyxPQUFPLFVBQVU7QUFBQSxFQUMxRCxPQUFPO0FBRUwsU0FBSyxPQUFPLFlBQVksT0FBTztBQUFBLEVBQ2pDO0FBQ0Y7QUFFQSxTQUFTLGFBQTZCLE1BQVksTUFBNkQ7QUFJN0csU0FBTyxnQkFBZ0I7QUFDekI7QUFFQSxTQUFTLHFCQUFxQixTQUFrQixXQUE2RDtBQUMzRyxhQUFXLENBQUMsTUFBTSxLQUFLLEtBQUssT0FBTyxRQUFRLFNBQVMsR0FBRztBQUVyRCxRQUFJLFVBQVUsTUFBTTtBQUNsQixjQUFRLGdCQUFnQixJQUFJO0FBQUEsSUFDOUIsT0FBTztBQUNMLGNBQVEsYUFBYSxNQUFNLE9BQU8sS0FBSyxDQUFDO0FBQUEsSUFDMUM7QUFBQSxFQUNGO0FBQ0Y7QUFFQSxTQUFTLGVBQWUsU0FBc0IsTUFBdUM7QUFDbkYsTUFBSSxnQkFBZ0Isa0JBQWtCO0FBQ3BDLFlBQVEsZ0JBQWdCLElBQUk7QUFBQSxFQUM5QixPQUFPO0FBQ0wsWUFBUSxjQUFjO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2h0bWwtZWxlbWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIE9ic2lkaWFuLXJ1bnRpbWUtYWdub3N0aWMgaGVscGVycyBmb3Igd29ya2luZyB3aXRoIEhUTUwgZWxlbWVudHMuXG4gKlxuICogU2V2ZXJhbCBoZWxwZXJzIGhlcmUgbWlycm9yIGJlaGF2aW9yIHRoYXQgdGhlIE9ic2lkaWFuIHJ1bnRpbWUgaW5qZWN0cyBvbnRvIHRoZSBET00gcHJvdG90eXBlc1xuICogKGBjcmVhdGVFbGAvYGNyZWF0ZURpdmAvYGNyZWF0ZVNwYW5gL2BjcmVhdGVTdmdgL2BjcmVhdGVGcmFnbWVudGAsIGBOb2RlLnByb3RvdHlwZS5pbnN0YW5jZU9mYCxcbiAqIGBFbGVtZW50LnByb3RvdHlwZS5zZXRUZXh0YC9gc2V0QXR0cnNgKS4gVG8gc3RheSBpbmRlcGVuZGVudCBvZiB0aGUgT2JzaWRpYW4gcnVudGltZSwgdGhhdCBiZWhhdmlvclxuICogaXMgcmVpbXBsZW1lbnRlZCBoZXJlIGluIHN0YW5kYXJkIERPTSwgcG9ydGVkIGZyb20gT2JzaWRpYW4ncyBvd24gaW1wbGVtZW50YXRpb24gaW5cbiAqIGBvYnNpZGlhbi5hc2FyL2VuaGFuY2UuanNgLiBTZWUgdGhlIGBvYnNpZGlhbi12ZXJzaW9uc2AgcHJvamVjdDsgcmV2YWxpZGF0ZSB0aGUgcG9ydCB3aGVuIE9ic2lkaWFuXG4gKiBjaGFuZ2VzIGBlbmhhbmNlLmpzYCAodGhlcmUgaXMgYSByZW1pbmRlciBpbiBgQ0xBVURFLm1kYCkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ2FsbGJhY2tEaXNwb3NhYmxlIH0gZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnLi90eXBlLWd1YXJkcy50cyc7XG5cbmNvbnN0IFNWR19OQU1FU1BBQ0UgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnO1xuXG4vKipcbiAqIFRoZSBlbGVtZW50IGluZm9ybWF0aW9uIHtAbGluayBjcmVhdGVFbEFzeW5jfSBhbmQgaXRzIHNpYmxpbmdzIGFwcGx5OiB0aGUgZWxlbWVudC10eXBlLWFnbm9zdGljIHN1YnNldCBvZlxuICogT2JzaWRpYW4ncyBgRG9tRWxlbWVudEluZm9gLCBkZWNsYXJlZCBoZXJlIHNvIHRoaXMgbW9kdWxlIG5lZWRzIG5vIE9ic2lkaWFuIHR5cGluZ3MuIEFuIE9ic2lkaWFuXG4gKiBgRG9tRWxlbWVudEluZm9gIHZhbHVlIGlzIGFzc2lnbmFibGUgdG8gaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHtcbiAgLyoqXG4gICAqIFRoZSBhdHRyaWJ1dGVzIHRvIHNldDsgYG51bGxgIHJlbW92ZXMgdGhlIGF0dHJpYnV0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGF0dHI/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuIHwgbnVsbCB8IG51bWJlciB8IHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBDU1MgY2xhc3Mgb3IgY2xhc3Nlcy5cbiAgICovXG4gIHJlYWRvbmx5IGNscz86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgcGFyZW50IHRvIGluc2VydCB0aGUgZWxlbWVudCBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyZW50PzogTm9kZTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBpbnNlcnQgdGhlIGVsZW1lbnQgYXMgdGhlIHBhcmVudCdzIGZpcnN0IGNoaWxkIGluc3RlYWQgb2YgaXRzIGxhc3QuXG4gICAqL1xuICByZWFkb25seSBwcmVwZW5kPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRleHQgY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IHRleHQ/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdG9vbHRpcCB0ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogVGhlIFNWRyBlbGVtZW50IGluZm9ybWF0aW9uIHtAbGluayBjcmVhdGVTdmdBc3luY30gYXBwbGllczogdGhlIHN1YnNldCBvZiBPYnNpZGlhbidzIGBTdmdFbGVtZW50SW5mb2AgaXRcbiAqIHN1cHBvcnRzLCBkZWNsYXJlZCBoZXJlIHNvIHRoaXMgbW9kdWxlIG5lZWRzIG5vIE9ic2lkaWFuIHR5cGluZ3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlU3ZnRWxlbWVudEluZm8ge1xuICAvKipcbiAgICogVGhlIGF0dHJpYnV0ZXMgdG8gc2V0OyBgbnVsbGAgcmVtb3ZlcyB0aGUgYXR0cmlidXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXR0cj86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4gfCBudWxsIHwgbnVtYmVyIHwgc3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyBvciBjbGFzc2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2xzPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwYXJlbnQgdG8gaW5zZXJ0IHRoZSBlbGVtZW50IGludG8uXG4gICAqL1xuICByZWFkb25seSBwYXJlbnQ/OiBOb2RlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGluc2VydCB0aGUgZWxlbWVudCBhcyB0aGUgcGFyZW50J3MgZmlyc3QgY2hpbGQgaW5zdGVhZCBvZiBpdHMgbGFzdC5cbiAgICovXG4gIHJlYWRvbmx5IHByZXBlbmQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEEgSFRNTCBlbGVtZW50IHRoYXQgY2FuIGJlIHZhbGlkYXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0b3JFbGVtZW50IGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuICAvKipcbiAgICogQ2hlY2tzIHRoZSB2YWxpZGl0eSBvZiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbGVtZW50IGlzIHZhbGlkLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIGNoZWNrVmFsaWRpdHk6ICgpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgdGhlIHZhbGlkaXR5IG9mIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcmVwb3J0VmFsaWRpdHk6ICgpID0+IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNldHMgYSBjdXN0b20gZXJyb3IgbWVzc2FnZSBvbiB0aGUgZWxlbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2V0IG9uIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgc2V0Q3VzdG9tVmFsaWRpdHk6IChlcnJvcjogc3RyaW5nKSA9PiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBbiBlcnJvciBtZXNzYWdlIG9mIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsaWRhdGlvbk1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZGl2IGFzeW5jaHJvbm91c2x5LlxuICpcbiAqIEBwYXJhbSBvIC0gVGhlIGVsZW1lbnQgaW5mb3JtYXRpb24uXG4gKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aGVuIHRoZSBkaXYgaXMgY3JlYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGRpdi5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURpdkFzeW5jKFxuICBvPzogQ3JlYXRlSHRtbEVsZW1lbnRJbmZvIHwgc3RyaW5nLFxuICBjYWxsYmFjaz86IChlbGVtZW50OiBIVE1MRGl2RWxlbWVudCkgPT4gUHJvbWlzYWJsZTx2b2lkPlxuKTogUHJvbWlzZTxIVE1MRGl2RWxlbWVudD4ge1xuICBjb25zdCBkaXYgPSBjcmVhdGVIdG1sRWxlbWVudCgnZGl2Jywgbyk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oZGl2KTtcbiAgcmV0dXJuIGRpdjtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVsZW1lbnQgYXN5bmNocm9ub3VzbHkuXG4gKlxuICogQHR5cGVQYXJhbSBLIC0gVGhlIHRhZyBuYW1lIGtleSBmcm9tIGBIVE1MRWxlbWVudFRhZ05hbWVNYXBgLlxuICogQHBhcmFtIHRhZyAtIFRoZSB0YWcgbmFtZSBvZiB0aGUgZWxlbWVudCB0byBjcmVhdGUuXG4gKiBAcGFyYW0gbyAtIFRoZSBlbGVtZW50IGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgZWxlbWVudCBpcyBjcmVhdGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgZWxlbWVudC5cbiAqIEByZW1hcmtzIE5vdCByZWZhY3RvcmVkIHRvIHBhcmFtZXRlci1vYmplY3QgcGF0dGVybiwgdG8ga2VlcCB0aGUgcGFyaXR5IHdpdGggT2JzaWRpYW4ncyBgY3JlYXRlRWxgIChvciBjcmVhdGVTdmcsIGNvcnJlc3BvbmRpbmdseSkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVFbEFzeW5jPEsgZXh0ZW5kcyBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXA+KFxuICB0YWc6IEssXG4gIG8/OiBDcmVhdGVIdG1sRWxlbWVudEluZm8gfCBzdHJpbmcsXG4gIGNhbGxiYWNrPzogKGVsZW1lbnQ6IEhUTUxFbGVtZW50VGFnTmFtZU1hcFtLXSkgPT4gUHJvbWlzYWJsZTx2b2lkPlxuKTogUHJvbWlzZTxIVE1MRWxlbWVudFRhZ05hbWVNYXBbS10+IHtcbiAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZUh0bWxFbGVtZW50KHRhZywgbyk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oZWxlbWVudCk7XG4gIHJldHVybiBlbGVtZW50O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBEb2N1bWVudEZyYWdtZW50IGFzeW5jaHJvbm91c2x5LlxuICpcbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIERvY3VtZW50RnJhZ21lbnQgaXMgY3JlYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIERvY3VtZW50RnJhZ21lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVGcmFnbWVudEFzeW5jKGNhbGxiYWNrPzogKGVsZW1lbnQ6IERvY3VtZW50RnJhZ21lbnQpID0+IFByb21pc2FibGU8dm9pZD4pOiBQcm9taXNlPERvY3VtZW50RnJhZ21lbnQ+IHtcbiAgY29uc3QgZnJhZ21lbnQgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oZnJhZ21lbnQpO1xuICByZXR1cm4gZnJhZ21lbnQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNwYW4gYXN5bmNocm9ub3VzbHkuXG4gKlxuICogQHBhcmFtIG8gLSBUaGUgZWxlbWVudCBpbmZvcm1hdGlvbi5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIHNwYW4gaXMgY3JlYXRlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHNwYW4uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjcmVhdGVTcGFuQXN5bmMoXG4gIG8/OiBDcmVhdGVIdG1sRWxlbWVudEluZm8gfCBzdHJpbmcsXG4gIGNhbGxiYWNrPzogKGVsZW1lbnQ6IEhUTUxTcGFuRWxlbWVudCkgPT4gUHJvbWlzYWJsZTx2b2lkPlxuKTogUHJvbWlzZTxIVE1MU3BhbkVsZW1lbnQ+IHtcbiAgY29uc3Qgc3BhbiA9IGNyZWF0ZUh0bWxFbGVtZW50KCdzcGFuJywgbyk7XG4gIGF3YWl0IGNhbGxiYWNrPy4oc3Bhbik7XG4gIHJldHVybiBzcGFuO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdmcgYXN5bmNocm9ub3VzbHkuXG4gKlxuICogQHR5cGVQYXJhbSBLIC0gVGhlIHRhZyBuYW1lIGtleSBmcm9tIGBTVkdFbGVtZW50VGFnTmFtZU1hcGAuXG4gKiBAcGFyYW0gdGFnIC0gVGhlIHRhZyBuYW1lIG9mIHRoZSBzdmcgdG8gY3JlYXRlLlxuICogQHBhcmFtIG8gLSBUaGUgc3ZnIGluZm9ybWF0aW9uLlxuICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgc3ZnIGlzIGNyZWF0ZWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzdmcuXG4gKiBAcmVtYXJrcyBOb3QgcmVmYWN0b3JlZCB0byBwYXJhbWV0ZXItb2JqZWN0IHBhdHRlcm4sIHRvIGtlZXAgdGhlIHBhcml0eSB3aXRoIE9ic2lkaWFuJ3MgYGNyZWF0ZVN2Z2AgKG9yIGNyZWF0ZUVsLCBjb3JyZXNwb25kaW5nbHkpLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlU3ZnQXN5bmM8SyBleHRlbmRzIGtleW9mIFNWR0VsZW1lbnRUYWdOYW1lTWFwPihcbiAgdGFnOiBLLFxuICBvPzogQ3JlYXRlU3ZnRWxlbWVudEluZm8gfCBzdHJpbmcsXG4gIGNhbGxiYWNrPzogKGVsZW1lbnQ6IFNWR0VsZW1lbnRUYWdOYW1lTWFwW0tdKSA9PiBQcm9taXNhYmxlPHZvaWQ+XG4pOiBQcm9taXNlPFNWR0VsZW1lbnRUYWdOYW1lTWFwW0tdPiB7XG4gIGNvbnN0IHN2ZyA9IGNyZWF0ZVN2Z0VsZW1lbnQodGFnLCBvKTtcbiAgYXdhaXQgY2FsbGJhY2s/LihzdmcpO1xuICByZXR1cm4gc3ZnO1xufVxuXG4vKipcbiAqIEVuc3VyZXMgdGhhdCB0aGUgZ2l2ZW4gZWxlbWVudCBpcyBsb2FkZWQuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBlbnN1cmUgaXMgbG9hZGVkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBlbGVtZW50IGlzIGxvYWRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGVuc3VyZUxvYWRlZChlbGVtZW50OiBFbGVtZW50KTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmIChpc0xvYWRlZChlbGVtZW50KSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCB3aW4gPSBnZXROb2RlV2luZG93KGVsZW1lbnQpO1xuICBpZiAoXG4gICAgaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MQm9keUVsZW1lbnQpXG4gICAgfHwgaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MSW1hZ2VFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTElGcmFtZUVsZW1lbnQpXG4gICAgfHwgaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MRW1iZWRFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTExpbmtFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTE9iamVjdEVsZW1lbnQpXG4gICAgfHwgaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MU3R5bGVFbGVtZW50KVxuICAgIHx8IGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTFRyYWNrRWxlbWVudClcbiAgKSB7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHJlc29sdmUpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsIHJlc29sdmUpO1xuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGF3YWl0IFByb21pc2UuYWxsKGdldExvYWRhYmxlRWxlbWVudHMoZWxlbWVudCkubWFwKChsb2FkYWJsZUVsZW1lbnQpID0+IGVuc3VyZUxvYWRlZChsb2FkYWJsZUVsZW1lbnQpKSk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgd2luZG93IGEgZG9jdW1lbnQgYmVsb25ncyB0by5cbiAqXG4gKiBBIGRvY3VtZW50IGlzIHRoZSBvbmUgbm9kZSB3aG9zZSBgb3duZXJEb2N1bWVudGAgaXMgYG51bGxgLCBzbyB0aGUgYG93bmVyRG9jdW1lbnRgLWNoYXNpbmcgbG9va3VwXG4gKiB1c2VkIGZvciBvcmRpbmFyeSBub2RlcyByZXNvbHZlcyBhIGRvY3VtZW50IHRvIHRoZSB3cm9uZyB3aW5kb3cuIFJlYWRpbmcgYGRlZmF1bHRWaWV3YCBvZmYgdGhlXG4gKiBkb2N1bWVudCBpdHNlbGYgaXMgd2hhdCBrZWVwcyBhIHBvcC1vdXQgd2luZG93J3MgY29vcmRpbmF0ZXMgbWVhc3VyZWQgYWdhaW5zdCB0aGF0IHdpbmRvdy5cbiAqXG4gKiBAcGFyYW0gZG9jIC0gVGhlIGRvY3VtZW50IHRvIGdldCB0aGUgd2luZG93IG9mLlxuICogQHJldHVybnMgVGhlIHdpbmRvdyB0aGUgZG9jdW1lbnQgYmVsb25ncyB0by5cbiAqIEB0aHJvd3MgQW4ge0BsaW5rIEVycm9yfSBpZiB0aGUgZG9jdW1lbnQgaXMgZGV0YWNoZWQgYW5kIHRoZXJlZm9yZSBoYXMgbm8gd2luZG93LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RG9jdW1lbnRXaW5kb3coZG9jOiBEb2N1bWVudCk6IFdpbmRvdyB7XG4gIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZShkb2MuZGVmYXVsdFZpZXcsICdUaGUgZG9jdW1lbnQgaGFzIG5vIHdpbmRvdycpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHotaW5kZXggb2YgdGhlIGdpdmVuIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBnZXQgdGhlIHotaW5kZXggb2YuXG4gKiBAcmV0dXJucyBUaGUgei1pbmRleCBvZiB0aGUgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFpJbmRleChlbGVtZW50OiBFbGVtZW50KTogbnVtYmVyIHtcbiAgbGV0IGVsZW1lbnQyOiBFbGVtZW50IHwgbnVsbCA9IGVsZW1lbnQ7XG5cbiAgd2hpbGUgKGVsZW1lbnQyKSB7XG4gICAgY29uc3QgekluZGV4U3RyaW5nID0gZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50MikuekluZGV4O1xuICAgIGNvbnN0IHpJbmRleCA9IE51bWJlci5wYXJzZUludCh6SW5kZXhTdHJpbmcsIDEwKTtcbiAgICBpZiAoIU51bWJlci5pc05hTih6SW5kZXgpKSB7XG4gICAgICByZXR1cm4gekluZGV4O1xuICAgIH1cbiAgICBlbGVtZW50MiA9IGVsZW1lbnQyLnBhcmVudEVsZW1lbnQ7XG4gIH1cblxuICByZXR1cm4gMDtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZSBpbiB0aGUgb2Zmc2V0IHBhcmVudC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbGVtZW50IGlzIHZpc2libGUgaW4gdGhlIG9mZnNldCBwYXJlbnQsIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFbGVtZW50VmlzaWJsZUluT2Zmc2V0UGFyZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHBhcmVudEVsZW1lbnQgPSBlbGVtZW50Lm9mZnNldFBhcmVudDtcbiAgaWYgKCFwYXJlbnRFbGVtZW50KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgZWxlbWVudFJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICBjb25zdCBwYXJlbnRFbGVtZW50UmVjdCA9IHBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgcmV0dXJuIChcbiAgICBwYXJlbnRFbGVtZW50UmVjdC50b3AgPD0gZWxlbWVudFJlY3QudG9wXG4gICAgJiYgZWxlbWVudFJlY3QuYm90dG9tIDw9IHBhcmVudEVsZW1lbnRSZWN0LmJvdHRvbVxuICAgICYmIHBhcmVudEVsZW1lbnRSZWN0LmxlZnQgPD0gZWxlbWVudFJlY3QubGVmdFxuICAgICYmIGVsZW1lbnRSZWN0LnJpZ2h0IDw9IHBhcmVudEVsZW1lbnRSZWN0LnJpZ2h0XG4gICk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBlbGVtZW50IGlzIGxvYWRlZC5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbGVtZW50IGlzIGxvYWRlZCwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0xvYWRlZChlbGVtZW50OiBFbGVtZW50KTogYm9vbGVhbiB7XG4gIGNvbnN0IHdpbiA9IGdldE5vZGVXaW5kb3coZWxlbWVudCk7XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTEJvZHlFbGVtZW50KSkge1xuICAgIGNvbnN0IHJlYWR5U3RhdGUgPSBlbGVtZW50Lm93bmVyRG9jdW1lbnQucmVhZHlTdGF0ZTtcbiAgICByZXR1cm4gcmVhZHlTdGF0ZSA9PT0gJ2NvbXBsZXRlJyB8fCByZWFkeVN0YXRlID09PSAnaW50ZXJhY3RpdmUnO1xuICB9XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTEltYWdlRWxlbWVudCkpIHtcbiAgICByZXR1cm4gZWxlbWVudC5jb21wbGV0ZSAmJiBlbGVtZW50Lm5hdHVyYWxXaWR0aCA+IDA7XG4gIH1cblxuICBpZiAoaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MSUZyYW1lRWxlbWVudCkpIHtcbiAgICByZXR1cm4gISFlbGVtZW50LmNvbnRlbnREb2N1bWVudDtcbiAgfVxuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxFbWJlZEVsZW1lbnQpKSB7XG4gICAgcmV0dXJuICEhZWxlbWVudC5nZXRTVkdEb2N1bWVudCgpO1xuICB9XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTExpbmtFbGVtZW50KSkge1xuICAgIHJldHVybiBlbGVtZW50LnJlbCAhPT0gJ3N0eWxlc2hlZXQnIHx8IGVsZW1lbnQuc2hlZXQgIT09IG51bGw7XG4gIH1cblxuICBpZiAoaXNJbnN0YW5jZU9mKGVsZW1lbnQsIHdpbi5IVE1MT2JqZWN0RWxlbWVudCkpIHtcbiAgICByZXR1cm4gISFlbGVtZW50LmNvbnRlbnREb2N1bWVudCB8fCAhIWVsZW1lbnQuZ2V0U1ZHRG9jdW1lbnQoKTtcbiAgfVxuXG4gIGlmIChpc0luc3RhbmNlT2YoZWxlbWVudCwgd2luLkhUTUxTY3JpcHRFbGVtZW50KSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTFN0eWxlRWxlbWVudCkpIHtcbiAgICByZXR1cm4gISFlbGVtZW50LnNoZWV0O1xuICB9XG5cbiAgaWYgKGlzSW5zdGFuY2VPZihlbGVtZW50LCB3aW4uSFRNTFRyYWNrRWxlbWVudCkpIHtcbiAgICBjb25zdCBSRUFEWV9TVEFURV9MT0FERUQgPSAyO1xuICAgIHJldHVybiBlbGVtZW50LnJlYWR5U3RhdGUgPT09IFJFQURZX1NUQVRFX0xPQURFRDtcbiAgfVxuXG4gIHJldHVybiBnZXRMb2FkYWJsZUVsZW1lbnRzKGVsZW1lbnQpLmV2ZXJ5KChsb2FkYWJsZUVsZW1lbnQpID0+IGlzTG9hZGVkKGxvYWRhYmxlRWxlbWVudCkpO1xufVxuXG4vKipcbiAqIEFkZHMgYW4gZXZlbnQgbGlzdGVuZXIgdG8gdGhlIGFuY2VzdG9yIG5vZGVzIG9mIHRoZSBnaXZlbiBub2RlLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIG5vZGUgdG8gYWRkIHRoZSBldmVudCBsaXN0ZW5lciB0by5cbiAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGV9IHRoYXQgcmVtb3ZlcyB0aGUgZXZlbnQgbGlzdGVuZXJzIHdoZW4gZGlzcG9zZWQsIGZvciB1c2Ugd2l0aCBgdXNpbmdgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25BbmNlc3RvclNjcm9sbE9yUmVzaXplKG5vZGU6IE5vZGUsIGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogRGlzcG9zYWJsZSB7XG4gIGNvbnN0IHdpbiA9IGdldE5vZGVXaW5kb3cobm9kZSk7XG4gIGNvbnN0IGFuY2VzdG9yczogRXZlbnRUYXJnZXRbXSA9IFtub2RlLm93bmVyRG9jdW1lbnQgPz8gd2luLmRvY3VtZW50LCB3aW5dO1xuXG4gIGxldCBjdXJyZW50Tm9kZTogTm9kZSB8IG51bGwgPSBub2RlO1xuXG4gIHdoaWxlIChjdXJyZW50Tm9kZSkge1xuICAgIGFuY2VzdG9ycy5wdXNoKGN1cnJlbnROb2RlKTtcbiAgICBjdXJyZW50Tm9kZSA9IGN1cnJlbnROb2RlLnBhcmVudE5vZGU7XG4gIH1cblxuICBsZXQgaXNFdmVudFRyaWdnZXJlZCA9IGZhbHNlO1xuXG4gIGZvciAoY29uc3QgYW5jZXN0b3Igb2YgYW5jZXN0b3JzKSB7XG4gICAgYW5jZXN0b3IuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgY2FsbGJhY2tTbW9vdGgsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICBhbmNlc3Rvci5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCBjYWxsYmFja1Ntb290aCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgIGNhbGxiYWNrOiAoKTogdm9pZCA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGFuY2VzdG9yIG9mIGFuY2VzdG9ycykge1xuICAgICAgICBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBjYWxsYmFja1Ntb290aCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgICBhbmNlc3Rvci5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCBjYWxsYmFja1Ntb290aCwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gY2FsbGJhY2tTbW9vdGgoKTogdm9pZCB7XG4gICAgaWYgKGlzRXZlbnRUcmlnZ2VyZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpc0V2ZW50VHJpZ2dlcmVkID0gdHJ1ZTtcblxuICAgIHdpbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY2FsbGJhY2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzRXZlbnRUcmlnZ2VyZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgbnVtYmVyIHRvIGEgc3RyaW5nIHdpdGggJ3B4JyBhcHBlbmRlZC5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgbnVtYmVyIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyBUaGUgbnVtYmVyIGFzIGEgc3RyaW5nIHdpdGggJ3B4JyBhcHBlbmRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvUHgodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBgJHtTdHJpbmcodmFsdWUpfXB4YDtcbn1cblxuLyoqXG4gKiBXYWl0cyB1bnRpbCB0aGUgZ2l2ZW4gZWxlbWVudCBpcyBjb25uZWN0ZWQgdG8gdGhlIERPTS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIGNoZWNrLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBpcyBjb25uZWN0ZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3YWl0VW50aWxDb25uZWN0ZWQoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgaWYgKGVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJlc29sdmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBPYnNpZGlhbidzIGBlbC5vbk5vZGVJbnNlcnRlZGAgdXNlcyBhIGBub2RlLWluc2VydGVkYCBDU1Mga2V5ZnJhbWUgZnJvbSBPYnNpZGlhbidzIHN0eWxlc2hlZXQuXG4gICAgLy8gVGhlIGFnbm9zdGljIGVxdWl2YWxlbnQgaW5zdGVhZCBvYnNlcnZlcyB0aGUgZWxlbWVudCdzIGRvY3VtZW50IGZvciBpdCBiZWNvbWluZyBjb25uZWN0ZWQuXG4gICAgY29uc3Qgb3duZXJEb2N1bWVudCA9IGVsZW1lbnQub3duZXJEb2N1bWVudDtcbiAgICBjb25zdCBvYnNlcnZlciA9IG5ldyAoZ2V0Tm9kZVdpbmRvdyhlbGVtZW50KSkuTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICBpZiAoIWVsZW1lbnQuaXNDb25uZWN0ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSk7XG4gICAgb2JzZXJ2ZXIub2JzZXJ2ZShvd25lckRvY3VtZW50LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogQXBwbGllcyB0aGUgZWxlbWVudC10eXBlLWFnbm9zdGljIHN1YnNldCBvZiBPYnNpZGlhbidzIGBEb21FbGVtZW50SW5mb2AgdGhhdCBpdHMgYGNyZWF0ZUVsYFxuICogc3VwcG9ydHMgXHUyMDE0IGBjbHNgLCBgdGV4dGAsIGBhdHRyYCwgYHRpdGxlYCwgYW5kIGBwYXJlbnRgL2BwcmVwZW5kYC4gVGhlIGVsZW1lbnQtdHlwZS1zcGVjaWZpY1xuICogZmllbGRzIChgdmFsdWVgLCBgdHlwZWAsIGBwbGFjZWhvbGRlcmAsIGBocmVmYCkgYW5kIHRoZSBgb24qYCBldmVudC1oYW5kbGVyIGtleXMgYXJlIGludGVudGlvbmFsbHlcbiAqIE5PVCBwb3J0ZWQgKG5vIGludGVybmFsIGNhbGxlciBuZWVkcyB0aGVtKTsgZXh0ZW5kIHRoaXMgaWYgYSBjb25zdW1lciBkb2VzIFx1MjAxNCBhbmQgcmV2YWxpZGF0ZSBhZ2FpbnN0XG4gKiBgZW5oYW5jZS5qc2AgKHNlZSB0aGUgYEBmaWxlYCBub3RlIGFuZCBgQ0xBVURFLm1kYCkuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byBhcHBseSB0aGUgaW5mbyB0by5cbiAqIEBwYXJhbSBvIC0gVGhlIGVsZW1lbnQgaW5mbyAob3IgYSBiYXJlIGNsYXNzIHN0cmluZykuXG4gKi9cbmZ1bmN0aW9uIGFwcGx5RG9tRWxlbWVudEluZm8oZWxlbWVudDogSFRNTEVsZW1lbnQsIG86IENyZWF0ZUh0bWxFbGVtZW50SW5mbyB8IHN0cmluZyB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICBjb25zdCBpbmZvOiBDcmVhdGVIdG1sRWxlbWVudEluZm8gPSB0eXBlb2YgbyA9PT0gJ3N0cmluZycgPyB7IGNsczogbyB9IDogbyA/PyB7fTtcblxuICBpZiAoaW5mby5jbHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gQXJyYXkuaXNBcnJheShpbmZvLmNscykgPyBpbmZvLmNscy5qb2luKCcgJykgOiBpbmZvLmNscztcbiAgfVxuICBpZiAoaW5mby50ZXh0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzZXRFbGVtZW50VGV4dChlbGVtZW50LCBpbmZvLnRleHQpO1xuICB9XG4gIGlmIChpbmZvLmF0dHIpIHtcbiAgICBzZXRFbGVtZW50QXR0cmlidXRlcyhlbGVtZW50LCBpbmZvLmF0dHIpO1xuICB9XG4gIGlmIChpbmZvLnRpdGxlICE9PSB1bmRlZmluZWQpIHtcbiAgICBlbGVtZW50LnRpdGxlID0gaW5mby50aXRsZTtcbiAgfVxuICBpbnNlcnRJbnRvUGFyZW50KGVsZW1lbnQsIGluZm8pO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVIdG1sRWxlbWVudDxLIGV4dGVuZHMga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwPih0YWc6IEssIG8/OiBDcmVhdGVIdG1sRWxlbWVudEluZm8gfCBzdHJpbmcpOiBIVE1MRWxlbWVudFRhZ05hbWVNYXBbS10ge1xuICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWcpO1xuICBhcHBseURvbUVsZW1lbnRJbmZvKGVsZW1lbnQsIG8pO1xuICByZXR1cm4gZWxlbWVudDtcbn1cblxuZnVuY3Rpb24gY3JlYXRlU3ZnRWxlbWVudDxLIGV4dGVuZHMga2V5b2YgU1ZHRWxlbWVudFRhZ05hbWVNYXA+KHRhZzogSywgbz86IENyZWF0ZVN2Z0VsZW1lbnRJbmZvIHwgc3RyaW5nKTogU1ZHRWxlbWVudFRhZ05hbWVNYXBbS10ge1xuICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05BTUVTUEFDRSwgdGFnKTtcbiAgY29uc3QgaW5mbzogQ3JlYXRlU3ZnRWxlbWVudEluZm8gPSB0eXBlb2YgbyA9PT0gJ3N0cmluZycgPyB7IGNsczogbyB9IDogbyA/PyB7fTtcblxuICBpZiAoaW5mby5jbHMgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGluZm8uY2xzKSkge1xuICAgICAgc3ZnLmNsYXNzTGlzdC5hZGQoLi4uaW5mby5jbHMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdmcuY2xhc3NMaXN0LmFkZChpbmZvLmNscyk7XG4gICAgfVxuICB9XG4gIGlmIChpbmZvLmF0dHIpIHtcbiAgICBzZXRFbGVtZW50QXR0cmlidXRlcyhzdmcsIGluZm8uYXR0cik7XG4gIH1cbiAgaW5zZXJ0SW50b1BhcmVudChzdmcsIGluZm8pO1xuICByZXR1cm4gc3ZnO1xufVxuXG5mdW5jdGlvbiBnZXRMb2FkYWJsZUVsZW1lbnRzKGVsZW1lbnQ6IEVsZW1lbnQpOiBFbGVtZW50W10ge1xuICByZXR1cm4gWy4uLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnYm9keSwgaW1nLCBpZnJhbWUsIGVtYmVkLCBsaW5rLCBvYmplY3QsIHNjcmlwdCwgc3R5bGUsIHRyYWNrJyldO1xufVxuXG5mdW5jdGlvbiBnZXROb2RlV2luZG93KG5vZGU6IE5vZGUpOiB0eXBlb2YgZ2xvYmFsVGhpcyAmIFdpbmRvdyB7XG4gIHJldHVybiBub2RlLm93bmVyRG9jdW1lbnQ/LmRlZmF1bHRWaWV3ID8/IHdpbmRvdztcbn1cblxuZnVuY3Rpb24gaW5zZXJ0SW50b1BhcmVudChlbGVtZW50OiBFbGVtZW50LCBpbmZvOiBDcmVhdGVIdG1sRWxlbWVudEluZm8gfCBDcmVhdGVTdmdFbGVtZW50SW5mbyk6IHZvaWQge1xuICBpZiAoIWluZm8ucGFyZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChpbmZvLnByZXBlbmQpIHtcbiAgICBpbmZvLnBhcmVudC5pbnNlcnRCZWZvcmUoZWxlbWVudCwgaW5mby5wYXJlbnQuZmlyc3RDaGlsZCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vcHJlZmVyLWRvbS1ub2RlLWFwcGVuZCAtLSBgcGFyZW50YCBpcyBhIGBOb2RlYCwgYW5kIGBhcHBlbmRgIGlzIGRlY2xhcmVkIG9uIGBQYXJlbnROb2RlYCwgbm90IG9uIGBOb2RlYC5cbiAgICBpbmZvLnBhcmVudC5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0luc3RhbmNlT2Y8VCBleHRlbmRzIE5vZGU+KG5vZGU6IE5vZGUsIGN0b3I6IGFic3RyYWN0IG5ldyAoLi4uJGFyZ3VtZW50czogbmV2ZXJbXSkgPT4gVCk6IG5vZGUgaXMgVCB7XG4gIC8vIEFnbm9zdGljIHJlaW1wbGVtZW50YXRpb24gb2YgT2JzaWRpYW4ncyBgTm9kZS5wcm90b3R5cGUuaW5zdGFuY2VPZmAgKGVuaGFuY2UuanMpLlxuICAvLyBUaGUgY2FsbGVyIHJlc29sdmVzIGBjdG9yYCBpbiB0aGUgbm9kZSdzIG93biByZWFsbSAodmlhIGBnZXROb2RlV2luZG93YCksIGtlZXBpbmcgaXQgY3Jvc3Mtd2luZG93IHNhZmUuXG4gIHJldHVybiBub2RlIGluc3RhbmNlb2YgY3Rvcjtcbn1cblxuZnVuY3Rpb24gc2V0RWxlbWVudEF0dHJpYnV0ZXMoZWxlbWVudDogRWxlbWVudCwgYXR0cmlidXRlOiBOb25OdWxsYWJsZTxDcmVhdGVIdG1sRWxlbWVudEluZm9bJ2F0dHInXT4pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGF0dHJpYnV0ZSkpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9wcmVmZXItdG9nZ2xlLWF0dHJpYnV0ZSAtLSBgdG9nZ2xlQXR0cmlidXRlYCBvbmx5IGV2ZXIgc2V0cyB0aGUgZW1wdHkgc3RyaW5nLCBzbyBpdCBjYW5ub3QgY2FycnkgYFN0cmluZyh2YWx1ZSlgLiBUaGUgcnVsZSBtYXRjaGVzIHRoZSByZW1vdmUvc2V0IHNoYXBlIHdpdGhvdXQgc2VlaW5nIHRoYXQgdGhlIHZhbHVlIGlzIHdoYXQgdGhpcyBicmFuY2ggZXhpc3RzIHRvIHdyaXRlLlxuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIFN0cmluZyh2YWx1ZSkpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRFbGVtZW50VGV4dChlbGVtZW50OiBIVE1MRWxlbWVudCwgdGV4dDogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZyk6IHZvaWQge1xuICBpZiAodGV4dCBpbnN0YW5jZW9mIERvY3VtZW50RnJhZ21lbnQpIHtcbiAgICBlbGVtZW50LnJlcGxhY2VDaGlsZHJlbih0ZXh0KTtcbiAgfSBlbHNlIHtcbiAgICBlbGVtZW50LnRleHRDb250ZW50ID0gdGV4dDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZUEsd0JBQW1DO0FBQ25DLHlCQUFrQztBQUVsQyxNQUFNLGdCQUFnQjtBQXFHdEIsZUFBc0IsZUFDcEIsR0FDQSxVQUN5QjtBQUN6QixRQUFNLE1BQU0sa0JBQWtCLE9BQU8sQ0FBQztBQUN0QyxRQUFNLFdBQVcsR0FBRztBQUNwQixTQUFPO0FBQ1Q7QUFZQSxlQUFzQixjQUNwQixLQUNBLEdBQ0EsVUFDbUM7QUFDbkMsUUFBTSxVQUFVLGtCQUFrQixLQUFLLENBQUM7QUFDeEMsUUFBTSxXQUFXLE9BQU87QUFDeEIsU0FBTztBQUNUO0FBUUEsZUFBc0Isb0JBQW9CLFVBQXVGO0FBQy9ILFFBQU0sV0FBVyxTQUFTLHVCQUF1QjtBQUNqRCxRQUFNLFdBQVcsUUFBUTtBQUN6QixTQUFPO0FBQ1Q7QUFTQSxlQUFzQixnQkFDcEIsR0FDQSxVQUMwQjtBQUMxQixRQUFNLE9BQU8sa0JBQWtCLFFBQVEsQ0FBQztBQUN4QyxRQUFNLFdBQVcsSUFBSTtBQUNyQixTQUFPO0FBQ1Q7QUFZQSxlQUFzQixlQUNwQixLQUNBLEdBQ0EsVUFDa0M7QUFDbEMsUUFBTSxNQUFNLGlCQUFpQixLQUFLLENBQUM7QUFDbkMsUUFBTSxXQUFXLEdBQUc7QUFDcEIsU0FBTztBQUNUO0FBUUEsZUFBc0IsYUFBYSxTQUFpQztBQUNsRSxNQUFJLFNBQVMsT0FBTyxHQUFHO0FBQ3JCO0FBQUEsRUFDRjtBQUNBLFFBQU0sTUFBTSxjQUFjLE9BQU87QUFDakMsTUFDRSxhQUFhLFNBQVMsSUFBSSxlQUFlLEtBQ3RDLGFBQWEsU0FBUyxJQUFJLGdCQUFnQixLQUMxQyxhQUFhLFNBQVMsSUFBSSxpQkFB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
|
package/dist/lib/cjs/index.cjs
CHANGED
|
@@ -3,64 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
|
3
3
|
if you want to view the source, please visit the github repository of this plugin
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
(function () {
|
|
7
|
-
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function ensureBrowserProcess() {
|
|
13
|
-
const browserProcess = {
|
|
14
|
-
browser: true,
|
|
15
|
-
cwd() {
|
|
16
|
-
return '/';
|
|
17
|
-
},
|
|
18
|
-
env: {},
|
|
19
|
-
platform: 'android'
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
-
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
|
-
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
-
globalThis.process = browserProcess;
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (existingProcess.versions?.node) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
|
-
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
-
existingProcessRecord[key] ??= value;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
function keepName($unknown) {
|
|
45
|
-
return $unknown;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
|
-
const globalThisRecord = globalThis;
|
|
51
|
-
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord['__name'] ??= keepName;
|
|
53
|
-
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
54
|
-
|
|
55
|
-
ensureBrowserProcess();
|
|
56
|
-
|
|
57
|
-
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
58
|
-
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
60
|
-
}
|
|
61
|
-
})();
|
|
62
|
-
})();
|
|
63
|
-
|
|
64
6
|
"use strict";
|
|
65
7
|
var __create = Object.create;
|
|
66
8
|
var __defProp = Object.defineProperty;
|
|
@@ -125,38 +67,38 @@ __export(index_exports, {
|
|
|
125
67
|
"value-wrapper": () => value_wrapper
|
|
126
68
|
});
|
|
127
69
|
module.exports = __toCommonJS(index_exports);
|
|
128
|
-
var abort_controller = __toESM(
|
|
129
|
-
var aggregate_error = __toESM(
|
|
130
|
-
var array_buffer = __toESM(
|
|
131
|
-
var array = __toESM(
|
|
132
|
-
var async_events = __toESM(
|
|
133
|
-
var async_operation_hook = __toESM(
|
|
134
|
-
var async = __toESM(
|
|
135
|
-
var beeper = __toESM(
|
|
136
|
-
var blob = __toESM(
|
|
137
|
-
var bytes = __toESM(
|
|
138
|
-
var debug_controller = __toESM(
|
|
139
|
-
var debug = __toESM(
|
|
140
|
-
var desktop_zip_extractor = __toESM(
|
|
141
|
-
var disposable = __toESM(
|
|
142
|
-
var enum2 = __toESM(
|
|
143
|
-
var error = __toESM(
|
|
144
|
-
var function2 = __toESM(
|
|
145
|
-
var html_element = __toESM(
|
|
146
|
-
var jpeg_metadata = __toESM(
|
|
147
|
-
var library = __toESM(
|
|
148
|
-
var object_utils = __toESM(
|
|
149
|
-
var path = __toESM(
|
|
150
|
-
var reg_exp = __toESM(
|
|
151
|
-
var string = __toESM(
|
|
152
|
-
var transformers = __toESM(
|
|
153
|
-
var two_way_map = __toESM(
|
|
154
|
-
var type_guards = __toESM(
|
|
155
|
-
var type = __toESM(
|
|
156
|
-
var typescript_lib_state = __toESM(
|
|
157
|
-
var url = __toESM(
|
|
158
|
-
var value_provider = __toESM(
|
|
159
|
-
var value_wrapper = __toESM(
|
|
70
|
+
var abort_controller = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./abort-controller.cjs')), 1);
|
|
71
|
+
var aggregate_error = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./aggregate-error.cjs')), 1);
|
|
72
|
+
var array_buffer = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./array-buffer.cjs')), 1);
|
|
73
|
+
var array = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./array.cjs')), 1);
|
|
74
|
+
var async_events = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./async-events.cjs')), 1);
|
|
75
|
+
var async_operation_hook = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./async-operation-hook.cjs')), 1);
|
|
76
|
+
var async = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./async.cjs')), 1);
|
|
77
|
+
var beeper = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./beeper.cjs')), 1);
|
|
78
|
+
var blob = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./blob.cjs')), 1);
|
|
79
|
+
var bytes = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./bytes.cjs')), 1);
|
|
80
|
+
var debug_controller = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./debug-controller.cjs')), 1);
|
|
81
|
+
var debug = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./debug.cjs')), 1);
|
|
82
|
+
var desktop_zip_extractor = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./desktop-zip-extractor.cjs')), 1);
|
|
83
|
+
var disposable = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./disposable.cjs')), 1);
|
|
84
|
+
var enum2 = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./enum.cjs')), 1);
|
|
85
|
+
var error = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./error.cjs')), 1);
|
|
86
|
+
var function2 = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./function.cjs')), 1);
|
|
87
|
+
var html_element = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./html-element.cjs')), 1);
|
|
88
|
+
var jpeg_metadata = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./jpeg-metadata.cjs')), 1);
|
|
89
|
+
var library = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./library.cjs')), 1);
|
|
90
|
+
var object_utils = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./object-utils.cjs')), 1);
|
|
91
|
+
var path = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./path.cjs')), 1);
|
|
92
|
+
var reg_exp = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./reg-exp.cjs')), 1);
|
|
93
|
+
var string = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./string.cjs')), 1);
|
|
94
|
+
var transformers = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./transformers/index.cjs')), 1);
|
|
95
|
+
var two_way_map = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./two-way-map.cjs')), 1);
|
|
96
|
+
var type_guards = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./type-guards.cjs')), 1);
|
|
97
|
+
var type = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./type.cjs')), 1);
|
|
98
|
+
var typescript_lib_state = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./typescript-lib-state.cjs')), 1);
|
|
99
|
+
var url = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./url.cjs')), 1);
|
|
100
|
+
var value_provider = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./value-provider.cjs')), 1);
|
|
101
|
+
var value_wrapper = __toESM(((module) => module && module.__esModule && 'default' in module ? module.default : module)(require('./value-wrapper.cjs')), 1);
|
|
160
102
|
// Annotate the CommonJS export names for ESM import in node:
|
|
161
103
|
0 && (module.exports = {
|
|
162
104
|
"abort-controller": null,
|
|
@@ -192,4 +134,4 @@ var value_wrapper = __toESM(__extractDefault(require('./value-wrapper.cjs')), 1)
|
|
|
192
134
|
"value-provider": null,
|
|
193
135
|
"value-wrapper": null
|
|
194
136
|
});
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2Fib3J0LWNvbnRyb2xsZXInIGZyb20gJy4vYWJvcnQtY29udHJvbGxlci50cyc7XG5leHBvcnQgKiBhcyAnYWdncmVnYXRlLWVycm9yJyBmcm9tICcuL2FnZ3JlZ2F0ZS1lcnJvci50cyc7XG5leHBvcnQgKiBhcyAnYXJyYXktYnVmZmVyJyBmcm9tICcuL2FycmF5LWJ1ZmZlci50cyc7XG5leHBvcnQgKiBhcyAnYXJyYXknIGZyb20gJy4vYXJyYXkudHMnO1xuZXhwb3J0ICogYXMgJ2FzeW5jLWV2ZW50cycgZnJvbSAnLi9hc3luYy1ldmVudHMudHMnO1xuZXhwb3J0ICogYXMgJ2FzeW5jLW9wZXJhdGlvbi1ob29rJyBmcm9tICcuL2FzeW5jLW9wZXJhdGlvbi1ob29rLnRzJztcbmV4cG9ydCAqIGFzICdhc3luYycgZnJvbSAnLi9hc3luYy50cyc7XG5leHBvcnQgKiBhcyAnYmVlcGVyJyBmcm9tICcuL2JlZXBlci50cyc7XG5leHBvcnQgKiBhcyAnYmxvYicgZnJvbSAnLi9ibG9iLnRzJztcbmV4cG9ydCAqIGFzICdieXRlcycgZnJvbSAnLi9ieXRlcy50cyc7XG5leHBvcnQgKiBhcyAnZGVidWctY29udHJvbGxlcicgZnJvbSAnLi9kZWJ1Zy1jb250cm9sbGVyLnRzJztcbmV4cG9ydCAqIGFzICdkZWJ1ZycgZnJvbSAnLi9kZWJ1Zy50cyc7XG5leHBvcnQgKiBhcyAnZGVza3RvcC16aXAtZXh0cmFjdG9yJyBmcm9tICcuL2Rlc2t0b3AtemlwLWV4dHJhY3Rvci50cyc7XG5leHBvcnQgKiBhcyAnZGlzcG9zYWJsZScgZnJvbSAnLi9kaXNwb3NhYmxlLnRzJztcbmV4cG9ydCAqIGFzICdlbnVtJyBmcm9tICcuL2VudW0udHMnO1xuZXhwb3J0ICogYXMgJ2Vycm9yJyBmcm9tICcuL2Vycm9yLnRzJztcbmV4cG9ydCAqIGFzICdmdW5jdGlvbicgZnJvbSAnLi9mdW5jdGlvbi50cyc7XG5leHBvcnQgKiBhcyAnaHRtbC1lbGVtZW50JyBmcm9tICcuL2h0bWwtZWxlbWVudC50cyc7XG5leHBvcnQgKiBhcyAnanBlZy1tZXRhZGF0YScgZnJvbSAnLi9qcGVnLW1ldGFkYXRhLnRzJztcbmV4cG9ydCAqIGFzICdsaWJyYXJ5JyBmcm9tICcuL2xpYnJhcnkudHMnO1xuZXhwb3J0ICogYXMgJ29iamVjdC11dGlscycgZnJvbSAnLi9vYmplY3QtdXRpbHMudHMnO1xuZXhwb3J0ICogYXMgJ3BhdGgnIGZyb20gJy4vcGF0aC50cyc7XG5leHBvcnQgKiBhcyAncmVnLWV4cCcgZnJvbSAnLi9yZWctZXhwLnRzJztcbmV4cG9ydCAqIGFzICdzdHJpbmcnIGZyb20gJy4vc3RyaW5nLnRzJztcbmV4cG9ydCAqIGFzICd0cmFuc2Zvcm1lcnMnIGZyb20gJy4vdHJhbnNmb3JtZXJzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzICd0d28td2F5LW1hcCcgZnJvbSAnLi90d28td2F5LW1hcC50cyc7XG5leHBvcnQgKiBhcyAndHlwZS1ndWFyZHMnIGZyb20gJy4vdHlwZS1ndWFyZHMudHMnO1xuZXhwb3J0ICogYXMgJ3R5cGUnIGZyb20gJy4vdHlwZS50cyc7XG5leHBvcnQgKiBhcyAndHlwZXNjcmlwdC1saWItc3RhdGUnIGZyb20gJy4vdHlwZXNjcmlwdC1saWItc3RhdGUudHMnO1xuZXhwb3J0ICogYXMgJ3VybCcgZnJvbSAnLi91cmwudHMnO1xuZXhwb3J0ICogYXMgJ3ZhbHVlLXByb3ZpZGVyJyBmcm9tICcuL3ZhbHVlLXByb3ZpZGVyLnRzJztcbmV4cG9ydCAqIGFzICd2YWx1ZS13cmFwcGVyJyBmcm9tICcuL3ZhbHVlLXdyYXBwZXIudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBLDRCQUFBQTtBQUFBLEVBQUEseUJBQUFDO0FBQUEsRUFBQTtBQUFBLHdCQUFBQztBQUFBLEVBQUE7QUFBQSx3QkFBQUM7QUFBQSxFQUFBLDhCQUFBQztBQUFBLEVBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSw0QkFBQUM7QUFBQSxFQUFBLCtCQUFBQztBQUFBLEVBQUE7QUFBQSxjQUFBQztBQUFBLEVBQUE7QUFBQSxrQkFBQUM7QUFBQSxFQUFBLHNCQUFBQztBQUFBLEVBQUEsdUJBQUFDO0FBQUEsRUFBQTtBQUFBLHdCQUFBQztBQUFBLEVBQUE7QUFBQSxtQkFBQUM7QUFBQSxFQUFBO0FBQUE7QUFBQSx1QkFBQUM7QUFBQSxFQUFBO0FBQUEsdUJBQUFDO0FBQUEsRUFBQSw4QkFBQUM7QUFBQSxFQUFBO0FBQUEsMEJBQUFDO0FBQUEsRUFBQSx1QkFBQUM7QUFBQTtBQUFBO0FBRUEsSUFBQWpCLG1CQUFvQztBQUNwQyxJQUFBQyxrQkFBbUM7QUFDbkMsSUFBQUMsZUFBZ0M7QUFDaEMsWUFBeUI7QUFDekIsSUFBQUMsZUFBZ0M7QUFDaEMsSUFBQUMsdUJBQXdDO0FBQ3hDLFlBQXlCO0FBQ3pCLGFBQTBCO0FBQzFCLFdBQXdCO0FBQ3hCLFlBQXlCO0FBQ3pCLElBQUFDLG1CQUFvQztBQUNwQyxZQUF5QjtBQUN6QixJQUFBQyx3QkFBeUM7QUFDekMsaUJBQThCO0FBQzlCLElBQUFDLFFBQXdCO0FBQ3hCLFlBQXlCO0FBQ3pCLElBQUFDLFlBQTRCO0FBQzVCLElBQUFDLGVBQWdDO0FBQ2hDLElBQUFDLGdCQUFpQztBQUNqQyxjQUEyQjtBQUMzQixJQUFBQyxlQUFnQztBQUNoQyxXQUF3QjtBQUN4QixJQUFBQyxVQUEyQjtBQUMzQixhQUEwQjtBQUMxQixtQkFBZ0M7QUFDaEMsSUFBQUMsY0FBK0I7QUFDL0IsSUFBQUMsY0FBK0I7QUFDL0IsV0FBd0I7QUFDeEIsSUFBQUMsdUJBQXdDO0FBQ3hDLFVBQXVCO0FBQ3ZCLElBQUFDLGlCQUFrQztBQUNsQyxJQUFBQyxnQkFBaUM7IiwKICAibmFtZXMiOiBbImFib3J0LWNvbnRyb2xsZXIiLCAiYWdncmVnYXRlLWVycm9yIiwgImFycmF5LWJ1ZmZlciIsICJhc3luYy1ldmVudHMiLCAiYXN5bmMtb3BlcmF0aW9uLWhvb2siLCAiZGVidWctY29udHJvbGxlciIsICJkZXNrdG9wLXppcC1leHRyYWN0b3IiLCAiZW51bSIsICJmdW5jdGlvbiIsICJodG1sLWVsZW1lbnQiLCAianBlZy1tZXRhZGF0YSIsICJvYmplY3QtdXRpbHMiLCAicmVnLWV4cCIsICJ0d28td2F5LW1hcCIsICJ0eXBlLWd1YXJkcyIsICJ0eXBlc2NyaXB0LWxpYi1zdGF0ZSIsICJ2YWx1ZS1wcm92aWRlciIsICJ2YWx1ZS13cmFwcGVyIl0KfQo=
|
package/dist/lib/cjs/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/// <reference path="./library.d.cts" />
|
|
1
|
+
/// <reference path="./library-references.d.cts" />
|
|
2
2
|
export * as 'abort-controller' from './abort-controller.cjs';
|
|
3
3
|
export * as 'aggregate-error' from './aggregate-error.cjs';
|
|
4
4
|
export * as 'array-buffer' from './array-buffer.cjs';
|