@mrgrain/cdk-esbuild 4.0.0-alpha.8 → 4.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +1297 -357
- package/CHANGELOG.md +94 -0
- package/LICENSE +1 -1
- package/README.md +249 -112
- package/lib/asset.d.ts +12 -1
- package/lib/asset.js +21 -13
- package/lib/bundler.d.ts +51 -28
- package/lib/bundler.js +28 -17
- package/lib/code.d.ts +48 -8
- package/lib/code.js +42 -19
- package/lib/esbuild-types.d.ts +43 -15
- package/lib/esbuild-types.js +1 -1
- package/lib/index.d.ts +4 -3
- package/lib/index.js +6 -5
- package/lib/inline-code.d.ts +29 -77
- package/lib/inline-code.js +53 -104
- package/lib/private/dynamic-package.d.ts +41 -0
- package/lib/private/dynamic-package.js +115 -0
- package/lib/private/esbuild-source.d.ts +33 -0
- package/lib/private/esbuild-source.js +59 -0
- package/lib/private/utils.d.ts +7 -0
- package/lib/private/utils.js +23 -0
- package/lib/provider.d.ts +129 -0
- package/lib/provider.js +115 -0
- package/lib/source.d.ts +81 -5
- package/lib/source.js +84 -8
- package/package.json +32 -18
- package/.gitattributes +0 -24
- package/.projenrc.ts +0 -214
- package/API.md +0 -2514
- package/SECURITY.md +0 -19
- package/lib/esbuild-polyfill.js +0 -2300
- package/lib/esbuild-wrapper.d.ts +0 -3
- package/lib/esbuild-wrapper.js +0 -25
- package/lib/formatMessages.d.ts +0 -18
- package/lib/formatMessages.js +0 -34
package/lib/esbuild-types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
export declare type Platform = 'browser' | 'node' | 'neutral';
|
|
2
3
|
export declare type Format = 'iife' | 'cjs' | 'esm';
|
|
3
|
-
export declare type Loader = '
|
|
4
|
+
export declare type Loader = 'base64' | 'binary' | 'copy' | 'css' | 'dataurl' | 'default' | 'empty' | 'file' | 'js' | 'json' | 'jsx' | 'text' | 'ts' | 'tsx';
|
|
4
5
|
export declare type LogLevel = 'verbose' | 'debug' | 'info' | 'warning' | 'error' | 'silent';
|
|
5
6
|
export declare type Charset = 'ascii' | 'utf8';
|
|
6
7
|
export declare type Drop = 'console' | 'debugger';
|
|
@@ -15,12 +16,14 @@ interface CommonOptions {
|
|
|
15
16
|
readonly sourcesContent?: boolean;
|
|
16
17
|
/** Documentation: https://esbuild.github.io/api/#format */
|
|
17
18
|
readonly format?: Format;
|
|
18
|
-
/** Documentation: https://esbuild.github.io/api/#
|
|
19
|
+
/** Documentation: https://esbuild.github.io/api/#global-name */
|
|
19
20
|
readonly globalName?: string;
|
|
20
21
|
/** Documentation: https://esbuild.github.io/api/#target */
|
|
21
22
|
readonly target?: string | string[];
|
|
22
23
|
/** Documentation: https://esbuild.github.io/api/#supported */
|
|
23
24
|
readonly supported?: Record<string, boolean>;
|
|
25
|
+
/** Documentation: https://esbuild.github.io/api/#platform */
|
|
26
|
+
readonly platform?: Platform;
|
|
24
27
|
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
25
28
|
readonly mangleProps?: any;
|
|
26
29
|
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
@@ -46,11 +49,17 @@ interface CommonOptions {
|
|
|
46
49
|
/** Documentation: https://esbuild.github.io/api/#ignore-annotations */
|
|
47
50
|
readonly ignoreAnnotations?: boolean;
|
|
48
51
|
/** Documentation: https://esbuild.github.io/api/#jsx */
|
|
49
|
-
readonly jsx?: 'transform' | 'preserve';
|
|
52
|
+
readonly jsx?: 'transform' | 'preserve' | 'automatic';
|
|
50
53
|
/** Documentation: https://esbuild.github.io/api/#jsx-factory */
|
|
51
54
|
readonly jsxFactory?: string;
|
|
52
55
|
/** Documentation: https://esbuild.github.io/api/#jsx-fragment */
|
|
53
56
|
readonly jsxFragment?: string;
|
|
57
|
+
/** Documentation: https://esbuild.github.io/api/#jsx-import-source */
|
|
58
|
+
readonly jsxImportSource?: string;
|
|
59
|
+
/** Documentation: https://esbuild.github.io/api/#jsx-development */
|
|
60
|
+
readonly jsxDev?: boolean;
|
|
61
|
+
/** Documentation: https://esbuild.github.io/api/#jsx-side-effects */
|
|
62
|
+
readonly jsxSideEffects?: boolean;
|
|
54
63
|
/** Documentation: https://esbuild.github.io/api/#define */
|
|
55
64
|
readonly define?: {
|
|
56
65
|
[key: string]: string;
|
|
@@ -83,17 +92,19 @@ export interface BuildOptions extends CommonOptions {
|
|
|
83
92
|
readonly outdir?: string;
|
|
84
93
|
/** Documentation: https://esbuild.github.io/api/#outbase */
|
|
85
94
|
readonly outbase?: string;
|
|
86
|
-
/** Documentation: https://esbuild.github.io/api/#platform */
|
|
87
|
-
readonly platform?: Platform;
|
|
88
95
|
/** Documentation: https://esbuild.github.io/api/#external */
|
|
89
96
|
readonly external?: string[];
|
|
97
|
+
/** Documentation: https://esbuild.github.io/api/#packages */
|
|
98
|
+
readonly packages?: 'external';
|
|
99
|
+
/** Documentation: https://esbuild.github.io/api/#alias */
|
|
100
|
+
readonly alias?: Record<string, string>;
|
|
90
101
|
/** Documentation: https://esbuild.github.io/api/#loader */
|
|
91
102
|
readonly loader?: {
|
|
92
103
|
[ext: string]: Loader;
|
|
93
104
|
};
|
|
94
105
|
/** Documentation: https://esbuild.github.io/api/#resolve-extensions */
|
|
95
106
|
readonly resolveExtensions?: string[];
|
|
96
|
-
/** Documentation: https://esbuild.github.io/api/#
|
|
107
|
+
/** Documentation: https://esbuild.github.io/api/#main-fields */
|
|
97
108
|
readonly mainFields?: string[];
|
|
98
109
|
/** Documentation: https://esbuild.github.io/api/#conditions */
|
|
99
110
|
readonly conditions?: string[];
|
|
@@ -136,7 +147,7 @@ export interface WatchMode {
|
|
|
136
147
|
onRebuild?: (error: BuildFailure | null, result: BuildResult | null) => void;
|
|
137
148
|
}
|
|
138
149
|
export interface StdinOptions {
|
|
139
|
-
contents: string;
|
|
150
|
+
contents: string | Uint8Array;
|
|
140
151
|
resolveDir?: string;
|
|
141
152
|
sourcefile?: string;
|
|
142
153
|
loader?: Loader;
|
|
@@ -170,11 +181,11 @@ export interface Location {
|
|
|
170
181
|
suggestion: string;
|
|
171
182
|
}
|
|
172
183
|
export interface OutputFile {
|
|
173
|
-
path: string;
|
|
184
|
+
readonly path: string;
|
|
174
185
|
/** "text" as bytes */
|
|
175
|
-
contents: Uint8Array;
|
|
176
|
-
/** "contents" as text */
|
|
177
|
-
text: string;
|
|
186
|
+
readonly contents: Uint8Array;
|
|
187
|
+
/** "contents" as text (changes automatically with "contents") */
|
|
188
|
+
readonly text: string;
|
|
178
189
|
}
|
|
179
190
|
export interface BuildInvalidate {
|
|
180
191
|
(): Promise<BuildIncremental>;
|
|
@@ -224,7 +235,7 @@ export interface ServeResult {
|
|
|
224
235
|
stop: () => void;
|
|
225
236
|
}
|
|
226
237
|
export interface TransformOptions extends CommonOptions {
|
|
227
|
-
readonly tsconfigRaw?: string;
|
|
238
|
+
readonly tsconfigRaw?: string | TsconfigOptions;
|
|
228
239
|
readonly sourcefile?: string;
|
|
229
240
|
readonly loader?: Loader;
|
|
230
241
|
readonly banner?: string;
|
|
@@ -236,6 +247,8 @@ export interface TransformResult {
|
|
|
236
247
|
warnings: Message[];
|
|
237
248
|
/** Only when "mangleCache" is present */
|
|
238
249
|
mangleCache?: Record<string, string | false>;
|
|
250
|
+
/** Only when "legalComments" is "external" */
|
|
251
|
+
legalComments?: string;
|
|
239
252
|
}
|
|
240
253
|
export interface TransformFailure extends Error {
|
|
241
254
|
errors: Message[];
|
|
@@ -354,7 +367,10 @@ export interface Metafile {
|
|
|
354
367
|
imports: {
|
|
355
368
|
path: string;
|
|
356
369
|
kind: ImportKind;
|
|
370
|
+
external?: boolean;
|
|
371
|
+
original?: string;
|
|
357
372
|
}[];
|
|
373
|
+
format?: 'cjs' | 'esm';
|
|
358
374
|
};
|
|
359
375
|
};
|
|
360
376
|
outputs: {
|
|
@@ -367,10 +383,12 @@ export interface Metafile {
|
|
|
367
383
|
};
|
|
368
384
|
imports: {
|
|
369
385
|
path: string;
|
|
370
|
-
kind: ImportKind;
|
|
386
|
+
kind: ImportKind | 'file-loader';
|
|
387
|
+
external?: boolean;
|
|
371
388
|
}[];
|
|
372
389
|
exports: string[];
|
|
373
390
|
entryPoint?: string;
|
|
391
|
+
cssBundle?: string;
|
|
374
392
|
};
|
|
375
393
|
};
|
|
376
394
|
}
|
|
@@ -434,7 +452,7 @@ export declare function serve(serveOptions: ServeOptions, buildOptions: BuildOpt
|
|
|
434
452
|
*
|
|
435
453
|
* Documentation: https://esbuild.github.io/api/#transform-api
|
|
436
454
|
*/
|
|
437
|
-
export declare function transform(input: string, options?: TransformOptions): Promise<TransformResult>;
|
|
455
|
+
export declare function transform(input: string | Uint8Array, options?: TransformOptions): Promise<TransformResult>;
|
|
438
456
|
/**
|
|
439
457
|
* Converts log messages to formatted message strings suitable for printing in
|
|
440
458
|
* the terminal. This allows you to reuse the built-in behavior of esbuild's
|
|
@@ -510,7 +528,7 @@ export interface InitializeOptions {
|
|
|
510
528
|
* The URL of the "esbuild.wasm" file. This must be provided when running
|
|
511
529
|
* esbuild in the browser.
|
|
512
530
|
*/
|
|
513
|
-
wasmURL?: string;
|
|
531
|
+
wasmURL?: string | URL;
|
|
514
532
|
/**
|
|
515
533
|
* The result of calling "new WebAssembly.Module(buffer)" where "buffer"
|
|
516
534
|
* is a typed array or ArrayBuffer containing the binary code of the
|
|
@@ -528,4 +546,14 @@ export interface InitializeOptions {
|
|
|
528
546
|
worker?: boolean;
|
|
529
547
|
}
|
|
530
548
|
export declare let version: string;
|
|
549
|
+
export interface CompilerOptions {
|
|
550
|
+
readonly jsxFactory?: string;
|
|
551
|
+
readonly jsxFragmentFactory?: string;
|
|
552
|
+
readonly useDefineForClassFields?: boolean;
|
|
553
|
+
readonly importsNotUsedAsValues?: 'remove' | 'preserve' | 'error';
|
|
554
|
+
readonly preserveValueImports?: boolean;
|
|
555
|
+
}
|
|
556
|
+
export interface TsconfigOptions {
|
|
557
|
+
readonly compilerOptions?: CompilerOptions;
|
|
558
|
+
}
|
|
531
559
|
export {};
|
package/lib/esbuild-types.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
// ~~ Generated by projen. To modify, edit .projenrc.js and run "npx projen".
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.version = void 0;
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdjb3B5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsTmFtZSAqL1xuICByZWFkb25seSBnbG9iYWxOYW1lPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RhcmdldCAqL1xuICByZWFkb25seSB0YXJnZXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzdXBwb3J0ZWQgKi9cbiAgcmVhZG9ubHkgc3VwcG9ydGVkPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUHJvcHM/OiBhbnk7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IHJlc2VydmVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUXVvdGVkPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZHJvcCAqL1xuICByZWFkb25seSBkcm9wPzogRHJvcFtdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnk/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlXaGl0ZXNwYWNlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5SWRlbnRpZmllcnM/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlTeW50YXg/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NoYXJzZXQgKi9cbiAgcmVhZG9ubHkgY2hhcnNldD86IENoYXJzZXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJlZS1zaGFraW5nICovXG4gIHJlYWRvbmx5IHRyZWVTaGFraW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpZ25vcmUtYW5ub3RhdGlvbnMgKi9cbiAgcmVhZG9ubHkgaWdub3JlQW5ub3RhdGlvbnM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4ICovXG4gIHJlYWRvbmx5IGpzeD86ICd0cmFuc2Zvcm0nIHwgJ3ByZXNlcnZlJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtZmFjdG9yeSAqL1xuICByZWFkb25seSBqc3hGYWN0b3J5Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mcmFnbWVudCAqL1xuICByZWFkb25seSBqc3hGcmFnbWVudD86IHN0cmluZztcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2RlZmluZSAqL1xuICByZWFkb25seSBkZWZpbmU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1cmUgKi9cbiAgcmVhZG9ubHkgcHVyZT86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2tlZXAtbmFtZXMgKi9cbiAgcmVhZG9ubHkga2VlcE5hbWVzPzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NvbG9yICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGV2ZWwgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBMb2dMZXZlbDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGltaXQgKi9cbiAgcmVhZG9ubHkgbG9nTGltaXQ/OiBudW1iZXI7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLW92ZXJyaWRlICovXG4gIHJlYWRvbmx5IGxvZ092ZXJyaWRlPzogUmVjb3JkPHN0cmluZywgTG9nTGV2ZWw+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1bmRsZSAqL1xuICByZWFkb25seSBidW5kbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NwbGl0dGluZyAqL1xuICByZWFkb25seSBzcGxpdHRpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3ByZXNlcnZlLXN5bWxpbmtzICovXG4gIHJlYWRvbmx5IHByZXNlcnZlU3ltbGlua3M/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGZpbGUgKi9cbiAgcmVhZG9ubHkgb3V0ZmlsZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtZXRhZmlsZSAqL1xuICByZWFkb25seSBtZXRhZmlsZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0ZGlyICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRiYXNlICovXG4gIHJlYWRvbmx5IG91dGJhc2U/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcGxhdGZvcm0gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm0/OiBQbGF0Zm9ybTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNleHRlcm5hbCAqL1xuICByZWFkb25seSBleHRlcm5hbD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvYWRlciAqL1xuICByZWFkb25seSBsb2FkZXI/OiB7IFtleHQ6IHN0cmluZ106IExvYWRlciB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3Jlc29sdmUtZXh0ZW5zaW9ucyAqL1xuICByZWFkb25seSByZXNvbHZlRXh0ZW5zaW9ucz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21haW5GaWVsZHMgKi9cbiAgcmVhZG9ubHkgbWFpbkZpZWxkcz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NvbmRpdGlvbnMgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9ucz86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dyaXRlICovXG4gIHJlYWRvbmx5IHdyaXRlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbGxvdy1vdmVyd3JpdGUgKi9cbiAgcmVhZG9ubHkgYWxsb3dPdmVyd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RzY29uZmlnICovXG4gIHJlYWRvbmx5IHRzY29uZmlnPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dC1leHRlbnNpb24gKi9cbiAgcmVhZG9ubHkgb3V0RXh0ZW5zaW9uPzogeyBbZXh0OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwdWJsaWMtcGF0aCAqL1xuICByZWFkb25seSBwdWJsaWNQYXRoPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2VudHJ5LW5hbWVzICovXG4gIHJlYWRvbmx5IGVudHJ5TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY2h1bmstbmFtZXMgKi9cbiAgcmVhZG9ubHkgY2h1bmtOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhc3NldC1uYW1lcyAqL1xuICByZWFkb25seSBhc3NldE5hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2luamVjdCAqL1xuICByZWFkb25seSBpbmplY3Q/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNiYW5uZXIgKi9cbiAgcmVhZG9ubHkgYmFubmVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZm9vdGVyICovXG4gIHJlYWRvbmx5IGZvb3Rlcj86IHsgW3R5cGU6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2luY3JlbWVudGFsICovXG4gIHJlYWRvbmx5IGluY3JlbWVudGFsPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN3b3JraW5nLWRpcmVjdG9yeSAqL1xuICByZWFkb25seSBhYnNXb3JraW5nRGlyPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI25vZGUtcGF0aHMgKi9cbiAgcmVhZG9ubHkgbm9kZVBhdGhzPzogc3RyaW5nW107IC8vIFRoZSBcIk5PREVfUEFUSFwiIHZhcmlhYmxlIGZyb20gTm9kZS5qc1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdhdGNoTW9kZSB7XG4gIG9uUmVidWlsZD86IChlcnJvcjogQnVpbGRGYWlsdXJlIHwgbnVsbCwgcmVzdWx0OiBCdWlsZFJlc3VsdCB8IG51bGwpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RkaW5PcHRpb25zIHtcbiAgY29udGVudHM6IHN0cmluZztcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW52YWxpZGF0ZSB7XG4gICgpOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmNyZW1lbnRhbCBleHRlbmRzIEJ1aWxkUmVzdWx0IHtcbiAgcmVidWlsZDogQnVpbGRJbnZhbGlkYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJ3cml0ZTogZmFsc2VcIiAqL1xuICBvdXRwdXRGaWxlcz86IE91dHB1dEZpbGVbXTtcbiAgLyoqIE9ubHkgd2hlbiBcImluY3JlbWVudGFsOiB0cnVlXCIgKi9cbiAgcmVidWlsZD86IEJ1aWxkSW52YWxpZGF0ZTtcbiAgLyoqIE9ubHkgd2hlbiBcIndhdGNoOiB0cnVlXCIgKi9cbiAgc3RvcD86ICgpID0+IHZvaWQ7XG4gIC8qKiBPbmx5IHdoZW4gXCJtZXRhZmlsZTogdHJ1ZVwiICovXG4gIG1ldGFmaWxlPzogTWV0YWZpbGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1hcmd1bWVudHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPcHRpb25zIHtcbiAgcG9ydD86IG51bWJlcjtcbiAgaG9zdD86IHN0cmluZztcbiAgc2VydmVkaXI/OiBzdHJpbmc7XG4gIG9uUmVxdWVzdD86IChhcmdzOiBTZXJ2ZU9uUmVxdWVzdEFyZ3MpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPblJlcXVlc3RBcmdzIHtcbiAgcmVtb3RlQWRkcmVzczogc3RyaW5nO1xuICBtZXRob2Q6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgLyoqIFRoZSB0aW1lIHRvIGdlbmVyYXRlIHRoZSByZXNwb25zZSwgbm90IHRvIHNlbmQgaXQgKi9cbiAgdGltZUluTVM6IG51bWJlcjtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1yZXR1cm4tdmFsdWVzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlUmVzdWx0IHtcbiAgcG9ydDogbnVtYmVyO1xuICBob3N0OiBzdHJpbmc7XG4gIHdhaXQ6IFByb21pc2U8dm9pZD47XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSB0c2NvbmZpZ1Jhdz86IHN0cmluZztcblxuICByZWFkb25seSBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBsb2FkZXI/OiBMb2FkZXI7XG4gIHJlYWRvbmx5IGJhbm5lcj86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9vdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybVJlc3VsdCB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWFwOiBzdHJpbmc7XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZXR1cDogKGJ1aWxkOiBQbHVnaW5CdWlsZCkgPT4gKHZvaWQgfCBQcm9taXNlPHZvaWQ+KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZCB7XG4gIGluaXRpYWxPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gIHJlc29sdmUocGF0aDogc3RyaW5nLCBvcHRpb25zPzogUmVzb2x2ZU9wdGlvbnMpOiBQcm9taXNlPFJlc29sdmVSZXN1bHQ+O1xuXG4gIG9uU3RhcnQoY2FsbGJhY2s6ICgpID0+XG4gIChPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQgfCBQcm9taXNlPE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZD4pKTogdm9pZDtcbiAgb25FbmQoY2FsbGJhY2s6IChyZXN1bHQ6IEJ1aWxkUmVzdWx0KSA9PlxuICAodm9pZCB8IFByb21pc2U8dm9pZD4pKTogdm9pZDtcbiAgb25SZXNvbHZlKG9wdGlvbnM6IE9uUmVzb2x2ZU9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25SZXNvbHZlQXJncykgPT5cbiAgKE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG4gIG9uTG9hZChvcHRpb25zOiBPbkxvYWRPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uTG9hZEFyZ3MpID0+XG4gIChPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuXG4gIC8vIFRoaXMgaXMgYSBmdWxsIGNvcHkgb2YgdGhlIGVzYnVpbGQgbGlicmFyeSBpbiBjYXNlIHlvdSBuZWVkIGl0XG4gIGVzYnVpbGQ6IHtcbiAgICBzZXJ2ZTogdHlwZW9mIHNlcnZlO1xuICAgIGJ1aWxkOiB0eXBlb2YgYnVpbGQ7XG4gICAgYnVpbGRTeW5jOiB0eXBlb2YgYnVpbGRTeW5jO1xuICAgIHRyYW5zZm9ybTogdHlwZW9mIHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm1TeW5jOiB0eXBlb2YgdHJhbnNmb3JtU3luYztcbiAgICBmb3JtYXRNZXNzYWdlczogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzO1xuICAgIGZvcm1hdE1lc3NhZ2VzU3luYzogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzU3luYztcbiAgICBhbmFseXplTWV0YWZpbGU6IHR5cGVvZiBhbmFseXplTWV0YWZpbGU7XG4gICAgYW5hbHl6ZU1ldGFmaWxlU3luYzogdHlwZW9mIGFuYWx5emVNZXRhZmlsZVN5bmM7XG4gICAgaW5pdGlhbGl6ZTogdHlwZW9mIGluaXRpYWxpemU7XG4gICAgdmVyc2lvbjogdHlwZW9mIHZlcnNpb247XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICBpbXBvcnRlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBraW5kPzogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG5cbiAgcGF0aDogc3RyaW5nO1xuICBleHRlcm5hbDogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM6IGJvb2xlYW47XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uU3RhcnRSZXN1bHQge1xuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgaW1wb3J0ZXI6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI6IHN0cmluZztcbiAga2luZDogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRLaW5kID1cbiAgfCAnZW50cnktcG9pbnQnXG5cbiAgLy8gSlNcbiAgfCAnaW1wb3J0LXN0YXRlbWVudCdcbiAgfCAncmVxdWlyZS1jYWxsJ1xuICB8ICdkeW5hbWljLWltcG9ydCdcbiAgfCAncmVxdWlyZS1yZXNvbHZlJ1xuXG4gIC8vIENTU1xuICB8ICdpbXBvcnQtcnVsZSdcbiAgfCAndXJsLXRva2VuJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZVJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIHBhdGg/OiBzdHJpbmc7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZE9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZEFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZFJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIGNvbnRlbnRzPzogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE1lc3NhZ2Uge1xuICBpZD86IHN0cmluZztcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIG91dHB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgIGJ5dGVzSW5PdXRwdXQ6IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICAgIGV4cG9ydHM6IHN0cmluZ1tdO1xuICAgICAgZW50cnlQb2ludD86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyB7XG4gIGtpbmQ6ICdlcnJvcicgfCAnd2FybmluZyc7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXplTWV0YWZpbGVPcHRpb25zIHtcbiAgY29sb3I/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFByb21pc2U8VHJhbnNmb3JtUmVzdWx0PjtcblxuLyoqXG4gKiBDb252ZXJ0cyBsb2cgbWVzc2FnZXMgdG8gZm9ybWF0dGVkIG1lc3NhZ2Ugc3RyaW5ncyBzdWl0YWJsZSBmb3IgcHJpbnRpbmcgaW5cbiAqIHRoZSB0ZXJtaW5hbC4gVGhpcyBhbGxvd3MgeW91IHRvIHJldXNlIHRoZSBidWlsdC1pbiBiZWhhdmlvciBvZiBlc2J1aWxkJ3NcbiAqIGxvZyBtZXNzYWdlIGZvcm1hdHRlci4gVGhpcyBpcyBhIGJhdGNoLW9yaWVudGVkIEFQSSBmb3IgZWZmaWNpZW5jeS5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nW10+O1xuXG4vKipcbiAqIFByZXR0eS1wcmludHMgYW4gYW5hbHlzaXMgb2YgdGhlIG1ldGFmaWxlIEpTT04gdG8gYSBzdHJpbmcuIFRoaXMgaXMganVzdCBmb3JcbiAqIGNvbnZlbmllbmNlIHRvIGJlIGFibGUgdG8gbWF0Y2ggZXNidWlsZCdzIHByZXR0eS1wcmludGluZyBleGFjdGx5LiBJZiB5b3Ugd2FudFxuICogdG8gY3VzdG9taXplIGl0LCB5b3UgY2FuIGp1c3QgaW5zcGVjdCB0aGUgZGF0YSBpbiB0aGUgbWV0YWZpbGUgeW91cnNlbGYuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYnVpbGRcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgd3JpdGU6IGZhbHNlIH0pOiBCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGRTeW5jKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IEJ1aWxkUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcInRyYW5zZm9ybVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gdHJhbnNmb3JtU3luYyhpbnB1dDogc3RyaW5nLCBvcHRpb25zPzogVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybVJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJmb3JtYXRNZXNzYWdlc1wiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzU3luYyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogc3RyaW5nW107XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiYW5hbHl6ZU1ldGFmaWxlXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGVTeW5jKG1ldGFmaWxlOiBNZXRhZmlsZSB8IHN0cmluZywgb3B0aW9ucz86IEFuYWx5emVNZXRhZmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbi8qKlxuICogVGhpcyBjb25maWd1cmVzIHRoZSBicm93c2VyLWJhc2VkIHZlcnNpb24gb2YgZXNidWlsZC4gSXQgaXMgbmVjZXNzYXJ5IHRvXG4gKiBjYWxsIHRoaXMgZmlyc3QgYW5kIHdhaXQgZm9yIHRoZSByZXR1cm5lZCBwcm9taXNlIHRvIGJlIHJlc29sdmVkIGJlZm9yZVxuICogbWFraW5nIG90aGVyIEFQSSBjYWxscyB3aGVuIHVzaW5nIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzIChcIm9wdGlvbnNcIiBpcyByZXF1aXJlZClcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcnVubmluZy1pbi10aGUtYnJvd3NlclxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBpbml0aWFsaXplKG9wdGlvbnM6IEluaXRpYWxpemVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWFsaXplT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgVVJMIG9mIHRoZSBcImVzYnVpbGQud2FzbVwiIGZpbGUuIFRoaXMgbXVzdCBiZSBwcm92aWRlZCB3aGVuIHJ1bm5pbmdcbiAgICogZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAgICovXG4gIHdhc21VUkw/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZXN1bHQgb2YgY2FsbGluZyBcIm5ldyBXZWJBc3NlbWJseS5Nb2R1bGUoYnVmZmVyKVwiIHdoZXJlIFwiYnVmZmVyXCJcbiAgICogaXMgYSB0eXBlZCBhcnJheSBvciBBcnJheUJ1ZmZlciBjb250YWluaW5nIHRoZSBiaW5hcnkgY29kZSBvZiB0aGVcbiAgICogXCJlc2J1aWxkLndhc21cIiBmaWxlLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIGFzIGFuIGFsdGVybmF0aXZlIHRvIFwid2FzbVVSTFwiIGZvciBlbnZpcm9ubWVudHMgd2hlcmUgaXQnc1xuICAgKiBub3QgcG9zc2libGUgdG8gZG93bmxvYWQgdGhlIFdlYkFzc2VtYmx5IG1vZHVsZS5cbiAgICovXG4gIHdhc21Nb2R1bGU/OiBhbnk7XG5cbiAgLyoqXG4gICAqIEJ5IGRlZmF1bHQgZXNidWlsZCBydW5zIHRoZSBXZWJBc3NlbWJseS1iYXNlZCBicm93c2VyIEFQSSBpbiBhIHdlYiB3b3JrZXJcbiAgICogdG8gYXZvaWQgYmxvY2tpbmcgdGhlIFVJIHRocmVhZC4gVGhpcyBjYW4gYmUgZGlzYWJsZWQgYnkgc2V0dGluZyBcIndvcmtlclwiXG4gICAqIHRvIGZhbHNlLlxuICAgKi9cbiAgd29ya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGxldCB2ZXJzaW9uOiBzdHJpbmc7XG4iXX0=
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdiYXNlNjQnIHwgJ2JpbmFyeScgfCAnY29weScgfCAnY3NzJyB8ICdkYXRhdXJsJyB8ICdkZWZhdWx0JyB8ICdlbXB0eScgfCAnZmlsZScgfCAnanMnIHwgJ2pzb24nIHwgJ2pzeCcgfCAndGV4dCcgfCAndHMnIHwgJ3RzeCc7XG5leHBvcnQgdHlwZSBMb2dMZXZlbCA9ICd2ZXJib3NlJyB8ICdkZWJ1ZycgfCAnaW5mbycgfCAnd2FybmluZycgfCAnZXJyb3InIHwgJ3NpbGVudCc7XG5leHBvcnQgdHlwZSBDaGFyc2V0ID0gJ2FzY2lpJyB8ICd1dGY4JztcbmV4cG9ydCB0eXBlIERyb3AgPSAnY29uc29sZScgfCAnZGVidWdnZXInO1xuXG5pbnRlcmZhY2UgQ29tbW9uT3B0aW9ucyB7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlbWFwICovXG4gIHJlYWRvbmx5IHNvdXJjZW1hcD86IGJvb2xlYW4gfCAnbGlua2VkJyB8ICdpbmxpbmUnIHwgJ2V4dGVybmFsJyB8ICdib3RoJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsZWdhbC1jb21tZW50cyAqL1xuICByZWFkb25seSBsZWdhbENvbW1lbnRzPzogJ25vbmUnIHwgJ2lubGluZScgfCAnZW9mJyB8ICdsaW5rZWQnIHwgJ2V4dGVybmFsJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2Utcm9vdCAqL1xuICByZWFkb25seSBzb3VyY2VSb290Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZXMtY29udGVudCAqL1xuICByZWFkb25seSBzb3VyY2VzQ29udGVudD86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb3JtYXQgKi9cbiAgcmVhZG9ubHkgZm9ybWF0PzogRm9ybWF0O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2dsb2JhbC1uYW1lICovXG4gIHJlYWRvbmx5IGdsb2JhbE5hbWU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdGFyZ2V0ICovXG4gIHJlYWRvbmx5IHRhcmdldD86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3N1cHBvcnRlZCAqL1xuICByZWFkb25seSBzdXBwb3J0ZWQ/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwbGF0Zm9ybSAqL1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IG1hbmdsZVByb3BzPzogYW55O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21hbmdsZS1wcm9wcyAqL1xuICByZWFkb25seSByZXNlcnZlUHJvcHM/OiBhbnk7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IG1hbmdsZVF1b3RlZD86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IG1hbmdsZUNhY2hlPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgZmFsc2U+O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Ryb3AgKi9cbiAgcmVhZG9ubHkgZHJvcD86IERyb3BbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5PzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5V2hpdGVzcGFjZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWluaWZ5ICovXG4gIHJlYWRvbmx5IG1pbmlmeUlkZW50aWZpZXJzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5U3ludGF4PzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaGFyc2V0ICovXG4gIHJlYWRvbmx5IGNoYXJzZXQ/OiBDaGFyc2V0O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyZWUtc2hha2luZyAqL1xuICByZWFkb25seSB0cmVlU2hha2luZz86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaWdub3JlLWFubm90YXRpb25zICovXG4gIHJlYWRvbmx5IGlnbm9yZUFubm90YXRpb25zPzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeCAqL1xuICByZWFkb25seSBqc3g/OiAndHJhbnNmb3JtJyB8ICdwcmVzZXJ2ZScgfCAnYXV0b21hdGljJztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtZmFjdG9yeSAqL1xuICByZWFkb25seSBqc3hGYWN0b3J5Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mcmFnbWVudCAqL1xuICByZWFkb25seSBqc3hGcmFnbWVudD86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtaW1wb3J0LXNvdXJjZSAqL1xuICByZWFkb25seSBqc3hJbXBvcnRTb3VyY2U/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWRldmVsb3BtZW50ICovXG4gIHJlYWRvbmx5IGpzeERldj86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LXNpZGUtZWZmZWN0cyAqL1xuICByZWFkb25seSBqc3hTaWRlRWZmZWN0cz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNkZWZpbmUgKi9cbiAgcmVhZG9ubHkgZGVmaW5lPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwdXJlICovXG4gIHJlYWRvbmx5IHB1cmU/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNrZWVwLW5hbWVzICovXG4gIHJlYWRvbmx5IGtlZXBOYW1lcz86IGJvb2xlYW47XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjb2xvciAqL1xuICByZWFkb25seSBjb2xvcj86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLWxldmVsICovXG4gIHJlYWRvbmx5IGxvZ0xldmVsPzogTG9nTGV2ZWw7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLWxpbWl0ICovXG4gIHJlYWRvbmx5IGxvZ0xpbWl0PzogbnVtYmVyO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xvZy1vdmVycmlkZSAqL1xuICByZWFkb25seSBsb2dPdmVycmlkZT86IFJlY29yZDxzdHJpbmcsIExvZ0xldmVsPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCdWlsZE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidW5kbGUgKi9cbiAgcmVhZG9ubHkgYnVuZGxlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzcGxpdHRpbmcgKi9cbiAgcmVhZG9ubHkgc3BsaXR0aW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNwcmVzZXJ2ZS1zeW1saW5rcyAqL1xuICByZWFkb25seSBwcmVzZXJ2ZVN5bWxpbmtzPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRmaWxlICovXG4gIHJlYWRvbmx5IG91dGZpbGU/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWV0YWZpbGUgKi9cbiAgcmVhZG9ubHkgbWV0YWZpbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGRpciAqL1xuICByZWFkb25seSBvdXRkaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0YmFzZSAqL1xuICByZWFkb25seSBvdXRiYXNlPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2V4dGVybmFsICovXG4gIHJlYWRvbmx5IGV4dGVybmFsPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jcGFja2FnZXMgKi9cbiAgcmVhZG9ubHkgcGFja2FnZXM/OiAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsaWFzICovXG4gIHJlYWRvbmx5IGFsaWFzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluLWZpZWxkcyAqL1xuICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29uZGl0aW9ucyAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd3JpdGUgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsbG93LW92ZXJ3cml0ZSAqL1xuICByZWFkb25seSBhbGxvd092ZXJ3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHNjb25maWcgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0LWV4dGVuc2lvbiAqL1xuICByZWFkb25seSBvdXRFeHRlbnNpb24/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1YmxpYy1wYXRoICovXG4gIHJlYWRvbmx5IHB1YmxpY1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZW50cnktbmFtZXMgKi9cbiAgcmVhZG9ubHkgZW50cnlOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaHVuay1uYW1lcyAqL1xuICByZWFkb25seSBjaHVua05hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Fzc2V0LW5hbWVzICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0ICovXG4gIHJlYWRvbmx5IGluamVjdD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Jhbm5lciAqL1xuICByZWFkb25seSBiYW5uZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb290ZXIgKi9cbiAgcmVhZG9ubHkgZm9vdGVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5jcmVtZW50YWwgKi9cbiAgcmVhZG9ubHkgaW5jcmVtZW50YWw/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5ICovXG4gIHJlYWRvbmx5IGFic1dvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbm9kZS1wYXRocyAqL1xuICByZWFkb25seSBub2RlUGF0aHM/OiBzdHJpbmdbXTsgLy8gVGhlIFwiTk9ERV9QQVRIXCIgdmFyaWFibGUgZnJvbSBOb2RlLmpzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hNb2RlIHtcbiAgb25SZWJ1aWxkPzogKGVycm9yOiBCdWlsZEZhaWx1cmUgfCBudWxsLCByZXN1bHQ6IEJ1aWxkUmVzdWx0IHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGRpbk9wdGlvbnMge1xuICBjb250ZW50czogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIHJlYWRvbmx5IGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKGNoYW5nZXMgYXV0b21hdGljYWxseSB3aXRoIFwiY29udGVudHNcIikgKi9cbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW52YWxpZGF0ZSB7XG4gICgpOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmNyZW1lbnRhbCBleHRlbmRzIEJ1aWxkUmVzdWx0IHtcbiAgcmVidWlsZDogQnVpbGRJbnZhbGlkYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJ3cml0ZTogZmFsc2VcIiAqL1xuICBvdXRwdXRGaWxlcz86IE91dHB1dEZpbGVbXTtcbiAgLyoqIE9ubHkgd2hlbiBcImluY3JlbWVudGFsOiB0cnVlXCIgKi9cbiAgcmVidWlsZD86IEJ1aWxkSW52YWxpZGF0ZTtcbiAgLyoqIE9ubHkgd2hlbiBcIndhdGNoOiB0cnVlXCIgKi9cbiAgc3RvcD86ICgpID0+IHZvaWQ7XG4gIC8qKiBPbmx5IHdoZW4gXCJtZXRhZmlsZTogdHJ1ZVwiICovXG4gIG1ldGFmaWxlPzogTWV0YWZpbGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1hcmd1bWVudHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPcHRpb25zIHtcbiAgcG9ydD86IG51bWJlcjtcbiAgaG9zdD86IHN0cmluZztcbiAgc2VydmVkaXI/OiBzdHJpbmc7XG4gIG9uUmVxdWVzdD86IChhcmdzOiBTZXJ2ZU9uUmVxdWVzdEFyZ3MpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPblJlcXVlc3RBcmdzIHtcbiAgcmVtb3RlQWRkcmVzczogc3RyaW5nO1xuICBtZXRob2Q6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgLyoqIFRoZSB0aW1lIHRvIGdlbmVyYXRlIHRoZSByZXNwb25zZSwgbm90IHRvIHNlbmQgaXQgKi9cbiAgdGltZUluTVM6IG51bWJlcjtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1yZXR1cm4tdmFsdWVzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlUmVzdWx0IHtcbiAgcG9ydDogbnVtYmVyO1xuICBob3N0OiBzdHJpbmc7XG4gIHdhaXQ6IFByb21pc2U8dm9pZD47XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSB0c2NvbmZpZ1Jhdz86IHN0cmluZyB8IFRzY29uZmlnT3B0aW9ucztcblxuICByZWFkb25seSBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBsb2FkZXI/OiBMb2FkZXI7XG4gIHJlYWRvbmx5IGJhbm5lcj86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9vdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybVJlc3VsdCB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWFwOiBzdHJpbmc7XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG4gIC8qKiBPbmx5IHdoZW4gXCJsZWdhbENvbW1lbnRzXCIgaXMgXCJleHRlcm5hbFwiICovXG4gIGxlZ2FsQ29tbWVudHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZXR1cDogKGJ1aWxkOiBQbHVnaW5CdWlsZCkgPT4gKHZvaWQgfCBQcm9taXNlPHZvaWQ+KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZCB7XG4gIGluaXRpYWxPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gIHJlc29sdmUocGF0aDogc3RyaW5nLCBvcHRpb25zPzogUmVzb2x2ZU9wdGlvbnMpOiBQcm9taXNlPFJlc29sdmVSZXN1bHQ+O1xuXG4gIG9uU3RhcnQoY2FsbGJhY2s6ICgpID0+XG4gIChPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQgfCBQcm9taXNlPE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZD4pKTogdm9pZDtcbiAgb25FbmQoY2FsbGJhY2s6IChyZXN1bHQ6IEJ1aWxkUmVzdWx0KSA9PlxuICAodm9pZCB8IFByb21pc2U8dm9pZD4pKTogdm9pZDtcbiAgb25SZXNvbHZlKG9wdGlvbnM6IE9uUmVzb2x2ZU9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25SZXNvbHZlQXJncykgPT5cbiAgKE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG4gIG9uTG9hZChvcHRpb25zOiBPbkxvYWRPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uTG9hZEFyZ3MpID0+XG4gIChPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuXG4gIC8vIFRoaXMgaXMgYSBmdWxsIGNvcHkgb2YgdGhlIGVzYnVpbGQgbGlicmFyeSBpbiBjYXNlIHlvdSBuZWVkIGl0XG4gIGVzYnVpbGQ6IHtcbiAgICBzZXJ2ZTogdHlwZW9mIHNlcnZlO1xuICAgIGJ1aWxkOiB0eXBlb2YgYnVpbGQ7XG4gICAgYnVpbGRTeW5jOiB0eXBlb2YgYnVpbGRTeW5jO1xuICAgIHRyYW5zZm9ybTogdHlwZW9mIHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm1TeW5jOiB0eXBlb2YgdHJhbnNmb3JtU3luYztcbiAgICBmb3JtYXRNZXNzYWdlczogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzO1xuICAgIGZvcm1hdE1lc3NhZ2VzU3luYzogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzU3luYztcbiAgICBhbmFseXplTWV0YWZpbGU6IHR5cGVvZiBhbmFseXplTWV0YWZpbGU7XG4gICAgYW5hbHl6ZU1ldGFmaWxlU3luYzogdHlwZW9mIGFuYWx5emVNZXRhZmlsZVN5bmM7XG4gICAgaW5pdGlhbGl6ZTogdHlwZW9mIGluaXRpYWxpemU7XG4gICAgdmVyc2lvbjogdHlwZW9mIHZlcnNpb247XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICBpbXBvcnRlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBraW5kPzogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG5cbiAgcGF0aDogc3RyaW5nO1xuICBleHRlcm5hbDogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM6IGJvb2xlYW47XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uU3RhcnRSZXN1bHQge1xuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgaW1wb3J0ZXI6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI6IHN0cmluZztcbiAga2luZDogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRLaW5kID1cbiAgfCAnZW50cnktcG9pbnQnXG5cbiAgLy8gSlNcbiAgfCAnaW1wb3J0LXN0YXRlbWVudCdcbiAgfCAncmVxdWlyZS1jYWxsJ1xuICB8ICdkeW5hbWljLWltcG9ydCdcbiAgfCAncmVxdWlyZS1yZXNvbHZlJ1xuXG4gIC8vIENTU1xuICB8ICdpbXBvcnQtcnVsZSdcbiAgfCAndXJsLXRva2VuJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZVJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIHBhdGg/OiBzdHJpbmc7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZE9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZEFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZFJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIGNvbnRlbnRzPzogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE1lc3NhZ2Uge1xuICBpZD86IHN0cmluZztcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgICBleHRlcm5hbD86IGJvb2xlYW47XG4gICAgICAgIG9yaWdpbmFsPzogc3RyaW5nO1xuICAgICAgfVtdO1xuICAgICAgZm9ybWF0PzogJ2NqcycgfCAnZXNtJztcbiAgICB9O1xuICB9O1xuICBvdXRwdXRzOiB7XG4gICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgIGJ5dGVzOiBudW1iZXI7XG4gICAgICBpbnB1dHM6IHtcbiAgICAgICAgW3BhdGg6IHN0cmluZ106IHtcbiAgICAgICAgICBieXRlc0luT3V0cHV0OiBudW1iZXI7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgICAgaW1wb3J0czoge1xuICAgICAgICBwYXRoOiBzdHJpbmc7XG4gICAgICAgIGtpbmQ6IEltcG9ydEtpbmQgfCAnZmlsZS1sb2FkZXInO1xuICAgICAgICBleHRlcm5hbD86IGJvb2xlYW47XG4gICAgICB9W107XG4gICAgICBleHBvcnRzOiBzdHJpbmdbXTtcbiAgICAgIGVudHJ5UG9pbnQ/OiBzdHJpbmc7XG4gICAgICBjc3NCdW5kbGU/OiBzdHJpbmc7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtYXRNZXNzYWdlc09wdGlvbnMge1xuICBraW5kOiAnZXJyb3InIHwgJ3dhcm5pbmcnO1xuICBjb2xvcj86IGJvb2xlYW47XG4gIHRlcm1pbmFsV2lkdGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyB7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpbnZva2VzIHRoZSBcImVzYnVpbGRcIiBjb21tYW5kLWxpbmUgdG9vbCBmb3IgeW91LiBJdCByZXR1cm5zIGFcbiAqIHByb21pc2UgdGhhdCBlaXRoZXIgcmVzb2x2ZXMgd2l0aCBhIFwiQnVpbGRSZXN1bHRcIiBvYmplY3Qgb3IgcmVqZWN0cyB3aXRoIGFcbiAqIFwiQnVpbGRGYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNidWlsZC1hcGlcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyB3cml0ZTogZmFsc2UgfSk6IFByb21pc2U8QnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IGluY3JlbWVudGFsOiB0cnVlOyBtZXRhZmlsZTogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZEluY3JlbWVudGFsICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IGluY3JlbWVudGFsOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyBtZXRhZmlsZTogdHJ1ZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgbWV0YWZpbGU6IE1ldGFmaWxlIH0+O1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYnVpbGQob3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxCdWlsZFJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBpcyBzaW1pbGFyIHRvIFwiYnVpbGRcIiBidXQgaXQgc2VydmVzIHRoZSByZXN1bHRpbmcgZmlsZXMgb3ZlclxuICogSFRUUCBvbiBhIGxvY2FsaG9zdCBhZGRyZXNzIHdpdGggdGhlIHNwZWNpZmllZCBwb3J0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NlcnZlXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHNlcnZlKHNlcnZlT3B0aW9uczogU2VydmVPcHRpb25zLCBidWlsZE9wdGlvbnM6IEJ1aWxkT3B0aW9ucyk6IFByb21pc2U8U2VydmVSZXN1bHQ+O1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gdHJhbnNmb3JtcyBhIHNpbmdsZSBKYXZhU2NyaXB0IGZpbGUuIEl0IGNhbiBiZSB1c2VkIHRvIG1pbmlmeVxuICogSmF2YVNjcmlwdCwgY29udmVydCBUeXBlU2NyaXB0L0pTWCB0byBKYXZhU2NyaXB0LCBvciBjb252ZXJ0IG5ld2VyIEphdmFTY3JpcHRcbiAqIHRvIG9sZGVyIEphdmFTY3JpcHQuIEl0IHJldHVybnMgYSBwcm9taXNlIHRoYXQgaXMgZWl0aGVyIHJlc29sdmVkIHdpdGggYVxuICogXCJUcmFuc2Zvcm1SZXN1bHRcIiBvYmplY3Qgb3IgcmVqZWN0ZWQgd2l0aCBhIFwiVHJhbnNmb3JtRmFpbHVyZVwiIG9iamVjdC5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB0cmFuc2Zvcm0oaW5wdXQ6IHN0cmluZyB8IFVpbnQ4QXJyYXksIG9wdGlvbnM/OiBUcmFuc2Zvcm1PcHRpb25zKTogUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGxvZyBtZXNzYWdlcyB0byBmb3JtYXR0ZWQgbWVzc2FnZSBzdHJpbmdzIHN1aXRhYmxlIGZvciBwcmludGluZyBpblxuICogdGhlIHRlcm1pbmFsLiBUaGlzIGFsbG93cyB5b3UgdG8gcmV1c2UgdGhlIGJ1aWx0LWluIGJlaGF2aW9yIG9mIGVzYnVpbGQnc1xuICogbG9nIG1lc3NhZ2UgZm9ybWF0dGVyLiBUaGlzIGlzIGEgYmF0Y2gtb3JpZW50ZWQgQVBJIGZvciBlZmZpY2llbmN5LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRNZXNzYWdlcyhtZXNzYWdlczogUGFydGlhbE1lc3NhZ2VbXSwgb3B0aW9uczogRm9ybWF0TWVzc2FnZXNPcHRpb25zKTogUHJvbWlzZTxzdHJpbmdbXT47XG5cbi8qKlxuICogUHJldHR5LXByaW50cyBhbiBhbmFseXNpcyBvZiB0aGUgbWV0YWZpbGUgSlNPTiB0byBhIHN0cmluZy4gVGhpcyBpcyBqdXN0IGZvclxuICogY29udmVuaWVuY2UgdG8gYmUgYWJsZSB0byBtYXRjaCBlc2J1aWxkJ3MgcHJldHR5LXByaW50aW5nIGV4YWN0bHkuIElmIHlvdSB3YW50XG4gKiB0byBjdXN0b21pemUgaXQsIHlvdSBjYW4ganVzdCBpbnNwZWN0IHRoZSBkYXRhIGluIHRoZSBtZXRhZmlsZSB5b3Vyc2VsZi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXNcbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYW5hbHl6ZVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBhbmFseXplTWV0YWZpbGUobWV0YWZpbGU6IE1ldGFmaWxlIHwgc3RyaW5nLCBvcHRpb25zPzogQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPjtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJidWlsZFwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZFN5bmMob3B0aW9uczogQnVpbGRPcHRpb25zICYgeyB3cml0ZTogZmFsc2UgfSk6IEJ1aWxkUmVzdWx0ICYgeyBvdXRwdXRGaWxlczogT3V0cHV0RmlsZVtdIH07XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZFN5bmMob3B0aW9uczogQnVpbGRPcHRpb25zKTogQnVpbGRSZXN1bHQ7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwidHJhbnNmb3JtXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiB0cmFuc2Zvcm1TeW5jKGlucHV0OiBzdHJpbmcsIG9wdGlvbnM/OiBUcmFuc2Zvcm1PcHRpb25zKTogVHJhbnNmb3JtUmVzdWx0O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImZvcm1hdE1lc3NhZ2VzXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gZm9ybWF0TWVzc2FnZXNTeW5jKG1lc3NhZ2VzOiBQYXJ0aWFsTWVzc2FnZVtdLCBvcHRpb25zOiBGb3JtYXRNZXNzYWdlc09wdGlvbnMpOiBzdHJpbmdbXTtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJhbmFseXplTWV0YWZpbGVcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbmFseXplXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGFuYWx5emVNZXRhZmlsZVN5bmMobWV0YWZpbGU6IE1ldGFmaWxlIHwgc3RyaW5nLCBvcHRpb25zPzogQW5hbHl6ZU1ldGFmaWxlT3B0aW9ucyk6IHN0cmluZztcblxuLyoqXG4gKiBUaGlzIGNvbmZpZ3VyZXMgdGhlIGJyb3dzZXItYmFzZWQgdmVyc2lvbiBvZiBlc2J1aWxkLiBJdCBpcyBuZWNlc3NhcnkgdG9cbiAqIGNhbGwgdGhpcyBmaXJzdCBhbmQgd2FpdCBmb3IgdGhlIHJldHVybmVkIHByb21pc2UgdG8gYmUgcmVzb2x2ZWQgYmVmb3JlXG4gKiBtYWtpbmcgb3RoZXIgQVBJIGNhbGxzIHdoZW4gdXNpbmcgZXNidWlsZCBpbiB0aGUgYnJvd3Nlci5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiB5ZXMgKFwib3B0aW9uc1wiIGlzIHJlcXVpcmVkKVxuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNydW5uaW5nLWluLXRoZS1icm93c2VyXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGluaXRpYWxpemUob3B0aW9uczogSW5pdGlhbGl6ZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYWxpemVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBVUkwgb2YgdGhlIFwiZXNidWlsZC53YXNtXCIgZmlsZS4gVGhpcyBtdXN0IGJlIHByb3ZpZGVkIHdoZW4gcnVubmluZ1xuICAgKiBlc2J1aWxkIGluIHRoZSBicm93c2VyLlxuICAgKi9cbiAgd2FzbVVSTD86IHN0cmluZyB8IFVSTDtcblxuICAvKipcbiAgICogVGhlIHJlc3VsdCBvZiBjYWxsaW5nIFwibmV3IFdlYkFzc2VtYmx5Lk1vZHVsZShidWZmZXIpXCIgd2hlcmUgXCJidWZmZXJcIlxuICAgKiBpcyBhIHR5cGVkIGFycmF5IG9yIEFycmF5QnVmZmVyIGNvbnRhaW5pbmcgdGhlIGJpbmFyeSBjb2RlIG9mIHRoZVxuICAgKiBcImVzYnVpbGQud2FzbVwiIGZpbGUuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gXCJ3YXNtVVJMXCIgZm9yIGVudmlyb25tZW50cyB3aGVyZSBpdCdzXG4gICAqIG5vdCBwb3NzaWJsZSB0byBkb3dubG9hZCB0aGUgV2ViQXNzZW1ibHkgbW9kdWxlLlxuICAgKi9cbiAgd2FzbU1vZHVsZT86IGFueTtcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCBlc2J1aWxkIHJ1bnMgdGhlIFdlYkFzc2VtYmx5LWJhc2VkIGJyb3dzZXIgQVBJIGluIGEgd2ViIHdvcmtlclxuICAgKiB0byBhdm9pZCBibG9ja2luZyB0aGUgVUkgdGhyZWFkLiBUaGlzIGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIFwid29ya2VyXCJcbiAgICogdG8gZmFsc2UuXG4gICAqL1xuICB3b3JrZXI/OiBib29sZWFuO1xufVxuXG5leHBvcnQgbGV0IHZlcnNpb246IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBDb21waWxlck9wdGlvbnMge1xuICByZWFkb25seSBqc3hGYWN0b3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBqc3hGcmFnbWVudEZhY3Rvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVzZURlZmluZUZvckNsYXNzRmllbGRzPzogYm9vbGVhbjtcbiAgcmVhZG9ubHkgaW1wb3J0c05vdFVzZWRBc1ZhbHVlcz86ICdyZW1vdmUnIHwgJ3ByZXNlcnZlJyB8ICdlcnJvcic7XG4gIHJlYWRvbmx5IHByZXNlcnZlVmFsdWVJbXBvcnRzPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUc2NvbmZpZ09wdGlvbnMge1xuICByZWFkb25seSBjb21waWxlck9wdGlvbnM/OiBDb21waWxlck9wdGlvbnM7XG59XG4iXX0=
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export { BuildOptions, TransformOptions, } from './esbuild-types';
|
|
2
|
-
export { EsbuildBundler, BundlerProps, } from './bundler';
|
|
3
1
|
export { AssetBaseProps, AssetProps, EsbuildAsset, JavaScriptAsset, TypeScriptAsset, } from './asset';
|
|
2
|
+
export { EsbuildBundler, BundlerProps, } from './bundler';
|
|
4
3
|
export { CodeConfig, EsbuildCode, JavaScriptCode, JavaScriptCodeProps, TypeScriptCode, TypeScriptCodeProps, } from './code';
|
|
5
|
-
export {
|
|
4
|
+
export { BuildOptions, TransformOptions, TsconfigOptions, CompilerOptions, } from './esbuild-types';
|
|
5
|
+
export { TransformerProps, InlineJavaScriptCode, InlineTypeScriptCode, } from './inline-code';
|
|
6
|
+
export { EsbuildProvider, EsbuildProviderProps, EsbuildSource, IBuildProvider, IEsbuildProvider, ITransformProvider, ProviderBuildOptions, ProviderTransformOptions, } from './provider';
|
|
6
7
|
export { JavaScriptSource, JavaScriptSourceProps, TypeScriptSource, TypeScriptSourceProps, } from './source';
|
package/lib/index.js
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
var bundler_1 = require("./bundler");
|
|
4
|
-
Object.defineProperty(exports, "EsbuildBundler", { enumerable: true, get: function () { return bundler_1.EsbuildBundler; } });
|
|
5
3
|
var asset_1 = require("./asset");
|
|
6
4
|
Object.defineProperty(exports, "EsbuildAsset", { enumerable: true, get: function () { return asset_1.EsbuildAsset; } });
|
|
7
5
|
Object.defineProperty(exports, "JavaScriptAsset", { enumerable: true, get: function () { return asset_1.JavaScriptAsset; } });
|
|
8
6
|
Object.defineProperty(exports, "TypeScriptAsset", { enumerable: true, get: function () { return asset_1.TypeScriptAsset; } });
|
|
7
|
+
var bundler_1 = require("./bundler");
|
|
8
|
+
Object.defineProperty(exports, "EsbuildBundler", { enumerable: true, get: function () { return bundler_1.EsbuildBundler; } });
|
|
9
9
|
var code_1 = require("./code");
|
|
10
10
|
Object.defineProperty(exports, "EsbuildCode", { enumerable: true, get: function () { return code_1.EsbuildCode; } });
|
|
11
11
|
Object.defineProperty(exports, "JavaScriptCode", { enumerable: true, get: function () { return code_1.JavaScriptCode; } });
|
|
12
12
|
Object.defineProperty(exports, "TypeScriptCode", { enumerable: true, get: function () { return code_1.TypeScriptCode; } });
|
|
13
13
|
var inline_code_1 = require("./inline-code");
|
|
14
14
|
Object.defineProperty(exports, "InlineJavaScriptCode", { enumerable: true, get: function () { return inline_code_1.InlineJavaScriptCode; } });
|
|
15
|
-
Object.defineProperty(exports, "InlineJsxCode", { enumerable: true, get: function () { return inline_code_1.InlineJsxCode; } });
|
|
16
|
-
Object.defineProperty(exports, "InlineTsxCode", { enumerable: true, get: function () { return inline_code_1.InlineTsxCode; } });
|
|
17
15
|
Object.defineProperty(exports, "InlineTypeScriptCode", { enumerable: true, get: function () { return inline_code_1.InlineTypeScriptCode; } });
|
|
16
|
+
var provider_1 = require("./provider");
|
|
17
|
+
Object.defineProperty(exports, "EsbuildProvider", { enumerable: true, get: function () { return provider_1.EsbuildProvider; } });
|
|
18
|
+
Object.defineProperty(exports, "EsbuildSource", { enumerable: true, get: function () { return provider_1.EsbuildSource; } });
|
|
18
19
|
var source_1 = require("./source");
|
|
19
20
|
Object.defineProperty(exports, "JavaScriptSource", { enumerable: true, get: function () { return source_1.JavaScriptSource; } });
|
|
20
21
|
Object.defineProperty(exports, "TypeScriptSource", { enumerable: true, get: function () { return source_1.TypeScriptSource; } });
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FNaUI7QUFIZixxR0FBQSxZQUFZLE9BQUE7QUFDWix3R0FBQSxlQUFlLE9BQUE7QUFDZix3R0FBQSxlQUFlLE9BQUE7QUFHakIscUNBR21CO0FBRmpCLHlHQUFBLGNBQWMsT0FBQTtBQUloQiwrQkFPZ0I7QUFMZCxtR0FBQSxXQUFXLE9BQUE7QUFDWCxzR0FBQSxjQUFjLE9BQUE7QUFFZCxzR0FBQSxjQUFjLE9BQUE7QUFXaEIsNkNBSXVCO0FBRnJCLG1IQUFBLG9CQUFvQixPQUFBO0FBQ3BCLG1IQUFBLG9CQUFvQixPQUFBO0FBR3RCLHVDQVNvQjtBQVJsQiwyR0FBQSxlQUFlLE9BQUE7QUFFZix5R0FBQSxhQUFhLE9BQUE7QUFRZixtQ0FLa0I7QUFKaEIsMEdBQUEsZ0JBQWdCLE9BQUE7QUFFaEIsMEdBQUEsZ0JBQWdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge1xuICBBc3NldEJhc2VQcm9wcyxcbiAgQXNzZXRQcm9wcyxcbiAgRXNidWlsZEFzc2V0LFxuICBKYXZhU2NyaXB0QXNzZXQsXG4gIFR5cGVTY3JpcHRBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5cbmV4cG9ydCB7XG4gIEVzYnVpbGRCdW5kbGVyLFxuICBCdW5kbGVyUHJvcHMsXG59IGZyb20gJy4vYnVuZGxlcic7XG5cbmV4cG9ydCB7XG4gIENvZGVDb25maWcsXG4gIEVzYnVpbGRDb2RlLFxuICBKYXZhU2NyaXB0Q29kZSxcbiAgSmF2YVNjcmlwdENvZGVQcm9wcyxcbiAgVHlwZVNjcmlwdENvZGUsXG4gIFR5cGVTY3JpcHRDb2RlUHJvcHMsXG59IGZyb20gJy4vY29kZSc7XG5cbmV4cG9ydCB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgVHJhbnNmb3JtT3B0aW9ucyxcbiAgVHNjb25maWdPcHRpb25zLFxuICBDb21waWxlck9wdGlvbnMsXG59IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5cbmV4cG9ydCB7XG4gIFRyYW5zZm9ybWVyUHJvcHMsXG4gIElubGluZUphdmFTY3JpcHRDb2RlLFxuICBJbmxpbmVUeXBlU2NyaXB0Q29kZSxcbn0gZnJvbSAnLi9pbmxpbmUtY29kZSc7XG5cbmV4cG9ydCB7XG4gIEVzYnVpbGRQcm92aWRlcixcbiAgRXNidWlsZFByb3ZpZGVyUHJvcHMsXG4gIEVzYnVpbGRTb3VyY2UsXG4gIElCdWlsZFByb3ZpZGVyLFxuICBJRXNidWlsZFByb3ZpZGVyLFxuICBJVHJhbnNmb3JtUHJvdmlkZXIsXG4gIFByb3ZpZGVyQnVpbGRPcHRpb25zLFxuICBQcm92aWRlclRyYW5zZm9ybU9wdGlvbnMsXG59IGZyb20gJy4vcHJvdmlkZXInO1xuXG5leHBvcnQge1xuICBKYXZhU2NyaXB0U291cmNlLFxuICBKYXZhU2NyaXB0U291cmNlUHJvcHMsXG4gIFR5cGVTY3JpcHRTb3VyY2UsXG4gIFR5cGVTY3JpcHRTb3VyY2VQcm9wcyxcbn0gZnJvbSAnLi9zb3VyY2UnO1xuIl19
|
package/lib/inline-code.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { InlineCode } from 'aws-cdk-lib/aws-lambda';
|
|
1
|
+
import { CodeConfig, InlineCode } from 'aws-cdk-lib/aws-lambda';
|
|
2
|
+
import { Construct } from 'constructs';
|
|
2
3
|
import { TransformOptions } from './esbuild-types';
|
|
4
|
+
import { ITransformProvider } from './provider';
|
|
3
5
|
/**
|
|
4
|
-
* @stability
|
|
6
|
+
* @stability stable
|
|
5
7
|
*/
|
|
6
8
|
export interface TransformerProps {
|
|
7
9
|
/**
|
|
@@ -12,123 +14,73 @@ export interface TransformerProps {
|
|
|
12
14
|
*/
|
|
13
15
|
readonly transformOptions?: TransformOptions;
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
16
|
-
* The function will receive the computed options from the bundler. It can use with these options as it wishes, however a TransformResult must be returned to integrate with CDK.
|
|
17
|
-
* Must throw a `TransformFailure` on failure to correctly inform the bundler.
|
|
17
|
+
* The esbuild Transform API implementation to be used.
|
|
18
18
|
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* @
|
|
23
|
-
*
|
|
19
|
+
* Configure the default `EsbuildProvider` for more options or
|
|
20
|
+
* provide a custom `ITransformProvider` as an escape hatch.
|
|
21
|
+
*
|
|
22
|
+
* @stability stable
|
|
23
|
+
*
|
|
24
|
+
* @default new DefaultEsbuildProvider()
|
|
24
25
|
*/
|
|
25
|
-
readonly
|
|
26
|
+
readonly transformProvider?: ITransformProvider;
|
|
26
27
|
}
|
|
27
28
|
declare abstract class BaseInlineCode extends InlineCode {
|
|
29
|
+
readonly isInline = true;
|
|
30
|
+
private readonly inlineCode;
|
|
28
31
|
constructor(code: string, props: TransformerProps);
|
|
32
|
+
bind(scope: Construct): CodeConfig;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
32
36
|
*
|
|
33
|
-
* @stability
|
|
37
|
+
* @stability stable
|
|
34
38
|
*/
|
|
35
39
|
export declare class InlineJavaScriptCode extends BaseInlineCode {
|
|
36
40
|
constructor(
|
|
37
41
|
/**
|
|
38
42
|
* The inline code to be transformed.
|
|
39
43
|
*
|
|
40
|
-
* @stability
|
|
44
|
+
* @stability stable
|
|
41
45
|
*/
|
|
42
46
|
code: string,
|
|
43
47
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* Props to change the behaviour of the transformer.
|
|
48
|
+
* Props to change the behavior of the transformer.
|
|
47
49
|
*
|
|
48
50
|
* Default values for `props.transformOptions`:
|
|
49
51
|
* - `loader='js'`
|
|
52
|
+
* - `platform=node`
|
|
53
|
+
* - `target=nodeX` with X being the major node version running locally
|
|
50
54
|
*
|
|
51
55
|
* @see https://esbuild.github.io/api/#transform-api
|
|
52
|
-
* @stability
|
|
53
|
-
*/
|
|
54
|
-
props?: TransformerProps | TransformOptions);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
58
|
-
*
|
|
59
|
-
* @stability experimental
|
|
60
|
-
*/
|
|
61
|
-
export declare class InlineJsxCode extends BaseInlineCode {
|
|
62
|
-
constructor(
|
|
63
|
-
/**
|
|
64
|
-
* The inline code to be transformed.
|
|
65
|
-
*
|
|
66
|
-
* @stability experimental
|
|
67
|
-
*/
|
|
68
|
-
code: string,
|
|
69
|
-
/**
|
|
70
|
-
* Support for `TransformOptions` is deprecated. Please provide `TransformerProps`!
|
|
71
|
-
*
|
|
72
|
-
* Props to change the behaviour of the transformer.
|
|
73
|
-
*
|
|
74
|
-
* Default values for `transformOptions`:
|
|
75
|
-
* - `loader='jsx'`
|
|
76
|
-
*
|
|
77
|
-
* @see https://esbuild.github.io/api/#transform-api
|
|
78
|
-
* @stability experimental
|
|
56
|
+
* @stability stable
|
|
79
57
|
*/
|
|
80
|
-
props?: TransformerProps
|
|
58
|
+
props?: TransformerProps);
|
|
81
59
|
}
|
|
82
60
|
/**
|
|
83
61
|
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
84
62
|
*
|
|
85
|
-
* @stability
|
|
63
|
+
* @stability stable
|
|
86
64
|
*/
|
|
87
65
|
export declare class InlineTypeScriptCode extends BaseInlineCode {
|
|
88
66
|
constructor(
|
|
89
67
|
/**
|
|
90
68
|
* The inline code to be transformed.
|
|
91
69
|
*
|
|
92
|
-
* @stability
|
|
70
|
+
* @stability stable
|
|
93
71
|
*/
|
|
94
72
|
code: string,
|
|
95
73
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
* Props to change the behaviour of the transformer.
|
|
74
|
+
* Props to change the behavior of the transformer.
|
|
99
75
|
*
|
|
100
76
|
* Default values for `transformOptions`:
|
|
101
77
|
* - `loader='ts'`
|
|
78
|
+
* - `platform=node`
|
|
79
|
+
* - `target=nodeX` with X being the major node version running locally
|
|
102
80
|
*
|
|
103
81
|
* @see https://esbuild.github.io/api/#transform-api
|
|
104
|
-
* @stability
|
|
105
|
-
*/
|
|
106
|
-
props?: TransformerProps | TransformOptions);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
|
|
110
|
-
*
|
|
111
|
-
* @stability experimental
|
|
112
|
-
*/
|
|
113
|
-
export declare class InlineTsxCode extends BaseInlineCode {
|
|
114
|
-
constructor(
|
|
115
|
-
/**
|
|
116
|
-
* The inline code to be transformed.
|
|
117
|
-
*
|
|
118
|
-
* @stability experimental
|
|
119
|
-
*/
|
|
120
|
-
code: string,
|
|
121
|
-
/**
|
|
122
|
-
* Support for `TransformOptions` is deprecated. Please provide `TransformerProps`!
|
|
123
|
-
*
|
|
124
|
-
* Props to change the behaviour of the transformer.
|
|
125
|
-
*
|
|
126
|
-
* Default values for `transformOptions`:
|
|
127
|
-
* - `loader='tsx'`
|
|
128
|
-
*
|
|
129
|
-
* @see https://esbuild.github.io/api/#transform-api
|
|
130
|
-
* @stability experimental
|
|
82
|
+
* @stability stable
|
|
131
83
|
*/
|
|
132
|
-
props?: TransformerProps
|
|
84
|
+
props?: TransformerProps);
|
|
133
85
|
}
|
|
134
86
|
export {};
|