@riddance/host 0.0.13 → 0.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/LICENSE +1 -1
- package/context.d.ts +1 -11
- package/context.js +1 -1
- package/host/context.d.ts +1 -1
- package/host/context.js +1 -1
- package/host/emitter.d.ts +2 -1
- package/host/emitter.js +1 -1
- package/host/http.js +31 -8
- package/host/logging.d.ts +1 -1
- package/host/logging.js +1 -1
- package/host/reflect.js +1 -1
- package/host/registry.js +1 -1
- package/http.d.ts +170 -4
- package/http.js +1 -1
- package/package.json +4 -4
package/LICENSE
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Copyright © 2022-
|
|
1
|
+
Copyright © 2022-2024 The Riddance Authors (see git commits)
|
|
2
2
|
|
|
3
3
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
4
|
of this software and associated documentation files (the “Software”), to deal
|
package/context.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
1
2
|
export type Environment = {
|
|
2
3
|
readonly [key: string]: string;
|
|
3
4
|
};
|
|
@@ -10,17 +11,6 @@ export type Logger = {
|
|
|
10
11
|
error(message: string, error?: unknown, fields?: object): void;
|
|
11
12
|
fatal(message: string, error?: unknown, fields?: object): void;
|
|
12
13
|
};
|
|
13
|
-
export type AbortSignal = {
|
|
14
|
-
aborted: boolean;
|
|
15
|
-
addEventListener: (type: 'abort', listener: (this: AbortSignal, event: unknown) => unknown, options?: {
|
|
16
|
-
capture?: boolean;
|
|
17
|
-
once?: boolean;
|
|
18
|
-
passive?: boolean;
|
|
19
|
-
}) => void;
|
|
20
|
-
removeEventListener: (type: 'abort', listener: (this: AbortSignal, event: unknown) => unknown, options?: {
|
|
21
|
-
capture?: boolean;
|
|
22
|
-
}) => void;
|
|
23
|
-
};
|
|
24
14
|
export type MutableJson = null | boolean | number | string | MutableJson[] | {
|
|
25
15
|
[key: string]: MutableJson;
|
|
26
16
|
};
|
package/context.js
CHANGED
|
@@ -49,4 +49,4 @@ export async function measure(logger, name, fn, fields) {
|
|
|
49
49
|
});
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQStCeEQsZUFBZTtBQUNmLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxJQUFXO0lBQ3hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNSLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztJQUNELE9BQU8sSUFBbUQsQ0FBQTtBQUM5RCxDQUFDO0FBRUQsZUFBZTtBQUNmLE1BQU0sVUFBVSxlQUFlLENBQUMsSUFBVztJQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxDQUFBO0lBQ2IsQ0FBQztJQUNELE9BQU8sSUFBdUIsQ0FBQTtBQUNsQyxDQUFDO0FBc0RELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUFnQjtJQUMvQyxNQUFNLE9BQU8sR0FBOEI7UUFDdkMsWUFBWSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLEdBQUcsRUFBRTtLQUN2RixDQUFBO0lBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUE7SUFDakQsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNwQixPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUE7UUFDOUMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQy9DLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFBO1FBQzFGLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDM0IsT0FBTyxDQUFDLDRCQUE0QixDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUE7UUFDcEUsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNsQixDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssVUFBVSxPQUFPLENBQ3pCLE1BQXFFLEVBQ3JFLElBQVksRUFDWixFQUF3QixFQUN4QixNQUFlO0lBRWYsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQy9CLElBQUksQ0FBQztRQUNELE9BQU8sTUFBTSxFQUFFLEVBQUUsQ0FBQTtJQUNyQixDQUFDO1lBQVMsQ0FBQztRQUNQLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQTtRQUM3QixNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDbkQsS0FBSyxFQUFFLG9CQUFvQixDQUFDLEtBQUssQ0FBQztZQUNsQyxHQUFHLEVBQUUsb0JBQW9CLENBQUMsR0FBRyxDQUFDO1lBQzlCLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsS0FBSztZQUN2RSxHQUFHLE1BQU07U0FDWixDQUFDLENBQUE7SUFDTixDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSAncGVyZl9ob29rcydcbmltcG9ydCB7IGhpZ2hQcmVjaXNpb25JU09EYXRlIH0gZnJvbSAnLi9ob3N0L2xvZ2dpbmcuanMnXG5cbmV4cG9ydCB0eXBlIEVudmlyb25tZW50ID0ge1xuICAgIHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBMb2dnZXIgPSB7XG4gICAgZW5yaWNoKGZpZWxkczogb2JqZWN0KTogTG9nZ2VyXG4gICAgdHJhY2UobWVzc2FnZTogc3RyaW5nLCBlcnJvcj86IHVua25vd24sIGZpZWxkcz86IG9iamVjdCk6IHZvaWRcbiAgICBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIGVycm9yPzogdW5rbm93biwgZmllbGRzPzogb2JqZWN0KTogdm9pZFxuICAgIGluZm8obWVzc2FnZTogc3RyaW5nLCBlcnJvcj86IHVua25vd24sIGZpZWxkcz86IG9iamVjdCk6IHZvaWRcbiAgICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I/OiB1bmtub3duLCBmaWVsZHM/OiBvYmplY3QpOiB2b2lkXG4gICAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCBlcnJvcj86IHVua25vd24sIGZpZWxkcz86IG9iamVjdCk6IHZvaWRcbiAgICBmYXRhbChtZXNzYWdlOiBzdHJpbmcsIGVycm9yPzogdW5rbm93biwgZmllbGRzPzogb2JqZWN0KTogdm9pZFxufVxuXG5leHBvcnQgdHlwZSBNdXRhYmxlSnNvbiA9XG4gICAgfCBudWxsXG4gICAgfCBib29sZWFuXG4gICAgfCBudW1iZXJcbiAgICB8IHN0cmluZ1xuICAgIHwgTXV0YWJsZUpzb25bXVxuICAgIHwgeyBba2V5OiBzdHJpbmddOiBNdXRhYmxlSnNvbiB9XG5leHBvcnQgdHlwZSBKc29uID1cbiAgICB8IG51bGxcbiAgICB8IGJvb2xlYW5cbiAgICB8IG51bWJlclxuICAgIHwgc3RyaW5nXG4gICAgfCByZWFkb25seSBKc29uW11cbiAgICB8IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogSnNvbiB9XG5cbi8qQF9fSU5MSU5FX18qL1xuZXhwb3J0IGZ1bmN0aW9uIG9iamVjdFNwcmVhZGFibGUoanNvbj86IEpzb24pOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IEpzb24gfSB7XG4gICAgaWYgKCFqc29uKSB7XG4gICAgICAgIHJldHVybiB7fVxuICAgIH1cbiAgICByZXR1cm4ganNvbiBhcyB1bmtub3duIGFzIHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogSnNvbiB9XG59XG5cbi8qQF9fSU5MSU5FX18qL1xuZXhwb3J0IGZ1bmN0aW9uIGFycmF5U3ByZWFkYWJsZShqc29uPzogSnNvbik6IHJlYWRvbmx5IEpzb25bXSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGpzb24pKSB7XG4gICAgICAgIHJldHVybiBbXVxuICAgIH1cbiAgICByZXR1cm4ganNvbiBhcyByZWFkb25seSBKc29uW11cbn1cblxuZXhwb3J0IHR5cGUgSGFuZGxlckNvbmZpZ3VyYXRpb24gPSB7XG4gICAgLyoqXG4gICAgICogQW4gaW5kaWNhdGlvbiBvZiBDUFUgdXNhZ2Ugb2YgdGhlIGhhbmRsZXIuXG4gICAgICogQGRlZmF1bHQgJ2xvdydcbiAgICAgKi9cbiAgICByZWFkb25seSBjb21wdXRlPzogJ2hpZ2gnIHwgJ2xvdydcbiAgICAvKipcbiAgICAgKiBBbiBpbmRpY2F0aW9uIG9mIG1lbW9yeSB1c2FnZSBvZiB0aGUgaGFuZGxlci5cbiAgICAgKiBAZGVmYXVsdCAnbG93J1xuICAgICAqL1xuICAgIHJlYWRvbmx5IG1lbW9yeT86ICdoaWdoJyB8ICdsb3cnXG4gICAgLyoqXG4gICAgICogQSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0byBlbnJpY2ggdGhlIGxvZyB3aXRoIHRoZSBib2R5IG9mIGV2ZW50cywgcmVxdWVzdHMgb3IgcmVzcG9uc2VzLiBTZXQgdG8gZmFsc2UgaWYgdGhlIGJvZHkgaXMgbGFyZ2Ugb3IgY29udGFpbiB2ZXJ5IHNlbnNpdGl2ZSBkYXRhLlxuICAgICAqIEBkZWZhdWx0IGZhbHNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhjbHVkZUJvZHlGcm9tTG9ncz86IGJvb2xlYW5cbiAgICAvKipcbiAgICAgKiBUaGUgbGV2ZWwgYmVsb3cgd2hpY2ggbG9nIGVudHJpZXMgd2lsbCBiZSBkaXNjYXJkZWQuXG4gICAgICogQGRlZmF1bHQgJ3RyYWNlJ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IG1pbmltdW1Mb2dMZXZlbD86ICd0cmFjZScgfCAnZGVidWcnIHwgJ2luZm8nIHwgJ3dhcm5pbmcnIHwgJ2Vycm9yJyB8ICdmYXRhbCdcbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIHNlY29uZHMgdGhlIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIGZpbmlzaCBleGVjdXRpbmcgaW4uXG4gICAgICovXG4gICAgcmVhZG9ubHkgdGltZW91dD86IG51bWJlclxufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0ID0ge1xuICAgIHJlYWRvbmx5IGVudjogRW52aXJvbm1lbnRcbiAgICByZWFkb25seSBsb2c6IExvZ2dlclxuICAgIHJlYWRvbmx5IHNpZ25hbDogQWJvcnRTaWduYWxcbiAgICBub3coKTogRGF0ZVxuXG4gICAgcmVhZG9ubHkgb3BlcmF0aW9uSWQ/OiBzdHJpbmdcbiAgICByZWFkb25seSBjbGllbnQ/OiB7XG4gICAgICAgIHJlYWRvbmx5IGlkPzogc3RyaW5nXG4gICAgICAgIHJlYWRvbmx5IGlwPzogc3RyaW5nXG4gICAgICAgIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXJcbiAgICAgICAgcmVhZG9ubHkgdXNlckFnZW50Pzogc3RyaW5nXG4gICAgfVxuICAgIHJlYWRvbmx5IG1ldGE/OiB7XG4gICAgICAgIHJlYWRvbmx5IHBhY2thZ2VOYW1lOiBzdHJpbmdcbiAgICAgICAgcmVhZG9ubHkgZmlsZU5hbWU6IHN0cmluZ1xuICAgICAgICByZWFkb25seSByZXZpc2lvbj86IHN0cmluZ1xuICAgIH1cblxuICAgIGVtaXQodG9waWM6IHN0cmluZywgdHlwZTogc3RyaW5nLCBzdWJqZWN0OiBzdHJpbmcsIGRhdGE/OiBKc29uLCBtZXNzYWdlSWQ/OiBzdHJpbmcpOiB2b2lkXG4gICAgZXZlbnRCYXJyaWVyKCk6IFByb21pc2U8dm9pZD5cblxuICAgIG9uU3VjY2VzcyhmbjogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQpOiB2b2lkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBodHRwUmVxdWVzdEhlYWRlcnMoY29udGV4dDogQ29udGV4dCkge1xuICAgIGNvbnN0IGhlYWRlcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICAgICd1c2VyLWFnZW50JzogYCR7Y29udGV4dC5tZXRhPy5wYWNrYWdlTmFtZSA/PyAnPyd9LyR7Y29udGV4dC5tZXRhPy5yZXZpc2lvbiA/PyAnPyd9YCxcbiAgICB9XG4gICAgaWYgKGNvbnRleHQub3BlcmF0aW9uSWQpIHtcbiAgICAgICAgaGVhZGVyc1sneC1yZXF1ZXN0LWlkJ10gPSBjb250ZXh0Lm9wZXJhdGlvbklkXG4gICAgfVxuICAgIGlmIChjb250ZXh0LmNsaWVudCkge1xuICAgICAgICBpZiAoY29udGV4dC5jbGllbnQuaWQpIHtcbiAgICAgICAgICAgIGhlYWRlcnNbJ3gtY2xpZW50LWlkJ10gPSBjb250ZXh0LmNsaWVudC5pZFxuICAgICAgICB9XG4gICAgICAgIGlmICghIWNvbnRleHQuY2xpZW50LmlwIHx8ICEhY29udGV4dC5jbGllbnQucG9ydCkge1xuICAgICAgICAgICAgaGVhZGVyc1sneC1mb3J3YXJkZWQtZm9yJ10gPSBgJHtjb250ZXh0LmNsaWVudC5pcCA/PyAnJ306JHtjb250ZXh0LmNsaWVudC5wb3J0ID8/ICcnfWBcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29udGV4dC5jbGllbnQudXNlckFnZW50KSB7XG4gICAgICAgICAgICBoZWFkZXJzWyd4LWZvcndhcmRlZC1mb3ItdXNlci1hZ2VudCddID0gY29udGV4dC5jbGllbnQudXNlckFnZW50XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGhlYWRlcnNcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1lYXN1cmU8VD4oXG4gICAgbG9nZ2VyOiB7IHRyYWNlOiAobWVzc2FnZTogc3RyaW5nLCBfOiB1bmRlZmluZWQsIGY6IG9iamVjdCkgPT4gdm9pZCB9LFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBmbjogKCkgPT4gUHJvbWlzZTxUPiB8IFQsXG4gICAgZmllbGRzPzogb2JqZWN0LFxuKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKVxuICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbigpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgICAgY29uc3QgZW5kID0gcGVyZm9ybWFuY2Uubm93KClcbiAgICAgICAgbG9nZ2VyLnRyYWNlKGBNZWFzdXJlbWVudCBvZiAke25hbWV9IHRpbWVgLCB1bmRlZmluZWQsIHtcbiAgICAgICAgICAgIHN0YXJ0OiBoaWdoUHJlY2lzaW9uSVNPRGF0ZShzdGFydCksXG4gICAgICAgICAgICBlbmQ6IGhpZ2hQcmVjaXNpb25JU09EYXRlKGVuZCksXG4gICAgICAgICAgICBkdXJhdGlvbjogKE1hdGgucm91bmQoZW5kICogMTAwMDApIC0gTWF0aC5yb3VuZChzdGFydCAqIDEwMDAwKSkgLyAxMDAwMCxcbiAgICAgICAgICAgIC4uLmZpZWxkcyxcbiAgICAgICAgfSlcbiAgICB9XG59XG4iXX0=
|
package/host/context.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import {
|
|
2
|
+
import { Context, Environment, Logger } from '../context.js';
|
|
3
3
|
import { FullConfiguration, Metadata } from './registry.js';
|
|
4
4
|
export type ClientInfo = {
|
|
5
5
|
readonly operationId?: string;
|
package/host/context.js
CHANGED
|
@@ -87,4 +87,4 @@ process.on('uncaughtException', err => {
|
|
|
87
87
|
process.on('unhandledRejection', reason => {
|
|
88
88
|
globalLogger?.fatal('Unhandled rejection.', reason, undefined);
|
|
89
89
|
});
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBNkN6QyxNQUFNLGNBQWM7SUFDUCxXQUFXLENBQWdCO0lBQzNCLFdBQVcsQ0FBUTtJQUU1QixZQUFZLFVBQTBCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFBO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUE7SUFDOUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFtQixFQUFFLE1BQW1CO1FBQ2hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDM0YsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixPQUFNO1NBQ1Q7UUFDRCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUE2QixDQUFBO0lBQzVELENBQUM7Q0FDSjtBQU9ELE1BQU0sVUFBVSxhQUFhLENBQ3pCLFVBQXNCLEVBQ3RCLE9BQXVCLEVBQ3ZCLGNBQThCLEVBQzlCLFFBQTJDLEVBQzNDLGVBQWdDLEVBQ2hDLE1BQTBCLEVBQzFCLElBQWUsRUFDZixXQUFxQyxFQUNyQyxHQUE4QjtJQU85QixNQUFNLE9B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QUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFib3J0U2lnbmFsLCBDb250ZXh0LCBFbnZpcm9ubWVudCwgSnNvbiwgTG9nZ2VyIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4vZW1pdHRlci5qcydcbmltcG9ydCB7IG1ha2VMb2dnZXIgfSBmcm9tICcuL2xvZ2dpbmcuanMnXG5pbXBvcnQgeyBGdWxsQ29uZmlndXJhdGlvbiwgTWV0YWRhdGEgfSBmcm9tICcuL3JlZ2lzdHJ5LmpzJ1xuXG5leHBvcnQgdHlwZSBDbGllbnRJbmZvID0ge1xuICAgIHJlYWRvbmx5IG9wZXJhdGlvbklkPzogc3RyaW5nXG4gICAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmdcbiAgICByZWFkb25seSBjbGllbnRJcD86IHN0cmluZ1xuICAgIHJlYWRvbmx5IGNsaWVudFBvcnQ/OiBudW1iZXJcbiAgICByZWFkb25seSB1c2VyQWdlbnQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRNZXRhZGF0YSA9IHtcbiAgICB0b3BpYzogc3RyaW5nXG4gICAgdHlwZTogc3RyaW5nXG4gICAgc3ViamVjdDogc3RyaW5nXG4gICAgaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQnVmZmVyZWRFdmVudCA9IHtcbiAgICBldmVudFRpbWU6IERhdGVcbiAgICBtZXRhOiBPbWl0PEV2ZW50TWV0YWRhdGEsICd0b3BpYyc+XG4gICAgaWRzOiBDbGllbnRJbmZvXG4gICAganNvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBFdmVudFRyYW5zcG9ydCA9IHtcbiAgICByZWFkb25seSBwdWJsaXNoUmF0ZTogbnVtYmVyXG4gICAgc2VuZEV2ZW50cyh0b3BpYzogc3RyaW5nLCBldmVudHM6IEJ1ZmZlcmVkRXZlbnRbXSwgc2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IHR5cGUgTG9nTGV2ZWwgPSAndHJhY2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnZmF0YWwnXG5cbmV4cG9ydCB0eXBlIExvZ0VudHJ5ID0ge1xuICAgIHJlYWRvbmx5IGxldmVsOiBMb2dMZXZlbFxuICAgIHJlYWRvbmx5IHRpbWVzdGFtcDogbnVtYmVyXG4gICAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nXG4gICAgcmVhZG9ubHkgZXJyb3I6IHVua25vd25cbiAgICByZWFkb25seSBqc29uOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTG9nVHJhbnNwb3J0ID0ge1xuICAgIHJlYWRvbmx5IHB1Ymxpc2hSYXRlPzogbnVtYmVyXG4gICAgc2VuZEVudHJpZXMoZW50cmllczogTG9nRW50cnlbXSwgc2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWRcbn1cblxuY2xhc3MgTG9nTXVsdGljYXN0ZXIgaW1wbGVtZW50cyBMb2dUcmFuc3BvcnQge1xuICAgIHJlYWRvbmx5ICN0cmFuc3BvcnRzOiBMb2dUcmFuc3BvcnRbXVxuICAgIHJlYWRvbmx5IHB1Ymxpc2hSYXRlOiBudW1iZXJcblxuICAgIGNvbnN0cnVjdG9yKHRyYW5zcG9ydHM6IExvZ1RyYW5zcG9ydFtdKSB7XG4gICAgICAgIHRoaXMuI3RyYW5zcG9ydHMgPSB0cmFuc3BvcnRzXG4gICAgICAgIHRoaXMucHVibGlzaFJhdGUgPSB0cmFuc3BvcnRzLm1hcCh0ID0+IHQucHVibGlzaFJhdGUpLnNvcnQoKVswXSA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgIH1cblxuICAgIHNlbmRFbnRyaWVzKGVudHJpZXM6IExvZ0VudHJ5W10sIHNpZ25hbDogQWJvcnRTaWduYWwpIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLiN0cmFuc3BvcnRzLm1hcCh0ID0+IHQuc2VuZEVudHJpZXMoZW50cmllcywgc2lnbmFsKSkuZmlsdGVyKHAgPT4gISFwKVxuICAgICAgICBpZiAocHJvbWlzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpIGFzIHVua25vd24gYXMgUHJvbWlzZTx2b2lkPlxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUm9vdExvZ2dlciA9IHtcbiAgICBlbnJpY2hSZXNlcnZlZChmaWVsZHM6IG9iamVjdCk6IFJvb3RMb2dnZXJcbiAgICBmbHVzaCgpOiBQcm9taXNlPHZvaWQ+XG59ICYgTG9nZ2VyXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb250ZXh0KFxuICAgIGNsaWVudEluZm86IENsaWVudEluZm8sXG4gICAgbG9nZ2VyczogTG9nVHJhbnNwb3J0W10sXG4gICAgZXZlbnRUcmFuc3BvcnQ6IEV2ZW50VHJhbnNwb3J0LFxuICAgIHRpbWVvdXRzOiB7IGRlZmF1bHQ6IG51bWJlcjsgY2FwPzogbnVtYmVyIH0sXG4gICAgb3V0ZXJDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIsXG4gICAgY29uZmlnPzogRnVsbENvbmZpZ3VyYXRpb24sXG4gICAgbWV0YT86IE1ldGFkYXRhLFxuICAgIGVudmlyb25tZW50PzogRW52aXJvbm1lbnQgfCB1bmRlZmluZWQsXG4gICAgbm93PzogKCgpID0+IERhdGUpIHwgdW5kZWZpbmVkLFxuKToge1xuICAgIGxvZzogUm9vdExvZ2dlclxuICAgIGNvbnRleHQ6IE9taXQ8Q29udGV4dCwgJ2xvZyc+XG4gICAgc3VjY2VzczogKCkgPT4gUHJvbWlzZTx1bmtub3duPlxuICAgIGZsdXNoOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG59IHtcbiAgICBjb25zdCB0aW1lb3V0ID1cbiAgICAgICAgKHRpbWVvdXRzLmNhcFxuICAgICAgICAgICAgPyBNYXRoLm1pbihjb25maWc/LnRpbWVvdXQgPz8gdGltZW91dHMuZGVmYXVsdCwgdGltZW91dHMuY2FwKVxuICAgICAgICAgICAgOiBjb25maWc/LnRpbWVvdXQgPz8gdGltZW91dHMuZGVmYXVsdCkgKiAxMDAwXG4gICAgY29uc3QgaW5uZXJDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICBjb25zdCBsb2dUcmFuc3BvcnQgPSBsb2dnZXJzLmxlbmd0aCA9PT0gMSA/IGxvZ2dlcnNbMF0hIDogbmV3IExvZ011bHRpY2FzdGVyKGxvZ2dlcnMpXG4gICAgY29uc3QgbG9nZ2VyID0gbWFrZUxvZ2dlcihcbiAgICAgICAgbG9nVHJhbnNwb3J0LFxuICAgICAgICBjb25maWc/Lm1pbmltdW1Mb2dMZXZlbCxcbiAgICAgICAgb3V0ZXJDb250cm9sbGVyLnNpZ25hbCBhcyBBYm9ydFNpZ25hbCxcbiAgICApLmVucmljaFJlc2VydmVkKHtcbiAgICAgICAgb3BlcmF0aW9uSWQ6IGNsaWVudEluZm8ub3BlcmF0aW9uSWQsXG4gICAgICAgIGNsaWVudDoge1xuICAgICAgICAgICAgaWQ6IGNsaWVudEluZm8uY2xpZW50SWQsXG4gICAgICAgICAgICBpcDogY2xpZW50SW5mby5jbGllbnRJcCxcbiAgICAgICAgICAgIHBvcnQ6IGNsaWVudEluZm8uY2xpZW50UG9ydCxcbiAgICAgICAgICAgIHVzZXJBZ2VudDogY2xpZW50SW5mby51c2VyQWdlbnQsXG4gICAgICAgIH0sXG4gICAgfSlcbiAgICBnbG9iYWxMb2dnZXIgPSBsb2dnZXJcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICAgICAgZXZlbnRUcmFuc3BvcnQsXG4gICAgICAgIGxvZ2dlcixcbiAgICAgICAgY2xpZW50SW5mbyxcbiAgICAgICAgdGltZW91dCxcbiAgICAgICAgb3V0ZXJDb250cm9sbGVyLnNpZ25hbCBhcyBBYm9ydFNpZ25hbCxcbiAgICApXG4gICAgY29uc3Qgc3VjY2Vzc0hhbmRsZXJzOiAoKCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQpW10gPSBbXVxuICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgZW52OiBlbnZpcm9ubWVudCA/PyAocHJvY2Vzcy5lbnYgYXMgRW52aXJvbm1lbnQpLFxuICAgICAgICBzaWduYWw6IGlubmVyQ29udHJvbGxlci5zaWduYWwgYXMgQWJvcnRTaWduYWwsXG4gICAgICAgIG5vdzogbm93ID8/ICgoKSA9PiBuZXcgRGF0ZSgpKSxcbiAgICAgICAgb3BlcmF0aW9uSWQ6IGNsaWVudEluZm8ub3BlcmF0aW9uSWQsXG4gICAgICAgIGNsaWVudDoge1xuICAgICAgICAgICAgaWQ6IGNsaWVudEluZm8uY2xpZW50SWQsXG4gICAgICAgICAgICBpcDogY2xpZW50SW5mby5jbGllbnRJcCxcbiAgICAgICAgICAgIHBvcnQ6IGNsaWVudEluZm8uY2xpZW50UG9ydCxcbiAgICAgICAgICAgIHVzZXJBZ2VudDogY2xpZW50SW5mby51c2VyQWdlbnQsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGE6IG1ldGFcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgcGFja2FnZU5hbWU6IG1ldGEucGFja2FnZU5hbWUsXG4gICAgICAgICAgICAgICAgICBmaWxlTmFtZTogbWV0YS5maWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIHJldmlzaW9uOiBtZXRhLnJldmlzaW9uLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1pdDogKHRvcGljOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgc3ViamVjdDogc3RyaW5nLCBkYXRhPzogSnNvbiwgbWVzc2FnZUlkPzogc3RyaW5nKSA9PlxuICAgICAgICAgICAgZW1pdHRlci5lbWl0KHsgdG9waWMsIHR5cGUsIHN1YmplY3QsIGlkOiBtZXNzYWdlSWQgfSwgZGF0YSksXG4gICAgICAgIGV2ZW50QmFycmllcjogKCkgPT4gZW1pdHRlci5mbHVzaCgpLFxuICAgICAgICBvblN1Y2Nlc3M6IChmbjogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQpID0+IHN1Y2Nlc3NIYW5kbGVycy5wdXNoKGZuKSxcbiAgICB9XG4gICAgY29uc3QgdGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsb2dnZXIuZXJyb3IoJ1RpbWVvdXQuJywgdW5kZWZpbmVkLCB1bmRlZmluZWQpXG4gICAgICAgIGlubmVyQ29udHJvbGxlci5hYm9ydCgpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG4gICAgICAgIHZvaWQgbG9nZ2VyLmZsdXNoKClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZvaWRcbiAgICAgICAgdm9pZCBlbWl0dGVyLmZsdXNoKClcbiAgICB9LCB0aW1lb3V0KVxuICAgIGNvbnN0IGZsdXNoSGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxvZ2dlci5lcnJvcignQWJvcnRpbmcgZmx1c2guJywgdW5kZWZpbmVkLCB1bmRlZmluZWQpXG4gICAgICAgIG91dGVyQ29udHJvbGxlci5hYm9ydCgpXG4gICAgfSwgdGltZW91dCArIDE1MDAwKVxuICAgIHJldHVybiB7XG4gICAgICAgIGxvZzogbG9nZ2VyLFxuICAgICAgICBjb250ZXh0OiBjdHgsXG4gICAgICAgIHN1Y2Nlc3M6ICgpID0+IFByb21pc2UuYWxsKHN1Y2Nlc3NIYW5kbGVycy5tYXAoZm4gPT4gZm4oKSkpLFxuICAgICAgICBmbHVzaDogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRIYW5kbGUpXG4gICAgICAgICAgICBhd2FpdCBlbWl0dGVyLmZsdXNoKClcbiAgICAgICAgICAgIGF3YWl0IGxvZ2dlci5mbHVzaCgpXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZmx1c2hIYW5kbGUpXG4gICAgICAgIH0sXG4gICAgfVxufVxuXG5sZXQgZ2xvYmFsTG9nZ2VyOiBMb2dnZXIgfCB1bmRlZmluZWRcblxucHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCBlcnIgPT4ge1xuICAgIGdsb2JhbExvZ2dlcj8uZmF0YWwoJ1VuY2F1Z2h0IGV4Y2VwdGlvbi4nLCBlcnIsIHVuZGVmaW5lZClcbn0pXG5wcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCByZWFzb24gPT4ge1xuICAgIGdsb2JhbExvZ2dlcj8uZmF0YWwoJ1VuaGFuZGxlZCByZWplY3Rpb24uJywgcmVhc29uLCB1bmRlZmluZWQpXG59KVxuIl19
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBNkN6QyxNQUFNLGNBQWM7SUFDUCxXQUFXLENBQWdCO0lBQzNCLFdBQVcsQ0FBUTtJQUU1QixZQUFZLFVBQTBCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFBO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUE7SUFDOUYsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFtQixFQUFFLE1BQW1CO1FBQ2hELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDM0YsSUFBSSxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU07UUFDVixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBNkIsQ0FBQTtJQUM1RCxDQUFDO0NBQ0o7QUFPRCxNQUFNLFVBQVUsYUFBYSxDQUN6QixVQUFzQixFQUN0QixPQUF1QixFQUN2QixjQUE4QixFQUM5QixRQUEyQyxFQUMzQyxlQUFnQyxFQUNoQyxNQUEwQixFQUMxQixJQUFlLEVBQ2YsV0FBcUMsRUFDckMsR0FBOEI7SUFP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Q0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0LCBFbnZpcm9ubWVudCwgSnNvbiwgTG9nZ2VyIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJy4vZW1pdHRlci5qcydcbmltcG9ydCB7IG1ha2VMb2dnZXIgfSBmcm9tICcuL2xvZ2dpbmcuanMnXG5pbXBvcnQgeyBGdWxsQ29uZmlndXJhdGlvbiwgTWV0YWRhdGEgfSBmcm9tICcuL3JlZ2lzdHJ5LmpzJ1xuXG5leHBvcnQgdHlwZSBDbGllbnRJbmZvID0ge1xuICAgIHJlYWRvbmx5IG9wZXJhdGlvbklkPzogc3RyaW5nXG4gICAgcmVhZG9ubHkgY2xpZW50SWQ/OiBzdHJpbmdcbiAgICByZWFkb25seSBjbGllbnRJcD86IHN0cmluZ1xuICAgIHJlYWRvbmx5IGNsaWVudFBvcnQ/OiBudW1iZXJcbiAgICByZWFkb25seSB1c2VyQWdlbnQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRXZlbnRNZXRhZGF0YSA9IHtcbiAgICB0b3BpYzogc3RyaW5nXG4gICAgdHlwZTogc3RyaW5nXG4gICAgc3ViamVjdDogc3RyaW5nXG4gICAgaWQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQnVmZmVyZWRFdmVudCA9IHtcbiAgICBldmVudFRpbWU6IERhdGVcbiAgICBtZXRhOiBPbWl0PEV2ZW50TWV0YWRhdGEsICd0b3BpYyc+XG4gICAgaWRzOiBDbGllbnRJbmZvXG4gICAganNvbj86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBFdmVudFRyYW5zcG9ydCA9IHtcbiAgICByZWFkb25seSBwdWJsaXNoUmF0ZTogbnVtYmVyXG4gICAgc2VuZEV2ZW50cyh0b3BpYzogc3RyaW5nLCBldmVudHM6IEJ1ZmZlcmVkRXZlbnRbXSwgc2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IHR5cGUgTG9nTGV2ZWwgPSAndHJhY2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnZmF0YWwnXG5cbmV4cG9ydCB0eXBlIExvZ0VudHJ5ID0ge1xuICAgIHJlYWRvbmx5IGxldmVsOiBMb2dMZXZlbFxuICAgIHJlYWRvbmx5IHRpbWVzdGFtcDogbnVtYmVyXG4gICAgcmVhZG9ubHkgbWVzc2FnZTogc3RyaW5nXG4gICAgcmVhZG9ubHkgZXJyb3I6IHVua25vd25cbiAgICByZWFkb25seSBqc29uOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTG9nVHJhbnNwb3J0ID0ge1xuICAgIHJlYWRvbmx5IHB1Ymxpc2hSYXRlPzogbnVtYmVyXG4gICAgc2VuZEVudHJpZXMoZW50cmllczogTG9nRW50cnlbXSwgc2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8dm9pZD4gfCB1bmRlZmluZWRcbn1cblxuY2xhc3MgTG9nTXVsdGljYXN0ZXIgaW1wbGVtZW50cyBMb2dUcmFuc3BvcnQge1xuICAgIHJlYWRvbmx5ICN0cmFuc3BvcnRzOiBMb2dUcmFuc3BvcnRbXVxuICAgIHJlYWRvbmx5IHB1Ymxpc2hSYXRlOiBudW1iZXJcblxuICAgIGNvbnN0cnVjdG9yKHRyYW5zcG9ydHM6IExvZ1RyYW5zcG9ydFtdKSB7XG4gICAgICAgIHRoaXMuI3RyYW5zcG9ydHMgPSB0cmFuc3BvcnRzXG4gICAgICAgIHRoaXMucHVibGlzaFJhdGUgPSB0cmFuc3BvcnRzLm1hcCh0ID0+IHQucHVibGlzaFJhdGUpLnNvcnQoKVswXSA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgIH1cblxuICAgIHNlbmRFbnRyaWVzKGVudHJpZXM6IExvZ0VudHJ5W10sIHNpZ25hbDogQWJvcnRTaWduYWwpIHtcbiAgICAgICAgY29uc3QgcHJvbWlzZXMgPSB0aGlzLiN0cmFuc3BvcnRzLm1hcCh0ID0+IHQuc2VuZEVudHJpZXMoZW50cmllcywgc2lnbmFsKSkuZmlsdGVyKHAgPT4gISFwKVxuICAgICAgICBpZiAocHJvbWlzZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwocHJvbWlzZXMpIGFzIHVua25vd24gYXMgUHJvbWlzZTx2b2lkPlxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgUm9vdExvZ2dlciA9IHtcbiAgICBlbnJpY2hSZXNlcnZlZChmaWVsZHM6IG9iamVjdCk6IFJvb3RMb2dnZXJcbiAgICBmbHVzaCgpOiBQcm9taXNlPHZvaWQ+XG59ICYgTG9nZ2VyXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb250ZXh0KFxuICAgIGNsaWVudEluZm86IENsaWVudEluZm8sXG4gICAgbG9nZ2VyczogTG9nVHJhbnNwb3J0W10sXG4gICAgZXZlbnRUcmFuc3BvcnQ6IEV2ZW50VHJhbnNwb3J0LFxuICAgIHRpbWVvdXRzOiB7IGRlZmF1bHQ6IG51bWJlcjsgY2FwPzogbnVtYmVyIH0sXG4gICAgb3V0ZXJDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIsXG4gICAgY29uZmlnPzogRnVsbENvbmZpZ3VyYXRpb24sXG4gICAgbWV0YT86IE1ldGFkYXRhLFxuICAgIGVudmlyb25tZW50PzogRW52aXJvbm1lbnQgfCB1bmRlZmluZWQsXG4gICAgbm93PzogKCgpID0+IERhdGUpIHwgdW5kZWZpbmVkLFxuKToge1xuICAgIGxvZzogUm9vdExvZ2dlclxuICAgIGNvbnRleHQ6IE9taXQ8Q29udGV4dCwgJ2xvZyc+XG4gICAgc3VjY2VzczogKCkgPT4gUHJvbWlzZTx1bmtub3duPlxuICAgIGZsdXNoOiAoKSA9PiBQcm9taXNlPHZvaWQ+XG59IHtcbiAgICBjb25zdCB0aW1lb3V0ID1cbiAgICAgICAgKHRpbWVvdXRzLmNhcFxuICAgICAgICAgICAgPyBNYXRoLm1pbihjb25maWc/LnRpbWVvdXQgPz8gdGltZW91dHMuZGVmYXVsdCwgdGltZW91dHMuY2FwKVxuICAgICAgICAgICAgOiBjb25maWc/LnRpbWVvdXQgPz8gdGltZW91dHMuZGVmYXVsdCkgKiAxMDAwXG4gICAgY29uc3QgaW5uZXJDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICBjb25zdCBsb2dUcmFuc3BvcnQgPSBsb2dnZXJzLmxlbmd0aCA9PT0gMSA/IGxvZ2dlcnNbMF0hIDogbmV3IExvZ011bHRpY2FzdGVyKGxvZ2dlcnMpXG4gICAgY29uc3QgbG9nZ2VyID0gbWFrZUxvZ2dlcihcbiAgICAgICAgbG9nVHJhbnNwb3J0LFxuICAgICAgICBjb25maWc/Lm1pbmltdW1Mb2dMZXZlbCxcbiAgICAgICAgb3V0ZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICApLmVucmljaFJlc2VydmVkKHtcbiAgICAgICAgb3BlcmF0aW9uSWQ6IGNsaWVudEluZm8ub3BlcmF0aW9uSWQsXG4gICAgICAgIGNsaWVudDoge1xuICAgICAgICAgICAgaWQ6IGNsaWVudEluZm8uY2xpZW50SWQsXG4gICAgICAgICAgICBpcDogY2xpZW50SW5mby5jbGllbnRJcCxcbiAgICAgICAgICAgIHBvcnQ6IGNsaWVudEluZm8uY2xpZW50UG9ydCxcbiAgICAgICAgICAgIHVzZXJBZ2VudDogY2xpZW50SW5mby51c2VyQWdlbnQsXG4gICAgICAgIH0sXG4gICAgfSlcbiAgICBnbG9iYWxMb2dnZXIgPSBsb2dnZXJcbiAgICBjb25zdCBlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcihcbiAgICAgICAgZXZlbnRUcmFuc3BvcnQsXG4gICAgICAgIGxvZ2dlcixcbiAgICAgICAgY2xpZW50SW5mbyxcbiAgICAgICAgdGltZW91dCxcbiAgICAgICAgb3V0ZXJDb250cm9sbGVyLnNpZ25hbCxcbiAgICApXG4gICAgY29uc3Qgc3VjY2Vzc0hhbmRsZXJzOiAoKCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQpW10gPSBbXVxuICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgZW52OiBlbnZpcm9ubWVudCA/PyAocHJvY2Vzcy5lbnYgYXMgRW52aXJvbm1lbnQpLFxuICAgICAgICBzaWduYWw6IGlubmVyQ29udHJvbGxlci5zaWduYWwsXG4gICAgICAgIG5vdzogbm93ID8/ICgoKSA9PiBuZXcgRGF0ZSgpKSxcbiAgICAgICAgb3BlcmF0aW9uSWQ6IGNsaWVudEluZm8ub3BlcmF0aW9uSWQsXG4gICAgICAgIGNsaWVudDoge1xuICAgICAgICAgICAgaWQ6IGNsaWVudEluZm8uY2xpZW50SWQsXG4gICAgICAgICAgICBpcDogY2xpZW50SW5mby5jbGllbnRJcCxcbiAgICAgICAgICAgIHBvcnQ6IGNsaWVudEluZm8uY2xpZW50UG9ydCxcbiAgICAgICAgICAgIHVzZXJBZ2VudDogY2xpZW50SW5mby51c2VyQWdlbnQsXG4gICAgICAgIH0sXG4gICAgICAgIG1ldGE6IG1ldGFcbiAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgcGFja2FnZU5hbWU6IG1ldGEucGFja2FnZU5hbWUsXG4gICAgICAgICAgICAgICAgICBmaWxlTmFtZTogbWV0YS5maWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgIHJldmlzaW9uOiBtZXRhLnJldmlzaW9uLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZW1pdDogKHRvcGljOiBzdHJpbmcsIHR5cGU6IHN0cmluZywgc3ViamVjdDogc3RyaW5nLCBkYXRhPzogSnNvbiwgbWVzc2FnZUlkPzogc3RyaW5nKSA9PlxuICAgICAgICAgICAgZW1pdHRlci5lbWl0KHsgdG9waWMsIHR5cGUsIHN1YmplY3QsIGlkOiBtZXNzYWdlSWQgfSwgZGF0YSksXG4gICAgICAgIGV2ZW50QmFycmllcjogKCkgPT4gZW1pdHRlci5mbHVzaCgpLFxuICAgICAgICBvblN1Y2Nlc3M6IChmbjogKCkgPT4gUHJvbWlzZTx2b2lkPiB8IHZvaWQpID0+IHN1Y2Nlc3NIYW5kbGVycy5wdXNoKGZuKSxcbiAgICB9XG4gICAgY29uc3QgdGltZW91dEhhbmRsZSA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBsb2dnZXIuZXJyb3IoJ1RpbWVvdXQuJywgdW5kZWZpbmVkLCB1bmRlZmluZWQpXG4gICAgICAgIGlubmVyQ29udHJvbGxlci5hYm9ydCgpXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG4gICAgICAgIHZvaWQgbG9nZ2VyLmZsdXNoKClcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZvaWRcbiAgICAgICAgdm9pZCBlbWl0dGVyLmZsdXNoKClcbiAgICB9LCB0aW1lb3V0KVxuICAgIGNvbnN0IGZsdXNoSGFuZGxlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGxvZ2dlci5lcnJvcignQWJvcnRpbmcgZmx1c2guJywgdW5kZWZpbmVkLCB1bmRlZmluZWQpXG4gICAgICAgIG91dGVyQ29udHJvbGxlci5hYm9ydCgpXG4gICAgfSwgdGltZW91dCArIDE1MDAwKVxuICAgIHJldHVybiB7XG4gICAgICAgIGxvZzogbG9nZ2VyLFxuICAgICAgICBjb250ZXh0OiBjdHgsXG4gICAgICAgIHN1Y2Nlc3M6ICgpID0+IFByb21pc2UuYWxsKHN1Y2Nlc3NIYW5kbGVycy5tYXAoZm4gPT4gZm4oKSkpLFxuICAgICAgICBmbHVzaDogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRIYW5kbGUpXG4gICAgICAgICAgICBhd2FpdCBlbWl0dGVyLmZsdXNoKClcbiAgICAgICAgICAgIGF3YWl0IGxvZ2dlci5mbHVzaCgpXG4gICAgICAgICAgICBjbGVhclRpbWVvdXQoZmx1c2hIYW5kbGUpXG4gICAgICAgIH0sXG4gICAgfVxufVxuXG5sZXQgZ2xvYmFsTG9nZ2VyOiBMb2dnZXIgfCB1bmRlZmluZWRcblxucHJvY2Vzcy5vbigndW5jYXVnaHRFeGNlcHRpb24nLCBlcnIgPT4ge1xuICAgIGdsb2JhbExvZ2dlcj8uZmF0YWwoJ1VuY2F1Z2h0IGV4Y2VwdGlvbi4nLCBlcnIsIHVuZGVmaW5lZClcbn0pXG5wcm9jZXNzLm9uKCd1bmhhbmRsZWRSZWplY3Rpb24nLCByZWFzb24gPT4ge1xuICAgIGdsb2JhbExvZ2dlcj8uZmF0YWwoJ1VuaGFuZGxlZCByZWplY3Rpb24uJywgcmVhc29uLCB1bmRlZmluZWQpXG59KVxuIl19
|
package/host/emitter.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { Json, Logger } from '../context.js';
|
|
2
3
|
import { EventMetadata, EventTransport } from './context.js';
|
|
3
4
|
export declare class EventEmitter {
|
|
4
5
|
#private;
|
package/host/emitter.js
CHANGED
|
@@ -65,4 +65,4 @@ export class EventEmitter {
|
|
|
65
65
|
}));
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImVtaXR0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFPLFlBQVk7SUFDWixVQUFVLENBQWdCO0lBQzFCLE9BQU8sQ0FBUTtJQUNmLElBQUksQ0FBWTtJQUN6QixRQUFRLEdBQWUsRUFBRSxDQUFBO0lBQ3pCLEtBQUssR0FBRyxDQUFDLENBQUE7SUFDVCxRQUFRLENBQWdCO0lBQ2YsU0FBUyxDQUFRO0lBQzFCLFNBQVMsQ0FBUTtJQUNSLE9BQU8sQ0FBYTtJQUU3QixZQUNJLFNBQXlCLEVBQ3pCLE1BQWMsRUFDZCxHQUF1RixFQUN2RixPQUFlLEVBQ2YsTUFBbUI7UUFFbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUE7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUE7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQy9DLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBbUIsRUFBRSxJQUFXO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFBO1FBQ3RELElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBRyxRQUFRLEVBQUUsQ0FBQztZQUMxRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDdEMsQ0FBQztRQUNELE1BQU0sS0FBSyxHQUNQLElBQUksS0FBSyxTQUFTO1lBQ2QsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNyQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDekUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDeEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbEIsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDO2dCQUMzQyxtQ0FBbUM7Z0JBQ25DLEtBQUssSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO1lBQ3JCLENBQUM7UUFDTCxDQUFDO1FBQ0QsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFtQjtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUN4RSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBbUI7UUFDbEMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQztnQkFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ2pFLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDOUQsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FDTCxDQUFBO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvbiwgTG9nZ2VyIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB7IEJ1ZmZlcmVkRXZlbnQsIENsaWVudEluZm8sIEV2ZW50TWV0YWRhdGEsIEV2ZW50VHJhbnNwb3J0IH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuXG50eXBlIEVtaXRCdWZmZXIgPSB7XG4gICAgW3RvcGljOiBzdHJpbmddOiBCdWZmZXJlZEV2ZW50W11cbn1cblxuZXhwb3J0IGNsYXNzIEV2ZW50RW1pdHRlciB7XG4gICAgcmVhZG9ubHkgI3RyYW5zcG9ydDogRXZlbnRUcmFuc3BvcnRcbiAgICByZWFkb25seSAjbG9nZ2VyOiBMb2dnZXJcbiAgICByZWFkb25seSAjaWRzOiBDbGllbnRJbmZvXG4gICAgI2VtaXR0ZWQ6IEVtaXRCdWZmZXIgPSB7fVxuICAgICNzaXplID0gMFxuICAgICNmbHVzaGVyPzogUHJvbWlzZTx2b2lkPlxuICAgIHJlYWRvbmx5ICNkZWFkbGluZTogbnVtYmVyXG4gICAgI2J1ZmZlcmVkOiBudW1iZXJcbiAgICByZWFkb25seSAjc2lnbmFsOiBBYm9ydFNpZ25hbFxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHRyYW5zcG9ydDogRXZlbnRUcmFuc3BvcnQsXG4gICAgICAgIGxvZ2dlcjogTG9nZ2VyLFxuICAgICAgICBpZHM6IHsgb3BlcmF0aW9uSWQ/OiBzdHJpbmc7IGNsaWVudElkPzogc3RyaW5nOyBjbGllbnRJcD86IHN0cmluZzsgdXNlckFnZW50Pzogc3RyaW5nIH0sXG4gICAgICAgIHRpbWVvdXQ6IG51bWJlcixcbiAgICAgICAgc2lnbmFsOiBBYm9ydFNpZ25hbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy4jdHJhbnNwb3J0ID0gdHJhbnNwb3J0XG4gICAgICAgIHRoaXMuI2xvZ2dlciA9IGxvZ2dlclxuICAgICAgICB0aGlzLiNpZHMgPSBpZHNcbiAgICAgICAgdGhpcy4jZGVhZGxpbmUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHRpbWVvdXRcbiAgICAgICAgdGhpcy4jYnVmZmVyZWQgPSAwXG4gICAgICAgIHRoaXMuI3NpZ25hbCA9IHNpZ25hbFxuICAgIH1cblxuICAgIGVtaXQobWV0YTogRXZlbnRNZXRhZGF0YSwgZGF0YT86IEpzb24pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZXZlbnRUaW1lID0gbmV3IERhdGUoKVxuICAgICAgICBjb25zdCB0aW1lTGVmdCA9IHRoaXMuI2RlYWRsaW5lIC0gbmV3IERhdGUoKS5nZXRUaW1lKClcbiAgICAgICAgaWYgKHRoaXMuI2J1ZmZlcmVkIC8gdGhpcy4jdHJhbnNwb3J0LnB1Ymxpc2hSYXRlID4gdGltZUxlZnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXZlbnQgb3ZlcmZsb3cuJylcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudCA9XG4gICAgICAgICAgICBkYXRhID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHsgbWV0YSwgaWRzOiB0aGlzLiNpZHMsIGV2ZW50VGltZSB9XG4gICAgICAgICAgICAgICAgOiB7IG1ldGEsIGlkczogdGhpcy4jaWRzLCBldmVudFRpbWUsIGpzb246IEpTT04uc3RyaW5naWZ5KGRhdGEpIH1cbiAgICAgICAgY29uc3QgZXZlbnRzID0gdGhpcy4jZW1pdHRlZFttZXRhLnRvcGljXVxuICAgICAgICBpZiAoIWV2ZW50cykge1xuICAgICAgICAgICAgdGhpcy4jZW1pdHRlZFttZXRhLnRvcGljXSA9IFtldmVudF1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV2ZW50cy5wdXNoKGV2ZW50KVxuICAgICAgICAgICAgaWYgKGV2ZW50cy5sZW5ndGggPiA2NCB8fCB0aGlzLiNzaXplID4gNjQwMDApIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZFxuICAgICAgICAgICAgICAgIHZvaWQgdGhpcy5mbHVzaCgpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKyt0aGlzLiNidWZmZXJlZFxuICAgICAgICB0aGlzLiNzaXplICs9IGV2ZW50Lmpzb24/Lmxlbmd0aCA/PyAwXG4gICAgfVxuXG4gICAgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuI3N0YXJ0Rmx1c2godGhpcy4jZW1pdHRlZClcbiAgICAgICAgdGhpcy4jZW1pdHRlZCA9IHt9XG4gICAgICAgIHRoaXMuI3NpemUgPSAwXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLiNmbHVzaGVyXG4gICAgfVxuXG4gICAgI3N0YXJ0Rmx1c2goZW1pdHRlZDogRW1pdEJ1ZmZlcikge1xuICAgICAgICBpZiAodGhpcy4jZmx1c2hlcikge1xuICAgICAgICAgICAgdGhpcy4jZmx1c2hlciA9IHRoaXMuI2ZsdXNoZXIudGhlbigoKSA9PiB0aGlzLiNmbHVzaEV2ZW50cyhlbWl0dGVkKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI2ZsdXNoZXIgPSB0aGlzLiNmbHVzaEV2ZW50cyhlbWl0dGVkKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgI2ZsdXNoRXZlbnRzKGVtaXR0ZWQ6IEVtaXRCdWZmZXIpIHtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhlbWl0dGVkKS5tYXAoYXN5bmMgKFt0b3BpYywgZXZlbnRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuI3RyYW5zcG9ydC5zZW5kRXZlbnRzKHRvcGljLCBldmVudHMsIHRoaXMuI3NpZ25hbClcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2xvZ2dlci5mYXRhbCgnRXJyb3Igc2VuZGluZyBldmVudHMuJywgZSwgeyBldmVudHMgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy4jYnVmZmVyZWQgLT0gZXZlbnRzLmxlbmd0aFxuICAgICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICB9XG59XG4iXX0=
|
package/host/http.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { parse } from 'node:url';
|
|
2
1
|
import { measure } from '../context.js';
|
|
3
2
|
export async function executeRequest(log, context, handler, options, success) {
|
|
4
3
|
const isShallow = context.env.SHALLOW_KEY && options.headers?.['x-shallow'] === context.env.SHALLOW_KEY;
|
|
@@ -21,18 +20,42 @@ export async function executeRequest(log, context, handler, options, success) {
|
|
|
21
20
|
const req = {
|
|
22
21
|
rawUrl: options.uri,
|
|
23
22
|
get url() {
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
if (parsedUrl) {
|
|
24
|
+
return parsedUrl;
|
|
25
|
+
}
|
|
26
|
+
const url = new URL(this.rawUrl);
|
|
27
|
+
parsedUrl = {
|
|
28
|
+
__proto__: null,
|
|
29
|
+
hash: url.hash,
|
|
30
|
+
host: url.host,
|
|
31
|
+
hostname: url.hostname,
|
|
32
|
+
href: url.href,
|
|
33
|
+
origin: url.origin,
|
|
34
|
+
password: url.password,
|
|
35
|
+
pathname: url.pathname,
|
|
36
|
+
port: url.port,
|
|
37
|
+
protocol: url.protocol,
|
|
38
|
+
search: url.search,
|
|
39
|
+
get searchParams() {
|
|
40
|
+
return url.searchParams;
|
|
41
|
+
},
|
|
42
|
+
toJSON: () => url.toJSON(),
|
|
43
|
+
toString: () => url.toString(),
|
|
44
|
+
username: url.username,
|
|
26
45
|
pathStepAt: (index) => {
|
|
27
|
-
|
|
28
|
-
const steps = (pathSteps ??= parsedUrl.pathname?.split('/') ?? []);
|
|
46
|
+
const steps = (pathSteps ??= url.pathname?.split('/') ?? []);
|
|
29
47
|
const step = steps[index + 1];
|
|
30
48
|
if (!step) {
|
|
31
|
-
throw new RangeError(`Path does not have a step at index ${index}.`)
|
|
49
|
+
throw Object.assign(new RangeError(`Path does not have a step at index ${index}.`), {
|
|
50
|
+
rawUrl: this.rawUrl,
|
|
51
|
+
pathName: url.pathname,
|
|
52
|
+
steps: steps.slice(1),
|
|
53
|
+
});
|
|
32
54
|
}
|
|
33
55
|
return step;
|
|
34
56
|
},
|
|
35
|
-
}
|
|
57
|
+
};
|
|
58
|
+
return parsedUrl;
|
|
36
59
|
},
|
|
37
60
|
body: requestBody(options),
|
|
38
61
|
headers: options.headers ?? {},
|
|
@@ -209,4 +232,4 @@ export function clientFromHeaders(headers) {
|
|
|
209
232
|
userAgent: headers['x-forwarded-for-user-agent'] ?? headers['user-agent'],
|
|
210
233
|
};
|
|
211
234
|
}
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBc0IsTUFBTSxVQUFVLENBQUE7QUFDcEQsT0FBTyxFQUFXLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQTBCaEQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLEdBQWUsRUFDZixPQUE2QixFQUM3QixPQUFvQixFQUNwQixPQUF1QixFQUN2QixPQUErQjtJQUUvQixNQUFNLFNBQVMsR0FDWCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUE7SUFDekYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUE7SUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCO1FBQ2hDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNoRSxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLElBQUksU0FBUyxFQUFFO1FBQ1gsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO1FBQzVCLE9BQU87WUFDSCxPQUFPLEVBQUUsRUFBRTtZQUNYLE1BQU0sRUFBRSxHQUFHO1NBQ2QsQ0FBQTtLQUNKO0lBQ0QsR0FBRyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUMx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SjtBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQzdCLE9BQXVEO0lBRXZELElBQUksQ0FBQyxPQUFPLEVBQUU7UUFDVixPQUFPLEVBQUUsQ0FBQTtLQUNaO0lBQ0QsT0FBTztRQUNILFdBQVcsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQztRQUM3RCxRQUFRLEVBQ0osT0FBTyxDQUFDLGFBQWEsQ0FBQztZQUN0QixPQUFPLENBQUMsbUJBQW1CLENBQUM7WUFDNUIsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUNwQixPQUFPLENBQUMsaUJBQWlCLENBQUM7UUFDOUIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUNwQyxTQUFTLEVBQUUsT0FBTyxDQUFDLDRCQUE0QixDQUFDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQztLQUM1RSxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHBhcnNlLCBVcmxXaXRoUGFyc2VkUXVlcnkgfSBmcm9tICdub2RlOnVybCdcbmltcG9ydCB7IENvbnRleHQsIG1lYXN1cmUgfSBmcm9tICcuLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHR5cGUgeyBKc29uLCBSZXNwb25zZUhlYWRlcnMsIFJlc3VsdCB9IGZyb20gJy4uL2h0dHAuanMnXG5pbXBvcnQgeyBDbGllbnRJbmZvLCBSb290TG9nZ2VyIH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHR5cGUgeyBIdHRwSGFuZGxlciB9IGZyb20gJy4vcmVnaXN0cnkuanMnXG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlID0ge1xuICAgIGhlYWRlcnM6IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbiAgICBzdGF0dXM6IG51bWJlclxuICAgIGJvZHk/OiBzdHJpbmcgfCBCdWZmZXJcbn1cblxudHlwZSBSZXF1ZXN0T3B0aW9ucyA9IEJvZHlsZXNzUmVxdWVzdE9wdGlvbnMgfCBTdHJpbmdSZXF1ZXN0T3B0aW9ucyB8IEpzb25SZXF1ZXN0T3B0aW9uc1xuXG50eXBlIEJvZHlsZXNzUmVxdWVzdE9wdGlvbnMgPSB7XG4gICAgdXJpOiBzdHJpbmdcbiAgICBoZWFkZXJzPzogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxufVxuXG50eXBlIFN0cmluZ1JlcXVlc3RPcHRpb25zID0gQm9keWxlc3NSZXF1ZXN0T3B0aW9ucyAmIHtcbiAgICBib2R5OiBzdHJpbmdcbn1cblxudHlwZSBKc29uUmVxdWVzdE9wdGlvbnMgPSBCb2R5bGVzc1JlcXVlc3RPcHRpb25zICYge1xuICAgIGpzb246IEpzb25cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGVSZXF1ZXN0KFxuICAgIGxvZzogUm9vdExvZ2dlcixcbiAgICBjb250ZXh0OiBPbWl0PENvbnRleHQsICdsb2cnPixcbiAgICBoYW5kbGVyOiBIdHRwSGFuZGxlcixcbiAgICBvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyxcbiAgICBzdWNjZXNzOiAoKSA9PiBQcm9taXNlPHVua25vd24+LFxuKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIGNvbnN0IGlzU2hhbGxvdyA9XG4gICAgICAgIGNvbnRleHQuZW52LlNIQUxMT1dfS0VZICYmIG9wdGlvbnMuaGVhZGVycz8uWyd4LXNoYWxsb3cnXSA9PT0gY29udGV4dC5lbnYuU0hBTExPV19LRVlcbiAgICBjb25zdCBpbmNsdWRlQm9keUluTG9ncyA9ICFoYW5kbGVyLmNvbmZpZz8uZXhjbHVkZUJvZHlGcm9tTG9nc1xuICAgIGNvbnN0IGxvZ1JlcXVlc3QgPSBpbmNsdWRlQm9keUluTG9nc1xuICAgICAgICA/IHsgbWV0aG9kOiBoYW5kbGVyLm1ldGhvZCwgLi4ub3B0aW9ucyB9XG4gICAgICAgIDogd2l0aG91dFJlcXVlc3RCb2R5KHsgbWV0aG9kOiBoYW5kbGVyLm1ldGhvZCwgLi4ub3B0aW9ucyB9KVxuICAgIGxvZyA9IGxvZy5lbnJpY2hSZXNlcnZlZCh7IG1ldGE6IGNvbnRleHQubWV0YSwgcmVxdWVzdDogbG9nUmVxdWVzdCB9KVxuICAgIGlmIChpc1NoYWxsb3cpIHtcbiAgICAgICAgbG9nLnRyYWNlKCdTaGFsbG93IHJlcXVlc3QnKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICBzdGF0dXM6IDIwNCxcbiAgICAgICAgfVxuICAgIH1cbiAgICBsb2cudHJhY2UoJ1JlcXVlc3QgQkVHSU4nKVxuICAgIHRyeSB7XG4gICAgICAgIGxldCBwYXJzZWRVcmw6IChVcmxXaXRoUGFyc2VkUXVlcnkgJiB7IHBhdGhTdGVwQXQ6IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcgfSkgfCB1bmRlZmluZWRcbiAgICAgICAgbGV0IHBhdGhTdGVwczogc3RyaW5nW10gfCB1bmRlZmluZWRcbiAgICAgICAgY29uc3QgcmVxID0ge1xuICAgICAgICAgICAgcmF3VXJsOiBvcHRpb25zLnVyaSxcbiAgICAgICAgICAgIGdldCB1cmwoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIChwYXJzZWRVcmwgPz89IHtcbiAgICAgICAgICAgICAgICAgICAgLi4ucGFyc2UodGhpcy5yYXdVcmwsIHRydWUpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoU3RlcEF0OiAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZXBzID0gKHBhdGhTdGVwcyA/Pz0gcGFyc2VkVXJsIS5wYXRobmFtZT8uc3BsaXQoJy8nKSA/PyBbXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZXAgPSBzdGVwc1tpbmRleCArIDFdXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXN0ZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihgUGF0aCBkb2VzIG5vdCBoYXZlIGEgc3RlcCBhdCBpbmRleCAke2luZGV4fS5gKVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN0ZXBcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGJvZHk6IHJlcXVlc3RCb2R5KG9wdGlvbnMpLFxuICAgICAgICAgICAgaGVhZGVyczogb3B0aW9ucy5oZWFkZXJzID8/IHt9LFxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgbWVhc3VyZShsb2csICdleGVjdXRpb24nLCAoKSA9PlxuICAgICAgICAgICAgaGFuZGxlci5lbnRyeSh7IC4uLmNvbnRleHQsIGxvZyB9LCByZXEpLFxuICAgICAgICApXG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSByZXN1bHRUb1Jlc3BvbnNlKHJlc3VsdCwgaW5jbHVkZUJvZHlJbkxvZ3MpXG5cbiAgICAgICAgaWYgKGNvbnRleHQuc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlLmhlYWRlcnMgPSB7XG4gICAgICAgICAgICAgICAgJ3gtdGltZW91dCc6ICcxJyxcbiAgICAgICAgICAgICAgICAuLi5yZXNwb25zZS5oZWFkZXJzLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbG9nID0gbG9nLmVucmljaFJlc2VydmVkKHtcbiAgICAgICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXNwb25zZS5zdGF0dXMsXG4gICAgICAgICAgICAgICAgaGVhZGVyczogcmVzcG9uc2UuaGVhZGVycyxcbiAgICAgICAgICAgICAgICBib2R5OiByZXNwb25zZS5sb2dCb2R5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA8IDMwMCkge1xuICAgICAgICAgICAgbG9nLmRlYnVnKCdSZXF1ZXN0IEVORCcpXG4gICAgICAgICAgICBhd2FpdCBzdWNjZXNzKClcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxvZy53YXJuKCdSZXF1ZXN0IEVORCcpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBlcnJvclRvUmVzcG9uc2UoZSlcbiAgICAgICAgICAgIGxvZyA9IGxvZy5lbnJpY2hSZXNlcnZlZCh7IHJlc3BvbnNlIH0pXG4gICAgICAgICAgICBsb2cuZXJyb3IoJ1JlcXVlc3QgRU5EJywgZSlcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZVxuICAgICAgICB9IGNhdGNoIChjb252ZXJ0RXJyb3IpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignQ291bGQgbm90IGNvbnZlcnQgZXhjZXB0aW9uIHRvIGVycm9yIHJlc3BvbnNlLicsIGNvbnZlcnRFcnJvcilcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICAgICAgc3RhdHVzOiA1MDAsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHJlc3VsdFRvUmVzcG9uc2UocmVzdWx0OiBSZXN1bHQsIHdpdGhMb2dCb2R5OiBib29sZWFuKTogUmVzcG9uc2UgJiB7IGxvZ0JvZHk/OiB1bmtub3duIH0ge1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7fSxcbiAgICAgICAgICAgIHN0YXR1czogMjA0LFxuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzdWx0ID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb25zdCBsb2dCb2R5ID0gd2l0aExvZ0JvZHkgPyByZXN1bHQgOiB1bmRlZmluZWRcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1czogMjAwLFxuICAgICAgICAgICAgYm9keTogcmVzdWx0LFxuICAgICAgICAgICAgbG9nQm9keSxcbiAgICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZXN1bHQuYm9keSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3VsdC5oZWFkZXJzID8/IHt9LFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlc3VsdC5ib2R5ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgY29uc3QgbG9nQm9keSA9IHdpdGhMb2dCb2R5ID8gcmVzdWx0LmJvZHkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogd2l0aENvbnRlbnRUeXBlKHJlc3VsdC5oZWFkZXJzLCAndGV4dC9wbGFpbicpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICAgICAgYm9keTogcmVzdWx0LmJvZHksXG4gICAgICAgICAgICAgICAgbG9nQm9keSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChCdWZmZXIuaXNCdWZmZXIocmVzdWx0LmJvZHkpKSB7XG4gICAgICAgICAgICBjb25zdCBsb2dCb2R5ID0gd2l0aExvZ0JvZHkgPyByZXN1bHQuYm9keS50b1N0cmluZygnYmFzZTY0JykgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogd2l0aENvbnRlbnRUeXBlKHJlc3VsdC5oZWFkZXJzLCAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyksXG4gICAgICAgICAgICAgICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzID8/IDIwMCxcbiAgICAgICAgICAgICAgICBib2R5OiByZXN1bHQuYm9keSxcbiAgICAgICAgICAgICAgICBsb2dCb2R5LFxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbG9nQm9keSA9IHdpdGhMb2dCb2R5ID8gcmVzdWx0LmJvZHkgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogd2l0aENvbnRlbnRUeXBlKHJlc3VsdC5oZWFkZXJzLCAnYXBwbGljYXRpb24vanNvbicpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocmVzdWx0LmJvZHkpLFxuICAgICAgICAgICAgICAgIGxvZ0JvZHksXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmZ1bmN0aW9uIHdpdGhvdXRSZXF1ZXN0Qm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyAmIHsgbWV0aG9kOiBzdHJpbmcgfSkge1xuICAgIGlmIChoYXNKc29uQm9keShvcHRpb25zKSkge1xuICAgICAgICBjb25zdCB7IGpzb24sIC4uLmJvZHlsZXNzIH0gPSBvcHRpb25zXG4gICAgICAgIHJldHVybiBib2R5bGVzc1xuICAgIH1cbiAgICBpZiAoaGFzU3RyaW5nQm9keShvcHRpb25zKSkge1xuICAgICAgICBjb25zdCB7IGJvZHksIC4uLmJvZHlsZXNzIH0gPSBvcHRpb25zXG4gICAgICAgIHJldHVybiBib2R5bGVzc1xuICAgIH1cbiAgICByZXR1cm4gb3B0aW9uc1xufVxuXG5mdW5jdGlvbiByZXF1ZXN0Qm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IEpzb24gfCBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmIChoYXNKc29uQm9keShvcHRpb25zKSkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5qc29uXG4gICAgfVxuICAgIGlmIChoYXNTdHJpbmdCb2R5KG9wdGlvbnMpKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmJvZHlcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiBoYXNKc29uQm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IG9wdGlvbnMgaXMgSnNvblJlcXVlc3RPcHRpb25zIHtcbiAgICByZXR1cm4gKG9wdGlvbnMgYXMgeyBqc29uPzogdW5rbm93biB9KS5qc29uICE9PSB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaGFzU3RyaW5nQm9keShvcHRpb25zOiBSZXF1ZXN0T3B0aW9ucyk6IG9wdGlvbnMgaXMgU3RyaW5nUmVxdWVzdE9wdGlvbnMge1xuICAgIHJldHVybiAob3B0aW9ucyBhcyB7IGJvZHk/OiB1bmtub3duIH0pLmJvZHkgIT09IHVuZGVmaW5lZFxufVxuXG5mdW5jdGlvbiB3aXRoQ29udGVudFR5cGUoaGVhZGVyczogUmVzcG9uc2VIZWFkZXJzIHwgdW5kZWZpbmVkLCBjb250ZW50VHlwZTogc3RyaW5nKSB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAnY29udGVudC10eXBlJzogY29udGVudFR5cGUsXG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFoZWFkZXJzWydjb250ZW50LXR5cGUnXSkge1xuICAgICAgICBoZWFkZXJzWydjb250ZW50LXR5cGUnXSA9IGNvbnRlbnRUeXBlXG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzXG59XG5cbmZ1bmN0aW9uIGVycm9yVG9SZXNwb25zZShlOiB1bmtub3duKTogUmVzcG9uc2Uge1xuICAgIGNvbnN0IHsgYm9keSwgc3RhdHVzQ29kZTogc3RhdHVzIH0gPSBlIGFzIHsgYm9keT86IHVua25vd247IHN0YXR1c0NvZGU/OiBudW1iZXIgfVxuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzID8/IDUwMCxcbiAgICAgICAgICAgIGJvZHksXG4gICAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBib2R5ID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMgPz8gNTAwLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyA1MDAsXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGllbnRGcm9tSGVhZGVycyhcbiAgICBoZWFkZXJzOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHwgdW5kZWZpbmVkLFxuKTogQ2xpZW50SW5mbyB7XG4gICAgaWYgKCFoZWFkZXJzKSB7XG4gICAgICAgIHJldHVybiB7fVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBvcGVyYXRpb25JZDogaGVhZGVyc1sneC1yZXF1ZXN0LWlkJ10gPz8gaGVhZGVyc1sncmVxdWVzdC1pZCddLFxuICAgICAgICBjbGllbnRJZDpcbiAgICAgICAgICAgIGhlYWRlcnNbJ3gtY2xpZW50LWlkJ10gPz9cbiAgICAgICAgICAgIGhlYWRlcnNbJ3gtaW5zdGFsbGF0aW9uLWlkJ10gPz9cbiAgICAgICAgICAgIGhlYWRlcnNbJ2NsaWVudC1pZCddID8/XG4gICAgICAgICAgICBoZWFkZXJzWydpbnN0YWxsYXRpb24taWQnXSxcbiAgICAgICAgY2xpZW50SXA6IGhlYWRlcnNbJ3gtZm9yd2FyZGVkLWZvciddLFxuICAgICAgICB1c2VyQWdlbnQ6IGhlYWRlcnNbJ3gtZm9yd2FyZGVkLWZvci11c2VyLWFnZW50J10gPz8gaGVhZGVyc1sndXNlci1hZ2VudCddLFxuICAgIH1cbn1cbiJdfQ==
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFXLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQTBCaEQsTUFBTSxDQUFDLEtBQUssVUFBVSxjQUFjLENBQ2hDLEdBQWUsRUFDZixPQUE2QixFQUM3QixPQUFvQixFQUNwQixPQUF1QixFQUN2QixPQUErQjtJQUUvQixNQUFNLFNBQVMsR0FDWCxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUE7SUFDekYsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUE7SUFDOUQsTUFBTSxVQUFVLEdBQUcsaUJBQWlCO1FBQ2hDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQTtJQUNoRSxHQUFHLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO0lBQ3JFLElBQUksU0FBUyxFQUFFLENBQUM7UUFDWixHQUFHLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDNUIsT0FBTztZQUNILE9BQU8sRUFBRSxFQUFFO1lBQ1gsTUFBTSxFQUFFLEdBQUc7U0FDZCxDQUFBO0lBQ0wsQ0FBQztJQUNELEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUE7SUFDMUIsSUFBSSxDQUFDO1FBQ0QsSUFBSSxTQU9XLENBQUE7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WCxNQUFNLEVBQUUsTUFBTSxJQUFJLEdBQUc7U0FDeEIsQ0FBQTtJQUNMLENBQUM7QUFDTCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUM3QixPQUF1RDtJQUV2RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDWCxPQUFPLEVBQUUsQ0FBQTtJQUNiLENBQUM7SUFDRCxPQUFPO1FBQ0gsV0FBVyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQzdELFFBQVEsRUFDSixPQUFPLENBQUMsYUFBYSxDQUFDO1lBQ3RCLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQztZQUM1QixPQUFPLENBQUMsV0FBVyxDQUFDO1lBQ3BCLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQztRQUM5QixRQUFRLEVBQUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDO1FBQ3BDLFNBQVMsRUFBRSxPQUFPLENBQUMsNEJBQTRCLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO0tBQzVFLENBQUE7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dCwgbWVhc3VyZSB9IGZyb20gJy4uL2NvbnRleHQuanMnXG5pbXBvcnQgdHlwZSB7IEpzb24sIFBhcnNlZFVybCwgUmVzcG9uc2VIZWFkZXJzLCBSZXN1bHQgfSBmcm9tICcuLi9odHRwLmpzJ1xuaW1wb3J0IHsgQ2xpZW50SW5mbywgUm9vdExvZ2dlciB9IGZyb20gJy4vY29udGV4dC5qcydcbmltcG9ydCB0eXBlIHsgSHR0cEhhbmRsZXIgfSBmcm9tICcuL3JlZ2lzdHJ5LmpzJ1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IHtcbiAgICBoZWFkZXJzOiB7IHJlYWRvbmx5IFtrZXk6IHN0cmluZ106IHN0cmluZyB9XG4gICAgc3RhdHVzOiBudW1iZXJcbiAgICBib2R5Pzogc3RyaW5nIHwgQnVmZmVyXG59XG5cbnR5cGUgUmVxdWVzdE9wdGlvbnMgPSBCb2R5bGVzc1JlcXVlc3RPcHRpb25zIHwgU3RyaW5nUmVxdWVzdE9wdGlvbnMgfCBKc29uUmVxdWVzdE9wdGlvbnNcblxudHlwZSBCb2R5bGVzc1JlcXVlc3RPcHRpb25zID0ge1xuICAgIHVyaTogc3RyaW5nXG4gICAgaGVhZGVycz86IHsgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogc3RyaW5nIH1cbn1cblxudHlwZSBTdHJpbmdSZXF1ZXN0T3B0aW9ucyA9IEJvZHlsZXNzUmVxdWVzdE9wdGlvbnMgJiB7XG4gICAgYm9keTogc3RyaW5nXG59XG5cbnR5cGUgSnNvblJlcXVlc3RPcHRpb25zID0gQm9keWxlc3NSZXF1ZXN0T3B0aW9ucyAmIHtcbiAgICBqc29uOiBKc29uXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBleGVjdXRlUmVxdWVzdChcbiAgICBsb2c6IFJvb3RMb2dnZXIsXG4gICAgY29udGV4dDogT21pdDxDb250ZXh0LCAnbG9nJz4sXG4gICAgaGFuZGxlcjogSHR0cEhhbmRsZXIsXG4gICAgb3B0aW9uczogUmVxdWVzdE9wdGlvbnMsXG4gICAgc3VjY2VzczogKCkgPT4gUHJvbWlzZTx1bmtub3duPixcbik6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICBjb25zdCBpc1NoYWxsb3cgPVxuICAgICAgICBjb250ZXh0LmVudi5TSEFMTE9XX0tFWSAmJiBvcHRpb25zLmhlYWRlcnM/LlsneC1zaGFsbG93J10gPT09IGNvbnRleHQuZW52LlNIQUxMT1dfS0VZXG4gICAgY29uc3QgaW5jbHVkZUJvZHlJbkxvZ3MgPSAhaGFuZGxlci5jb25maWc/LmV4Y2x1ZGVCb2R5RnJvbUxvZ3NcbiAgICBjb25zdCBsb2dSZXF1ZXN0ID0gaW5jbHVkZUJvZHlJbkxvZ3NcbiAgICAgICAgPyB7IG1ldGhvZDogaGFuZGxlci5tZXRob2QsIC4uLm9wdGlvbnMgfVxuICAgICAgICA6IHdpdGhvdXRSZXF1ZXN0Qm9keSh7IG1ldGhvZDogaGFuZGxlci5tZXRob2QsIC4uLm9wdGlvbnMgfSlcbiAgICBsb2cgPSBsb2cuZW5yaWNoUmVzZXJ2ZWQoeyBtZXRhOiBjb250ZXh0Lm1ldGEsIHJlcXVlc3Q6IGxvZ1JlcXVlc3QgfSlcbiAgICBpZiAoaXNTaGFsbG93KSB7XG4gICAgICAgIGxvZy50cmFjZSgnU2hhbGxvdyByZXF1ZXN0JylcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgc3RhdHVzOiAyMDQsXG4gICAgICAgIH1cbiAgICB9XG4gICAgbG9nLnRyYWNlKCdSZXF1ZXN0IEJFR0lOJylcbiAgICB0cnkge1xuICAgICAgICBsZXQgcGFyc2VkVXJsOlxuICAgICAgICAgICAgfCAoUGFyc2VkVXJsICYge1xuICAgICAgICAgICAgICAgICAgLyoqIEBpZ25vcmUgKi9cbiAgICAgICAgICAgICAgICAgIF9fcHJvdG9fXzogdW5rbm93blxuICAgICAgICAgICAgICAgICAgLyoqIEBpZ25vcmUgKi9cbiAgICAgICAgICAgICAgICAgIHRvU3RyaW5nOiAoKSA9PiBzdHJpbmdcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgIGxldCBwYXRoU3RlcHM6IHN0cmluZ1tdIHwgdW5kZWZpbmVkXG4gICAgICAgIGNvbnN0IHJlcSA9IHtcbiAgICAgICAgICAgIHJhd1VybDogb3B0aW9ucy51cmksXG4gICAgICAgICAgICBnZXQgdXJsKCkge1xuICAgICAgICAgICAgICAgIGlmIChwYXJzZWRVcmwpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlZFVybFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHRoaXMucmF3VXJsKVxuICAgICAgICAgICAgICAgIHBhcnNlZFVybCA9IHtcbiAgICAgICAgICAgICAgICAgICAgX19wcm90b19fOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBoYXNoOiB1cmwuaGFzaCxcbiAgICAgICAgICAgICAgICAgICAgaG9zdDogdXJsLmhvc3QsXG4gICAgICAgICAgICAgICAgICAgIGhvc3RuYW1lOiB1cmwuaG9zdG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IHVybC5ocmVmLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHVybC5vcmlnaW4sXG4gICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkOiB1cmwucGFzc3dvcmQsXG4gICAgICAgICAgICAgICAgICAgIHBhdGhuYW1lOiB1cmwucGF0aG5hbWUsXG4gICAgICAgICAgICAgICAgICAgIHBvcnQ6IHVybC5wb3J0LFxuICAgICAgICAgICAgICAgICAgICBwcm90b2NvbDogdXJsLnByb3RvY29sLFxuICAgICAgICAgICAgICAgICAgICBzZWFyY2g6IHVybC5zZWFyY2gsXG4gICAgICAgICAgICAgICAgICAgIGdldCBzZWFyY2hQYXJhbXMoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXJsLnNlYXJjaFBhcmFtc1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB0b0pTT046ICgpID0+IHVybC50b0pTT04oKSxcbiAgICAgICAgICAgICAgICAgICAgdG9TdHJpbmc6ICgpID0+IHVybC50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogdXJsLnVzZXJuYW1lLFxuICAgICAgICAgICAgICAgICAgICBwYXRoU3RlcEF0OiAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RlcHMgPSAocGF0aFN0ZXBzID8/PSB1cmwucGF0aG5hbWU/LnNwbGl0KCcvJykgPz8gW10pXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGVwID0gc3RlcHNbaW5kZXggKyAxXVxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdGVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFJhbmdlRXJyb3IoYFBhdGggZG9lcyBub3QgaGF2ZSBhIHN0ZXAgYXQgaW5kZXggJHtpbmRleH0uYCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhd1VybDogdGhpcy5yYXdVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoTmFtZTogdXJsLnBhdGhuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RlcHM6IHN0ZXBzLnNsaWNlKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGVwXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBwYXJzZWRVcmxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBib2R5OiByZXF1ZXN0Qm9keShvcHRpb25zKSxcbiAgICAgICAgICAgIGhlYWRlcnM6IG9wdGlvbnMuaGVhZGVycyA/PyB7fSxcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG1lYXN1cmUobG9nLCAnZXhlY3V0aW9uJywgKCkgPT5cbiAgICAgICAgICAgIGhhbmRsZXIuZW50cnkoeyAuLi5jb250ZXh0LCBsb2cgfSwgcmVxKSxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gcmVzdWx0VG9SZXNwb25zZShyZXN1bHQsIGluY2x1ZGVCb2R5SW5Mb2dzKVxuXG4gICAgICAgIGlmIChjb250ZXh0LnNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICByZXNwb25zZS5oZWFkZXJzID0ge1xuICAgICAgICAgICAgICAgICd4LXRpbWVvdXQnOiAnMScsXG4gICAgICAgICAgICAgICAgLi4ucmVzcG9uc2UuaGVhZGVycyxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxvZyA9IGxvZy5lbnJpY2hSZXNlcnZlZCh7XG4gICAgICAgICAgICByZXNwb25zZToge1xuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHJlc3BvbnNlLmhlYWRlcnMsXG4gICAgICAgICAgICAgICAgYm9keTogcmVzcG9uc2UubG9nQm9keSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPCAzMDApIHtcbiAgICAgICAgICAgIGxvZy5kZWJ1ZygnUmVxdWVzdCBFTkQnKVxuICAgICAgICAgICAgYXdhaXQgc3VjY2VzcygpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsb2cud2FybignUmVxdWVzdCBFTkQnKVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gZXJyb3JUb1Jlc3BvbnNlKGUpXG4gICAgICAgICAgICBsb2cgPSBsb2cuZW5yaWNoUmVzZXJ2ZWQoeyByZXNwb25zZSB9KVxuICAgICAgICAgICAgbG9nLmVycm9yKCdSZXF1ZXN0IEVORCcsIGUpXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2VcbiAgICAgICAgfSBjYXRjaCAoY29udmVydEVycm9yKSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoJ0NvdWxkIG5vdCBjb252ZXJ0IGV4Y2VwdGlvbiB0byBlcnJvciByZXNwb25zZS4nLCBjb252ZXJ0RXJyb3IpXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgICAgIHN0YXR1czogNTAwLFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiByZXN1bHRUb1Jlc3BvbnNlKHJlc3VsdDogUmVzdWx0LCB3aXRoTG9nQm9keTogYm9vbGVhbik6IFJlc3BvbnNlICYgeyBsb2dCb2R5PzogdW5rbm93biB9IHtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaGVhZGVyczoge30sXG4gICAgICAgICAgICBzdGF0dXM6IDIwNCxcbiAgICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9nQm9keSA9IHdpdGhMb2dCb2R5ID8gcmVzdWx0IDogdW5kZWZpbmVkXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdGF0dXM6IDIwMCxcbiAgICAgICAgICAgIGJvZHk6IHJlc3VsdCxcbiAgICAgICAgICAgIGxvZ0JvZHksXG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocmVzdWx0LmJvZHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXN1bHQuaGVhZGVycyA/PyB7fSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc3VsdC5zdGF0dXMgPz8gMjAwLFxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHQuYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ0JvZHkgPSB3aXRoTG9nQm9keSA/IHJlc3VsdC5ib2R5IDogdW5kZWZpbmVkXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHdpdGhDb250ZW50VHlwZShyZXN1bHQuaGVhZGVycywgJ3RleHQvcGxhaW4nKSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc3VsdC5zdGF0dXMgPz8gMjAwLFxuICAgICAgICAgICAgICAgIGJvZHk6IHJlc3VsdC5ib2R5LFxuICAgICAgICAgICAgICAgIGxvZ0JvZHksXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKHJlc3VsdC5ib2R5KSkge1xuICAgICAgICAgICAgY29uc3QgbG9nQm9keSA9IHdpdGhMb2dCb2R5ID8gcmVzdWx0LmJvZHkudG9TdHJpbmcoJ2Jhc2U2NCcpIDogdW5kZWZpbmVkXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHdpdGhDb250ZW50VHlwZShyZXN1bHQuaGVhZGVycywgJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpLFxuICAgICAgICAgICAgICAgIHN0YXR1czogcmVzdWx0LnN0YXR1cyA/PyAyMDAsXG4gICAgICAgICAgICAgICAgYm9keTogcmVzdWx0LmJvZHksXG4gICAgICAgICAgICAgICAgbG9nQm9keSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGxvZ0JvZHkgPSB3aXRoTG9nQm9keSA/IHJlc3VsdC5ib2R5IDogdW5kZWZpbmVkXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHdpdGhDb250ZW50VHlwZShyZXN1bHQuaGVhZGVycywgJ2FwcGxpY2F0aW9uL2pzb24nKSxcbiAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc3VsdC5zdGF0dXMgPz8gMjAwLFxuICAgICAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHJlc3VsdC5ib2R5KSxcbiAgICAgICAgICAgICAgICBsb2dCb2R5LFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5mdW5jdGlvbiB3aXRob3V0UmVxdWVzdEJvZHkob3B0aW9uczogUmVxdWVzdE9wdGlvbnMgJiB7IG1ldGhvZDogc3RyaW5nIH0pIHtcbiAgICBpZiAoaGFzSnNvbkJvZHkob3B0aW9ucykpIHtcbiAgICAgICAgY29uc3QgeyBqc29uLCAuLi5ib2R5bGVzcyB9ID0gb3B0aW9uc1xuICAgICAgICByZXR1cm4gYm9keWxlc3NcbiAgICB9XG4gICAgaWYgKGhhc1N0cmluZ0JvZHkob3B0aW9ucykpIHtcbiAgICAgICAgY29uc3QgeyBib2R5LCAuLi5ib2R5bGVzcyB9ID0gb3B0aW9uc1xuICAgICAgICByZXR1cm4gYm9keWxlc3NcbiAgICB9XG4gICAgcmV0dXJuIG9wdGlvbnNcbn1cblxuZnVuY3Rpb24gcmVxdWVzdEJvZHkob3B0aW9uczogUmVxdWVzdE9wdGlvbnMpOiBKc29uIHwgc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoaGFzSnNvbkJvZHkob3B0aW9ucykpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbnMuanNvblxuICAgIH1cbiAgICBpZiAoaGFzU3RyaW5nQm9keShvcHRpb25zKSkge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5ib2R5XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaGFzSnNvbkJvZHkob3B0aW9uczogUmVxdWVzdE9wdGlvbnMpOiBvcHRpb25zIGlzIEpzb25SZXF1ZXN0T3B0aW9ucyB7XG4gICAgcmV0dXJuIChvcHRpb25zIGFzIHsganNvbj86IHVua25vd24gfSkuanNvbiAhPT0gdW5kZWZpbmVkXG59XG5cbmZ1bmN0aW9uIGhhc1N0cmluZ0JvZHkob3B0aW9uczogUmVxdWVzdE9wdGlvbnMpOiBvcHRpb25zIGlzIFN0cmluZ1JlcXVlc3RPcHRpb25zIHtcbiAgICByZXR1cm4gKG9wdGlvbnMgYXMgeyBib2R5PzogdW5rbm93biB9KS5ib2R5ICE9PSB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gd2l0aENvbnRlbnRUeXBlKGhlYWRlcnM6IFJlc3BvbnNlSGVhZGVycyB8IHVuZGVmaW5lZCwgY29udGVudFR5cGU6IHN0cmluZykge1xuICAgIGlmICghaGVhZGVycykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6IGNvbnRlbnRUeXBlLFxuICAgICAgICB9XG4gICAgfVxuICAgIGlmICghaGVhZGVyc1snY29udGVudC10eXBlJ10pIHtcbiAgICAgICAgaGVhZGVyc1snY29udGVudC10eXBlJ10gPSBjb250ZW50VHlwZVxuICAgIH1cbiAgICByZXR1cm4gaGVhZGVyc1xufVxuXG5mdW5jdGlvbiBlcnJvclRvUmVzcG9uc2UoZTogdW5rbm93bik6IFJlc3BvbnNlIHtcbiAgICBjb25zdCB7IGJvZHksIHN0YXR1c0NvZGU6IHN0YXR1cyB9ID0gZSBhcyB7IGJvZHk/OiB1bmtub3duOyBzdGF0dXNDb2RlPzogbnVtYmVyIH1cbiAgICBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgJ2NvbnRlbnQtdHlwZSc6ICd0ZXh0L3BsYWluJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdGF0dXM6IHN0YXR1cyA/PyA1MDAsXG4gICAgICAgICAgICBib2R5LFxuICAgICAgICB9XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgYm9keSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN0YXR1czogc3RhdHVzID8/IDUwMCxcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgc3RhdHVzOiBzdGF0dXMgPz8gNTAwLFxuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xpZW50RnJvbUhlYWRlcnMoXG4gICAgaGVhZGVyczogeyByZWFkb25seSBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB8IHVuZGVmaW5lZCxcbik6IENsaWVudEluZm8ge1xuICAgIGlmICghaGVhZGVycykge1xuICAgICAgICByZXR1cm4ge31cbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb3BlcmF0aW9uSWQ6IGhlYWRlcnNbJ3gtcmVxdWVzdC1pZCddID8/IGhlYWRlcnNbJ3JlcXVlc3QtaWQnXSxcbiAgICAgICAgY2xpZW50SWQ6XG4gICAgICAgICAgICBoZWFkZXJzWyd4LWNsaWVudC1pZCddID8/XG4gICAgICAgICAgICBoZWFkZXJzWyd4LWluc3RhbGxhdGlvbi1pZCddID8/XG4gICAgICAgICAgICBoZWFkZXJzWydjbGllbnQtaWQnXSA/P1xuICAgICAgICAgICAgaGVhZGVyc1snaW5zdGFsbGF0aW9uLWlkJ10sXG4gICAgICAgIGNsaWVudElwOiBoZWFkZXJzWyd4LWZvcndhcmRlZC1mb3InXSxcbiAgICAgICAgdXNlckFnZW50OiBoZWFkZXJzWyd4LWZvcndhcmRlZC1mb3ItdXNlci1hZ2VudCddID8/IGhlYWRlcnNbJ3VzZXItYWdlbnQnXSxcbiAgICB9XG59XG4iXX0=
|
package/host/logging.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
2
|
import { LogLevel, LogTransport, RootLogger } from './context.js';
|
|
3
3
|
export declare function makeLogger(transport: LogTransport, minimumLogLevel: LogLevel | undefined, signal: AbortSignal): RootLogger;
|
|
4
4
|
export declare function highPrecisionISODate(performanceNow: number): string;
|
package/host/logging.js
CHANGED
|
@@ -188,4 +188,4 @@ function errorAsJson(error) {
|
|
|
188
188
|
name: typeof error,
|
|
189
189
|
};
|
|
190
190
|
}
|
|
191
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUl4QyxNQUFNLFVBQVUsVUFBVSxDQUN0QixTQUF1QixFQUN2QixlQUFxQyxFQUNyQyxNQUFtQjtJQUVuQixPQUFPLElBQUksZUFBZSxDQUN0QixJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEVBQ2hDLGVBQWU7UUFDWCxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQUMsRUFDUCxNQUFNLENBQ1QsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQTtBQUU3RSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsY0FBc0I7SUFDdkQsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFDaEYsT0FBTyxDQUNILElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN6RCxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUNqRCxHQUFHLENBQ04sQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFNBQVM7SUFDRixVQUFVLENBQWM7SUFDakMsUUFBUSxHQUFlLEVBQUUsQ0FBQTtJQUN6QixLQUFLLEdBQUcsQ0FB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SUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQ3pCLENBQUE7SUFDTCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQWUsRUFBRSxLQUFjLEVBQUUsTUFBMEI7UUFDN0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQ2hCLE9BQU8sRUFDUCxDQUFDLEVBQ0QsT0FBTyxFQUNQLEtBQUssRUFDTCxNQUFNLEVBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQ3pCLENBQUE7SUFDTCxDQUFDO0NBQ0o7QUFFRCxTQUFTLFdBQVcsQ0FBQyxLQUFjO0lBQy9CLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFO1FBQ3ZDLE9BQU8sU0FBUyxDQUFBO0tBQ25CO0lBQ0QsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFO1FBQ3hCLE9BQU87WUFDSCxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixHQUFJLEtBQStDO1NBQzlDLENBQUE7S0FDWjtJQUNELElBQUksS0FBSyxZQUFZLE1BQU0sRUFBRTtRQUN6QixPQUFPO1lBQ0gsR0FBRyxLQUFLO1NBQ0gsQ0FBQTtLQUNaO0lBQ0QsT0FBTztRQUNILE9BQU8sRUFBRyxLQUE0QixFQUFFLFFBQVEsRUFBRTtRQUNsRCxJQUFJLEVBQUUsT0FBTyxLQUFLO0tBQ2IsQ0FBQTtBQUNiLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwZXJmb3JtYW5jZSB9IGZyb20gJ3BlcmZfaG9va3MnXG5pbXBvcnQgeyBBYm9ydFNpZ25hbCwgSnNvbiwgTG9nZ2VyIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB7IExvZ0VudHJ5LCBMb2dMZXZlbCwgTG9nVHJhbnNwb3J0LCBSb290TG9nZ2VyIH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUxvZ2dlcihcbiAgICB0cmFuc3BvcnQ6IExvZ1RyYW5zcG9ydCxcbiAgICBtaW5pbXVtTG9nTGV2ZWw6IExvZ0xldmVsIHwgdW5kZWZpbmVkLFxuICAgIHNpZ25hbDogQWJvcnRTaWduYWwsXG4pOiBSb290TG9nZ2VyIHtcbiAgICByZXR1cm4gbmV3IEVucmljaGluZ0xvZ2dlcihcbiAgICAgICAgbmV3IExvZ0J1ZmZlcih0cmFuc3BvcnQsIHNpZ25hbCksXG4gICAgICAgIG1pbmltdW1Mb2dMZXZlbFxuICAgICAgICAgICAgPyBbJ2ZhdGFsJywgJ2Vycm9yJywgJ3dhcm5pbmcnLCAnaW5mbycsICdkZWJ1ZycsICd0cmFjZSddLmluZGV4T2YobWluaW11bUxvZ0xldmVsKVxuICAgICAgICAgICAgOiA1LFxuICAgICAgICBzaWduYWwsXG4gICAgKVxufVxuXG5jb25zdCBwZXJmb3JtYW5jZVRpbWVPcmlnaW4xMDBucyA9IE1hdGgucm91bmQocGVyZm9ybWFuY2UudGltZU9yaWdpbiAqIDEwMDAwKVxuXG5leHBvcnQgZnVuY3Rpb24gaGlnaFByZWNpc2lvbklTT0RhdGUocGVyZm9ybWFuY2VOb3c6IG51bWJlcikge1xuICAgIGNvbnN0IG5vdzEwMG5zID0gcGVyZm9ybWFuY2VUaW1lT3JpZ2luMTAwbnMgKyBNYXRoLnJvdW5kKHBlcmZvcm1hbmNlTm93ICogMTAwMDApXG4gICAgcmV0dXJuIChcbiAgICAgICAgbmV3IERhdGUobm93MTAwbnMgLyAxMDAwMCkudG9JU09TdHJpbmcoKS5zdWJzdHJpbmcoMCwgMjApICtcbiAgICAgICAgKG5vdzEwMG5zICUgMTAwMDAwMDApLnRvU3RyaW5nKCkucGFkU3RhcnQoNywgJzAnKSArXG4gICAgICAgICdaJ1xuICAgIClcbn1cblxuY2xhc3MgTG9nQnVmZmVyIHtcbiAgICByZWFkb25seSAjdHJhbnNwb3J0OiBMb2dUcmFuc3BvcnRcbiAgICAjZW50cmllczogTG9nRW50cnlbXSA9IFtdXG4gICAgI3NpemUgPSAwXG4gICAgI2ZsdXNoZXI/OiBQcm9taXNlPHZvaWQ+IHwgdW5kZWZpbmVkXG4gICAgcmVhZG9ubHkgI3NpZ25hbDogQWJvcnRTaWduYWxcbiAgICAjYXN5bmNUcmFuc3BvcnQ6IGJvb2xlYW4gfCB1bmRlZmluZWRcbiAgICAjdGltZW91dDogTm9kZUpTLlRpbWVvdXQgfCB1bmRlZmluZWRcblxuICAgIGNvbnN0cnVjdG9yKHRyYW5zcG9ydDogTG9nVHJhbnNwb3J0LCBzaWduYWw6IEFib3J0U2lnbmFsKSB7XG4gICAgICAgIHRoaXMuI3RyYW5zcG9ydCA9IHRyYW5zcG9ydFxuICAgICAgICB0aGlzLiNzaWduYWwgPSBzaWduYWxcbiAgICB9XG5cbiAgICBjb2xsZWN0KFxuICAgICAgICBsZXZlbDogTG9nTGV2ZWwsXG4gICAgICAgIG51bWVyaWNMb2dMZXZlbDogbnVtYmVyLFxuICAgICAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgICAgIGVycm9yOiB1bmtub3duLFxuICAgICAgICBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCxcbiAgICAgICAgcmVzZXJ2ZWRFbnJpY2htZW50OiBvYmplY3QgfCB1bmRlZmluZWQsXG4gICAgICAgIGN1c3RvbUVucmljaG1lbnQ6IG9iamVjdCB8IHVuZGVmaW5lZCxcbiAgICApIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gcGVyZm9ybWFuY2Uubm93KClcbiAgICAgICAgY29uc3QganNvbiA9IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogaGlnaFByZWNpc2lvbklTT0RhdGUob2Zmc2V0KSxcbiAgICAgICAgICAgIGxldmVsLFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yOiBlcnJvckFzSnNvbihlcnJvciksXG4gICAgICAgICAgICAuLi5yZXNlcnZlZEVucmljaG1lbnQsXG4gICAgICAgICAgICAuLi4oKCEhZmllbGRzIHx8ICEhY3VzdG9tRW5yaWNobWVudCkgJiYge1xuICAgICAgICAgICAgICAgIGZpZWxkczogY3VzdG9tRW5yaWNobWVudFxuICAgICAgICAgICAgICAgICAgICA/IGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IC4uLmN1c3RvbUVucmljaG1lbnQsIC4uLmZpZWxkcyB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IGN1c3RvbUVucmljaG1lbnRcbiAgICAgICAgICAgICAgICAgICAgOiBmaWVsZHMsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy4jZW50cmllcy5wdXNoKHtcbiAgICAgICAgICAgIHRpbWVzdGFtcDogb2Zmc2V0LFxuICAgICAgICAgICAgbGV2ZWwsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBqc29uLFxuICAgICAgICB9KVxuICAgICAgICB0aGlzLiNzaXplICs9IGpzb24ubGVuZ3RoXG5cbiAgICAgICAgaWYgKHRoaXMuI2FzeW5jVHJhbnNwb3J0ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZvaWRcbiAgICAgICAgICAgIHZvaWQgdGhpcy4jdHJhbnNwb3J0LnNlbmRFbnRyaWVzKHRoaXMuI2VudHJpZXMsIHRoaXMuI3NpZ25hbClcbiAgICAgICAgICAgIHRoaXMuI2VudHJpZXMgPSBbXVxuICAgICAgICAgICAgdGhpcy4jc2l6ZSA9IDBcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLiNhc3luY1RyYW5zcG9ydCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICB0aGlzLiNhc3luY1RyYW5zcG9ydCA9IHRydWVcbiAgICAgICAgICAgIHNldEltbWVkaWF0ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuI2ZsdXNoZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHNlbmRSZXN1bHQgPSB0aGlzLiN0cmFuc3BvcnQuc2VuZEVudHJpZXModGhpcy4jZW50cmllcywgdGhpcy4jc2lnbmFsKVxuICAgICAgICAgICAgICAgIHRoaXMuI2VudHJpZXMgPSBbXVxuICAgICAgICAgICAgICAgIHRoaXMuI3NpemUgPSAwXG4gICAgICAgICAgICAgICAgaWYgKHNlbmRSZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jZmx1c2hlciA9IHNlbmRSZXN1bHRcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLiNhc3luY1RyYW5zcG9ydCA9IGZhbHNlXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChudW1lcmljTG9nTGV2ZWwgPCAyIHx8IHRoaXMuI2VudHJpZXMubGVuZ3RoID4gOCB8fCB0aGlzLiNzaXplID4gNjQwMDApIHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdm9pZFxuICAgICAgICAgICAgICAgIHZvaWQgdGhpcy5mbHVzaCgpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuI3RpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZvaWRcbiAgICAgICAgICAgICAgICAgICAgdm9pZCB0aGlzLmZsdXNoKClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jdGltZW91dCA9IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH0sIDIwMDApXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhc3luYyBmbHVzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgaWYgKHRoaXMuI2VudHJpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNzdGFydEZsdXNoKHRoaXMuI2VudHJpZXMpXG4gICAgICAgIHRoaXMuI2VudHJpZXMgPSBbXVxuICAgICAgICB0aGlzLiNzaXplID0gMFxuICAgICAgICBpZiAodGhpcy4jdGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuI3RpbWVvdXQpXG4gICAgICAgICAgICB0aGlzLiN0aW1lb3V0ID0gdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuI2ZsdXNoZXJcbiAgICB9XG5cbiAgICAjc3RhcnRGbHVzaChlbnRyaWVzOiBMb2dFbnRyeVtdKSB7XG4gICAgICAgIGlmICh0aGlzLiNmbHVzaGVyKSB7XG4gICAgICAgICAgICB0aGlzLiNmbHVzaGVyID0gdGhpcy4jZmx1c2hlci50aGVuKCgpID0+XG4gICAgICAgICAgICAgICAgdGhpcy4jdHJhbnNwb3J0LnNlbmRFbnRyaWVzKGVudHJpZXMsIHRoaXMuI3NpZ25hbCksXG4gICAgICAgICAgICApXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiNmbHVzaGVyID0gdGhpcy4jdHJhbnNwb3J0LnNlbmRFbnRyaWVzKGVudHJpZXMsIHRoaXMuI3NpZ25hbClcbiAgICAgICAgfVxuICAgIH1cbn1cblxuY2xhc3MgRW5yaWNoaW5nTG9nZ2VyIGltcGxlbWVudHMgTG9nZ2VyIHtcbiAgICByZWFkb25seSAjYnVmZmVyOiBMb2dCdWZmZXJcbiAgICByZWFkb25seSAjcmVzZXJ2ZWRFbnJpY2htZW50Pzogb2JqZWN0XG4gICAgcmVhZG9ubHkgI2N1c3RvbUVucmljaG1lbnQ/OiBvYmplY3RcbiAgICByZWFkb25seSAjbGV2ZWw6IG51bWJlclxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIGJ1ZmZlcjogTG9nQnVmZmVyLFxuICAgICAgICBsZXZlbDogbnVtYmVyLFxuICAgICAgICByZXNlcnZlZEVucmljaG1lbnQ/OiBvYmplY3QsXG4gICAgICAgIGN1c3RvbUVucmljaG1lbnQ/OiBvYmplY3QsXG4gICAgKSB7XG4gICAgICAgIHRoaXMuI2J1ZmZlciA9IGJ1ZmZlclxuICAgICAgICB0aGlzLiNsZXZlbCA9IGxldmVsXG4gICAgICAgIHRoaXMuI3Jlc2VydmVkRW5yaWNobWVudCA9IHJlc2VydmVkRW5yaWNobWVudFxuICAgICAgICB0aGlzLiNjdXN0b21FbnJpY2htZW50ID0gY3VzdG9tRW5yaWNobWVudFxuICAgIH1cblxuICAgIGVucmljaChmaWVsZHM6IG9iamVjdCk6IExvZ2dlciB7XG4gICAgICAgIHJldHVybiBuZXcgRW5yaWNoaW5nTG9nZ2VyKHRoaXMuI2J1ZmZlciwgdGhpcy4jbGV2ZWwsIHRoaXMuI3Jlc2VydmVkRW5yaWNobWVudCwge1xuICAgICAgICAgICAgLi4uKHRoaXMuI2N1c3RvbUVucmljaG1lbnQgPz8ge30pLFxuICAgICAgICAgICAgLi4uZmllbGRzLFxuICAgICAgICB9KVxuICAgIH1cblxuICAgIGZsdXNoKCkge1xuICAgICAgICByZXR1cm4gdGhpcy4jYnVmZmVyLmZsdXNoKClcbiAgICB9XG5cbiAgICBlbnJpY2hSZXNlcnZlZChmaWVsZHM6IG9iamVjdCk6IEVucmljaGluZ0xvZ2dlciB7XG4gICAgICAgIHJldHVybiBuZXcgRW5yaWNoaW5nTG9nZ2VyKFxuICAgICAgICAgICAgdGhpcy4jYnVmZmVyLFxuICAgICAgICAgICAgdGhpcy4jbGV2ZWwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4uKHRoaXMuI3Jlc2VydmVkRW5yaWNobWVudCA/PyB7fSksXG4gICAgICAgICAgICAgICAgLi4uZmllbGRzLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuI2N1c3RvbUVucmljaG1lbnQsXG4gICAgICAgIClcbiAgICB9XG5cbiAgICB0cmFjZShtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy4jbGV2ZWwgPCA1KSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNidWZmZXIuY29sbGVjdChcbiAgICAgICAgICAgICd0cmFjZScsXG4gICAgICAgICAgICA1LFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgdGhpcy4jcmVzZXJ2ZWRFbnJpY2htZW50LFxuICAgICAgICAgICAgdGhpcy4jY3VzdG9tRW5yaWNobWVudCxcbiAgICAgICAgKVxuICAgIH1cbiAgICBkZWJ1ZyhtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy4jbGV2ZWwgPCA0KSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNidWZmZXIuY29sbGVjdChcbiAgICAgICAgICAgICdkZWJ1ZycsXG4gICAgICAgICAgICA0LFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgdGhpcy4jcmVzZXJ2ZWRFbnJpY2htZW50LFxuICAgICAgICAgICAgdGhpcy4jY3VzdG9tRW5yaWNobWVudCxcbiAgICAgICAgKVxuICAgIH1cbiAgICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I6IHVua25vd24sIGZpZWxkczogb2JqZWN0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLiNsZXZlbCA8IDMpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2J1ZmZlci5jb2xsZWN0KFxuICAgICAgICAgICAgJ2luZm8nLFxuICAgICAgICAgICAgMyxcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIHRoaXMuI3Jlc2VydmVkRW5yaWNobWVudCxcbiAgICAgICAgICAgIHRoaXMuI2N1c3RvbUVucmljaG1lbnQsXG4gICAgICAgIClcbiAgICB9XG4gICAgd2FybihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy4jbGV2ZWwgPCAyKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNidWZmZXIuY29sbGVjdChcbiAgICAgICAgICAgICd3YXJuaW5nJyxcbiAgICAgICAgICAgIDIsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICB0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQsXG4gICAgICAgICAgICB0aGlzLiNjdXN0b21FbnJpY2htZW50LFxuICAgICAgICApXG4gICAgfVxuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I6IHVua25vd24sIGZpZWxkczogb2JqZWN0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLiNsZXZlbCA8IDEpIHtcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHRoaXMuI2J1ZmZlci5jb2xsZWN0KFxuICAgICAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgICAgIDEsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICB0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQsXG4gICAgICAgICAgICB0aGlzLiNjdXN0b21FbnJpY2htZW50LFxuICAgICAgICApXG4gICAgfVxuICAgIGZhdGFsKG1lc3NhZ2U6IHN0cmluZywgZXJyb3I6IHVua25vd24sIGZpZWxkczogb2JqZWN0IHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuI2J1ZmZlci5jb2xsZWN0KFxuICAgICAgICAgICAgJ2ZhdGFsJyxcbiAgICAgICAgICAgIDAsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICB0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQsXG4gICAgICAgICAgICB0aGlzLiNjdXN0b21FbnJpY2htZW50LFxuICAgICAgICApXG4gICAgfVxufVxuXG5mdW5jdGlvbiBlcnJvckFzSnNvbihlcnJvcjogdW5rbm93bik6IEpzb24gfCB1bmRlZmluZWQge1xuICAgIGlmIChlcnJvciA9PT0gdW5kZWZpbmVkIHx8IGVycm9yID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IGVycm9yLm1lc3NhZ2UsXG4gICAgICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICAgICAgc3RhY2s6IGVycm9yLnN0YWNrLFxuICAgICAgICAgICAgLi4uKGVycm9yIGFzIHVua25vd24gYXMgeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pLFxuICAgICAgICB9IGFzIEpzb25cbiAgICB9XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgT2JqZWN0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5lcnJvcixcbiAgICAgICAgfSBhcyBKc29uXG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIG1lc3NhZ2U6IChlcnJvciBhcyBvYmplY3QgfCB1bmRlZmluZWQpPy50b1N0cmluZygpLFxuICAgICAgICBuYW1lOiB0eXBlb2YgZXJyb3IsXG4gICAgfSBhcyBKc29uXG59XG4iXX0=
|
|
191
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2luZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxvZ2dpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUl4QyxNQUFNLFVBQVUsVUFBVSxDQUN0QixTQUF1QixFQUN2QixlQUFxQyxFQUNyQyxNQUFtQjtJQUVuQixPQUFPLElBQUksZUFBZSxDQUN0QixJQUFJLFNBQVMsQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEVBQ2hDLGVBQWU7UUFDWCxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7UUFDbEYsQ0FBQyxDQUFDLENBQUMsRUFDUCxNQUFNLENBQ1QsQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQTtBQUU3RSxNQUFNLFVBQVUsb0JBQW9CLENBQUMsY0FBc0I7SUFDdkQsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDLENBQUE7SUFDaEYsT0FBTyxDQUNILElBQUksSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN6RCxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztRQUNqRCxHQUFHLENBQ04sQ0FBQTtBQUNMLENBQUM7QUFFRCxNQUFNLFNBQVM7SUFDRixVQUFVLENBQWM7SUFDakMsUUFBUSxHQUFlLEVBQUUsQ0FBQTtJQUN6QixLQUFLLEdBQUcsQ0FB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b250ZW50IjpbImltcG9ydCB7IHBlcmZvcm1hbmNlIH0gZnJvbSAncGVyZl9ob29rcydcbmltcG9ydCB7IEpzb24sIExvZ2dlciB9IGZyb20gJy4uL2NvbnRleHQuanMnXG5pbXBvcnQgeyBMb2dFbnRyeSwgTG9nTGV2ZWwsIExvZ1RyYW5zcG9ydCwgUm9vdExvZ2dlciB9IGZyb20gJy4vY29udGV4dC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIG1ha2VMb2dnZXIoXG4gICAgdHJhbnNwb3J0OiBMb2dUcmFuc3BvcnQsXG4gICAgbWluaW11bUxvZ0xldmVsOiBMb2dMZXZlbCB8IHVuZGVmaW5lZCxcbiAgICBzaWduYWw6IEFib3J0U2lnbmFsLFxuKTogUm9vdExvZ2dlciB7XG4gICAgcmV0dXJuIG5ldyBFbnJpY2hpbmdMb2dnZXIoXG4gICAgICAgIG5ldyBMb2dCdWZmZXIodHJhbnNwb3J0LCBzaWduYWwpLFxuICAgICAgICBtaW5pbXVtTG9nTGV2ZWxcbiAgICAgICAgICAgID8gWydmYXRhbCcsICdlcnJvcicsICd3YXJuaW5nJywgJ2luZm8nLCAnZGVidWcnLCAndHJhY2UnXS5pbmRleE9mKG1pbmltdW1Mb2dMZXZlbClcbiAgICAgICAgICAgIDogNSxcbiAgICAgICAgc2lnbmFsLFxuICAgIClcbn1cblxuY29uc3QgcGVyZm9ybWFuY2VUaW1lT3JpZ2luMTAwbnMgPSBNYXRoLnJvdW5kKHBlcmZvcm1hbmNlLnRpbWVPcmlnaW4gKiAxMDAwMClcblxuZXhwb3J0IGZ1bmN0aW9uIGhpZ2hQcmVjaXNpb25JU09EYXRlKHBlcmZvcm1hbmNlTm93OiBudW1iZXIpIHtcbiAgICBjb25zdCBub3cxMDBucyA9IHBlcmZvcm1hbmNlVGltZU9yaWdpbjEwMG5zICsgTWF0aC5yb3VuZChwZXJmb3JtYW5jZU5vdyAqIDEwMDAwKVxuICAgIHJldHVybiAoXG4gICAgICAgIG5ldyBEYXRlKG5vdzEwMG5zIC8gMTAwMDApLnRvSVNPU3RyaW5nKCkuc3Vic3RyaW5nKDAsIDIwKSArXG4gICAgICAgIChub3cxMDBucyAlIDEwMDAwMDAwKS50b1N0cmluZygpLnBhZFN0YXJ0KDcsICcwJykgK1xuICAgICAgICAnWidcbiAgICApXG59XG5cbmNsYXNzIExvZ0J1ZmZlciB7XG4gICAgcmVhZG9ubHkgI3RyYW5zcG9ydDogTG9nVHJhbnNwb3J0XG4gICAgI2VudHJpZXM6IExvZ0VudHJ5W10gPSBbXVxuICAgICNzaXplID0gMFxuICAgICNmbHVzaGVyPzogUHJvbWlzZTx2b2lkPiB8IHVuZGVmaW5lZFxuICAgIHJlYWRvbmx5ICNzaWduYWw6IEFib3J0U2lnbmFsXG4gICAgI2FzeW5jVHJhbnNwb3J0OiBib29sZWFuIHwgdW5kZWZpbmVkXG4gICAgI3RpbWVvdXQ6IE5vZGVKUy5UaW1lb3V0IHwgdW5kZWZpbmVkXG5cbiAgICBjb25zdHJ1Y3Rvcih0cmFuc3BvcnQ6IExvZ1RyYW5zcG9ydCwgc2lnbmFsOiBBYm9ydFNpZ25hbCkge1xuICAgICAgICB0aGlzLiN0cmFuc3BvcnQgPSB0cmFuc3BvcnRcbiAgICAgICAgdGhpcy4jc2lnbmFsID0gc2lnbmFsXG4gICAgfVxuXG4gICAgY29sbGVjdChcbiAgICAgICAgbGV2ZWw6IExvZ0xldmVsLFxuICAgICAgICBudW1lcmljTG9nTGV2ZWw6IG51bWJlcixcbiAgICAgICAgbWVzc2FnZTogc3RyaW5nLFxuICAgICAgICBlcnJvcjogdW5rbm93bixcbiAgICAgICAgZmllbGRzOiBvYmplY3QgfCB1bmRlZmluZWQsXG4gICAgICAgIHJlc2VydmVkRW5yaWNobWVudDogb2JqZWN0IHwgdW5kZWZpbmVkLFxuICAgICAgICBjdXN0b21FbnJpY2htZW50OiBvYmplY3QgfCB1bmRlZmluZWQsXG4gICAgKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IHBlcmZvcm1hbmNlLm5vdygpXG4gICAgICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IGhpZ2hQcmVjaXNpb25JU09EYXRlKG9mZnNldCksXG4gICAgICAgICAgICBsZXZlbCxcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcjogZXJyb3JBc0pzb24oZXJyb3IpLFxuICAgICAgICAgICAgLi4ucmVzZXJ2ZWRFbnJpY2htZW50LFxuICAgICAgICAgICAgLi4uKCghIWZpZWxkcyB8fCAhIWN1c3RvbUVucmljaG1lbnQpICYmIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IGN1c3RvbUVucmljaG1lbnRcbiAgICAgICAgICAgICAgICAgICAgPyBmaWVsZHNcbiAgICAgICAgICAgICAgICAgICAgICAgID8geyAuLi5jdXN0b21FbnJpY2htZW50LCAuLi5maWVsZHMgfVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBjdXN0b21FbnJpY2htZW50XG4gICAgICAgICAgICAgICAgICAgIDogZmllbGRzLFxuICAgICAgICAgICAgfSksXG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMuI2VudHJpZXMucHVzaCh7XG4gICAgICAgICAgICB0aW1lc3RhbXA6IG9mZnNldCxcbiAgICAgICAgICAgIGxldmVsLFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAganNvbixcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy4jc2l6ZSArPSBqc29uLmxlbmd0aFxuXG4gICAgICAgIGlmICh0aGlzLiNhc3luY1RyYW5zcG9ydCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG4gICAgICAgICAgICB2b2lkIHRoaXMuI3RyYW5zcG9ydC5zZW5kRW50cmllcyh0aGlzLiNlbnRyaWVzLCB0aGlzLiNzaWduYWwpXG4gICAgICAgICAgICB0aGlzLiNlbnRyaWVzID0gW11cbiAgICAgICAgICAgIHRoaXMuI3NpemUgPSAwXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy4jYXN5bmNUcmFuc3BvcnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy4jYXN5bmNUcmFuc3BvcnQgPSB0cnVlXG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLiNmbHVzaGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVyblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBzZW5kUmVzdWx0ID0gdGhpcy4jdHJhbnNwb3J0LnNlbmRFbnRyaWVzKHRoaXMuI2VudHJpZXMsIHRoaXMuI3NpZ25hbClcbiAgICAgICAgICAgICAgICB0aGlzLiNlbnRyaWVzID0gW11cbiAgICAgICAgICAgICAgICB0aGlzLiNzaXplID0gMFxuICAgICAgICAgICAgICAgIGlmIChzZW5kUmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2ZsdXNoZXIgPSBzZW5kUmVzdWx0XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy4jYXN5bmNUcmFuc3BvcnQgPSBmYWxzZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobnVtZXJpY0xvZ0xldmVsIDwgMiB8fCB0aGlzLiNlbnRyaWVzLmxlbmd0aCA+IDggfHwgdGhpcy4jc2l6ZSA+IDY0MDAwKSB7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZvaWRcbiAgICAgICAgICAgICAgICB2b2lkIHRoaXMuZmx1c2goKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLiN0aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG4gICAgICAgICAgICAgICAgICAgIHZvaWQgdGhpcy5mbHVzaCgpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI3RpbWVvdXQgPSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9LCAyMDAwKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGlmICh0aGlzLiNlbnRyaWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jc3RhcnRGbHVzaCh0aGlzLiNlbnRyaWVzKVxuICAgICAgICB0aGlzLiNlbnRyaWVzID0gW11cbiAgICAgICAgdGhpcy4jc2l6ZSA9IDBcbiAgICAgICAgaWYgKHRoaXMuI3RpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLiN0aW1lb3V0KVxuICAgICAgICAgICAgdGhpcy4jdGltZW91dCA9IHVuZGVmaW5lZFxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLiNmbHVzaGVyXG4gICAgfVxuXG4gICAgI3N0YXJ0Rmx1c2goZW50cmllczogTG9nRW50cnlbXSkge1xuICAgICAgICBpZiAodGhpcy4jZmx1c2hlcikge1xuICAgICAgICAgICAgdGhpcy4jZmx1c2hlciA9IHRoaXMuI2ZsdXNoZXIudGhlbigoKSA9PlxuICAgICAgICAgICAgICAgIHRoaXMuI3RyYW5zcG9ydC5zZW5kRW50cmllcyhlbnRyaWVzLCB0aGlzLiNzaWduYWwpLFxuICAgICAgICAgICAgKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jZmx1c2hlciA9IHRoaXMuI3RyYW5zcG9ydC5zZW5kRW50cmllcyhlbnRyaWVzLCB0aGlzLiNzaWduYWwpXG4gICAgICAgIH1cbiAgICB9XG59XG5cbmNsYXNzIEVucmljaGluZ0xvZ2dlciBpbXBsZW1lbnRzIExvZ2dlciB7XG4gICAgcmVhZG9ubHkgI2J1ZmZlcjogTG9nQnVmZmVyXG4gICAgcmVhZG9ubHkgI3Jlc2VydmVkRW5yaWNobWVudD86IG9iamVjdFxuICAgIHJlYWRvbmx5ICNjdXN0b21FbnJpY2htZW50Pzogb2JqZWN0XG4gICAgcmVhZG9ubHkgI2xldmVsOiBudW1iZXJcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBidWZmZXI6IExvZ0J1ZmZlcixcbiAgICAgICAgbGV2ZWw6IG51bWJlcixcbiAgICAgICAgcmVzZXJ2ZWRFbnJpY2htZW50Pzogb2JqZWN0LFxuICAgICAgICBjdXN0b21FbnJpY2htZW50Pzogb2JqZWN0LFxuICAgICkge1xuICAgICAgICB0aGlzLiNidWZmZXIgPSBidWZmZXJcbiAgICAgICAgdGhpcy4jbGV2ZWwgPSBsZXZlbFxuICAgICAgICB0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQgPSByZXNlcnZlZEVucmljaG1lbnRcbiAgICAgICAgdGhpcy4jY3VzdG9tRW5yaWNobWVudCA9IGN1c3RvbUVucmljaG1lbnRcbiAgICB9XG5cbiAgICBlbnJpY2goZmllbGRzOiBvYmplY3QpOiBMb2dnZXIge1xuICAgICAgICByZXR1cm4gbmV3IEVucmljaGluZ0xvZ2dlcih0aGlzLiNidWZmZXIsIHRoaXMuI2xldmVsLCB0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQsIHtcbiAgICAgICAgICAgIC4uLih0aGlzLiNjdXN0b21FbnJpY2htZW50ID8/IHt9KSxcbiAgICAgICAgICAgIC4uLmZpZWxkcyxcbiAgICAgICAgfSlcbiAgICB9XG5cbiAgICBmbHVzaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI2J1ZmZlci5mbHVzaCgpXG4gICAgfVxuXG4gICAgZW5yaWNoUmVzZXJ2ZWQoZmllbGRzOiBvYmplY3QpOiBFbnJpY2hpbmdMb2dnZXIge1xuICAgICAgICByZXR1cm4gbmV3IEVucmljaGluZ0xvZ2dlcihcbiAgICAgICAgICAgIHRoaXMuI2J1ZmZlcixcbiAgICAgICAgICAgIHRoaXMuI2xldmVsLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC4uLih0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQgPz8ge30pLFxuICAgICAgICAgICAgICAgIC4uLmZpZWxkcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLiNjdXN0b21FbnJpY2htZW50LFxuICAgICAgICApXG4gICAgfVxuXG4gICAgdHJhY2UobWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biwgZmllbGRzOiBvYmplY3QgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuI2xldmVsIDwgNSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jYnVmZmVyLmNvbGxlY3QoXG4gICAgICAgICAgICAndHJhY2UnLFxuICAgICAgICAgICAgNSxcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIHRoaXMuI3Jlc2VydmVkRW5yaWNobWVudCxcbiAgICAgICAgICAgIHRoaXMuI2N1c3RvbUVucmljaG1lbnQsXG4gICAgICAgIClcbiAgICB9XG4gICAgZGVidWcobWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biwgZmllbGRzOiBvYmplY3QgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuI2xldmVsIDwgNCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jYnVmZmVyLmNvbGxlY3QoXG4gICAgICAgICAgICAnZGVidWcnLFxuICAgICAgICAgICAgNCxcbiAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIGZpZWxkcyxcbiAgICAgICAgICAgIHRoaXMuI3Jlc2VydmVkRW5yaWNobWVudCxcbiAgICAgICAgICAgIHRoaXMuI2N1c3RvbUVucmljaG1lbnQsXG4gICAgICAgIClcbiAgICB9XG4gICAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy4jbGV2ZWwgPCAzKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNidWZmZXIuY29sbGVjdChcbiAgICAgICAgICAgICdpbmZvJyxcbiAgICAgICAgICAgIDMsXG4gICAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBmaWVsZHMsXG4gICAgICAgICAgICB0aGlzLiNyZXNlcnZlZEVucmljaG1lbnQsXG4gICAgICAgICAgICB0aGlzLiNjdXN0b21FbnJpY2htZW50LFxuICAgICAgICApXG4gICAgfVxuICAgIHdhcm4obWVzc2FnZTogc3RyaW5nLCBlcnJvcjogdW5rbm93biwgZmllbGRzOiBvYmplY3QgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuI2xldmVsIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgdGhpcy4jYnVmZmVyLmNvbGxlY3QoXG4gICAgICAgICAgICAnd2FybmluZycsXG4gICAgICAgICAgICAyLFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgdGhpcy4jcmVzZXJ2ZWRFbnJpY2htZW50LFxuICAgICAgICAgICAgdGhpcy4jY3VzdG9tRW5yaWNobWVudCxcbiAgICAgICAgKVxuICAgIH1cbiAgICBlcnJvcihtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy4jbGV2ZWwgPCAxKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNidWZmZXIuY29sbGVjdChcbiAgICAgICAgICAgICdlcnJvcicsXG4gICAgICAgICAgICAxLFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgdGhpcy4jcmVzZXJ2ZWRFbnJpY2htZW50LFxuICAgICAgICAgICAgdGhpcy4jY3VzdG9tRW5yaWNobWVudCxcbiAgICAgICAgKVxuICAgIH1cbiAgICBmYXRhbChtZXNzYWdlOiBzdHJpbmcsIGVycm9yOiB1bmtub3duLCBmaWVsZHM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgICAgICB0aGlzLiNidWZmZXIuY29sbGVjdChcbiAgICAgICAgICAgICdmYXRhbCcsXG4gICAgICAgICAgICAwLFxuICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgZmllbGRzLFxuICAgICAgICAgICAgdGhpcy4jcmVzZXJ2ZWRFbnJpY2htZW50LFxuICAgICAgICAgICAgdGhpcy4jY3VzdG9tRW5yaWNobWVudCxcbiAgICAgICAgKVxuICAgIH1cbn1cblxuZnVuY3Rpb24gZXJyb3JBc0pzb24oZXJyb3I6IHVua25vd24pOiBKc29uIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCB8fCBlcnJvciA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICAgICAgbmFtZTogZXJyb3IubmFtZSxcbiAgICAgICAgICAgIHN0YWNrOiBlcnJvci5zdGFjayxcbiAgICAgICAgICAgIC4uLihlcnJvciBhcyB1bmtub3duIGFzIHsgW2tleTogc3RyaW5nXTogdW5rbm93biB9KSxcbiAgICAgICAgfSBhcyBKc29uXG4gICAgfVxuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZXJyb3IsXG4gICAgICAgIH0gYXMgSnNvblxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBtZXNzYWdlOiAoZXJyb3IgYXMgb2JqZWN0IHwgdW5kZWZpbmVkKT8udG9TdHJpbmcoKSxcbiAgICAgICAgbmFtZTogdHlwZW9mIGVycm9yLFxuICAgIH0gYXMgSnNvblxufVxuIl19
|
package/host/reflect.js
CHANGED
|
@@ -55,4 +55,4 @@ async function readConfig() {
|
|
|
55
55
|
const packageJson = JSON.parse(await readFile('package.json', 'utf-8'));
|
|
56
56
|
return packageJson;
|
|
57
57
|
}
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlZmxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFvQ3hDLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBZ0MsRUFBRSxTQUFnQjtJQUN6RSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNaLDBHQUEwRztRQUMxRyxvRUFBb0U7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsSUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQTtBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FDckIsTUFBZ0MsRUFDaEMsU0FBNEI7SUFFNUIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDWiwwR0FBMEc7UUFDMUcsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsTUFBTSxDQUFDLEVBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQ3JCLE1BQW1DLEVBQ25DLFNBQWM7SUFFZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDVixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDL0UsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFDLElBQVk7SUFDdEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxVQUFVLEVBQUUsQ0FBQTtJQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2pELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQzdELENBQUE7SUFDRCxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQzFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLDhDQUE4QyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDL0YsQ0FlQSxDQUFBO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzlELE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDdEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sRUFBRTtnQkFDSixHQUFHLENBQUMsQ0FBQyxNQUFNO2dCQUNYLElBQUksRUFBRSxXQUFXLENBQUMsR0FBRztnQkFDckIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFO2dCQUNsQixXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJO2FBQ3pDO1lBQ0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLEVBQUU7WUFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztZQUMxQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7U0FDM0IsQ0FBQyxDQUFDO0tBQ04sQ0FBQTtBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsVUFBVTtJQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FNckUsQ0FBQTtJQUNELE9BQU8sV0FBVyxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkZGlyLCByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnXG5pbXBvcnQgeyBiYXNlbmFtZSwgZXh0bmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCdcbmltcG9ydCB7IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2h0dHAuanMnXG5pbXBvcnQgeyBQYWNrYWdlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vcmVnaXN0cnkuanMnXG5cbnR5cGUgQ1BVID1cbiAgICB8ICdhcm0nXG4gICAgfCAnYXJtNjQnXG4gICAgfCAnaWEzMidcbiAgICB8ICdtaXBzJ1xuICAgIHwgJ21pcHNlbCdcbiAgICB8ICdwcGMnXG4gICAgfCAncHBjNjQnXG4gICAgfCAnczM5MCdcbiAgICB8ICdzMzkweCdcbiAgICB8ICd4MzInXG4gICAgfCAneDY0J1xudHlwZSBDcHVDb25maWcgPSBDUFUgfCBgISR7Q1BVfWBcbnR5cGUgT1NDb25maWcgPSBOb2RlSlMuUGxhdGZvcm0gfCBgISR7Tm9kZUpTLlBsYXRmb3JtfWBcblxuZXhwb3J0IHR5cGUgUGFja2FnZUpzb25Db25maWd1cmF0aW9uID0ge1xuICAgIG5vZGVWZXJzaW9uPzogc3RyaW5nXG4gICAgY3B1cz86IENwdUNvbmZpZ1tdXG4gICAgb3M/OiBPU0NvbmZpZ1tdXG59XG5cbmV4cG9ydCB0eXBlIFJlZmxlY3Rpb24gPSB7XG4gICAgbmFtZTogc3RyaW5nXG4gICAgaHR0cDoge1xuICAgICAgICBuYW1lOiBzdHJpbmdcbiAgICAgICAgbWV0aG9kOiBzdHJpbmdcbiAgICAgICAgcGF0aFBhdHRlcm46IHN0cmluZ1xuICAgICAgICBwYXRoUmVnRXhwOiBSZWdFeHBcbiAgICAgICAgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gJiBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb25cbiAgICB9W11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVDcHUoY29uZmlnOiBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb24sIHN1cHBvcnRlZDogQ1BVW10pOiBDUFUge1xuICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVN1cHBvcnRlZChjb25maWcuY3B1cywgc3VwcG9ydGVkKVxuICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgICAgLy8gcmVzb2x2ZTxUPihjb25maWcsIHN1cHBvcnRlZCkgYWN0dWFsbHkgYXNzZXJ0cyBjb25maWcgaXMgKFQgfCBgISR7VH1gKVtdLCBidXQgdGhhdCdzIG5vdCBzdXBwb3J0ZWQgeWV0LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIENQVXM6ICcgKyBjb25maWcuY3B1cyEuam9pbignLCAnKSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlT1MoXG4gICAgY29uZmlnOiBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb24sXG4gICAgc3VwcG9ydGVkOiBOb2RlSlMuUGxhdGZvcm1bXSxcbik6IE5vZGVKUy5QbGF0Zm9ybSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlU3VwcG9ydGVkKGNvbmZpZy5vcywgc3VwcG9ydGVkKVxuICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgICAgLy8gcmVzb2x2ZTxUPihjb25maWcsIHN1cHBvcnRlZCkgYWN0dWFsbHkgYXNzZXJ0cyBjb25maWcgaXMgKFQgfCBgISR7VH1gKVtdLCBidXQgdGhhdCdzIG5vdCBzdXBwb3J0ZWQgeWV0LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG9wZXJhdGluZyBzeXN0ZW1zOiAnICsgY29uZmlnLm9zIS5qb2luKCcsICcpKVxuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZWRcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVN1cHBvcnRlZDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBjb25maWc6IChUIHwgYCEke1R9YClbXSB8IHVuZGVmaW5lZCxcbiAgICBzdXBwb3J0ZWQ6IFRbXSxcbik6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBzdXBwb3J0ZWRbMF1cbiAgICB9XG4gICAgcmV0dXJuIHN1cHBvcnRlZC5maW5kKHMgPT4gY29uZmlnLmluY2x1ZGVzKHMpICYmICFjb25maWcuaW5jbHVkZXMoYCEke3N9YCkpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWZsZWN0KHBhdGg6IHN0cmluZyk6IFByb21pc2U8UmVmbGVjdGlvbj4ge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZENvbmZpZygpXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwYXRoKVxuICAgIGNvbnN0IGZpbGVzID0gKGF3YWl0IHJlYWRkaXIoYWJzb2x1dGVQYXRoKSkuZmlsdGVyKFxuICAgICAgICBmaWxlID0+IGV4dG5hbWUoZmlsZSkgPT09ICcudHMnICYmICFmaWxlLmVuZHNXaXRoKCcuZC50cycpLFxuICAgIClcbiAgICBjb25zdCB7IGdldEhhbmRsZXJzLCBzZXRNZXRhIH0gPSAoYXdhaXQgaW1wb3J0KFxuICAgICAgICBwYXRoVG9GaWxlVVJMKGpvaW4oYWJzb2x1dGVQYXRoLCAnbm9kZV9tb2R1bGVzL0ByaWRkYW5jZS9ob3N0L2hvc3QvcmVnaXN0cnkuanMnKSkudG9TdHJpbmcoKVxuICAgICkpIGFzIHtcbiAgICAgICAgZ2V0SGFuZGxlcnM6ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgbWV0YT86IHsgZmlsZU5hbWU6IHN0cmluZyB9XG4gICAgICAgICAgICBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvblxuICAgICAgICAgICAgbWV0aG9kOiBzdHJpbmdcbiAgICAgICAgICAgIHBhdGhQYXR0ZXJuOiBzdHJpbmdcbiAgICAgICAgICAgIHBhdGhSZWdFeHA6IFJlZ0V4cFxuICAgICAgICB9W11cbiAgICAgICAgc2V0TWV0YTogKFxuICAgICAgICAgICAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICByZXY6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGNmZzogUGFja2FnZUNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4gICAgICAgICkgPT4gdm9pZFxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBjb25zdCBiYXNlID0gYmFzZW5hbWUoZmlsZSwgJy50cycpXG4gICAgICAgIHNldE1ldGEocGFja2FnZUpzb24ubmFtZSwgYmFzZSwgdW5kZWZpbmVkLCBwYWNrYWdlSnNvbi5jb25maWcpXG4gICAgICAgIGF3YWl0IGltcG9ydChwYXRoVG9GaWxlVVJMKGpvaW4oYWJzb2x1dGVQYXRoLCBiYXNlICsgJy5qcycpKS50b1N0cmluZygpKVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHBhY2thZ2VKc29uLm5hbWUsXG4gICAgICAgIGh0dHA6IGdldEhhbmRsZXJzKCdodHRwJykubWFwKGggPT4gKHtcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIC4uLmguY29uZmlnLFxuICAgICAgICAgICAgICAgIGNwdXM6IHBhY2thZ2VKc29uLmNwdSxcbiAgICAgICAgICAgICAgICBvczogcGFja2FnZUpzb24ub3MsXG4gICAgICAgICAgICAgICAgbm9kZVZlcnNpb246IHBhY2thZ2VKc29uLmVuZ2luZXM/Lm5vZGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmFtZTogaC5tZXRhPy5maWxlTmFtZSA/PyAnJyxcbiAgICAgICAgICAgIG1ldGhvZDogaC5tZXRob2QsXG4gICAgICAgICAgICBwYXRoUGF0dGVybjogaC5wYXRoUGF0dGVybixcbiAgICAgICAgICAgIHBhdGhSZWdFeHA6IGgucGF0aFJlZ0V4cCxcbiAgICAgICAgfSkpLFxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZENvbmZpZygpIHtcbiAgICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoJ3BhY2thZ2UuanNvbicsICd1dGYtOCcpKSBhcyB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBlbmdpbmVzPzogeyBbZW5naW5lOiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgICBjcHU/OiBDcHVDb25maWdbXVxuICAgICAgICBvcz86IE9TQ29uZmlnW11cbiAgICAgICAgY29uZmlnPzogb2JqZWN0XG4gICAgfVxuICAgIHJldHVybiBwYWNrYWdlSnNvblxufVxuIl19
|
package/host/registry.js
CHANGED
|
@@ -70,4 +70,4 @@ export function registerHttpHandler(method, path, configOrHandler, fn) {
|
|
|
70
70
|
httpHostRegistry(getMetadata(), configOrHandler, method, path, fn);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxRQUFRLEdBQWlDLEVBQUUsQ0FBQTtBQUVqRCxTQUFTLFVBQVUsQ0FBQyxJQUF3QixFQUFFLE9BQW9CO0lBQzlELHVFQUF1RTtJQUN2RSxDQUFDO0lBQUEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQXdCO0lBQ2hELE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFrQixDQUFBO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQXdCO0lBQy9DLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLHNCQUFzQixDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSx1QkFBdUIsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNsQixDQUFDO0FBVUQsSUFBSSxnQkFBMEIsQ0FBQTtBQUU5QixTQUFTLFdBQVcsQ0FBQyxJQUFjO0lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQTtBQUMzQixDQUFDO0FBRUQsSUFBSSxRQUE4QixDQUFBO0FBRWxDLE1BQU0sVUFBVSxPQUFPLENBQ25CLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLE1BQXdDO0lBRXhDLFFBQVEsR0FBRztRQUNQLFdBQVc7UUFDWCxRQUFRO1FBQ1IsUUFBUTtRQUNSLE1BQU07S0FDVCxDQUFBO0FBQ0wsQ0FBQztBQWlCRCxTQUFTLFdBQVc7SUFDaEIsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVk7SUFDOUIsT0FBTyxJQUFJLE1BQU0sQ0FDYixDQUNJLEdBQUc7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ3hFLFdBQVcsQ0FDZCxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUMsRUFDMUMsR0FBRyxDQUNOLENBQUE7QUFDTCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ2xCLElBQXNDLEVBQ3RDLFFBQTBDO0lBRzFDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7U0FBTSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFDRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQ2IsSUFBMEIsRUFDMUIsR0FBcUMsRUFDckMsTUFBYyxFQUNkLElBQVksRUFDWixLQUFjO0lBRWQsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNmLElBQUk7UUFDSixNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQ3hDLE1BQU07UUFDTixXQUFXLEVBQUUsSUFBSTtRQUNqQixVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQztRQUM5QixLQUFLO0tBQ1IsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUlyQixNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE1BQWMsRUFDZCxJQUFZLEVBQ1osZUFBK0MsRUFDL0MsRUFBWTtJQUVaLElBQUksT0FBTyxlQUFlLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDN0UsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFDekQsQ0FBQztRQUNELGdCQUFnQixDQUFDLFdBQVcsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFuZGxlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gJy4uL2h0dHAuanMnXG5cbmV4cG9ydCB0eXBlIEh0dHBIYW5kbGVyID0ge1xuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBsaWNhdGUtdHlwZS1jb25zdGl0dWVudHNcbiAgICBjb25maWc6IEZ1bGxDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkXG4gICAgbWV0aG9kOiBNZXRob2RcbiAgICBwYXRoUGF0dGVybjogc3RyaW5nXG4gICAgcGF0aFJlZ0V4cDogUmVnRXhwXG4gICAgZW50cnk6IEhhbmRsZXJcbn1cblxudHlwZSBIYW5kbGVyVHlwZXMgPSB7XG4gICAgaHR0cDogSHR0cEhhbmRsZXJcbn1cblxuY29uc3QgaGFuZGxlcnM6IHsgW2tleTogc3RyaW5nXTogdW5rbm93bltdIH0gPSB7fVxuXG5mdW5jdGlvbiBhZGRIYW5kbGVyKHR5cGU6IGtleW9mIEhhbmRsZXJUeXBlcywgaGFuZGxlcjogSHR0cEhhbmRsZXIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgIDsoaGFuZGxlcnNbdHlwZV0gPz89IFtdKS5wdXNoKGhhbmRsZXIpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVycyh0eXBlOiBrZXlvZiBIYW5kbGVyVHlwZXMpIHtcbiAgICByZXR1cm4gKGhhbmRsZXJzW3R5cGVdID8/IFtdKSBhcyBIdHRwSGFuZGxlcltdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVyKHR5cGU6IGtleW9mIEhhbmRsZXJUeXBlcykge1xuICAgIGNvbnN0IGhzID0gZ2V0SGFuZGxlcnModHlwZSlcbiAgICBjb25zdCBbaGFuZGxlcl0gPSBoc1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICR7dHlwZX0gaGFuZGxlciByZWdpc3RlcmVkLmApXG4gICAgfVxuICAgIGlmIChocy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSAke3R5cGV9IGhhbmRsZXJzIHJlZ2lzdGVyZWQuYClcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXJcbn1cblxudHlwZSBIdHRwSG9zdCA9IChcbiAgICBtZXRhOiBNZXRhZGF0YSB8IHVuZGVmaW5lZCxcbiAgICBjb25maWc6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIG1ldGhvZDogTWV0aG9kLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBoYW5kbGVyOiBIYW5kbGVyLFxuKSA9PiB2b2lkXG5cbmxldCBodHRwSG9zdFJlZ2lzdHJ5OiBIdHRwSG9zdFxuXG5mdW5jdGlvbiBzZXRIdHRwSG9zdChob3N0OiBIdHRwSG9zdCkge1xuICAgIGh0dHBIb3N0UmVnaXN0cnkgPSBob3N0XG59XG5cbmxldCBtZXRhZGF0YTogTWV0YWRhdGEgfCB1bmRlZmluZWRcblxuZXhwb3J0IGZ1bmN0aW9uIHNldE1ldGEoXG4gICAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgIHJldmlzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29uZmlnOiBQYWNrYWdlQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbikge1xuICAgIG1ldGFkYXRhID0ge1xuICAgICAgICBwYWNrYWdlTmFtZSxcbiAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgIHJldmlzaW9uLFxuICAgICAgICBjb25maWcsXG4gICAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IHR5cGUgUGFja2FnZUNvbmZpZ3VyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIHtcbiAgICAvLyBQbGFjZWhvbGRlciBmb3IgcGFja2FnZS1sZXZlbCBjb25maWd1cmF0aW9uc1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1xuZXhwb3J0IHR5cGUgRnVsbENvbmZpZ3VyYXRpb24gPSBQYWNrYWdlQ29uZmlndXJhdGlvbiAmIEhhbmRsZXJDb25maWd1cmF0aW9uXG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhID0ge1xuICAgIHBhY2thZ2VOYW1lOiBzdHJpbmdcbiAgICBmaWxlTmFtZTogc3RyaW5nXG4gICAgcmV2aXNpb246IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgIGNvbmZpZz86IFBhY2thZ2VDb25maWd1cmF0aW9uXG59XG5cbmZ1bmN0aW9uIGdldE1ldGFkYXRhKCkge1xuICAgIHJldHVybiBtZXRhZGF0YVxufVxuXG5mdW5jdGlvbiBwYXRoVG9SZWdFeHAocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXG4gICAgICAgIChcbiAgICAgICAgICAgICdeJyArXG4gICAgICAgICAgICBwYXRoLnJlcGxhY2UoL1svXFxcXF4kKz8uKCl8W1xcXXt9XS9ndSwgJ1xcXFwkJicpLnJlcGxhY2VBbGwoJyonLCAnW14vXFxcXD9dKycpICtcbiAgICAgICAgICAgICcoXFxcXD8uKik/JCdcbiAgICAgICAgKS5yZXBsYWNlKCdbXi9cXFxcP10rW14vXFxcXD9dKyhcXFxcPy4qKT8kJywgJycpLFxuICAgICAgICAndScsXG4gICAgKVxufVxuXG5mdW5jdGlvbiBjb21iaW5lQ29uZmlnKFxuICAgIGJhc2U6IFBhY2thZ2VDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIG92ZXJyaWRlOiBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1xuKTogRnVsbENvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQge1xuICAgIGlmIChiYXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlXG4gICAgfSBlbHNlIGlmIChvdmVycmlkZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBiYXNlXG4gICAgfVxuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLm92ZXJyaWRlIH1cbn1cblxuZnVuY3Rpb24gaHR0cEhvc3QoXG4gICAgbWV0YTogTWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gICAgY2ZnOiBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICBtZXRob2Q6IE1ldGhvZCxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZW50cnk6IEhhbmRsZXIsXG4pIHtcbiAgICBhZGRIYW5kbGVyKCdodHRwJywge1xuICAgICAgICBtZXRhLFxuICAgICAgICBjb25maWc6IGNvbWJpbmVDb25maWcobWV0YT8uY29uZmlnLCBjZmcpLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHBhdGhQYXR0ZXJuOiBwYXRoLFxuICAgICAgICBwYXRoUmVnRXhwOiBwYXRoVG9SZWdFeHAocGF0aCksXG4gICAgICAgIGVudHJ5LFxuICAgIH0pXG59XG5cbnNldEh0dHBIb3N0KGh0dHBIb3N0KVxuXG5leHBvcnQgdHlwZSBNZXRob2QgPSAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnXG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlckh0dHBIYW5kbGVyKFxuICAgIG1ldGhvZDogTWV0aG9kLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZ09ySGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIHVuZGVmaW5lZCwgbWV0aG9kLCBwYXRoLCBjb25maWdPckhhbmRsZXIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFmbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBhIGhhbmRsZXIgZnVuY3Rpb24uJylcbiAgICAgICAgfVxuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIGNvbmZpZ09ySGFuZGxlciwgbWV0aG9kLCBwYXRoLCBmbilcbiAgICB9XG59XG4iXX0=
|
package/http.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import type { UrlWithParsedQuery } from 'node:url';
|
|
3
2
|
import { Context, HandlerConfiguration, Json } from './context.js';
|
|
4
3
|
export * from './context.js';
|
|
5
4
|
export type ResponseHeaders = {
|
|
@@ -13,12 +12,179 @@ export type FullResult = {
|
|
|
13
12
|
export type Result = void | string | FullResult;
|
|
14
13
|
export type HttpRequest = {
|
|
15
14
|
readonly rawUrl: string;
|
|
16
|
-
readonly url:
|
|
17
|
-
pathStepAt: (index: number) => string;
|
|
18
|
-
};
|
|
15
|
+
readonly url: ParsedUrl;
|
|
19
16
|
readonly headers: Readonly<ResponseHeaders>;
|
|
20
17
|
readonly body?: Json | string;
|
|
21
18
|
};
|
|
19
|
+
type Gone = 'Gone' | undefined;
|
|
20
|
+
export type ParsedUrl = {
|
|
21
|
+
/**
|
|
22
|
+
* Gets the fragment portion of the URL.
|
|
23
|
+
*
|
|
24
|
+
* ```js
|
|
25
|
+
* const myURL = new URL('https://example.org/foo#bar');
|
|
26
|
+
* console.log(myURL.hash);
|
|
27
|
+
* // Prints #bar
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
readonly hash: string;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the host portion of the URL.
|
|
33
|
+
*
|
|
34
|
+
* ```js
|
|
35
|
+
* const myURL = new URL('https://example.org:81/foo');
|
|
36
|
+
* console.log(myURL.host);
|
|
37
|
+
* // Prints example.org:81
|
|
38
|
+
*/
|
|
39
|
+
readonly host: string;
|
|
40
|
+
/**
|
|
41
|
+
* Gets the host name portion of the URL. The key difference between`url.host` and `url.hostname` is that `url.hostname` does _not_ include the
|
|
42
|
+
* port.
|
|
43
|
+
*
|
|
44
|
+
* ```js
|
|
45
|
+
* const myURL = new URL('https://example.org:81/foo');
|
|
46
|
+
* console.log(myURL.hostname);
|
|
47
|
+
* // Prints example.org
|
|
48
|
+
*/
|
|
49
|
+
readonly hostname: string;
|
|
50
|
+
/**
|
|
51
|
+
* Gets the serialized URL.
|
|
52
|
+
*
|
|
53
|
+
* ```js
|
|
54
|
+
* const myURL = new URL('https://example.org/foo');
|
|
55
|
+
* console.log(myURL.href);
|
|
56
|
+
* // Prints https://example.org/foo
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
readonly href: string;
|
|
60
|
+
/**
|
|
61
|
+
* Gets the serialization of the URL's origin.
|
|
62
|
+
*
|
|
63
|
+
* ```js
|
|
64
|
+
* const myURL = new URL('https://example.org/foo/bar?baz');
|
|
65
|
+
* console.log(myURL.origin);
|
|
66
|
+
* // Prints https://example.org
|
|
67
|
+
* ```
|
|
68
|
+
*
|
|
69
|
+
* ```js
|
|
70
|
+
* const idnURL = new URL('https://測試');
|
|
71
|
+
* console.log(idnURL.origin);
|
|
72
|
+
* // Prints https://xn--g6w251d
|
|
73
|
+
*
|
|
74
|
+
* console.log(idnURL.hostname);
|
|
75
|
+
* // Prints xn--g6w251d
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
readonly origin: string;
|
|
79
|
+
/**
|
|
80
|
+
* Gets the password portion of the URL.
|
|
81
|
+
*
|
|
82
|
+
* ```js
|
|
83
|
+
* const myURL = new URL('https://abc:xyz@example.com');
|
|
84
|
+
* console.log(myURL.password);
|
|
85
|
+
* // Prints xyz
|
|
86
|
+
*
|
|
87
|
+
* myURL.password = '123';
|
|
88
|
+
* console.log(myURL.href);
|
|
89
|
+
* // Prints https://abc:123@example.com/
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
readonly password: string;
|
|
93
|
+
/**
|
|
94
|
+
* Gets the path portion of the URL.
|
|
95
|
+
*
|
|
96
|
+
* ```js
|
|
97
|
+
* const myURL = new URL('https://example.org/abc/xyz?123');
|
|
98
|
+
* console.log(myURL.pathname);
|
|
99
|
+
* // Prints /abc/xyz
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
readonly pathname: string;
|
|
103
|
+
/**
|
|
104
|
+
* Gets the port portion of the URL.
|
|
105
|
+
*
|
|
106
|
+
* The port value may be a number or a string containing a number in the range `0` to `65535` (inclusive). Setting the value to the default port of the `URL` objects given `protocol` will
|
|
107
|
+
* result in the `port` value becoming
|
|
108
|
+
* the empty string (`''`).
|
|
109
|
+
*
|
|
110
|
+
* The port value can be an empty string in which case the port depends on
|
|
111
|
+
* the protocol/scheme.
|
|
112
|
+
*
|
|
113
|
+
* If that string is invalid but it begins with a number, the leading number is
|
|
114
|
+
* assigned to `port`.
|
|
115
|
+
* If the number lies outside the range denoted above, it is ignored.
|
|
116
|
+
*
|
|
117
|
+
* ```js
|
|
118
|
+
* const myURL = new URL('https://example.org:8888');
|
|
119
|
+
* console.log(myURL.port);
|
|
120
|
+
* // Prints 8888
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
readonly port: string;
|
|
124
|
+
/**
|
|
125
|
+
* Gets the protocol portion of the URL.
|
|
126
|
+
*
|
|
127
|
+
* ```js
|
|
128
|
+
* const myURL = new URL('https://example.org');
|
|
129
|
+
* console.log(myURL.protocol);
|
|
130
|
+
* // Prints https:
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
readonly protocol: string;
|
|
134
|
+
/**
|
|
135
|
+
* Gets the serialized query portion of the URL.
|
|
136
|
+
*
|
|
137
|
+
* ```js
|
|
138
|
+
* const myURL = new URL('https://example.org/abc?123');
|
|
139
|
+
* console.log(myURL.search);
|
|
140
|
+
* // Prints ?123
|
|
141
|
+
* ```
|
|
142
|
+
*
|
|
143
|
+
* Any invalid URL characters appearing in the value assigned the `search`property will be `percent-encoded`.
|
|
144
|
+
*/
|
|
145
|
+
readonly search: string;
|
|
146
|
+
/**
|
|
147
|
+
* Gets the `URLSearchParams` object representing the query parameters of the
|
|
148
|
+
* URL.
|
|
149
|
+
*
|
|
150
|
+
* ```js
|
|
151
|
+
* const myURL = new URL('https://example.org/abc?foo=~bar');
|
|
152
|
+
*
|
|
153
|
+
* console.log(myURL.search); // prints ?foo=~bar
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
readonly searchParams: URLSearchParams;
|
|
157
|
+
/**
|
|
158
|
+
* Gets the username portion of the URL.
|
|
159
|
+
*
|
|
160
|
+
* ```js
|
|
161
|
+
* const myURL = new URL('https://abc:xyz@example.com');
|
|
162
|
+
* console.log(myURL.username);
|
|
163
|
+
* // Prints abc
|
|
164
|
+
* ```
|
|
165
|
+
*
|
|
166
|
+
* Any invalid URL characters appearing in the value assigned the `username` property will be `percent-encoded`.
|
|
167
|
+
*/
|
|
168
|
+
readonly username: string;
|
|
169
|
+
/**
|
|
170
|
+
* Gets a step of the path portion of the URL.
|
|
171
|
+
*
|
|
172
|
+
* ```js
|
|
173
|
+
* const myURL = new URL('https://example.org/abc/xyz?123');
|
|
174
|
+
* console.log(myURL.pathStepAt(0));
|
|
175
|
+
* // Prints abc
|
|
176
|
+
* console.log(myURL.pathStepAt(1));
|
|
177
|
+
* // Prints xyz
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
pathStepAt: (index: number) => string;
|
|
181
|
+
/**
|
|
182
|
+
* Gone, use searchParams instead.
|
|
183
|
+
*/
|
|
184
|
+
query?: Gone;
|
|
185
|
+
/** @ignore */
|
|
186
|
+
toJSON: () => string;
|
|
187
|
+
};
|
|
22
188
|
export type HttpHandlerConfiguration = HandlerConfiguration & {
|
|
23
189
|
/**
|
|
24
190
|
* A string identifying which domains can access the endpoint cross-origin.
|
package/http.js
CHANGED
|
@@ -15,4 +15,4 @@ export function patch(path, configOrHandler, fn) {
|
|
|
15
15
|
export function del(path, configOrHandler, fn) {
|
|
16
16
|
registerHttpHandler('DELETE', path, configOrHandler, fn);
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEQsY0FBYyxjQUFjLENBQUE7QUFpQzVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBR0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBR0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQVksRUFDWixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXJsV2l0aFBhcnNlZFF1ZXJ5IH0gZnJvbSAnbm9kZTp1cmwnXG5pbXBvcnQgeyBDb250ZXh0LCBIYW5kbGVyQ29uZmlndXJhdGlvbiwgSnNvbiB9IGZyb20gJy4vY29udGV4dC5qcydcbmltcG9ydCB7IHJlZ2lzdGVySHR0cEhhbmRsZXIgfSBmcm9tICcuL2hvc3QvcmVnaXN0cnkuanMnXG5cbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5qcydcblxuZXhwb3J0IHR5cGUgUmVzcG9uc2VIZWFkZXJzID0ge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGdWxsUmVzdWx0ID0ge1xuICAgIGhlYWRlcnM/OiBSZXNwb25zZUhlYWRlcnNcbiAgICBzdGF0dXM/OiBudW1iZXJcbiAgICBib2R5PzogdW5rbm93blxufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSB2b2lkIHwgc3RyaW5nIHwgRnVsbFJlc3VsdFxuXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdCA9IHtcbiAgICByZWFkb25seSByYXdVcmw6IHN0cmluZ1xuICAgIHJlYWRvbmx5IHVybDogUmVhZG9ubHk8VXJsV2l0aFBhcnNlZFF1ZXJ5PiAmIHsgcGF0aFN0ZXBBdDogKGluZGV4OiBudW1iZXIpID0+IHN0cmluZyB9XG4gICAgcmVhZG9ubHkgaGVhZGVyczogUmVhZG9ubHk8UmVzcG9uc2VIZWFkZXJzPlxuICAgIHJlYWRvbmx5IGJvZHk/OiBKc29uIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiA9IEhhbmRsZXJDb25maWd1cmF0aW9uICYge1xuICAgIC8qKlxuICAgICAqIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHdoaWNoIGRvbWFpbnMgY2FuIGFjY2VzcyB0aGUgZW5kcG9pbnQgY3Jvc3Mtb3JpZ2luLlxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvcnM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSGFuZGxlciA9IChjb250ZXh0OiBDb250ZXh0LCByZXF1ZXN0OiBIdHRwUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXN1bHQ+IHwgUmVzdWx0XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZ2V0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignR0VUJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbmV4cG9ydCBmdW5jdGlvbiBwb3N0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwb3N0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignUE9TVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BVVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcGF0Y2gocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BBVENIJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZGVsKFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignREVMRVRFJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbiJdfQ==
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEQsY0FBYyxjQUFjLENBQUE7QUErTTVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBR0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBR0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQVksRUFDWixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHQsIEhhbmRsZXJDb25maWd1cmF0aW9uLCBKc29uIH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJIdHRwSGFuZGxlciB9IGZyb20gJy4vaG9zdC9yZWdpc3RyeS5qcydcblxuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LmpzJ1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZUhlYWRlcnMgPSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZ1bGxSZXN1bHQgPSB7XG4gICAgaGVhZGVycz86IFJlc3BvbnNlSGVhZGVyc1xuICAgIHN0YXR1cz86IG51bWJlclxuICAgIGJvZHk/OiB1bmtub3duXG59XG5cbmV4cG9ydCB0eXBlIFJlc3VsdCA9IHZvaWQgfCBzdHJpbmcgfCBGdWxsUmVzdWx0XG5cbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0ID0ge1xuICAgIHJlYWRvbmx5IHJhd1VybDogc3RyaW5nXG4gICAgcmVhZG9ubHkgdXJsOiBQYXJzZWRVcmxcbiAgICByZWFkb25seSBoZWFkZXJzOiBSZWFkb25seTxSZXNwb25zZUhlYWRlcnM+XG4gICAgcmVhZG9ubHkgYm9keT86IEpzb24gfCBzdHJpbmdcbn1cblxudHlwZSBHb25lID0gJ0dvbmUnIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCB0eXBlIFBhcnNlZFVybCA9IHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBmcmFnbWVudCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9mb28jYmFyJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuaGFzaCk7XG4gICAgICogLy8gUHJpbnRzICNiYXJcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNoOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBob3N0IHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnOjgxL2ZvbycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhvc3QpO1xuICAgICAqIC8vIFByaW50cyBleGFtcGxlLm9yZzo4MVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhvc3Q6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGhvc3QgbmFtZSBwb3J0aW9uIG9mIHRoZSBVUkwuIFRoZSBrZXkgZGlmZmVyZW5jZSBiZXR3ZWVuYHVybC5ob3N0YCBhbmQgYHVybC5ob3N0bmFtZWAgaXMgdGhhdCBgdXJsLmhvc3RuYW1lYCBkb2VzIF9ub3RfIGluY2x1ZGUgdGhlXG4gICAgICogcG9ydC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnOjgxL2ZvbycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhvc3RuYW1lKTtcbiAgICAgKiAvLyBQcmludHMgZXhhbXBsZS5vcmdcbiAgICAgKi9cbiAgICByZWFkb25seSBob3N0bmFtZTogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc2VyaWFsaXplZCBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9mb28nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5ocmVmKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly9leGFtcGxlLm9yZy9mb29cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBocmVmOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzZXJpYWxpemF0aW9uIG9mIHRoZSBVUkwncyBvcmlnaW4uXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9mb28vYmFyP2JheicpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLm9yaWdpbik7XG4gICAgICogLy8gUHJpbnRzIGh0dHBzOi8vZXhhbXBsZS5vcmdcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgaWRuVVJMID0gbmV3IFVSTCgnaHR0cHM6Ly/muKzoqaYnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhpZG5VUkwub3JpZ2luKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly94bi0tZzZ3MjUxZFxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coaWRuVVJMLmhvc3RuYW1lKTtcbiAgICAgKiAvLyBQcmludHMgeG4tLWc2dzI1MWRcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBvcmlnaW46IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHBhc3N3b3JkIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2FiYzp4eXpAZXhhbXBsZS5jb20nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wYXNzd29yZCk7XG4gICAgICogLy8gUHJpbnRzIHh5elxuICAgICAqXG4gICAgICogbXlVUkwucGFzc3dvcmQgPSAnMTIzJztcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5ocmVmKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly9hYmM6MTIzQGV4YW1wbGUuY29tL1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXRoIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2FiYy94eXo/MTIzJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucGF0aG5hbWUpO1xuICAgICAqIC8vIFByaW50cyAvYWJjL3h5elxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBhdGhuYW1lOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwb3J0IHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIFRoZSBwb3J0IHZhbHVlIG1heSBiZSBhIG51bWJlciBvciBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIGluIHRoZSByYW5nZSBgMGAgdG8gYDY1NTM1YCAoaW5jbHVzaXZlKS4gU2V0dGluZyB0aGUgdmFsdWUgdG8gdGhlIGRlZmF1bHQgcG9ydCBvZiB0aGUgYFVSTGAgb2JqZWN0cyBnaXZlbiBgcHJvdG9jb2xgIHdpbGxcbiAgICAgKiByZXN1bHQgaW4gdGhlIGBwb3J0YCB2YWx1ZSBiZWNvbWluZ1xuICAgICAqIHRoZSBlbXB0eSBzdHJpbmcgKGAnJ2ApLlxuICAgICAqXG4gICAgICogVGhlIHBvcnQgdmFsdWUgY2FuIGJlIGFuIGVtcHR5IHN0cmluZyBpbiB3aGljaCBjYXNlIHRoZSBwb3J0IGRlcGVuZHMgb25cbiAgICAgKiB0aGUgcHJvdG9jb2wvc2NoZW1lLlxuICAgICAqXG4gICAgICogSWYgdGhhdCBzdHJpbmcgaXMgaW52YWxpZCBidXQgaXQgYmVnaW5zIHdpdGggYSBudW1iZXIsIHRoZSBsZWFkaW5nIG51bWJlciBpc1xuICAgICAqIGFzc2lnbmVkIHRvIGBwb3J0YC5cbiAgICAgKiBJZiB0aGUgbnVtYmVyIGxpZXMgb3V0c2lkZSB0aGUgcmFuZ2UgZGVub3RlZCBhYm92ZSwgaXQgaXMgaWdub3JlZC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnOjg4ODgnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wb3J0KTtcbiAgICAgKiAvLyBQcmludHMgODg4OFxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvcnQ6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHByb3RvY29sIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucHJvdG9jb2wpO1xuICAgICAqIC8vIFByaW50cyBodHRwczpcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBwcm90b2NvbDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc2VyaWFsaXplZCBxdWVyeSBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmM/MTIzJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuc2VhcmNoKTtcbiAgICAgKiAvLyBQcmludHMgPzEyM1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQW55IGludmFsaWQgVVJMIGNoYXJhY3RlcnMgYXBwZWFyaW5nIGluIHRoZSB2YWx1ZSBhc3NpZ25lZCB0aGUgYHNlYXJjaGBwcm9wZXJ0eSB3aWxsIGJlIGBwZXJjZW50LWVuY29kZWRgLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYFVSTFNlYXJjaFBhcmFtc2Agb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcXVlcnkgcGFyYW1ldGVycyBvZiB0aGVcbiAgICAgKiBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmM/Zm9vPX5iYXInKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnNlYXJjaCk7ICAvLyBwcmludHMgP2Zvbz1+YmFyXG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXNcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1c2VybmFtZSBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9hYmM6eHl6QGV4YW1wbGUuY29tJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwudXNlcm5hbWUpO1xuICAgICAqIC8vIFByaW50cyBhYmNcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEFueSBpbnZhbGlkIFVSTCBjaGFyYWN0ZXJzIGFwcGVhcmluZyBpbiB0aGUgdmFsdWUgYXNzaWduZWQgdGhlIGB1c2VybmFtZWAgcHJvcGVydHkgd2lsbCBiZSBgcGVyY2VudC1lbmNvZGVkYC5cbiAgICAgKi9cbiAgICByZWFkb25seSB1c2VybmFtZTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgc3RlcCBvZiB0aGUgcGF0aCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmMveHl6PzEyMycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnBhdGhTdGVwQXQoMCkpO1xuICAgICAqIC8vIFByaW50cyBhYmNcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wYXRoU3RlcEF0KDEpKTtcbiAgICAgKiAvLyBQcmludHMgeHl6XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcGF0aFN0ZXBBdDogKGluZGV4OiBudW1iZXIpID0+IHN0cmluZ1xuXG4gICAgLyoqXG4gICAgICogR29uZSwgdXNlIHNlYXJjaFBhcmFtcyBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHF1ZXJ5PzogR29uZVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICB0b0pTT046ICgpID0+IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIHtcbiAgICAvKipcbiAgICAgKiBBIHN0cmluZyBpZGVudGlmeWluZyB3aGljaCBkb21haW5zIGNhbiBhY2Nlc3MgdGhlIGVuZHBvaW50IGNyb3NzLW9yaWdpbi5cbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBjb3JzPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEhhbmRsZXIgPSAoY29udGV4dDogQ29udGV4dCwgcmVxdWVzdDogSHR0cFJlcXVlc3QpID0+IFByb21pc2U8UmVzdWx0PiB8IFJlc3VsdFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZ2V0KHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGdldChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ0dFVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHBvc3QocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcG9zdChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BPU1QnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHB1dChwYXRoOiBzdHJpbmcsIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwdXQoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3Rlckh0dHBIYW5kbGVyKCdQVVQnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoKHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2gocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3Rlckh0dHBIYW5kbGVyKCdQQVRDSCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gZGVsKHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZGVsKHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGRlbChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ0RFTEVURScsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riddance/host",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=
|
|
7
|
+
"node": ">=20"
|
|
8
8
|
},
|
|
9
9
|
"keywords": [
|
|
10
10
|
"riddance",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"postpublish": "riddance-sync"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@riddance/env": "0.
|
|
38
|
+
"@riddance/env": "0.5.0"
|
|
39
39
|
},
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "ea0da027d4c41492b88ccd24c3a00fdee0323960"
|
|
41
41
|
}
|