@mnaoumov/obsidian-dev-toolkit 1.0.0 → 1.1.0
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/demo-vault-helper/main.js +499 -17
- package/dist/integration-test-plugin/main.js +11251 -2472
- package/dist/lib/cjs/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild-impl/dependency.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild-impl/index.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild-impl/preprocess-plugin.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild-impl/rename-css-plugin.cjs +9 -22
- package/dist/lib/cjs/bundlers/esbuild.cjs +9 -22
- package/dist/lib/cjs/bundlers/index.cjs +9 -22
- package/dist/lib/cjs/demo-vault-app-json.cjs +9 -22
- package/dist/lib/cjs/demo-vault-buttons.cjs +9 -22
- package/dist/lib/cjs/demo-vault-buttons.d.cts +7 -7
- package/dist/lib/cjs/demo-vault-coverage.cjs +11 -23
- package/dist/lib/cjs/demo-vault.cjs +9 -22
- package/dist/lib/cjs/formatters/dprint.cjs +9 -22
- package/dist/lib/cjs/formatters/index.cjs +9 -22
- package/dist/lib/cjs/index.cjs +9 -22
- package/dist/lib/cjs/integration-test-setup.cjs +9 -22
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +9 -22
- package/dist/lib/cjs/jest-setup.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-config.cjs +60 -22
- package/dist/lib/cjs/linters/eslint-rules/index.cjs +23 -24
- package/dist/lib/cjs/linters/eslint-rules/index.d.cts +4 -0
- package/dist/lib/cjs/linters/eslint-rules/manifest-description.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/manifest-helpers.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/manifest-id.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/manifest-name.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/manifest-schema.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.cjs +259 -0
- package/dist/lib/cjs/linters/eslint-rules/no-local-obsidian-internals.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/no-untrusted-input-events.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +18 -23
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.cjs +263 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code-in-ui.d.cts +30 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.cjs +215 -0
- package/dist/lib/cjs/linters/eslint-rules/plugin-name-as-code.d.cts +29 -0
- package/dist/lib/cjs/linters/eslint-rules/require-component-suffix.cjs +9 -22
- package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.cjs +306 -0
- package/dist/lib/cjs/linters/eslint-rules/require-plugin-api-contract-schemas.d.cts +10 -0
- package/dist/lib/cjs/linters/eslint.cjs +9 -22
- package/dist/lib/cjs/linters/index.cjs +20 -24
- package/dist/lib/cjs/linters/index.d.cts +3 -0
- package/dist/lib/cjs/linters/markdownlint-cli2-config.cjs +171 -0
- package/dist/lib/cjs/linters/markdownlint-cli2-config.d.cts +12 -0
- package/dist/lib/cjs/linters/markdownlint-rules/index.cjs +164 -0
- package/dist/lib/cjs/linters/markdownlint-rules/index.d.cts +2 -0
- package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.cjs +246 -0
- package/dist/lib/cjs/linters/markdownlint-rules/plugin-name-as-code.d.cts +32 -0
- package/dist/lib/cjs/linters/markdownlint.cjs +9 -22
- package/dist/lib/cjs/linters/obsidianmd-rule-custom-message.cjs +9 -22
- package/dist/lib/cjs/linters/plugin-names.cjs +249 -0
- package/dist/lib/cjs/linters/plugin-names.d.cts +81 -0
- package/dist/lib/cjs/obsidian-plugin-repo-paths.cjs +9 -22
- package/dist/lib/cjs/setup.cjs +9 -22
- package/dist/lib/cjs/templates.cjs +9 -22
- package/dist/lib/cjs/test-runners/index.cjs +9 -22
- package/dist/lib/cjs/test-runners/integration-test-plugin.cjs +9 -22
- package/dist/lib/cjs/test-runners/performance-eval-cap.cjs +9 -22
- package/dist/lib/cjs/test-runners/stale-build-global-setup.cjs +9 -22
- package/dist/lib/cjs/test-runners/vitest-config.cjs +9 -22
- package/dist/lib/cjs/version.cjs +9 -22
- package/dist/lib/cjs/vitest-setup.cjs +9 -22
- package/dist/lib/esm/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild-impl/dependency.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild-impl/index.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild-impl/preprocess-plugin.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild-impl/rename-css-plugin.mjs +6 -14
- package/dist/lib/esm/bundlers/esbuild.mjs +6 -14
- package/dist/lib/esm/bundlers/index.mjs +6 -14
- package/dist/lib/esm/demo-vault-app-json.mjs +6 -14
- package/dist/lib/esm/demo-vault-buttons.d.mts +7 -7
- package/dist/lib/esm/demo-vault-buttons.mjs +6 -14
- package/dist/lib/esm/demo-vault-coverage.mjs +8 -15
- package/dist/lib/esm/demo-vault.mjs +6 -14
- package/dist/lib/esm/formatters/dprint.mjs +6 -14
- package/dist/lib/esm/formatters/index.mjs +6 -14
- package/dist/lib/esm/index.mjs +6 -14
- package/dist/lib/esm/integration-test-setup.mjs +6 -14
- package/dist/lib/esm/integration-test-vitest-global-setup.mjs +6 -14
- package/dist/lib/esm/jest-setup.mjs +6 -14
- package/dist/lib/esm/linters/eslint-config.mjs +57 -14
- package/dist/lib/esm/linters/eslint-rules/index.d.mts +4 -0
- package/dist/lib/esm/linters/eslint-rules/index.mjs +15 -15
- package/dist/lib/esm/linters/eslint-rules/manifest-description.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/manifest-helpers.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/manifest-id.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/manifest-name.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/manifest-schema.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/no-local-obsidian-internals.mjs +150 -0
- package/dist/lib/esm/linters/eslint-rules/no-over-cap-wait-in-eval-in-obsidian.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/no-untrusted-input-events.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +15 -15
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.d.mts +30 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code-in-ui.mjs +157 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.d.mts +29 -0
- package/dist/lib/esm/linters/eslint-rules/plugin-name-as-code.mjs +108 -0
- package/dist/lib/esm/linters/eslint-rules/require-component-suffix.mjs +6 -14
- package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.d.mts +10 -0
- package/dist/lib/esm/linters/eslint-rules/require-plugin-api-contract-schemas.mjs +197 -0
- package/dist/lib/esm/linters/eslint.mjs +6 -14
- package/dist/lib/esm/linters/index.d.mts +3 -0
- package/dist/lib/esm/linters/index.mjs +13 -15
- package/dist/lib/esm/linters/markdownlint-cli2-config.d.mts +12 -0
- package/dist/lib/esm/linters/markdownlint-cli2-config.mjs +66 -0
- package/dist/lib/esm/linters/markdownlint-rules/index.d.mts +2 -0
- package/dist/lib/esm/linters/markdownlint-rules/index.mjs +46 -0
- package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.d.mts +32 -0
- package/dist/lib/esm/linters/markdownlint-rules/plugin-name-as-code.mjs +130 -0
- package/dist/lib/esm/linters/markdownlint.mjs +6 -14
- package/dist/lib/esm/linters/obsidianmd-rule-custom-message.mjs +6 -14
- package/dist/lib/esm/linters/plugin-names.d.mts +81 -0
- package/dist/lib/esm/linters/plugin-names.mjs +141 -0
- package/dist/lib/esm/obsidian-plugin-repo-paths.mjs +6 -14
- package/dist/lib/esm/setup.mjs +6 -14
- package/dist/lib/esm/templates.mjs +6 -14
- package/dist/lib/esm/test-runners/index.mjs +6 -14
- package/dist/lib/esm/test-runners/integration-test-plugin.mjs +6 -14
- package/dist/lib/esm/test-runners/performance-eval-cap.mjs +6 -14
- package/dist/lib/esm/test-runners/stale-build-global-setup.mjs +6 -14
- package/dist/lib/esm/test-runners/vitest-config.mjs +6 -14
- package/dist/lib/esm/version.mjs +6 -14
- package/dist/lib/esm/vitest-setup.mjs +6 -14
- package/dist/templates/scripts/markdownlint-cli2-config.ts +2 -2
- package/linters/eslint-rules/no-local-obsidian-internals/package.json +6 -0
- package/linters/eslint-rules/plugin-name-as-code/package.json +6 -0
- package/linters/eslint-rules/plugin-name-as-code-in-ui/package.json +6 -0
- package/linters/eslint-rules/require-plugin-api-contract-schemas/package.json +6 -0
- package/linters/markdownlint-cli2-config/package.json +6 -0
- package/linters/markdownlint-rules/index/package.json +6 -0
- package/linters/markdownlint-rules/package.json +6 -0
- package/linters/markdownlint-rules/plugin-name-as-code/package.json +6 -0
- package/linters/plugin-names/package.json +6 -0
- package/package.json +84 -23
|
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
5
5
|
|
|
6
6
|
(function () {
|
|
7
7
|
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for(
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for(
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function ensureBrowserProcess() {
|
|
13
13
|
const browserProcess = {
|
|
14
14
|
browser: true,
|
|
15
15
|
cwd() {
|
|
16
|
-
return
|
|
16
|
+
return "/";
|
|
17
17
|
},
|
|
18
18
|
env: {},
|
|
19
|
-
platform:
|
|
19
|
+
platform: "android"
|
|
20
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
21
|
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
22
|
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
23
|
globalThis.process = browserProcess;
|
|
28
24
|
return;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
if (existingProcess.versions?.node) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
30
|
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
31
|
existingProcessRecord[key] ??= value;
|
|
39
32
|
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
33
|
+
existingProcessRecord["browser"] = true;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
function keepName($unknown) {
|
|
@@ -46,17 +38,13 @@ function keepName($unknown) {
|
|
|
46
38
|
}
|
|
47
39
|
|
|
48
40
|
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
41
|
const globalThisRecord = globalThis;
|
|
51
42
|
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord[
|
|
53
|
-
globalThisRecord[
|
|
54
|
-
|
|
43
|
+
globalThisRecord["__name"] ??= keepName;
|
|
44
|
+
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
55
45
|
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
46
|
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule &&
|
|
47
|
+
return module && module.__esModule && "default" in module ? module.default : module;
|
|
60
48
|
}
|
|
61
49
|
})();
|
|
62
50
|
})();
|
|
@@ -66,7 +54,6 @@ function keepName($unknown) {
|
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
56
|
|
|
69
|
-
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
57
|
require = Object.assign(
|
|
71
58
|
(id) => requirePatched(id),
|
|
72
59
|
originalRequire,
|
|
@@ -372,4 +359,4 @@ function watchNodeModulesAndRestart(params, buildContext) {
|
|
|
372
359
|
dev,
|
|
373
360
|
invokeEsbuild
|
|
374
361
|
});
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9vYnNpZGlhbi1wbHVnaW4tYnVpbGRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYnVpbGQgYW5kIGJ1bmRsZSBhbiBPYnNpZGlhbiBwbHVnaW4gdXNpbmcgZXNidWlsZC5cbiAqIEl0IGluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGJ1aWxkIHByb2Nlc3MgYmFzZWQgb24gZGlmZmVyZW50IGJ1aWxkIG1vZGVzIChkZXZlbG9wbWVudCBvciBwcm9kdWN0aW9uKSxcbiAqIGFuZCBpdCBzZXRzIHVwIHZhcmlvdXMgZXNidWlsZCBwbHVnaW5zIHRvIHByZXByb2Nlc3MsIGxpbnQsIGZpeCBzb3VyY2UgbWFwcywgYW5kIGNvcHkgZmlsZXMgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkLWJhc2VkIGJ1aWxkIHBpcGVsaW5lIHdpdGggc2Fzcy9zdmVsdGUgcGx1Z2lucyBhbmQgZmlsZSB3YXRjaGVyczsgcmVxdWlyZXMgYSBsaXZlIGVzYnVpbGQgY29udGV4dC4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyBhcyBFc2J1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9jdXN0b20tZXNidWlsZC1vcHRpb25zLXBsdWdpbic7XG5pbXBvcnQgeyBmaXhFc21QbHVnaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LWVzbS1wbHVnaW4nO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9zdmVsdGUtd3JhcHBlci1wbHVnaW4nO1xuaW1wb3J0IHsgQ2xpVGFza1Jlc3VsdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2NsaS11dGlscyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9ucG0nO1xuaW1wb3J0IHsgbnBtUnVuIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvbnBtLXJ1bic7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gV2UgbmVlZCBhIHRlbXAgdmFyaWFibGUgdG8gYXBwbHkgYGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCgpYCBmaXggYmVsb3cuXG5pbXBvcnQgc2Fzc1BsdWdpbl8gZnJvbSAnZXNidWlsZC1zYXNzLXBsdWdpbic7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICB3YXRjaFxufSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIGNwLFxuICBta2RpcixcbiAgcm0sXG4gIHdyaXRlRmlsZVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGJ1aWx0aW5Nb2R1bGVzIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHByb2Nlc3MsIHsgbG9hZEVudkZpbGUgfSBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4U291cmNlTWFwc1BsdWdpbiB9IGZyb20gJy4vZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyByZW5hbWVDc3NQbHVnaW4gfSBmcm9tICcuL3JlbmFtZS1jc3MtcGx1Z2luLnRzJztcblxuY29uc3Qgc2Fzc1BsdWdpbiA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChzYXNzUGx1Z2luXyk7XG5cbi8qKlxuICogRGVib3VuY2Ugd2luZG93IGZvciByZXN0YXJ0aW5nIGEgZGV2ZWxvcG1lbnQgYnVpbGQgYWZ0ZXIgYG5vZGVfbW9kdWxlc2AgY2hhbmdlcy4gQSByZWluc3RhbGwgb3IgYVxuICogZGVwZW5kZW5jeSByZWJ1aWxkIHRvdWNoZXMgbWFueSBmaWxlcyBpbiBxdWljayBzdWNjZXNzaW9uLCBzbyB3ZSB3YWl0IGZvciB0aGUgY2h1cm4gdG8gc2V0dGxlXG4gKiBiZWZvcmUgcmVzdGFydGluZyBvbmNlLlxuICovXG5jb25zdCBOT0RFX01PRFVMRVNfUkVTVEFSVF9ERUJPVU5DRV9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKlxuICBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luXG4gICAqL1xuICBEZXZlbG9wbWVudCxcbiAgLyoqXG4gIFByb2R1Y3Rpb24gbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpblxuICAgKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYnVpbGRPYnNpZGlhblBsdWdpbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz86IChvcHRpb25zOiBFc2J1aWxkT3B0aW9ucykgPT4gdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdGhlIG1vZGUgZmllbGQsIGZvciB1c2Ugd2l0aCB7QGxpbmsgYnVpbGR9IGFuZCB7QGxpbmsgZGV2fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZXMgdGhlIGBlc2J1aWxkYCBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9taXplRXNidWlsZE9wdGlvbnM/OiAob3B0aW9uczogRXNidWlsZE9wdGlvbnMpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5Db25maWdGb2xkZXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYge1xuICBPQlNJRElBTl9DT05GSUdfRk9MREVSOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gcHJvZHVjdGlvbiBtb2RlIHVzaW5nIGVzYnVpbGQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBidWlsZCBwYXJhbWV0ZXJzIChtb2RlIGlzIHNldCB0byBQcm9kdWN0aW9uIGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBidWlsZCBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbih7IC4uLm9wdGlvbnMsIG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pO1xuICByZXN1bHQudGhyb3dPbkZhaWx1cmUoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1vZGUgYW5kIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zOiBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGF3YWl0IG5wbVJ1bignYnVpbGQ6Y29tcGlsZScpO1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6ICcuZW52JyB9KTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHBhcmFtcy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBwYXJhbXMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYgfSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZm9sZGVyJ1xuICApO1xuXG4gIGlmIChleGlzdHNTeW5jKGRpc3RGb2xkZXIpKSB7XG4gICAgYXdhaXQgcm0oZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cbiAgYXdhaXQgbWtkaXIoZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEZpbGVOYW1lcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb25cbiAgXTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkhvdFJlbG9hZCksICcnLCAndXRmLTgnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZGlzdEZpbGVOYW1lcykge1xuICAgIGNvbnN0IGxvY2FsRmlsZSA9IGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBmaWxlTmFtZSB9KSwgYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGxvY2FsIGZpbGUgZm9yICR7ZmlsZU5hbWV9YCk7XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3RGb2xkZXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuICBjb25zdCBjc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogRXNidWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgLypcbiAgICAgKiBgY29uZGl0aW9uc2AsIGBtYWluRmllbGRzYCBhbmQgYHBsYXRmb3JtYCBhcmUgb25lIGRlY2lzaW9uLCByZWFkIHRvZ2V0aGVyLlxuICAgICAqXG4gICAgICogVGhlIGJ1bmRsZSBpcyBPTkUgYG1haW4uanNgIGxvYWRlZCBib3RoIGluIEVsZWN0cm9uIG9uIGRlc2t0b3AgYW5kIGluIGEgYmFyZSBXZWJWaWV3IG9uIGEgcGhvbmUsIHNvIGFcbiAgICAgKiBkZXBlbmRlbmN5IG11c3QgcmVzb2x2ZSB0byBpdHMgYnJvd3NlciBidWlsZC4gZXNidWlsZCBBRERTIGEgY29uZGl0aW9uIG9mIGl0cyBvd24gZm9yIGBwbGF0Zm9ybTogJ25vZGUnYFxuICAgICAqIChgbm9kZWApIGFuZCBmb3IgYHBsYXRmb3JtOiAnYnJvd3NlcidgIChgYnJvd3NlcmApLCBhbmQgYSBgY29uZGl0aW9uc2AgbGlzdCBjYW5ub3QgdGFrZSBvbmUgYXdheS4gV2l0aFxuICAgICAqIGBwbGF0Zm9ybTogJ25vZGUnYCB0aGUgZWZmZWN0aXZlIHNldCB3YXMgYHsgYnJvd3Nlciwgbm9kZSwgaW1wb3J0L3JlcXVpcmUsIGRlZmF1bHQgfWAsIHNvIGEgcGFja2FnZSB3aG9zZVxuICAgICAqIGBleHBvcnRzYCBtYXAgbGlzdHMgYG5vZGVgIGJlZm9yZSBgYnJvd3NlcmAgc2hpcHBlZCBpdHMgTm9kZSBidWlsZCB0byBwaG9uZXMgXHUyMDE0IGBmZmxhdGVgJ3MgYGVzbS9pbmRleC5tanNgXG4gICAgICogb3BlbnMgd2l0aCBgY3JlYXRlUmVxdWlyZWAgZnJvbSBgbW9kdWxlYCwgd2hpY2ggdGhyZXcgYXQgbG9hZCBvbiBtb2JpbGUuXG4gICAgICpcbiAgICAgKiBgcGxhdGZvcm06ICduZXV0cmFsJ2AgYWRkcyBubyBwbGF0Zm9ybSBjb25kaXRpb24sIGxlYXZpbmcgZXhhY3RseSBgYnJvd3NlcmAgZnJvbSB0aGUgbGlzdCBiZWxvdy4gSXQgaXNcbiAgICAgKiBjaG9zZW4gb3ZlciBgcGxhdGZvcm06ICdicm93c2VyJ2AgYmVjYXVzZSB0aGF0IG9uZSBhbHNvIGNoYW5nZXMgd2hhdCB0aGlzIGJ1bmRsZSBoYXMgYWx3YXlzIHJlbGllZCBvbjpcbiAgICAgKiBpdCBkZWZpbmVzIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgYW5kIGFwcGxpZXMgYSBwYWNrYWdlJ3MgYGJyb3dzZXJgIGZpZWxkIHJlbWFwcGluZyAod2hpY2ggY2FuIHN0dWIgYVxuICAgICAqIE5vZGUgYnVpbHRpbiB0byBhbiBlbXB0eSBvYmplY3QsIGJyZWFraW5nIGEgZGVwZW5kZW5jeSdzIGRlc2t0b3Atb25seSBwYXRoKS4gYG1haW5GaWVsZHNgIHJlc3RhdGVzIHRoZVxuICAgICAqIGBub2RlYCBwbGF0Zm9ybSdzIGRlZmF1bHQsIGJlY2F1c2UgYG5ldXRyYWxgIGhhcyBub25lIG9mIGl0cyBvd24uIE5vZGUgYnVpbHRpbnMgYXJlIG1hcmtlZCBleHRlcm5hbCBieSBuYW1lXG4gICAgICogYmVsb3cgXHUyMDE0IGBub2RlOipgIGluY2x1ZGVkLCBzaW5jZSBvbmx5IGBwbGF0Zm9ybTogJ25vZGUnYCBtYXJrcyB0aGF0IHByZWZpeCBleHRlcm5hbCBieSBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBNZWFzdXJlZCBvdmVyIDMxIHBsdWdpbnMgYnVpbHQgb24gdGhpcyBsaWJyYXJ5LCAyMDI2LTA5LTIzLCBhZ2FpbnN0IGBwbGF0Zm9ybTogJ25vZGUnYDogdGhlIG9ubHkgbW9kdWxlc1xuICAgICAqIHRoYXQgY2hhbmdlIGFyZSBgdmZpbGVgLCBgdW5pc3QtdXRpbC12aXNpdC1wYXJlbnRzYCBhbmQgYHlhbWxgIChlYWNoIG5vdyB0YWtlcyBpdHMgYnJvd3NlciBidWlsZCBpbnN0ZWFkXG4gICAgICogb2Ygb25lIGltcG9ydGluZyBgbm9kZTpwcm9jZXNzYCAvIGBub2RlOnBhdGhgIC8gYG5vZGU6dXJsYCkgYW5kIGBlc20tZW52YCdzIE5vZGUgZmxhZywgd2hpY2ggbm93IHJlYWRzXG4gICAgICogZmFsc2UuIEV2ZXJ5dGhpbmcgZWxzZSBpbiBldmVyeSBidW5kbGUgaXMgaWRlbnRpY2FsIHVwIHRvIGlkZW50aWZpZXIgcmVuYW1pbmcuXG4gICAgICovXG4gICAgY29uZGl0aW9uczogWydicm93c2VyJ10sXG4gICAgZW50cnlQb2ludHM6IFtcbiAgICAgIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgICAgICByZXNvbHZlUGF0aEZyb21Sb290KHsgcGF0aDogam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5UcykgfSksXG4gICAgICAgICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIHBsdWdpbidcbiAgICAgIClcbiAgICBdLFxuICAgIGV4dGVybmFsOiBbXG4gICAgICAnb2JzaWRpYW4nLFxuICAgICAgJ2VsZWN0cm9uJyxcbiAgICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAgICdAbGV6ZXIvaGlnaGxpZ2h0JyxcbiAgICAgICdAbGV6ZXIvbHInLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2VzbGludCcsXG4gICAgICAuLi5idWlsdGluTW9kdWxlcyxcbiAgICAgICdub2RlOionXG4gICAgXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1haW5GaWVsZHM6IFsnbWFpbicsICdtb2R1bGUnXSxcbiAgICBtaW5pZnk6IGlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIG91dGZpbGU6IGRpc3RQYXRoLFxuICAgIHBsYXRmb3JtOiAnbmV1dHJhbCcsXG4gICAgcGx1Z2luczogW1xuICAgICAgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4ocGFyYW1zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKHBhcmFtcykpLFxuICAgICAgc3ZlbHRlV3JhcHBlclBsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCksXG4gICAgICBzYXNzUGx1Z2luKHtcbiAgICAgICAgc291cmNlTWFwOiAhaXNQcm9kdWN0aW9uQnVpbGRcbiAgICAgIH0pLFxuICAgICAgcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXIpLFxuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZml4RXNtUGx1Z2luKCksXG4gICAgICBmaXhTb3VyY2VNYXBzUGx1Z2luKHsgZGlzdFBhdGhzOiBbZGlzdFBhdGgsIGNzc1BhdGhdLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcGx1Z2luTmFtZSB9KSxcbiAgICAgIC4uLnBhcmFtcy5jdXN0b21Fc2J1aWxkUGx1Z2lucyA/PyBbXSxcbiAgICAgIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbih7IGRpc3RGb2xkZXIsIGlzUHJvZHVjdGlvbkJ1aWxkLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSB9KVxuICAgIF0sXG4gICAgc291cmNlbWFwOiAhaXNQcm9kdWN0aW9uQnVpbGQgJiYgJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVMyMDIyJyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW52b2tlRXNidWlsZChidWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkKTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtcywgYnVpbGRDb250ZXh0KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgT2JzaWRpYW4gcGx1Z2luIGluIGRldmVsb3BtZW50IG1vZGUgdXNpbmcgZXNidWlsZCB3aXRoIHdhdGNoLlxuICpcbiAqIEluIGFkZGl0aW9uIHRvIGVzYnVpbGQncyBvd24gc291cmNlLWdyYXBoIHdhdGNoLCB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYWxzbyB3YXRjaGVzIHRoZSBwbHVnaW4nc1xuICogYG5vZGVfbW9kdWxlc2AgZm9sZGVyIGFuZCByZXN0YXJ0cyB0aGUgd2hvbGUgYnVpbGQgKGluY2x1ZGluZyB0aGUgdHlwZS1jaGVjaykgd2hlbiBpdCBjaGFuZ2VzLCBzbyBhXG4gKiBkZXBlbmRlbmN5IHJlaW5zdGFsbCBvciByZWJ1aWxkIGlzIHBpY2tlZCB1cC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIERldmVsb3BtZW50IGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBidWlsZCByZXN1bHQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbnRlbnRpb25hbGx5IHNoYXJlcyBCdWlsZE9wdGlvbnMgd2l0aCBidWlsZCgpLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRldihvcHRpb25zPzogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHJldHVybiBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ub3B0aW9ucywgbW9kZTogQnVpbGRNb2RlLkRldmVsb3BtZW50IH0pO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2Vzcyhpc1N1Y2Nlc3MpO1xuICB9XG4gIGF3YWl0IGJ1aWxkQ29udGV4dC53YXRjaCgpO1xuICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbn1cblxuLyoqXG4gKiBXYXRjaGVzIHRoZSBwbHVnaW4ncyBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgYW5kIHJlc3RhcnRzIHRoZSBkZXZlbG9wbWVudCBidWlsZCB3aGVuIGl0IGNoYW5nZXMuXG4gKlxuICogVGhlIGVzYnVpbGQgd2F0Y2hlciBvbmx5IHRyYWNrcyBmaWxlcyBpbiBpdHMgYnVpbGQgZ3JhcGggYW5kIG9ubHkgZXZlciByZS1idW5kbGVzIFx1MjAxNCBpdCBuZXZlclxuICogcmUtcnVucyB0aGUgYGJ1aWxkOmNvbXBpbGVgIHR5cGUtY2hlY2ssIGFuZCBpdCBpZ25vcmVzIGBub2RlX21vZHVsZXNgIGNoYW5nZXMgb3V0c2lkZSB0aGUgZ3JhcGhcbiAqIChhIHJlaW5zdGFsbCwgb3IgYSBkZXBlbmRlbmN5IGZpbGUgbm90IGN1cnJlbnRseSBpbXBvcnRlZCkuIE9uIGFueSAoZGVib3VuY2VkKSBjaGFuZ2UgYW55d2hlcmUgaW5cbiAqIHRoZSBgbm9kZV9tb2R1bGVzYCB0cmVlLCB0aGUgY3VycmVudCBidWlsZCBjb250ZXh0IGlzIGRpc3Bvc2VkIGFuZCB0aGUgd2hvbGUgZGV2ZWxvcG1lbnQgYnVpbGQgaXNcbiAqIHJlc3RhcnRlZCwgcmUtcnVubmluZyB0aGUgZnVsbCBwaXBlbGluZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdGhlIGJ1aWxkIHdhcyBzdGFydGVkIHdpdGgsIHVzZWQgdG8gcmVzdGFydCBpdC5cbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgZXNidWlsZCBjb250ZXh0IHRvIGRpc3Bvc2UgYmVmb3JlIHJlc3RhcnRpbmcuXG4gKi9cbmZ1bmN0aW9uIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtczogQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcywgYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQpOiB2b2lkIHtcbiAgY29uc3Qgbm9kZU1vZHVsZXNQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk5vZGVNb2R1bGVzIH0pO1xuICBpZiAoIW5vZGVNb2R1bGVzUGF0aCB8fCAhZXhpc3RzU3luYyhub2RlTW9kdWxlc1BhdGgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgd2F0Y2hlciA9IHdhdGNoKG5vZGVNb2R1bGVzUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSwgKCkgPT4ge1xuICAgIGlmIChyZXN0YXJ0VGltZW91dCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLXdpbmRvdy10aW1lcnMgLS0gTm9kZSBidWlsZC10b29sIGNvbnRleHQ7IGB3aW5kb3dgIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgICBjbGVhclRpbWVvdXQocmVzdGFydFRpbWVvdXQpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItd2luZG93LXRpbWVycyAtLSBOb2RlIGJ1aWxkLXRvb2wgY29udGV4dDsgYHdpbmRvd2AgaXMgbm90IGF2YWlsYWJsZS5cbiAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaW52b2tlQXN5bmNTYWZlbHkocmVzdGFydCk7XG4gICAgfSwgTk9ERV9NT0RVTEVTX1JFU1RBUlRfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTKTtcbiAgfSk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcmVzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLndhcm4oJ0RldGVjdGVkIGNoYW5nZXMgaW4gbm9kZV9tb2R1bGVzLiBSZXN0YXJ0aW5nIHRoZSBidWlsZC4uLicpO1xuICAgIHdhdGNoZXIuY2xvc2UoKTtcbiAgICBhd2FpdCBidWlsZENvbnRleHQuZGlzcG9zZSgpO1xuICAgIGF3YWl0IGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zKTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLDJDQUEyQztBQUMzQyw0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
|
|
362
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9vYnNpZGlhbi1wbHVnaW4tYnVpbGRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkgdG8gYnVpbGQgYW5kIGJ1bmRsZSBhbiBPYnNpZGlhbiBwbHVnaW4gdXNpbmcgZXNidWlsZC5cbiAqIEl0IGluY2x1ZGVzIGZ1bmN0aW9ucyB0byBoYW5kbGUgdGhlIGJ1aWxkIHByb2Nlc3MgYmFzZWQgb24gZGlmZmVyZW50IGJ1aWxkIG1vZGVzIChkZXZlbG9wbWVudCBvciBwcm9kdWN0aW9uKSxcbiAqIGFuZCBpdCBzZXRzIHVwIHZhcmlvdXMgZXNidWlsZCBwbHVnaW5zIHRvIHByZXByb2Nlc3MsIGxpbnQsIGZpeCBzb3VyY2UgbWFwcywgYW5kIGNvcHkgZmlsZXMgdG8gdGhlIE9ic2lkaWFuIHBsdWdpbnMgZm9sZGVyLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBlc2J1aWxkLWJhc2VkIGJ1aWxkIHBpcGVsaW5lIHdpdGggc2Fzcy9zdmVsdGUgcGx1Z2lucyBhbmQgZmlsZSB3YXRjaGVyczsgcmVxdWlyZXMgYSBsaXZlIGVzYnVpbGQgY29udGV4dC4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBCdWlsZENvbnRleHQsXG4gIEJ1aWxkT3B0aW9ucyBhcyBFc2J1aWxkT3B0aW9ucyxcbiAgUGx1Z2luXG59IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBjdXN0b21Fc2J1aWxkT3B0aW9uc1BsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9jdXN0b20tZXNidWlsZC1vcHRpb25zLXBsdWdpbic7XG5pbXBvcnQgeyBmaXhFc21QbHVnaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9idW5kbGVycy9lc2J1aWxkLWltcGwvZml4LWVzbS1wbHVnaW4nO1xuaW1wb3J0IHsgc3ZlbHRlV3JhcHBlclBsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9zdmVsdGUtd3JhcHBlci1wbHVnaW4nO1xuaW1wb3J0IHsgQ2xpVGFza1Jlc3VsdCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2NsaS11dGlscyc7XG5pbXBvcnQgeyByZWFkUGFja2FnZUpzb24gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1kZXYtdG9vbGtpdC9ucG0nO1xuaW1wb3J0IHsgbnBtUnVuIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvbnBtLXJ1bic7XG5pbXBvcnQgeyByZXNvbHZlUGF0aEZyb21Sb290IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvcm9vdCc7XG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQgeyBleHRyYWN0RGVmYXVsdEV4cG9ydEludGVyb3AgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvb2JqZWN0LXV0aWxzJztcbmltcG9ydCB7IGpvaW4gfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvcGF0aCc7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgeyBjb250ZXh0IH0gZnJvbSAnZXNidWlsZCc7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tcmVuYW1lLWRlZmF1bHQgLS0gV2UgbmVlZCBhIHRlbXAgdmFyaWFibGUgdG8gYXBwbHkgYGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcCgpYCBmaXggYmVsb3cuXG5pbXBvcnQgc2Fzc1BsdWdpbl8gZnJvbSAnZXNidWlsZC1zYXNzLXBsdWdpbic7XG5pbXBvcnQge1xuICBleGlzdHNTeW5jLFxuICB3YXRjaFxufSBmcm9tICdub2RlOmZzJztcbmltcG9ydCB7XG4gIGNwLFxuICBta2RpcixcbiAgcm0sXG4gIHdyaXRlRmlsZVxufSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGJ1aWx0aW5Nb2R1bGVzIH0gZnJvbSAnbm9kZTptb2R1bGUnO1xuaW1wb3J0IHByb2Nlc3MsIHsgbG9hZEVudkZpbGUgfSBmcm9tICdub2RlOnByb2Nlc3MnO1xuXG5pbXBvcnQgeyBPYnNpZGlhblBsdWdpblJlcG9QYXRocyB9IGZyb20gJy4uLy4uL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7IGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbiB9IGZyb20gJy4vY29weS10by1vYnNpZGlhbi1wbHVnaW5zLWZvbGRlci1wbHVnaW4udHMnO1xuaW1wb3J0IHsgZml4U291cmNlTWFwc1BsdWdpbiB9IGZyb20gJy4vZml4LXNvdXJjZS1tYXBzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnLi9wcmVwcm9jZXNzLXBsdWdpbi50cyc7XG5pbXBvcnQgeyByZW5hbWVDc3NQbHVnaW4gfSBmcm9tICcuL3JlbmFtZS1jc3MtcGx1Z2luLnRzJztcblxuY29uc3Qgc2Fzc1BsdWdpbiA9IGV4dHJhY3REZWZhdWx0RXhwb3J0SW50ZXJvcChzYXNzUGx1Z2luXyk7XG5cbi8qKlxuICogRGVib3VuY2Ugd2luZG93IGZvciByZXN0YXJ0aW5nIGEgZGV2ZWxvcG1lbnQgYnVpbGQgYWZ0ZXIgYG5vZGVfbW9kdWxlc2AgY2hhbmdlcy4gQSByZWluc3RhbGwgb3IgYVxuICogZGVwZW5kZW5jeSByZWJ1aWxkIHRvdWNoZXMgbWFueSBmaWxlcyBpbiBxdWljayBzdWNjZXNzaW9uLCBzbyB3ZSB3YWl0IGZvciB0aGUgY2h1cm4gdG8gc2V0dGxlXG4gKiBiZWZvcmUgcmVzdGFydGluZyBvbmNlLlxuICovXG5jb25zdCBOT0RFX01PRFVMRVNfUkVTVEFSVF9ERUJPVU5DRV9JTl9NSUxMSVNFQ09ORFMgPSAxMDAwO1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIHJlcHJlc2VudGluZyB0aGUgYnVpbGQgbW9kZXMuXG4gKi9cbmV4cG9ydCBlbnVtIEJ1aWxkTW9kZSB7XG4gIC8qKlxuICBEZXZlbG9wbWVudCBtb2RlIGZvciBidWlsZGluZyB0aGUgcGx1Z2luXG4gICAqL1xuICBEZXZlbG9wbWVudCxcbiAgLyoqXG4gIFByb2R1Y3Rpb24gbW9kZSBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpblxuICAgKi9cbiAgUHJvZHVjdGlvblxufVxuXG4vKipcbiAqIEJhbm5lciB0ZXh0IHRvIGJlIGluY2x1ZGVkIGF0IHRoZSB0b3Agb2YgdGhlIGdlbmVyYXRlZCBmaWxlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IGJhbm5lciA9IGAvKlxuVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgRVNCVUlMRFxuaWYgeW91IHdhbnQgdG8gdmlldyB0aGUgc291cmNlLCBwbGVhc2UgdmlzaXQgdGhlIGdpdGh1YiByZXBvc2l0b3J5IG9mIHRoaXMgcGx1Z2luXG4qL1xuYDtcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgYnVpbGRPYnNpZGlhblBsdWdpbn0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcyB7XG4gIC8qKlxuICAgKiBDdXN0b20gZXNidWlsZCBwbHVnaW5zIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBidWlsZCBwcm9jZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXNidWlsZFBsdWdpbnM/OiBQbHVnaW5bXTtcblxuICAvKipcbiAgICogQ3VzdG9taXplcyB0aGUgYGVzYnVpbGRgIG9wdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21pemVFc2J1aWxkT3B0aW9ucz86IChvcHRpb25zOiBFc2J1aWxkT3B0aW9ucykgPT4gdm9pZDtcblxuICAvKipcbiAgICogQSBidWlsZCBtb2RlLCBlaXRoZXIgYERldmVsb3BtZW50YCBvciBgUHJvZHVjdGlvbmBcbiAgICovXG4gIHJlYWRvbmx5IG1vZGU6IEJ1aWxkTW9kZTtcblxuICAvKipcbiAgICogQSBmb2xkZXIgZm9yIE9ic2lkaWFuIGNvbmZpZ3VyYXRpb24uIERlZmF1bHRzIHRvIHRoZSBgT0JTSURJQU5fQ09ORklHX0ZPTERFUmAgZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqL1xuICByZWFkb25seSBvYnNpZGlhbkNvbmZpZ0ZvbGRlcj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBCdWlsZCBwYXJhbWV0ZXJzIHdpdGhvdXQgdGhlIG1vZGUgZmllbGQsIGZvciB1c2Ugd2l0aCB7QGxpbmsgYnVpbGR9IGFuZCB7QGxpbmsgZGV2fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMge1xuICAvKipcbiAgICogQ3VzdG9tIGVzYnVpbGQgcGx1Z2lucyB0byBiZSB1c2VkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbUVzYnVpbGRQbHVnaW5zPzogUGx1Z2luW107XG5cbiAgLyoqXG4gICAqIEN1c3RvbWl6ZXMgdGhlIGBlc2J1aWxkYCBvcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9taXplRXNidWlsZE9wdGlvbnM/OiAob3B0aW9uczogRXNidWlsZE9wdGlvbnMpID0+IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEEgZm9sZGVyIGZvciBPYnNpZGlhbiBjb25maWd1cmF0aW9uLiBEZWZhdWx0cyB0byB0aGUgYE9CU0lESUFOX0NPTkZJR19GT0xERVJgIGVudmlyb25tZW50IHZhcmlhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb2JzaWRpYW5Db25maWdGb2xkZXI/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBPYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYge1xuICBPQlNJRElBTl9DT05GSUdfRk9MREVSOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIHRoZSBPYnNpZGlhbiBwbHVnaW4gaW4gcHJvZHVjdGlvbiBtb2RlIHVzaW5nIGVzYnVpbGQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBPcHRpb25hbCBidWlsZCBwYXJhbWV0ZXJzIChtb2RlIGlzIHNldCB0byBQcm9kdWN0aW9uIGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBidWlsZCBpcyBjb21wbGV0ZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM/OiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGRPYnNpZGlhblBsdWdpbih7IC4uLm9wdGlvbnMsIG1vZGU6IEJ1aWxkTW9kZS5Qcm9kdWN0aW9uIH0pO1xuICByZXN1bHQudGhyb3dPbkZhaWx1cmUoKTtcbn1cblxuLyoqXG4gKiBCdWlsZHMgdGhlIE9ic2lkaWFuIHBsdWdpbiBiYXNlZCBvbiB0aGUgc3BlY2lmaWVkIG1vZGUgYW5kIGNvbmZpZ3VyYXRpb24gZm9sZGVyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgYnVpbGRpbmcgdGhlIHBsdWdpbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gYSB7QGxpbmsgQ2xpVGFza1Jlc3VsdH0gaW5kaWNhdGluZyB0aGUgc3VjY2VzcyBvciBmYWlsdXJlIG9mIHRoZSBidWlsZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zOiBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIGF3YWl0IG5wbVJ1bignYnVpbGQ6Y29tcGlsZScpO1xuICBjb25zdCBlbnZQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6ICcuZW52JyB9KTtcbiAgaWYgKGVudlBhdGggJiYgZXhpc3RzU3luYyhlbnZQYXRoKSkge1xuICAgIGxvYWRFbnZGaWxlKGVudlBhdGgpO1xuICB9XG4gIGNvbnN0IG9ic2lkaWFuUGx1Z2luQnVpbGRlckVudiA9IHByb2Nlc3MuZW52IGFzIFBhcnRpYWw8T2JzaWRpYW5QbHVnaW5CdWlsZGVyRW52PjtcblxuICBjb25zdCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciA9IHBhcmFtcy5vYnNpZGlhbkNvbmZpZ0ZvbGRlciA/PyBvYnNpZGlhblBsdWdpbkJ1aWxkZXJFbnYuT0JTSURJQU5fQ09ORklHX0ZPTERFUiA/PyAnJztcbiAgY29uc3QgaXNQcm9kdWN0aW9uQnVpbGQgPSBwYXJhbXMubW9kZSA9PT0gQnVpbGRNb2RlLlByb2R1Y3Rpb247XG5cbiAgY29uc3QgZGlzdEZvbGRlciA9IGVuc3VyZU5vbk51bGxhYmxlKFxuICAgIHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBpc1Byb2R1Y3Rpb25CdWlsZCA/IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3RCdWlsZCA6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkRpc3REZXYgfSksXG4gICAgJ0NvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGRpc3QgZm9sZGVyJ1xuICApO1xuXG4gIGlmIChleGlzdHNTeW5jKGRpc3RGb2xkZXIpKSB7XG4gICAgYXdhaXQgcm0oZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cbiAgYXdhaXQgbWtkaXIoZGlzdEZvbGRlciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG5cbiAgY29uc3QgZGlzdEZpbGVOYW1lcyA9IFtcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYW5pZmVzdEpzb25cbiAgXTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIGF3YWl0IHdyaXRlRmlsZShqb2luKGRpc3RGb2xkZXIsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkhvdFJlbG9hZCksICcnLCAndXRmLTgnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgZmlsZU5hbWUgb2YgZGlzdEZpbGVOYW1lcykge1xuICAgIGNvbnN0IGxvY2FsRmlsZSA9IGVuc3VyZU5vbk51bGxhYmxlKHJlc29sdmVQYXRoRnJvbVJvb3QoeyBwYXRoOiBmaWxlTmFtZSB9KSwgYENvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGxvY2FsIGZpbGUgZm9yICR7ZmlsZU5hbWV9YCk7XG4gICAgY29uc3QgZGlzdEZpbGUgPSBqb2luKGRpc3RGb2xkZXIsIGZpbGVOYW1lKTtcblxuICAgIGlmIChleGlzdHNTeW5jKGxvY2FsRmlsZSkpIHtcbiAgICAgIGF3YWl0IGNwKGxvY2FsRmlsZSwgZGlzdEZpbGUpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRpc3RQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluSnMpO1xuICBjb25zdCBjc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TdHlsZXNDc3MpO1xuXG4gIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZFBhY2thZ2VKc29uKCk7XG4gIGNvbnN0IHBsdWdpbk5hbWUgPSBwYWNrYWdlSnNvbi5uYW1lID8/ICcodW5rbm93biknO1xuXG4gIGNvbnN0IGJ1aWxkT3B0aW9uczogRXNidWlsZE9wdGlvbnMgPSB7XG4gICAgYmFubmVyOiB7XG4gICAgICBqczogYmFubmVyXG4gICAgfSxcbiAgICBidW5kbGU6IHRydWUsXG4gICAgLypcbiAgICAgKiBgY29uZGl0aW9uc2AsIGBtYWluRmllbGRzYCBhbmQgYHBsYXRmb3JtYCBhcmUgb25lIGRlY2lzaW9uLCByZWFkIHRvZ2V0aGVyLlxuICAgICAqXG4gICAgICogVGhlIGJ1bmRsZSBpcyBPTkUgYG1haW4uanNgIGxvYWRlZCBib3RoIGluIEVsZWN0cm9uIG9uIGRlc2t0b3AgYW5kIGluIGEgYmFyZSBXZWJWaWV3IG9uIGEgcGhvbmUsIHNvIGFcbiAgICAgKiBkZXBlbmRlbmN5IG11c3QgcmVzb2x2ZSB0byBpdHMgYnJvd3NlciBidWlsZC4gZXNidWlsZCBBRERTIGEgY29uZGl0aW9uIG9mIGl0cyBvd24gZm9yIGBwbGF0Zm9ybTogJ25vZGUnYFxuICAgICAqIChgbm9kZWApIGFuZCBmb3IgYHBsYXRmb3JtOiAnYnJvd3NlcidgIChgYnJvd3NlcmApLCBhbmQgYSBgY29uZGl0aW9uc2AgbGlzdCBjYW5ub3QgdGFrZSBvbmUgYXdheS4gV2l0aFxuICAgICAqIGBwbGF0Zm9ybTogJ25vZGUnYCB0aGUgZWZmZWN0aXZlIHNldCB3YXMgYHsgYnJvd3Nlciwgbm9kZSwgaW1wb3J0L3JlcXVpcmUsIGRlZmF1bHQgfWAsIHNvIGEgcGFja2FnZSB3aG9zZVxuICAgICAqIGBleHBvcnRzYCBtYXAgbGlzdHMgYG5vZGVgIGJlZm9yZSBgYnJvd3NlcmAgc2hpcHBlZCBpdHMgTm9kZSBidWlsZCB0byBwaG9uZXMgXHUyMDE0IGBmZmxhdGVgJ3MgYGVzbS9pbmRleC5tanNgXG4gICAgICogb3BlbnMgd2l0aCBgY3JlYXRlUmVxdWlyZWAgZnJvbSBgbW9kdWxlYCwgd2hpY2ggdGhyZXcgYXQgbG9hZCBvbiBtb2JpbGUuXG4gICAgICpcbiAgICAgKiBgcGxhdGZvcm06ICduZXV0cmFsJ2AgYWRkcyBubyBwbGF0Zm9ybSBjb25kaXRpb24sIGxlYXZpbmcgZXhhY3RseSBgYnJvd3NlcmAgZnJvbSB0aGUgbGlzdCBiZWxvdy4gSXQgaXNcbiAgICAgKiBjaG9zZW4gb3ZlciBgcGxhdGZvcm06ICdicm93c2VyJ2AgYmVjYXVzZSB0aGF0IG9uZSBhbHNvIGNoYW5nZXMgd2hhdCB0aGlzIGJ1bmRsZSBoYXMgYWx3YXlzIHJlbGllZCBvbjpcbiAgICAgKiBpdCBkZWZpbmVzIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgYW5kIGFwcGxpZXMgYSBwYWNrYWdlJ3MgYGJyb3dzZXJgIGZpZWxkIHJlbWFwcGluZyAod2hpY2ggY2FuIHN0dWIgYVxuICAgICAqIE5vZGUgYnVpbHRpbiB0byBhbiBlbXB0eSBvYmplY3QsIGJyZWFraW5nIGEgZGVwZW5kZW5jeSdzIGRlc2t0b3Atb25seSBwYXRoKS4gYG1haW5GaWVsZHNgIHJlc3RhdGVzIHRoZVxuICAgICAqIGBub2RlYCBwbGF0Zm9ybSdzIGRlZmF1bHQsIGJlY2F1c2UgYG5ldXRyYWxgIGhhcyBub25lIG9mIGl0cyBvd24uIE5vZGUgYnVpbHRpbnMgYXJlIG1hcmtlZCBleHRlcm5hbCBieSBuYW1lXG4gICAgICogYmVsb3cgXHUyMDE0IGBub2RlOipgIGluY2x1ZGVkLCBzaW5jZSBvbmx5IGBwbGF0Zm9ybTogJ25vZGUnYCBtYXJrcyB0aGF0IHByZWZpeCBleHRlcm5hbCBieSBpdHNlbGYuXG4gICAgICpcbiAgICAgKiBNZWFzdXJlZCBvdmVyIDMxIHBsdWdpbnMgYnVpbHQgb24gdGhpcyBsaWJyYXJ5LCAyMDI2LTA5LTIzLCBhZ2FpbnN0IGBwbGF0Zm9ybTogJ25vZGUnYDogdGhlIG9ubHkgbW9kdWxlc1xuICAgICAqIHRoYXQgY2hhbmdlIGFyZSBgdmZpbGVgLCBgdW5pc3QtdXRpbC12aXNpdC1wYXJlbnRzYCBhbmQgYHlhbWxgIChlYWNoIG5vdyB0YWtlcyBpdHMgYnJvd3NlciBidWlsZCBpbnN0ZWFkXG4gICAgICogb2Ygb25lIGltcG9ydGluZyBgbm9kZTpwcm9jZXNzYCAvIGBub2RlOnBhdGhgIC8gYG5vZGU6dXJsYCkgYW5kIGBlc20tZW52YCdzIE5vZGUgZmxhZywgd2hpY2ggbm93IHJlYWRzXG4gICAgICogZmFsc2UuIEV2ZXJ5dGhpbmcgZWxzZSBpbiBldmVyeSBidW5kbGUgaXMgaWRlbnRpY2FsIHVwIHRvIGlkZW50aWZpZXIgcmVuYW1pbmcuXG4gICAgICovXG4gICAgY29uZGl0aW9uczogWydicm93c2VyJ10sXG4gICAgZW50cnlQb2ludHM6IFtcbiAgICAgIGVuc3VyZU5vbk51bGxhYmxlKFxuICAgICAgICByZXNvbHZlUGF0aEZyb21Sb290KHsgcGF0aDogam9pbihPYnNpZGlhblBsdWdpblJlcG9QYXRocy5TcmMsIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk1haW5UcykgfSksXG4gICAgICAgICdDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBlbnRyeSBwb2ludCBmb3IgdGhlIHBsdWdpbidcbiAgICAgIClcbiAgICBdLFxuICAgIGV4dGVybmFsOiBbXG4gICAgICAnb2JzaWRpYW4nLFxuICAgICAgJ2VsZWN0cm9uJyxcbiAgICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2NvbGxhYicsXG4gICAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAgICdAY29kZW1pcnJvci9saW50JyxcbiAgICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAgICdAbGV6ZXIvaGlnaGxpZ2h0JyxcbiAgICAgICdAbGV6ZXIvbHInLFxuICAgICAgJ2VzYnVpbGQnLFxuICAgICAgJ2VzbGludCcsXG4gICAgICAuLi5idWlsdGluTW9kdWxlcyxcbiAgICAgICdub2RlOionXG4gICAgXSxcbiAgICBmb3JtYXQ6ICdjanMnLFxuICAgIGtlZXBOYW1lczogdHJ1ZSxcbiAgICBsb2dMZXZlbDogJ2luZm8nLFxuICAgIG1haW5GaWVsZHM6IFsnbWFpbicsICdtb2R1bGUnXSxcbiAgICBtaW5pZnk6IGlzUHJvZHVjdGlvbkJ1aWxkLFxuICAgIG91dGZpbGU6IGRpc3RQYXRoLFxuICAgIHBsYXRmb3JtOiAnbmV1dHJhbCcsXG4gICAgcGx1Z2luczogW1xuICAgICAgY3VzdG9tRXNidWlsZE9wdGlvbnNQbHVnaW4ocGFyYW1zLmN1c3RvbWl6ZUVzYnVpbGRPcHRpb25zPy5iaW5kKHBhcmFtcykpLFxuICAgICAgc3ZlbHRlV3JhcHBlclBsdWdpbihpc1Byb2R1Y3Rpb25CdWlsZCksXG4gICAgICBzYXNzUGx1Z2luKHtcbiAgICAgICAgc291cmNlTWFwOiAhaXNQcm9kdWN0aW9uQnVpbGRcbiAgICAgIH0pLFxuICAgICAgcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXIpLFxuICAgICAgcHJlcHJvY2Vzc1BsdWdpbigpLFxuICAgICAgZml4RXNtUGx1Z2luKCksXG4gICAgICBmaXhTb3VyY2VNYXBzUGx1Z2luKHsgZGlzdFBhdGhzOiBbZGlzdFBhdGgsIGNzc1BhdGhdLCBpc1Byb2R1Y3Rpb25CdWlsZCwgcGx1Z2luTmFtZSB9KSxcbiAgICAgIC4uLnBhcmFtcy5jdXN0b21Fc2J1aWxkUGx1Z2lucyA/PyBbXSxcbiAgICAgIGNvcHlUb09ic2lkaWFuUGx1Z2luc0ZvbGRlclBsdWdpbih7IGRpc3RGb2xkZXIsIGlzUHJvZHVjdGlvbkJ1aWxkLCBvYnNpZGlhbkNvbmZpZ0ZvbGRlciwgcGx1Z2luTmFtZSB9KVxuICAgIF0sXG4gICAgc291cmNlbWFwOiAhaXNQcm9kdWN0aW9uQnVpbGQgJiYgJ2lubGluZScsXG4gICAgdGFyZ2V0OiAnRVMyMDIyJyxcbiAgICB0cmVlU2hha2luZzogdHJ1ZVxuICB9O1xuXG4gIGNvbnN0IGJ1aWxkQ29udGV4dCA9IGF3YWl0IGNvbnRleHQoYnVpbGRPcHRpb25zKTtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgaW52b2tlRXNidWlsZChidWlsZENvbnRleHQsIGlzUHJvZHVjdGlvbkJ1aWxkKTtcbiAgaWYgKCFpc1Byb2R1Y3Rpb25CdWlsZCkge1xuICAgIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtcywgYnVpbGRDb250ZXh0KTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0aGUgT2JzaWRpYW4gcGx1Z2luIGluIGRldmVsb3BtZW50IG1vZGUgdXNpbmcgZXNidWlsZCB3aXRoIHdhdGNoLlxuICpcbiAqIEluIGFkZGl0aW9uIHRvIGVzYnVpbGQncyBvd24gc291cmNlLWdyYXBoIHdhdGNoLCB0aGUgZGV2ZWxvcG1lbnQgYnVpbGQgYWxzbyB3YXRjaGVzIHRoZSBwbHVnaW4nc1xuICogYG5vZGVfbW9kdWxlc2AgZm9sZGVyIGFuZCByZXN0YXJ0cyB0aGUgd2hvbGUgYnVpbGQgKGluY2x1ZGluZyB0aGUgdHlwZS1jaGVjaykgd2hlbiBpdCBjaGFuZ2VzLCBzbyBhXG4gKiBkZXBlbmRlbmN5IHJlaW5zdGFsbCBvciByZWJ1aWxkIGlzIHBpY2tlZCB1cC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGJ1aWxkIHBhcmFtZXRlcnMgKG1vZGUgaXMgc2V0IHRvIERldmVsb3BtZW50IGF1dG9tYXRpY2FsbHkpLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIHtAbGluayBDbGlUYXNrUmVzdWx0fSBpbmRpY2F0aW5nIHRoZSBidWlsZCByZXN1bHQuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbnRlbnRpb25hbGx5IHNoYXJlcyBCdWlsZE9wdGlvbnMgd2l0aCBidWlsZCgpLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGRldihvcHRpb25zPzogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxDbGlUYXNrUmVzdWx0PiB7XG4gIHJldHVybiBhd2FpdCBidWlsZE9ic2lkaWFuUGx1Z2luKHsgLi4ub3B0aW9ucywgbW9kZTogQnVpbGRNb2RlLkRldmVsb3BtZW50IH0pO1xufVxuXG4vKipcbiAqIEludm9rZXMgdGhlIGJ1aWxkIHByb2Nlc3Mgd2l0aCB0aGUgcHJvdmlkZWQgYnVpbGQgY29udGV4dC5cbiAqXG4gKiBAcGFyYW0gYnVpbGRDb250ZXh0IC0gVGhlIGJ1aWxkIGNvbnRleHQgZ2VuZXJhdGVkIGJ5IGVzYnVpbGQuXG4gKiBAcGFyYW0gaXNQcm9kdWN0aW9uQnVpbGQgLSBBIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBidWlsZCBpcyBhIHByb2R1Y3Rpb24gYnVpbGQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIGEge0BsaW5rIENsaVRhc2tSZXN1bHR9IGluZGljYXRpbmcgdGhlIHN1Y2Nlc3Mgb3IgZmFpbHVyZSBvZiB0aGUgYnVpbGQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpbnZva2VFc2J1aWxkKGJ1aWxkQ29udGV4dDogQnVpbGRDb250ZXh0LCBpc1Byb2R1Y3Rpb25CdWlsZDogYm9vbGVhbik6IFByb21pc2U8Q2xpVGFza1Jlc3VsdD4ge1xuICBpZiAoaXNQcm9kdWN0aW9uQnVpbGQpIHtcbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBidWlsZENvbnRleHQucmVidWlsZCgpO1xuICAgIGNvbnN0IGlzU3VjY2VzcyA9IHJlc3VsdC5lcnJvcnMubGVuZ3RoID09PSAwICYmIHJlc3VsdC53YXJuaW5ncy5sZW5ndGggPT09IDA7XG4gICAgcmV0dXJuIENsaVRhc2tSZXN1bHQuU3VjY2Vzcyhpc1N1Y2Nlc3MpO1xuICB9XG4gIGF3YWl0IGJ1aWxkQ29udGV4dC53YXRjaCgpO1xuICByZXR1cm4gQ2xpVGFza1Jlc3VsdC5Eb05vdEV4aXQoKTtcbn1cblxuLyoqXG4gKiBXYXRjaGVzIHRoZSBwbHVnaW4ncyBgbm9kZV9tb2R1bGVzYCBmb2xkZXIgYW5kIHJlc3RhcnRzIHRoZSBkZXZlbG9wbWVudCBidWlsZCB3aGVuIGl0IGNoYW5nZXMuXG4gKlxuICogVGhlIGVzYnVpbGQgd2F0Y2hlciBvbmx5IHRyYWNrcyBmaWxlcyBpbiBpdHMgYnVpbGQgZ3JhcGggYW5kIG9ubHkgZXZlciByZS1idW5kbGVzIFx1MjAxNCBpdCBuZXZlclxuICogcmUtcnVucyB0aGUgYGJ1aWxkOmNvbXBpbGVgIHR5cGUtY2hlY2ssIGFuZCBpdCBpZ25vcmVzIGBub2RlX21vZHVsZXNgIGNoYW5nZXMgb3V0c2lkZSB0aGUgZ3JhcGhcbiAqIChhIHJlaW5zdGFsbCwgb3IgYSBkZXBlbmRlbmN5IGZpbGUgbm90IGN1cnJlbnRseSBpbXBvcnRlZCkuIE9uIGFueSAoZGVib3VuY2VkKSBjaGFuZ2UgYW55d2hlcmUgaW5cbiAqIHRoZSBgbm9kZV9tb2R1bGVzYCB0cmVlLCB0aGUgY3VycmVudCBidWlsZCBjb250ZXh0IGlzIGRpc3Bvc2VkIGFuZCB0aGUgd2hvbGUgZGV2ZWxvcG1lbnQgYnVpbGQgaXNcbiAqIHJlc3RhcnRlZCwgcmUtcnVubmluZyB0aGUgZnVsbCBwaXBlbGluZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgdGhlIGJ1aWxkIHdhcyBzdGFydGVkIHdpdGgsIHVzZWQgdG8gcmVzdGFydCBpdC5cbiAqIEBwYXJhbSBidWlsZENvbnRleHQgLSBUaGUgZXNidWlsZCBjb250ZXh0IHRvIGRpc3Bvc2UgYmVmb3JlIHJlc3RhcnRpbmcuXG4gKi9cbmZ1bmN0aW9uIHdhdGNoTm9kZU1vZHVsZXNBbmRSZXN0YXJ0KHBhcmFtczogQnVpbGRPYnNpZGlhblBsdWdpblBhcmFtcywgYnVpbGRDb250ZXh0OiBCdWlsZENvbnRleHQpOiB2b2lkIHtcbiAgY29uc3Qgbm9kZU1vZHVsZXNQYXRoID0gcmVzb2x2ZVBhdGhGcm9tUm9vdCh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLk5vZGVNb2R1bGVzIH0pO1xuICBpZiAoIW5vZGVNb2R1bGVzUGF0aCB8fCAhZXhpc3RzU3luYyhub2RlTW9kdWxlc1BhdGgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgd2F0Y2hlciA9IHdhdGNoKG5vZGVNb2R1bGVzUGF0aCwgeyByZWN1cnNpdmU6IHRydWUgfSwgKCkgPT4ge1xuICAgIGlmIChyZXN0YXJ0VGltZW91dCkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFubWQvcHJlZmVyLXdpbmRvdy10aW1lcnMgLS0gTm9kZSBidWlsZC10b29sIGNvbnRleHQ7IGB3aW5kb3dgIGlzIG5vdCBhdmFpbGFibGUuXG4gICAgICBjbGVhclRpbWVvdXQocmVzdGFydFRpbWVvdXQpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItd2luZG93LXRpbWVycyAtLSBOb2RlIGJ1aWxkLXRvb2wgY29udGV4dDsgYHdpbmRvd2AgaXMgbm90IGF2YWlsYWJsZS5cbiAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaW52b2tlQXN5bmNTYWZlbHkocmVzdGFydCk7XG4gICAgfSwgTk9ERV9NT0RVTEVTX1JFU1RBUlRfREVCT1VOQ0VfSU5fTUlMTElTRUNPTkRTKTtcbiAgfSk7XG5cbiAgYXN5bmMgZnVuY3Rpb24gcmVzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zb2xlLndhcm4oJ0RldGVjdGVkIGNoYW5nZXMgaW4gbm9kZV9tb2R1bGVzLiBSZXN0YXJ0aW5nIHRoZSBidWlsZC4uLicpO1xuICAgIHdhdGNoZXIuY2xvc2UoKTtcbiAgICBhd2FpdCBidWlsZENvbnRleHQuZGlzcG9zZSgpO1xuICAgIGF3YWl0IGJ1aWxkT2JzaWRpYW5QbHVnaW4ocGFyYW1zKTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFnQkEsMkNBQTJDO0FBQzNDLDRCQUE2QjtBQUM3Qixt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
|
|
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
5
5
|
|
|
6
6
|
(function () {
|
|
7
7
|
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for(
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for(
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function ensureBrowserProcess() {
|
|
13
13
|
const browserProcess = {
|
|
14
14
|
browser: true,
|
|
15
15
|
cwd() {
|
|
16
|
-
return
|
|
16
|
+
return "/";
|
|
17
17
|
},
|
|
18
18
|
env: {},
|
|
19
|
-
platform:
|
|
19
|
+
platform: "android"
|
|
20
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
21
|
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
22
|
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
23
|
globalThis.process = browserProcess;
|
|
28
24
|
return;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
if (existingProcess.versions?.node) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
30
|
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
31
|
existingProcessRecord[key] ??= value;
|
|
39
32
|
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
33
|
+
existingProcessRecord["browser"] = true;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
function keepName($unknown) {
|
|
@@ -46,17 +38,13 @@ function keepName($unknown) {
|
|
|
46
38
|
}
|
|
47
39
|
|
|
48
40
|
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
41
|
const globalThisRecord = globalThis;
|
|
51
42
|
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord[
|
|
53
|
-
globalThisRecord[
|
|
54
|
-
|
|
43
|
+
globalThisRecord["__name"] ??= keepName;
|
|
44
|
+
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
55
45
|
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
46
|
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule &&
|
|
47
|
+
return module && module.__esModule && "default" in module ? module.default : module;
|
|
60
48
|
}
|
|
61
49
|
})();
|
|
62
50
|
})();
|
|
@@ -66,7 +54,6 @@ function keepName($unknown) {
|
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
56
|
|
|
69
|
-
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
57
|
require = Object.assign(
|
|
71
58
|
(id) => requirePatched(id),
|
|
72
59
|
originalRequire,
|
|
@@ -244,4 +231,4 @@ function patchObsidianRequire() {
|
|
|
244
231
|
0 && (module.exports = {
|
|
245
232
|
preprocessPlugin
|
|
246
233
|
});
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9wcmVwcm9jZXNzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjdXN0b20gZXNidWlsZCBwbHVnaW4gdGhhdCBwcmVwcm9jZXNzZXMgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdCBmaWxlcyBmb3IgT2JzaWRpYW4uXG4gKlxuICogQHJlbWFya3NcbiAqIFdlIGNhbm5vdCB1c2UgYC5gIGluc3RlYWQgb2YgYChkb3QpYCBpbiB0aGUgYWJvdmUgZGVzY3JpcHRpb24gYmVjYXVzZSB0aGUgZmlsZSBpdHNlbGYgaXMgcHJlcHJvY2Vzc2VkIHdpdGggdGhlIHNhbWUgcnVsZS5cbiAqXG4gKiBJdCBpcyB0aGUgZ2VuZXJpYyBgQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXRgIHByZXByb2Nlc3MgcGx1Z2luIHBsdXMgdHdvIE9ic2lkaWFuLW9ubHkgcGFydHM6IGEgQ29tbW9uSlNcbiAqIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZmFsbGJhY2sgdGhhdCByZWFkcyBgYWN0aXZlV2luZG93YCwgYW5kIGEgYHJlcXVpcmVgIHBhdGNoIHRoYXQgcmVzb2x2ZXMgT2JzaWRpYW4nc1xuICogYnVpbHQtaW4gbW9kdWxlcyBhbmQgc3R1YnMgdGhlIHJlc3Qgb24gbW9iaWxlLiBCb3RoIGFyZSBzZXJpYWxpemVkIGludG8gdGhlIGVtaXR0ZWQgYnVuZGxlIHdpdGggYFN0cmluZyhmbilgLCBzb1xuICogZWFjaCBpcyBzZWxmLWNvbnRhaW5lZDogaXQgcmVhZHMgb25seSBnbG9iYWxzIGFuZCB3aGF0IGl0IGRlY2xhcmVzIGl0c2VsZi4gQ2FsbGluZyBhIGZ1bmN0aW9uIGltcG9ydGVkIGZyb21cbiAqIGFub3RoZXIgbW9kdWxlIHdvdWxkIGNvbXBpbGUgdG8gYCgwLCBpbXBvcnRfbW9kdWxlLmZuKShcdTIwMjYpYCBpbiB0aGUgQ29tbW9uSlMgYnVpbGQgb2YgdGhpcyBwYWNrYWdlLCBuYW1pbmcgYSBiaW5kaW5nXG4gKiB0aGUgZW1pdHRlZCBidW5kbGUgZG9lcyBub3QgaGF2ZS5cbiAqL1xuXG4vKiBlc2xpbnQtZGlzYWJsZSB1bmljb3JuL3ByZWZlci1tb2R1bGUgLS0gVGhlIENvbW1vbkpTIHN1cmZhY2UgaXMgdGhlIHN1YmplY3QgaGVyZSwgbm90IGFuIG92ZXJzaWdodC4gVGhlc2UgZnVuY3Rpb25zIGJyaWRnZSB0aGUgbW9kdWxlIHN5c3RlbXMgaW4gdGhlIGVtaXR0ZWQgYnVuZGxlLCBzbyB0aGV5IGhhdmUgdG8gbmFtZSBgX19maWxlbmFtZWAgYW5kIGByZXF1aXJlYC4gKi9cblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tICdlc2J1aWxkJztcbmltcG9ydCB0eXBlIHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcblxuaW1wb3J0IHsgcHJlcHJvY2Vzc1BsdWdpbiBhcyBnZW5lcmljUHJlcHJvY2Vzc1BsdWdpbiB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWRldi10b29sa2l0L2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9wcmVwcm9jZXNzLXBsdWdpbic7XG5cbmludGVyZmFjZSBFc21Nb2R1bGUge1xuICBfX2VzTW9kdWxlOiBib29sZWFuO1xuICBkZWZhdWx0OiB1bmtub3duO1xufVxuXG5pbnRlcmZhY2UgUmVxdWlyZVBhdGNoZWQgZXh0ZW5kcyBOb2RlSlMuUmVxdWlyZSB7XG4gIF9faXNQYXRjaGVkOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgVXJsTW9kdWxlIHtcbiAgcGF0aFRvRmlsZVVSTDogdHlwZW9mIHBhdGhUb0ZpbGVVUkw7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzIGZvciBhbiBPYnNpZGlhbiBwbHVnaW4uXG4gKlxuICogVGhpcyBwbHVnaW4gcGVyZm9ybXMgdGhlIGZvbGxvd2luZyB0YXNrczpcbiAqIC0gRXZlcnl0aGluZyB0aGUgZ2VuZXJpYyBwcmVwcm9jZXNzIHBsdWdpbiBkb2VzICh0aGUgYHByb2Nlc3NgIGFuZCBgU3ltYm9sLmRpc3Bvc2VgIHNoaW1zLCB0aGVcbiAqIGBzb3VyY2VNYXBwaW5nVVJMYCBmaXgsIGFuZCB0aGUgQ29tbW9uSlMgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCByZXBsYWNlbWVudCkuXG4gKiAtIEZhbGxzIGJhY2sgdG8gYGFjdGl2ZVdpbmRvdy5sb2NhdGlvbi5ocmVmYCBmb3IgYGltcG9ydChkb3QpbWV0YShkb3QpdXJsYCB3aGVyZSB0aGVyZSBpcyBubyBgX19maWxlbmFtZWAuXG4gKiAtIEluIGEgQ29tbW9uSlMgYnVpbGQsIHBhdGNoZXMgYHJlcXVpcmUoKWAgc28gT2JzaWRpYW4ncyBidWlsdC1pbiBtb2R1bGVzIHJlc29sdmUgYW5kIHRoZSByZXN0IGRlZ3JhZGUgb24gbW9iaWxlLlxuICpcbiAqIEBwYXJhbSBpc0VzbSAtIFdoZXRoZXIgdGhlIGJ1aWxkIGlzIGZvciBhbiBFU00gZm9ybWF0LlxuICogQHJldHVybnMgQW4gZXNidWlsZCBgUGx1Z2luYCBvYmplY3QgdGhhdCBoYW5kbGVzIHRoZSBwcmVwcm9jZXNzaW5nLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJlcHJvY2Vzc1BsdWdpbihpc0VzbT86IGJvb2xlYW4pOiBQbHVnaW4ge1xuICByZXR1cm4gZ2VuZXJpY1ByZXByb2Nlc3NQbHVnaW4oe1xuICAgIGFkZGl0aW9uYWxCYW5uZXJJbml0RnVuY3Rpb25zOiBpc0VzbSA/IFtdIDogW3BhdGNoT2JzaWRpYW5SZXF1aXJlXSxcbiAgICBjanNJbXBvcnRNZXRhVXJsUHJvdmlkZXI6IGdldE9ic2lkaWFuQ2pzSW1wb3J0TWV0YVVybCxcbiAgICBpc0VzbTogaXNFc20gPz8gZmFsc2VcbiAgfSk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBCb3RoIGZ1bmN0aW9ucyBhcmUgc2VyaWFsaXplZCBpbnRvIHRoZSBlbWl0dGVkIGJ1bmRsZSBhbmQgc28gcnVuIGluc2lkZSBpdCwgbmV2ZXIgaW4gdGhpcyBwcm9jZXNzLiAqL1xuXG5mdW5jdGlvbiBnZXRPYnNpZGlhbkNqc0ltcG9ydE1ldGFVcmwoKTogc3RyaW5nIHtcbiAgaWYgKHR5cGVvZiBfX2ZpbGVuYW1lID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IGxvY2FsUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpIGFzIFVybE1vZHVsZTtcbiAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gdXJsLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkuaHJlZjtcbiAgICB9XG4gIH1cblxuICAvLyBGYWxsYmFjayB0byBhbiBlbXB0eSBzdHJpbmcgaWYgdGhlIGVudmlyb25tZW50IGlzIHVua25vd25cbiAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnID8gJycgOiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbn1cblxuZnVuY3Rpb24gcGF0Y2hPYnNpZGlhblJlcXVpcmUoKTogdm9pZCB7XG4gIGNvbnN0IG9yaWdpbmFsUmVxdWlyZSA9IHJlcXVpcmUgYXMgKE5vZGVKUy5SZXF1aXJlICYgUGFydGlhbDxSZXF1aXJlUGF0Y2hlZD4gfCB1bmRlZmluZWQpO1xuICBpZiAoIW9yaWdpbmFsUmVxdWlyZSB8fCBvcmlnaW5hbFJlcXVpcmUuX19pc1BhdGNoZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZ2xvYmFsLWFzc2lnbiwgbm8taW1wbGljaXQtZ2xvYmFscyAtLSBXZSBuZWVkIHRvIHBhdGNoIHRoZSBgcmVxdWlyZSgpYCBmdW5jdGlvbi5cbiAgcmVxdWlyZSA9IE9iamVjdC5hc3NpZ24oXG4gICAgKGlkOiBzdHJpbmcpID0+IHJlcXVpcmVQYXRjaGVkKGlkKSxcbiAgICBvcmlnaW5hbFJlcXVpcmUsXG4gICAge1xuICAgICAgX19pc1BhdGNoZWQ6IHRydWVcbiAgICB9XG4gICkgYXMgUmVxdWlyZVBhdGNoZWQ7XG5cbiAgZnVuY3Rpb24gZXh0cmFjdERlZmF1bHQobW9kdWxlOiBQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpOiB1bmtub3duIHtcbiAgICByZXR1cm4gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlICYmICdkZWZhdWx0JyBpbiBtb2R1bGUgPyBtb2R1bGUuZGVmYXVsdCA6IG1vZHVsZTtcbiAgfVxuXG4gIGNvbnN0IE9CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUyA9IG5ldyBTZXQoW1xuICAgICdAY29kZW1pcnJvci9hdXRvY29tcGxldGUnLFxuICAgICdAY29kZW1pcnJvci9jb2xsYWInLFxuICAgICdAY29kZW1pcnJvci9jb21tYW5kcycsXG4gICAgJ0Bjb2RlbWlycm9yL2xhbmd1YWdlJyxcbiAgICAnQGNvZGVtaXJyb3IvbGludCcsXG4gICAgJ0Bjb2RlbWlycm9yL3NlYXJjaCcsXG4gICAgJ0Bjb2RlbWlycm9yL3N0YXRlJyxcbiAgICAnQGNvZGVtaXJyb3IvdGV4dCcsXG4gICAgJ0Bjb2RlbWlycm9yL3ZpZXcnLFxuICAgICdAbGV6ZXIvY29tbW9uJyxcbiAgICAnQGxlemVyL2hpZ2hsaWdodCcsXG4gICAgJ0BsZXplci9scicsXG4gICAgJ29ic2lkaWFuJ1xuICBdKTtcblxuICBjb25zdCBERVBSRUNBVEVEX09CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUyA9IG5ldyBTZXQoW1xuICAgICdAY29kZW1pcnJvci9jbG9zZWJyYWNrZXRzJyxcbiAgICAnQGNvZGVtaXJyb3IvY29tbWVudCcsXG4gICAgJ0Bjb2RlbWlycm9yL2ZvbGQnLFxuICAgICdAY29kZW1pcnJvci9ndXR0ZXInLFxuICAgICdAY29kZW1pcnJvci9oaWdobGlnaHQnLFxuICAgICdAY29kZW1pcnJvci9oaXN0b3J5JyxcbiAgICAnQGNvZGVtaXJyb3IvbWF0Y2hicmFja2V0cycsXG4gICAgJ0Bjb2RlbWlycm9yL3BhbmVsJyxcbiAgICAnQGNvZGVtaXJyb3IvcmFuZ2VzZXQnLFxuICAgICdAY29kZW1pcnJvci9yZWN0YW5ndWxhci1zZWxlY3Rpb24nLFxuICAgICdAY29kZW1pcnJvci9zdHJlYW0tcGFyc2VyJyxcbiAgICAnQGNvZGVtaXJyb3IvdG9vbHRpcCdcbiAgXSk7XG5cbiAgZnVuY3Rpb24gcmVxdWlyZVBhdGNoZWQoaWQ6IHN0cmluZyk6IHVua25vd24ge1xuICAgIGlmIChPQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMuaGFzKGlkKSB8fCBERVBSRUNBVEVEX09CU0lESUFOX0JVSUxUX0lOX01PRFVMRV9OQU1FUy5oYXMoaWQpKSB7XG4gICAgICByZXR1cm4gb3JpZ2luYWxSZXF1aXJlPy4oaWQpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZCwgb2JzaWRpYW5tZC9uby1nbG9iYWwtdGhpcyAgLS0gTmVlZCBhY2Nlc3MgdG8gYXBwLiBBY3RpdmVseSB1c2UgZ2xvYmFsVGhpcy5cbiAgICBpZiAoZ2xvYmFsVGhpcy5hcHAuaXNNb2JpbGUpIHtcbiAgICAgIGlmIChpZCA9PT0gJ3Byb2Nlc3MnIHx8IGlkID09PSAnbm9kZTpwcm9jZXNzJykge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgVGhlIG1vc3QgbGlrZWx5IHlvdSBjYW4gc2FmZWx5IGlnbm9yZSB0aGlzIGVycm9yLiBNb2R1bGUgbm90IGZvdW5kOiAke2lkfS4gRmFrZSBwcm9jZXNzIG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuXG4gICAgICAgIHJldHVybiBwcm9jZXNzO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBtb2R1bGUgPSBvcmlnaW5hbFJlcXVpcmU/LihpZCkgYXMgKFBhcnRpYWw8RXNtTW9kdWxlPiB8IHVuZGVmaW5lZCk7XG4gICAgICBpZiAobW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0RGVmYXVsdChtb2R1bGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlIC0tIFZhbGlkIHVzYWdlLlxuICAgIGNvbnNvbGUuZGVidWcoYFRoZSBtb3N0IGxpa2VseSB5b3UgY2FuIHNhZmVseSBpZ25vcmUgdGhpcyBlcnJvci4gTW9kdWxlIG5vdCBmb3VuZDogJHtpZH0uIEVtcHR5IG9iamVjdCBpcyByZXR1cm5lZCBpbnN0ZWFkLmApO1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuXG4vKiBlc2xpbnQtZW5hYmxlIHVuaWNvcm4vcHJlZmVyLW1vZHVsZSAtLSBQYWlycyB3aXRoIHRoZSBmaWxlLWxldmVsIGRpc2FibGUgYWJvdmUuICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBcUJBLCtCQUE0RDtBQTJCckQsU0FBUyxpQkFBaUIsT0FBeUI7QUFDeEQsYUFBTyx5QkFBQUEsa0JBQXdCO0FBQUEsSUFDN0IsK0JBQStCLFFBQVEsQ0FBQyxJQUFJLENBQUMsb0JBQW9CO0FBQUEsSUFDakUsMEJBQTBCO0FBQUEsSUFDMUIsT0FBTyxTQUFTO0FBQUEsRUFDbEIsQ0FBQztBQUNIO0FBSUEsU0FBUyw4QkFBc0M7QUFDN0MsTUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxVQUFNLGVBQWU7QUFDckIsVUFBTSxNQUFNLGFBQWEsVUFBVTtBQUNuQyxRQUFJLE9BQU8sSUFBSSxrQkFBa0IsWUFBWTtBQUMzQyxhQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxJQUN2QztBQUFBLEVBQ0Y7QUFHQSxTQUFPLE9BQU8sV0FBVyxjQUFjLEtBQUssYUFBYSxTQUFTO0FBQ3BFO0FBRUEsU0FBUyx1QkFBNkI7QUFDcEMsUUFBTSxrQkFBa0I7QUFDeEIsTUFBSSxDQUFDLG1CQUFtQixnQkFBZ0IsYUFBYTtBQUNuRDtBQUFBLEVBQ0Y7QUFHQSxZQUFVLE9BQU87QUFBQSxJQUNmLENBQUMsT0FBZSxlQUFlLEVBQUU7QUFBQSxJQUNqQztBQUFBLElBQ0E7QUFBQSxNQUNFLGFBQWE7QUFBQSxJQUNmO0FBQUEsRUFDRjtBQUVBLFdBQVMsZUFBZUMsU0FBaUQ7QUFDdkUsV0FBT0EsV0FBVUEsUUFBTyxjQUFjLGFBQWFBLFVBQVNBLFFBQU8sVUFBVUE7QUFBQSxFQUMvRTtBQUVBLFFBQU0saUNBQWlDLG9CQUFJLElBQUk7QUFBQSxJQUM3QztBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsQ0FBQztBQUVELFFBQU0sNENBQTRDLG9CQUFJLElBQUk7QUFBQSxJQUN4RDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixDQUFDO0FBRUQsV0FBUyxlQUFlLElBQXFCO0FBQzNDLFFBQUksK0JBQStCLElBQUksRUFBRSxLQUFLLDBDQUEwQyxJQUFJLEVBQUUsR0FBRztBQUMvRixhQUFPLGtCQUFrQixFQUFFO0FBQUEsSUFDN0I7QUFHQSxRQUFJLFdBQVcsSUFBSSxVQUFVO0FBQzNCLFVBQUksT0FBTyxhQUFhLE9BQU8sZ0JBQWdCO0FBRTdDLGdCQUFRLE1BQU0sdUVBQXVFLEVBQUUsNENBQTRDO0FBRW5JLGVBQU87QUFBQSxNQUNUO0FBQUEsSUFDRixPQUFPO0FBQ0wsWUFBTUEsVUFBUyxrQkFBa0IsRUFBRTtBQUNuQyxVQUFJQSxTQUFRO0FBQ1YsZUFBTyxlQUFlQSxPQUFNO0FBQUEsTUFDOUI7QUFBQSxJQUNGO0FBR0EsWUFBUSxNQUFNLHVFQUF1RSxFQUFFLHFDQUFxQztBQUM1SCxXQUFPLENBQUM7QUFBQSxFQUNWO0FBQ0Y7IiwKICAibmFtZXMiOiBbImdlbmVyaWNQcmVwcm9jZXNzUGx1Z2luIiwgIm1vZHVsZSJdCn0K
|
|
234
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9wcmVwcm9jZXNzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIGRlZmluZXMgYSBjdXN0b20gZXNidWlsZCBwbHVnaW4gdGhhdCBwcmVwcm9jZXNzZXMgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdCBmaWxlcyBmb3IgT2JzaWRpYW4uXG4gKlxuICogQHJlbWFya3NcbiAqIFdlIGNhbm5vdCB1c2UgYC5gIGluc3RlYWQgb2YgYChkb3QpYCBpbiB0aGUgYWJvdmUgZGVzY3JpcHRpb24gYmVjYXVzZSB0aGUgZmlsZSBpdHNlbGYgaXMgcHJlcHJvY2Vzc2VkIHdpdGggdGhlIHNhbWUgcnVsZS5cbiAqXG4gKiBJdCBpcyB0aGUgZ2VuZXJpYyBgQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXRgIHByZXByb2Nlc3MgcGx1Z2luIHBsdXMgdHdvIE9ic2lkaWFuLW9ubHkgcGFydHM6IGEgQ29tbW9uSlNcbiAqIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgZmFsbGJhY2sgdGhhdCByZWFkcyBgYWN0aXZlV2luZG93YCwgYW5kIGEgYHJlcXVpcmVgIHBhdGNoIHRoYXQgcmVzb2x2ZXMgT2JzaWRpYW4nc1xuICogYnVpbHQtaW4gbW9kdWxlcyBhbmQgc3R1YnMgdGhlIHJlc3Qgb24gbW9iaWxlLiBCb3RoIGFyZSBzZXJpYWxpemVkIGludG8gdGhlIGVtaXR0ZWQgYnVuZGxlIHdpdGggYFN0cmluZyhmbilgLCBzb1xuICogZWFjaCBpcyBzZWxmLWNvbnRhaW5lZDogaXQgcmVhZHMgb25seSBnbG9iYWxzIGFuZCB3aGF0IGl0IGRlY2xhcmVzIGl0c2VsZi4gQ2FsbGluZyBhIGZ1bmN0aW9uIGltcG9ydGVkIGZyb21cbiAqIGFub3RoZXIgbW9kdWxlIHdvdWxkIGNvbXBpbGUgdG8gYCgwLCBpbXBvcnRfbW9kdWxlLmZuKShcdTIwMjYpYCBpbiB0aGUgQ29tbW9uSlMgYnVpbGQgb2YgdGhpcyBwYWNrYWdlLCBuYW1pbmcgYSBiaW5kaW5nXG4gKiB0aGUgZW1pdHRlZCBidW5kbGUgZG9lcyBub3QgaGF2ZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IHR5cGUgeyBwYXRoVG9GaWxlVVJMIH0gZnJvbSAnbm9kZTp1cmwnO1xuXG5pbXBvcnQgeyBwcmVwcm9jZXNzUGx1Z2luIGFzIGdlbmVyaWNQcmVwcm9jZXNzUGx1Z2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtZGV2LXRvb2xraXQvYnVuZGxlcnMvZXNidWlsZC1pbXBsL3ByZXByb2Nlc3MtcGx1Z2luJztcblxuaW50ZXJmYWNlIEVzbU1vZHVsZSB7XG4gIF9fZXNNb2R1bGU6IGJvb2xlYW47XG4gIGRlZmF1bHQ6IHVua25vd247XG59XG5cbmludGVyZmFjZSBSZXF1aXJlUGF0Y2hlZCBleHRlbmRzIE5vZGVKUy5SZXF1aXJlIHtcbiAgX19pc1BhdGNoZWQ6IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBVcmxNb2R1bGUge1xuICBwYXRoVG9GaWxlVVJMOiB0eXBlb2YgcGF0aFRvRmlsZVVSTDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGFuIGVzYnVpbGQgcGx1Z2luIHRoYXQgcHJlcHJvY2Vzc2VzIEphdmFTY3JpcHQgYW5kIFR5cGVTY3JpcHQgZmlsZXMgZm9yIGFuIE9ic2lkaWFuIHBsdWdpbi5cbiAqXG4gKiBUaGlzIHBsdWdpbiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHRhc2tzOlxuICogLSBFdmVyeXRoaW5nIHRoZSBnZW5lcmljIHByZXByb2Nlc3MgcGx1Z2luIGRvZXMgKHRoZSBgcHJvY2Vzc2AgYW5kIGBTeW1ib2wuZGlzcG9zZWAgc2hpbXMsIHRoZVxuICogYHNvdXJjZU1hcHBpbmdVUkxgIGZpeCwgYW5kIHRoZSBDb21tb25KUyBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgIHJlcGxhY2VtZW50KS5cbiAqIC0gRmFsbHMgYmFjayB0byBgYWN0aXZlV2luZG93LmxvY2F0aW9uLmhyZWZgIGZvciBgaW1wb3J0KGRvdCltZXRhKGRvdCl1cmxgIHdoZXJlIHRoZXJlIGlzIG5vIGBfX2ZpbGVuYW1lYC5cbiAqIC0gSW4gYSBDb21tb25KUyBidWlsZCwgcGF0Y2hlcyBgcmVxdWlyZSgpYCBzbyBPYnNpZGlhbidzIGJ1aWx0LWluIG1vZHVsZXMgcmVzb2x2ZSBhbmQgdGhlIHJlc3QgZGVncmFkZSBvbiBtb2JpbGUuXG4gKlxuICogQHBhcmFtIGlzRXNtIC0gV2hldGhlciB0aGUgYnVpbGQgaXMgZm9yIGFuIEVTTSBmb3JtYXQuXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKGlzRXNtPzogYm9vbGVhbik6IFBsdWdpbiB7XG4gIHJldHVybiBnZW5lcmljUHJlcHJvY2Vzc1BsdWdpbih7XG4gICAgYWRkaXRpb25hbEJhbm5lckluaXRGdW5jdGlvbnM6IGlzRXNtID8gW10gOiBbcGF0Y2hPYnNpZGlhblJlcXVpcmVdLFxuICAgIGNqc0ltcG9ydE1ldGFVcmxQcm92aWRlcjogZ2V0T2JzaWRpYW5DanNJbXBvcnRNZXRhVXJsLFxuICAgIGlzRXNtOiBpc0VzbSA/PyBmYWxzZVxuICB9KTtcbn1cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEJvdGggZnVuY3Rpb25zIGFyZSBzZXJpYWxpemVkIGludG8gdGhlIGVtaXR0ZWQgYnVuZGxlIGFuZCBzbyBydW4gaW5zaWRlIGl0LCBuZXZlciBpbiB0aGlzIHByb2Nlc3MuICovXG5cbmZ1bmN0aW9uIGdldE9ic2lkaWFuQ2pzSW1wb3J0TWV0YVVybCgpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIF9fZmlsZW5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICBjb25zdCB1cmwgPSBsb2NhbFJlcXVpcmUoJ25vZGU6dXJsJykgYXMgVXJsTW9kdWxlO1xuICAgIGlmICh0eXBlb2YgdXJsLnBhdGhUb0ZpbGVVUkwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiB1cmwucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKS5ocmVmO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZhbGxiYWNrIHRvIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgZW52aXJvbm1lbnQgaXMgdW5rbm93blxuICByZXR1cm4gdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyAnJyA6IGFjdGl2ZVdpbmRvdy5sb2NhdGlvbi5ocmVmO1xufVxuXG5mdW5jdGlvbiBwYXRjaE9ic2lkaWFuUmVxdWlyZSgpOiB2b2lkIHtcbiAgY29uc3Qgb3JpZ2luYWxSZXF1aXJlID0gcmVxdWlyZSBhcyAoTm9kZUpTLlJlcXVpcmUgJiBQYXJ0aWFsPFJlcXVpcmVQYXRjaGVkPiB8IHVuZGVmaW5lZCk7XG4gIGlmICghb3JpZ2luYWxSZXF1aXJlIHx8IG9yaWdpbmFsUmVxdWlyZS5fX2lzUGF0Y2hlZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHJlcXVpcmUgPSBPYmplY3QuYXNzaWduKFxuICAgIChpZDogc3RyaW5nKSA9PiByZXF1aXJlUGF0Y2hlZChpZCksXG4gICAgb3JpZ2luYWxSZXF1aXJlLFxuICAgIHtcbiAgICAgIF9faXNQYXRjaGVkOiB0cnVlXG4gICAgfVxuICApIGFzIFJlcXVpcmVQYXRjaGVkO1xuXG4gIGZ1bmN0aW9uIGV4dHJhY3REZWZhdWx0KG1vZHVsZTogUGFydGlhbDxFc21Nb2R1bGU+IHwgdW5kZWZpbmVkKTogdW5rbm93biB7XG4gICAgcmV0dXJuIG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSAmJiAnZGVmYXVsdCcgaW4gbW9kdWxlID8gbW9kdWxlLmRlZmF1bHQgOiBtb2R1bGU7XG4gIH1cblxuICBjb25zdCBPQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMgPSBuZXcgU2V0KFtcbiAgICAnQGNvZGVtaXJyb3IvYXV0b2NvbXBsZXRlJyxcbiAgICAnQGNvZGVtaXJyb3IvY29sbGFiJyxcbiAgICAnQGNvZGVtaXJyb3IvY29tbWFuZHMnLFxuICAgICdAY29kZW1pcnJvci9sYW5ndWFnZScsXG4gICAgJ0Bjb2RlbWlycm9yL2xpbnQnLFxuICAgICdAY29kZW1pcnJvci9zZWFyY2gnLFxuICAgICdAY29kZW1pcnJvci9zdGF0ZScsXG4gICAgJ0Bjb2RlbWlycm9yL3RleHQnLFxuICAgICdAY29kZW1pcnJvci92aWV3JyxcbiAgICAnQGxlemVyL2NvbW1vbicsXG4gICAgJ0BsZXplci9oaWdobGlnaHQnLFxuICAgICdAbGV6ZXIvbHInLFxuICAgICdvYnNpZGlhbidcbiAgXSk7XG5cbiAgY29uc3QgREVQUkVDQVRFRF9PQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMgPSBuZXcgU2V0KFtcbiAgICAnQGNvZGVtaXJyb3IvY2xvc2VicmFja2V0cycsXG4gICAgJ0Bjb2RlbWlycm9yL2NvbW1lbnQnLFxuICAgICdAY29kZW1pcnJvci9mb2xkJyxcbiAgICAnQGNvZGVtaXJyb3IvZ3V0dGVyJyxcbiAgICAnQGNvZGVtaXJyb3IvaGlnaGxpZ2h0JyxcbiAgICAnQGNvZGVtaXJyb3IvaGlzdG9yeScsXG4gICAgJ0Bjb2RlbWlycm9yL21hdGNoYnJhY2tldHMnLFxuICAgICdAY29kZW1pcnJvci9wYW5lbCcsXG4gICAgJ0Bjb2RlbWlycm9yL3Jhbmdlc2V0JyxcbiAgICAnQGNvZGVtaXJyb3IvcmVjdGFuZ3VsYXItc2VsZWN0aW9uJyxcbiAgICAnQGNvZGVtaXJyb3Ivc3RyZWFtLXBhcnNlcicsXG4gICAgJ0Bjb2RlbWlycm9yL3Rvb2x0aXAnXG4gIF0pO1xuXG4gIGZ1bmN0aW9uIHJlcXVpcmVQYXRjaGVkKGlkOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBpZiAoT0JTSURJQU5fQlVJTFRfSU5fTU9EVUxFX05BTUVTLmhhcyhpZCkgfHwgREVQUkVDQVRFRF9PQlNJRElBTl9CVUlMVF9JTl9NT0RVTEVfTkFNRVMuaGFzKGlkKSkge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsUmVxdWlyZT8uKGlkKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWRlcHJlY2F0ZWQsIG9ic2lkaWFubWQvbm8tZ2xvYmFsLXRoaXMgIC0tIE5lZWQgYWNjZXNzIHRvIGFwcC4gQWN0aXZlbHkgdXNlIGdsb2JhbFRoaXMuXG4gICAgaWYgKGdsb2JhbFRoaXMuYXBwLmlzTW9iaWxlKSB7XG4gICAgICBpZiAoaWQgPT09ICdwcm9jZXNzJyB8fCBpZCA9PT0gJ25vZGU6cHJvY2VzcycpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGUgLS0gVmFsaWQgdXNhZ2UuXG4gICAgICAgIGNvbnNvbGUuZGVidWcoYFRoZSBtb3N0IGxpa2VseSB5b3UgY2FuIHNhZmVseSBpZ25vcmUgdGhpcyBlcnJvci4gTW9kdWxlIG5vdCBmb3VuZDogJHtpZH0uIEZha2UgcHJvY2VzcyBvYmplY3QgaXMgcmV0dXJuZWQgaW5zdGVhZC5gKTtcblxuICAgICAgICByZXR1cm4gcHJvY2VzcztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbW9kdWxlID0gb3JpZ2luYWxSZXF1aXJlPy4oaWQpIGFzIChQYXJ0aWFsPEVzbU1vZHVsZT4gfCB1bmRlZmluZWQpO1xuICAgICAgaWYgKG1vZHVsZSkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdERlZmF1bHQobW9kdWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZSAtLSBWYWxpZCB1c2FnZS5cbiAgICBjb25zb2xlLmRlYnVnKGBUaGUgbW9zdCBsaWtlbHkgeW91IGNhbiBzYWZlbHkgaWdub3JlIHRoaXMgZXJyb3IuIE1vZHVsZSBub3QgZm91bmQ6ICR7aWR9LiBFbXB0eSBvYmplY3QgaXMgcmV0dXJuZWQgaW5zdGVhZC5gKTtcbiAgICByZXR1cm4ge307XG4gIH1cbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQW1CQSwrQkFBNEQ7QUEyQnJELFNBQVMsaUJBQWlCLE9BQXlCO0FBQ3hELGFBQU8seUJBQUFBLGtCQUF3QjtBQUFBLElBQzdCLCtCQUErQixRQUFRLENBQUMsSUFBSSxDQUFDLG9CQUFvQjtBQUFBLElBQ2pFLDBCQUEwQjtBQUFBLElBQzFCLE9BQU8sU0FBUztBQUFBLEVBQ2xCLENBQUM7QUFDSDtBQUlBLFNBQVMsOEJBQXNDO0FBQzdDLE1BQUksT0FBTyxlQUFlLFVBQVU7QUFDbEMsVUFBTSxlQUFlO0FBQ3JCLFVBQU0sTUFBTSxhQUFhLFVBQVU7QUFDbkMsUUFBSSxPQUFPLElBQUksa0JBQWtCLFlBQVk7QUFDM0MsYUFBTyxJQUFJLGNBQWMsVUFBVSxFQUFFO0FBQUEsSUFDdkM7QUFBQSxFQUNGO0FBR0EsU0FBTyxPQUFPLFdBQVcsY0FBYyxLQUFLLGFBQWEsU0FBUztBQUNwRTtBQUVBLFNBQVMsdUJBQTZCO0FBQ3BDLFFBQU0sa0JBQWtCO0FBQ3hCLE1BQUksQ0FBQyxtQkFBbUIsZ0JBQWdCLGFBQWE7QUFDbkQ7QUFBQSxFQUNGO0FBRUEsWUFBVSxPQUFPO0FBQUEsSUFDZixDQUFDLE9BQWUsZUFBZSxFQUFFO0FBQUEsSUFDakM7QUFBQSxJQUNBO0FBQUEsTUFDRSxhQUFhO0FBQUEsSUFDZjtBQUFBLEVBQ0Y7QUFFQSxXQUFTLGVBQWVDLFNBQWlEO0FBQ3ZFLFdBQU9BLFdBQVVBLFFBQU8sY0FBYyxhQUFhQSxVQUFTQSxRQUFPLFVBQVVBO0FBQUEsRUFDL0U7QUFFQSxRQUFNLGlDQUFpQyxvQkFBSSxJQUFJO0FBQUEsSUFDN0M7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLENBQUM7QUFFRCxRQUFNLDRDQUE0QyxvQkFBSSxJQUFJO0FBQUEsSUFDeEQ7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsQ0FBQztBQUVELFdBQVMsZUFBZSxJQUFxQjtBQUMzQyxRQUFJLCtCQUErQixJQUFJLEVBQUUsS0FBSywwQ0FBMEMsSUFBSSxFQUFFLEdBQUc7QUFDL0YsYUFBTyxrQkFBa0IsRUFBRTtBQUFBLElBQzdCO0FBR0EsUUFBSSxXQUFXLElBQUksVUFBVTtBQUMzQixVQUFJLE9BQU8sYUFBYSxPQUFPLGdCQUFnQjtBQUU3QyxnQkFBUSxNQUFNLHVFQUF1RSxFQUFFLDRDQUE0QztBQUVuSSxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0YsT0FBTztBQUNMLFlBQU1BLFVBQVMsa0JBQWtCLEVBQUU7QUFDbkMsVUFBSUEsU0FBUTtBQUNWLGVBQU8sZUFBZUEsT0FBTTtBQUFBLE1BQzlCO0FBQUEsSUFDRjtBQUdBLFlBQVEsTUFBTSx1RUFBdUUsRUFBRSxxQ0FBcUM7QUFDNUgsV0FBTyxDQUFDO0FBQUEsRUFDVjtBQUNGOyIsCiAgIm5hbWVzIjogWyJnZW5lcmljUHJlcHJvY2Vzc1BsdWdpbiIsICJtb2R1bGUiXQp9Cg==
|
|
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
5
5
|
|
|
6
6
|
(function () {
|
|
7
7
|
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for(
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for(
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function ensureBrowserProcess() {
|
|
13
13
|
const browserProcess = {
|
|
14
14
|
browser: true,
|
|
15
15
|
cwd() {
|
|
16
|
-
return
|
|
16
|
+
return "/";
|
|
17
17
|
},
|
|
18
18
|
env: {},
|
|
19
|
-
platform:
|
|
19
|
+
platform: "android"
|
|
20
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
21
|
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
22
|
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
23
|
globalThis.process = browserProcess;
|
|
28
24
|
return;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
if (existingProcess.versions?.node) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
30
|
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
31
|
existingProcessRecord[key] ??= value;
|
|
39
32
|
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
33
|
+
existingProcessRecord["browser"] = true;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
function keepName($unknown) {
|
|
@@ -46,17 +38,13 @@ function keepName($unknown) {
|
|
|
46
38
|
}
|
|
47
39
|
|
|
48
40
|
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
41
|
const globalThisRecord = globalThis;
|
|
51
42
|
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord[
|
|
53
|
-
globalThisRecord[
|
|
54
|
-
|
|
43
|
+
globalThisRecord["__name"] ??= keepName;
|
|
44
|
+
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
55
45
|
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
46
|
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule &&
|
|
47
|
+
return module && module.__esModule && "default" in module ? module.default : module;
|
|
60
48
|
}
|
|
61
49
|
})();
|
|
62
50
|
})();
|
|
@@ -66,7 +54,6 @@ function keepName($unknown) {
|
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
56
|
|
|
69
|
-
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
57
|
require = Object.assign(
|
|
71
58
|
(id) => requirePatched(id),
|
|
72
59
|
originalRequire,
|
|
@@ -181,4 +168,4 @@ function renameCssPlugin(distFolder) {
|
|
|
181
168
|
0 && (module.exports = {
|
|
182
169
|
renameCssPlugin
|
|
183
170
|
});
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQtaW1wbC9yZW5hbWUtY3NzLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlbmFtZSBDU1MgZXNidWlsZCBwbHVnaW4uXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIGVzYnVpbGQgcGx1Z2luIHRoYXQgcmVuYW1lcyBDU1Mgb3V0cHV0IGZpbGVzOyByZXF1aXJlcyBhIGxpdmUgZXNidWlsZCBjb250ZXh0LiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gJ2VzYnVpbGQnO1xuXG5pbXBvcnQgeyBqb2luIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3BhdGgnO1xuaW1wb3J0IHsgZXhpc3RzU3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgcmVuYW1lIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcyc7XG5cbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4tcGx1Z2luLXJlcG8tcGF0aHMudHMnO1xuXG4vKipcbiAqIFBsdWdpbiB0aGF0IHJlbmFtZXMgdGhlIENTUyBmaWxlIHRvIHRoZSBjb3JyZWN0IG5hbWUuXG4gKlxuICogQHBhcmFtIGRpc3RGb2xkZXIgLSBUaGUgZm9sZGVyIHRvIHJlbmFtZSB0aGUgQ1NTIGZpbGUgaW4uXG4gKiBAcmV0dXJucyBUaGUgcGx1Z2luLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuYW1lQ3NzUGx1Z2luKGRpc3RGb2xkZXI6IHN0cmluZyk6IFBsdWdpbiB7XG4gIHJldHVybiB7XG4gICAgbmFtZTogJ3JlbmFtZS1jc3MnLFxuICAgIHNldHVwKGJ1aWxkKTogdm9pZCB7XG4gICAgICBidWlsZC5vbkVuZChhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IG1haW5Dc3NQYXRoID0gam9pbihkaXN0Rm9sZGVyLCBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5NYWluQ3NzKTtcbiAgICAgICAgY29uc3Qgc3R5bGVzQ3NzUGF0aCA9IGpvaW4oZGlzdEZvbGRlciwgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuU3R5bGVzQ3NzKTtcbiAgICAgICAgaWYgKGV4aXN0c1N5bmMobWFpbkNzc1BhdGgpKSB7XG4gICAgICAgICAgYXdhaXQgcmVuYW1lKG1haW5Dc3NQYXRoLCBzdHlsZXNDc3NQYXRoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsa0JBQXFCO0FBQ3JCLHFCQUEyQjtBQUMzQixzQkFBdUI7QUFFdkIsd0NBQXdDO0FBUWpDLFNBQVMsZ0JBQWdCLFlBQTRCO0FBQzFELFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLE1BQU0sWUFBWTtBQUN0QixjQUFNLGtCQUFjLGtCQUFLLFlBQVksMERBQXdCLE9BQU87QUFDcEUsY0FBTSxvQkFBZ0Isa0JBQUssWUFBWSwwREFBd0IsU0FBUztBQUN4RSxnQkFBSSwyQkFBVyxXQUFXLEdBQUc7QUFDM0Isb0JBQU0sd0JBQU8sYUFBYSxhQUFhO0FBQUEsUUFDekM7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
5
5
|
|
|
6
6
|
(function () {
|
|
7
7
|
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for(
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for(
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function ensureBrowserProcess() {
|
|
13
13
|
const browserProcess = {
|
|
14
14
|
browser: true,
|
|
15
15
|
cwd() {
|
|
16
|
-
return
|
|
16
|
+
return "/";
|
|
17
17
|
},
|
|
18
18
|
env: {},
|
|
19
|
-
platform:
|
|
19
|
+
platform: "android"
|
|
20
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
21
|
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
22
|
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
23
|
globalThis.process = browserProcess;
|
|
28
24
|
return;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
if (existingProcess.versions?.node) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
30
|
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
31
|
existingProcessRecord[key] ??= value;
|
|
39
32
|
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
33
|
+
existingProcessRecord["browser"] = true;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
function keepName($unknown) {
|
|
@@ -46,17 +38,13 @@ function keepName($unknown) {
|
|
|
46
38
|
}
|
|
47
39
|
|
|
48
40
|
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
41
|
const globalThisRecord = globalThis;
|
|
51
42
|
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord[
|
|
53
|
-
globalThisRecord[
|
|
54
|
-
|
|
43
|
+
globalThisRecord["__name"] ??= keepName;
|
|
44
|
+
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
55
45
|
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
46
|
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule &&
|
|
47
|
+
return module && module.__esModule && "default" in module ? module.default : module;
|
|
60
48
|
}
|
|
61
49
|
})();
|
|
62
50
|
})();
|
|
@@ -66,7 +54,6 @@ function keepName($unknown) {
|
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
56
|
|
|
69
|
-
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
57
|
require = Object.assign(
|
|
71
58
|
(id) => requirePatched(id),
|
|
72
59
|
originalRequire,
|
|
@@ -174,4 +161,4 @@ var import_obsidian_plugin_builder = require('./esbuild-impl/obsidian-plugin-bui
|
|
|
174
161
|
dev,
|
|
175
162
|
invokeEsbuild
|
|
176
163
|
});
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2VzYnVpbGQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdWJsaWMgQVBJIGZvciB0aGUgZXNidWlsZCBidW5kbGVyLiBSZS1leHBvcnRzIHRoZSBtYWluIGJ1aWxkIGZ1bmN0aW9ucy5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gUmUtZXhwb3J0IG1vZHVsZTsgY292ZXJhZ2UgaXMgdHJhY2tlZCBpbiB0aGUgaW1wbGVtZW50YXRpb24gZmlsZXMuICovXG5cbmV4cG9ydCB7XG4gIGJhbm5lcixcbiAgYnVpbGQsXG4gIEJ1aWxkTW9kZSxcbiAgYnVpbGRPYnNpZGlhblBsdWdpbixcbiAgZGV2LFxuICBpbnZva2VFc2J1aWxkXG59IGZyb20gJy4vZXNidWlsZC1pbXBsL29ic2lkaWFuLXBsdWdpbi1idWlsZGVyLnRzJztcblxuLyoqXG4gKiBSZS1leHBvcnRlZCB0eXBlcyBmb3IgdGhlIGVzYnVpbGQgYnVuZGxlci5cbiAqL1xuZXhwb3J0IHR5cGUge1xuICBCdWlsZE9ic2lkaWFuUGx1Z2luUGFyYW1zLFxuICBCdWlsZE9wdGlvbnNcbn0gZnJvbSAnLi9lc2J1aWxkLWltcGwvb2JzaWRpYW4tcGx1Z2luLWJ1aWxkZXIudHMnO1xuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHFDQU9POyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -5,40 +5,32 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
5
5
|
|
|
6
6
|
(function () {
|
|
7
7
|
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
-
symbolConstructor.asyncDispose ??= symbolConstructor.for(
|
|
9
|
-
symbolConstructor.dispose ??= symbolConstructor.for(
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function ensureBrowserProcess() {
|
|
13
13
|
const browserProcess = {
|
|
14
14
|
browser: true,
|
|
15
15
|
cwd() {
|
|
16
|
-
return
|
|
16
|
+
return "/";
|
|
17
17
|
},
|
|
18
18
|
env: {},
|
|
19
|
-
platform:
|
|
19
|
+
platform: "android"
|
|
20
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
21
|
const existingProcess = globalThis.process;
|
|
24
|
-
|
|
25
22
|
if (!existingProcess) {
|
|
26
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
23
|
globalThis.process = browserProcess;
|
|
28
24
|
return;
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
if (existingProcess.versions?.node) {
|
|
32
27
|
return;
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
const existingProcessRecord = existingProcess;
|
|
36
|
-
|
|
37
30
|
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
31
|
existingProcessRecord[key] ??= value;
|
|
39
32
|
}
|
|
40
|
-
|
|
41
|
-
existingProcessRecord['browser'] = true;
|
|
33
|
+
existingProcessRecord["browser"] = true;
|
|
42
34
|
}
|
|
43
35
|
|
|
44
36
|
function keepName($unknown) {
|
|
@@ -46,17 +38,13 @@ function keepName($unknown) {
|
|
|
46
38
|
}
|
|
47
39
|
|
|
48
40
|
(function initCjs() {
|
|
49
|
-
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
41
|
const globalThisRecord = globalThis;
|
|
51
42
|
ensureDisposeSymbols();
|
|
52
|
-
globalThisRecord[
|
|
53
|
-
globalThisRecord[
|
|
54
|
-
|
|
43
|
+
globalThisRecord["__name"] ??= keepName;
|
|
44
|
+
globalThisRecord["__extractDefault"] ??= extractDefault;
|
|
55
45
|
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
46
|
function extractDefault(module) {
|
|
59
|
-
return module && module.__esModule &&
|
|
47
|
+
return module && module.__esModule && "default" in module ? module.default : module;
|
|
60
48
|
}
|
|
61
49
|
})();
|
|
62
50
|
})();
|
|
@@ -66,7 +54,6 @@ function keepName($unknown) {
|
|
|
66
54
|
return;
|
|
67
55
|
}
|
|
68
56
|
|
|
69
|
-
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
57
|
require = Object.assign(
|
|
71
58
|
(id) => requirePatched(id),
|
|
72
59
|
originalRequire,
|
|
@@ -177,4 +164,4 @@ var esbuild = __toESM(__extractDefault(require('./esbuild.cjs')), 1);
|
|
|
177
164
|
esbuild,
|
|
178
165
|
"esbuild-impl": null
|
|
179
166
|
});
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2J1bmRsZXJzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgJ2VzYnVpbGQtaW1wbCcgZnJvbSAnLi9lc2J1aWxkLWltcGwvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgJ2VzYnVpbGQnIGZyb20gJy4vZXNidWlsZC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFBQUE7QUFBQTtBQUFBO0FBRUEsSUFBQUEsZUFBZ0M7QUFDaEMsY0FBMkI7IiwKICAibmFtZXMiOiBbImVzYnVpbGQtaW1wbCJdCn0K
|