@mrgrain/cdk-esbuild 3.9.0 → 3.11.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.
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.EsbuildSource = exports.Esbuild = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const dynamic_package_1 = require("./dynamic-package");
7
+ const dynamicEsbuild = new dynamic_package_1.DynamicPackage('esbuild@^0.15.0');
8
+ exports.Esbuild = {
9
+ name: dynamicEsbuild.name,
10
+ version: dynamicEsbuild.version,
11
+ spec: dynamicEsbuild.spec,
12
+ };
13
+ class EsbuildSource {
14
+ /**
15
+ * Set the default mechanism to find the module
16
+ */
17
+ static set default(path) {
18
+ this._default = path;
19
+ }
20
+ /**
21
+ * The current default to find the module
22
+ */
23
+ static get default() {
24
+ return this._default ?? this.platformDefault;
25
+ }
26
+ /**
27
+ * `EsbuildSource.nodeJs` for NodeJs, `EsbuildSource.auto` for all other languages
28
+ */
29
+ static get platformDefault() {
30
+ if (Boolean(process.env.JSII_AGENT)) {
31
+ return this.auto;
32
+ }
33
+ return this.nodeJs;
34
+ }
35
+ /**
36
+ * Try to find the module in most common paths.
37
+ */
38
+ static get anywhere() {
39
+ return this.dynamicPackage.findInPaths();
40
+ }
41
+ /**
42
+ * Try to find the module in common global installation paths.
43
+ */
44
+ static get globalPaths() {
45
+ return this.dynamicPackage.findInGlobalPaths();
46
+ }
47
+ /**
48
+ * Require module by name, do not attempt to find it anywhere else.
49
+ */
50
+ static get nodeJs() {
51
+ return this.dynamicPackage.nodeJs();
52
+ }
53
+ /**
54
+ * Install the module to a temporary location.
55
+ */
56
+ static get install() {
57
+ return this.dynamicPackage.install();
58
+ }
59
+ /**
60
+ * First try to find to module, then install it to a temporary location.
61
+ */
62
+ static get auto() {
63
+ return this.dynamicPackage.auto();
64
+ }
65
+ }
66
+ exports.EsbuildSource = EsbuildSource;
67
+ _a = JSII_RTTI_SYMBOL_1;
68
+ EsbuildSource[_a] = { fqn: "@mrgrain/cdk-esbuild.EsbuildSource", version: "3.11.1" };
69
+ EsbuildSource.dynamicPackage = dynamicEsbuild;
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZXNidWlsZC1zb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx1REFBbUQ7QUFFbkQsTUFBTSxjQUFjLEdBQUcsSUFBSSxnQ0FBYyxDQUFDLGlCQUFpQixDQUFDLENBQUM7QUFFaEQsUUFBQSxPQUFPLEdBQUc7SUFDckIsSUFBSSxFQUFFLGNBQWMsQ0FBQyxJQUFJO0lBQ3pCLE9BQU8sRUFBRSxjQUFjLENBQUMsT0FBTztJQUMvQixJQUFJLEVBQUUsY0FBYyxDQUFDLElBQUk7Q0FDMUIsQ0FBQztBQUVGLE1BQWEsYUFBYTtJQUl4Qjs7T0FFRztJQUNJLE1BQU0sS0FBSyxPQUFPLENBQUMsSUFBd0I7UUFDaEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLE9BQU87UUFDdkIsT0FBTyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDL0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLGVBQWU7UUFDL0IsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7U0FDbEI7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLFFBQVE7UUFDeEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sS0FBSyxXQUFXO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sS0FBSyxNQUFNO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLEtBQUssT0FBTztRQUN2QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxLQUFLLElBQUk7UUFDcEIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7O0FBOURILHNDQStEQzs7O0FBOURnQiw0QkFBYyxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER5bmFtaWNQYWNrYWdlIH0gZnJvbSAnLi9keW5hbWljLXBhY2thZ2UnO1xuXG5jb25zdCBkeW5hbWljRXNidWlsZCA9IG5ldyBEeW5hbWljUGFja2FnZSgnZXNidWlsZEBeMC4xNS4wJyk7XG5cbmV4cG9ydCBjb25zdCBFc2J1aWxkID0ge1xuICBuYW1lOiBkeW5hbWljRXNidWlsZC5uYW1lLFxuICB2ZXJzaW9uOiBkeW5hbWljRXNidWlsZC52ZXJzaW9uLFxuICBzcGVjOiBkeW5hbWljRXNidWlsZC5zcGVjLFxufTtcblxuZXhwb3J0IGNsYXNzIEVzYnVpbGRTb3VyY2Uge1xuICBwcml2YXRlIHN0YXRpYyBkeW5hbWljUGFja2FnZSA9IGR5bmFtaWNFc2J1aWxkO1xuICBwcml2YXRlIHN0YXRpYyBfZGVmYXVsdD86IHN0cmluZztcblxuICAvKipcbiAgICogU2V0IHRoZSBkZWZhdWx0IG1lY2hhbmlzbSB0byBmaW5kIHRoZSBtb2R1bGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc2V0IGRlZmF1bHQocGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fZGVmYXVsdCA9IHBhdGg7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgZGVmYXVsdCB0byBmaW5kIHRoZSBtb2R1bGVcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGRlZmF1bHQoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fZGVmYXVsdCA/PyB0aGlzLnBsYXRmb3JtRGVmYXVsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBgRXNidWlsZFNvdXJjZS5ub2RlSnNgIGZvciBOb2RlSnMsIGBFc2J1aWxkU291cmNlLmF1dG9gIGZvciBhbGwgb3RoZXIgbGFuZ3VhZ2VzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBwbGF0Zm9ybURlZmF1bHQoKSB7XG4gICAgaWYgKEJvb2xlYW4ocHJvY2Vzcy5lbnYuSlNJSV9BR0VOVCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmF1dG87XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubm9kZUpzO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byBmaW5kIHRoZSBtb2R1bGUgaW4gbW9zdCBjb21tb24gcGF0aHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBhbnl3aGVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljUGFja2FnZS5maW5kSW5QYXRocygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byBmaW5kIHRoZSBtb2R1bGUgaW4gY29tbW9uIGdsb2JhbCBpbnN0YWxsYXRpb24gcGF0aHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBnbG9iYWxQYXRocygpIHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljUGFja2FnZS5maW5kSW5HbG9iYWxQYXRocygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVpcmUgbW9kdWxlIGJ5IG5hbWUsIGRvIG5vdCBhdHRlbXB0IHRvIGZpbmQgaXQgYW55d2hlcmUgZWxzZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IG5vZGVKcygpIHtcbiAgICByZXR1cm4gdGhpcy5keW5hbWljUGFja2FnZS5ub2RlSnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YWxsIHRoZSBtb2R1bGUgdG8gYSB0ZW1wb3JhcnkgbG9jYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldCBpbnN0YWxsKCkge1xuICAgIHJldHVybiB0aGlzLmR5bmFtaWNQYWNrYWdlLmluc3RhbGwoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaXJzdCB0cnkgdG8gZmluZCB0byBtb2R1bGUsIHRoZW4gaW5zdGFsbCBpdCB0byBhIHRlbXBvcmFyeSBsb2NhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0IGF1dG8oKSB7XG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY1BhY2thZ2UuYXV0bygpO1xuICB9XG59XG4iXX0=
@@ -228,7 +228,7 @@ export interface ServeResult {
228
228
  stop: () => void;
229
229
  }
230
230
  export interface TransformOptions extends CommonOptions {
231
- readonly tsconfigRaw?: string;
231
+ readonly tsconfigRaw?: string | TsconfigOptions;
232
232
  readonly sourcefile?: string;
233
233
  readonly loader?: Loader;
234
234
  readonly banner?: string;
@@ -532,4 +532,14 @@ export interface InitializeOptions {
532
532
  worker?: boolean;
533
533
  }
534
534
  export declare let version: string;
535
+ export interface CompilerOptions {
536
+ readonly jsxFactory?: string;
537
+ readonly jsxFragmentFactory?: string;
538
+ readonly useDefineForClassFields?: boolean;
539
+ readonly importsNotUsedAsValues?: 'remove' | 'preserve' | 'error';
540
+ readonly preserveValueImports?: boolean;
541
+ }
542
+ export interface TsconfigOptions {
543
+ readonly compilerOptions?: CompilerOptions;
544
+ }
535
545
  export {};
@@ -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/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsLW5hbWUgKi9cbiAgcmVhZG9ubHkgZ2xvYmFsTmFtZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0YXJnZXQgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc3VwcG9ydGVkICovXG4gIHJlYWRvbmx5IHN1cHBvcnRlZD86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3BsYXRmb3JtICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogUGxhdGZvcm07XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUHJvcHM/OiBhbnk7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IHJlc2VydmVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUXVvdGVkPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZHJvcCAqL1xuICByZWFkb25seSBkcm9wPzogRHJvcFtdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnk/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlXaGl0ZXNwYWNlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5SWRlbnRpZmllcnM/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlTeW50YXg/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NoYXJzZXQgKi9cbiAgcmVhZG9ubHkgY2hhcnNldD86IENoYXJzZXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJlZS1zaGFraW5nICovXG4gIHJlYWRvbmx5IHRyZWVTaGFraW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpZ25vcmUtYW5ub3RhdGlvbnMgKi9cbiAgcmVhZG9ubHkgaWdub3JlQW5ub3RhdGlvbnM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4ICovXG4gIHJlYWRvbmx5IGpzeD86ICd0cmFuc2Zvcm0nIHwgJ3ByZXNlcnZlJyB8ICdhdXRvbWF0aWMnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1pbXBvcnQtc291cmNlICovXG4gIHJlYWRvbmx5IGpzeEltcG9ydFNvdXJjZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtZGV2ZWxvcG1lbnQgKi9cbiAgcmVhZG9ubHkganN4RGV2PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2RlZmluZSAqL1xuICByZWFkb25seSBkZWZpbmU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1cmUgKi9cbiAgcmVhZG9ubHkgcHVyZT86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2tlZXAtbmFtZXMgKi9cbiAgcmVhZG9ubHkga2VlcE5hbWVzPzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NvbG9yICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGV2ZWwgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBMb2dMZXZlbDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGltaXQgKi9cbiAgcmVhZG9ubHkgbG9nTGltaXQ/OiBudW1iZXI7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLW92ZXJyaWRlICovXG4gIHJlYWRvbmx5IGxvZ092ZXJyaWRlPzogUmVjb3JkPHN0cmluZywgTG9nTGV2ZWw+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1bmRsZSAqL1xuICByZWFkb25seSBidW5kbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NwbGl0dGluZyAqL1xuICByZWFkb25seSBzcGxpdHRpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3ByZXNlcnZlLXN5bWxpbmtzICovXG4gIHJlYWRvbmx5IHByZXNlcnZlU3ltbGlua3M/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGZpbGUgKi9cbiAgcmVhZG9ubHkgb3V0ZmlsZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtZXRhZmlsZSAqL1xuICByZWFkb25seSBtZXRhZmlsZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0ZGlyICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRiYXNlICovXG4gIHJlYWRvbmx5IG91dGJhc2U/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZXh0ZXJuYWwgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWw/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluLWZpZWxkcyAqL1xuICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29uZGl0aW9ucyAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd3JpdGUgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsbG93LW92ZXJ3cml0ZSAqL1xuICByZWFkb25seSBhbGxvd092ZXJ3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHNjb25maWcgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0LWV4dGVuc2lvbiAqL1xuICByZWFkb25seSBvdXRFeHRlbnNpb24/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1YmxpYy1wYXRoICovXG4gIHJlYWRvbmx5IHB1YmxpY1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZW50cnktbmFtZXMgKi9cbiAgcmVhZG9ubHkgZW50cnlOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaHVuay1uYW1lcyAqL1xuICByZWFkb25seSBjaHVua05hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Fzc2V0LW5hbWVzICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0ICovXG4gIHJlYWRvbmx5IGluamVjdD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Jhbm5lciAqL1xuICByZWFkb25seSBiYW5uZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb290ZXIgKi9cbiAgcmVhZG9ubHkgZm9vdGVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5jcmVtZW50YWwgKi9cbiAgcmVhZG9ubHkgaW5jcmVtZW50YWw/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5ICovXG4gIHJlYWRvbmx5IGFic1dvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbm9kZS1wYXRocyAqL1xuICByZWFkb25seSBub2RlUGF0aHM/OiBzdHJpbmdbXTsgLy8gVGhlIFwiTk9ERV9QQVRIXCIgdmFyaWFibGUgZnJvbSBOb2RlLmpzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hNb2RlIHtcbiAgb25SZWJ1aWxkPzogKGVycm9yOiBCdWlsZEZhaWx1cmUgfCBudWxsLCByZXN1bHQ6IEJ1aWxkUmVzdWx0IHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGRpbk9wdGlvbnMge1xuICBjb250ZW50czogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW52YWxpZGF0ZSB7XG4gICgpOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+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/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nIHwgVWludDhBcnJheSwgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3VsdD47XG5cbi8qKlxuICogQ29udmVydHMgbG9nIG1lc3NhZ2VzIHRvIGZvcm1hdHRlZCBtZXNzYWdlIHN0cmluZ3Mgc3VpdGFibGUgZm9yIHByaW50aW5nIGluXG4gKiB0aGUgdGVybWluYWwuIFRoaXMgYWxsb3dzIHlvdSB0byByZXVzZSB0aGUgYnVpbHQtaW4gYmVoYXZpb3Igb2YgZXNidWlsZCdzXG4gKiBsb2cgbWVzc2FnZSBmb3JtYXR0ZXIuIFRoaXMgaXMgYSBiYXRjaC1vcmllbnRlZCBBUEkgZm9yIGVmZmljaWVuY3kuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzKG1lc3NhZ2VzOiBQYXJ0aWFsTWVzc2FnZVtdLCBvcHRpb25zOiBGb3JtYXRNZXNzYWdlc09wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPjtcblxuLyoqXG4gKiBQcmV0dHktcHJpbnRzIGFuIGFuYWx5c2lzIG9mIHRoZSBtZXRhZmlsZSBKU09OIHRvIGEgc3RyaW5nLiBUaGlzIGlzIGp1c3QgZm9yXG4gKiBjb252ZW5pZW5jZSB0byBiZSBhYmxlIHRvIG1hdGNoIGVzYnVpbGQncyBwcmV0dHktcHJpbnRpbmcgZXhhY3RseS4gSWYgeW91IHdhbnRcbiAqIHRvIGN1c3RvbWl6ZSBpdCwgeW91IGNhbiBqdXN0IGluc3BlY3QgdGhlIGRhdGEgaW4gdGhlIG1ldGFmaWxlIHlvdXJzZWxmLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbmFseXplXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGFuYWx5emVNZXRhZmlsZShtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImJ1aWxkXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogQnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfTtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBCdWlsZFJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJ0cmFuc2Zvcm1cIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybVN5bmMoaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBUcmFuc2Zvcm1SZXN1bHQ7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiZm9ybWF0TWVzc2FnZXNcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRNZXNzYWdlc1N5bmMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IHN0cmluZ1tdO1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImFuYWx5emVNZXRhZmlsZVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlU3luYyhtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogc3RyaW5nO1xuXG4vKipcbiAqIFRoaXMgY29uZmlndXJlcyB0aGUgYnJvd3Nlci1iYXNlZCB2ZXJzaW9uIG9mIGVzYnVpbGQuIEl0IGlzIG5lY2Vzc2FyeSB0b1xuICogY2FsbCB0aGlzIGZpcnN0IGFuZCB3YWl0IGZvciB0aGUgcmV0dXJuZWQgcHJvbWlzZSB0byBiZSByZXNvbHZlZCBiZWZvcmVcbiAqIG1ha2luZyBvdGhlciBBUEkgY2FsbHMgd2hlbiB1c2luZyBlc2J1aWxkIGluIHRoZSBicm93c2VyLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllcyAoXCJvcHRpb25zXCIgaXMgcmVxdWlyZWQpXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3J1bm5pbmctaW4tdGhlLWJyb3dzZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW5pdGlhbGl6ZShvcHRpb25zOiBJbml0aWFsaXplT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgXCJlc2J1aWxkLndhc21cIiBmaWxlLiBUaGlzIG11c3QgYmUgcHJvdmlkZWQgd2hlbiBydW5uaW5nXG4gICAqIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gICAqL1xuICB3YXNtVVJMPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgXCJuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcilcIiB3aGVyZSBcImJ1ZmZlclwiXG4gICAqIGlzIGEgdHlwZWQgYXJyYXkgb3IgQXJyYXlCdWZmZXIgY29udGFpbmluZyB0aGUgYmluYXJ5IGNvZGUgb2YgdGhlXG4gICAqIFwiZXNidWlsZC53YXNtXCIgZmlsZS5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyBhcyBhbiBhbHRlcm5hdGl2ZSB0byBcIndhc21VUkxcIiBmb3IgZW52aXJvbm1lbnRzIHdoZXJlIGl0J3NcbiAgICogbm90IHBvc3NpYmxlIHRvIGRvd25sb2FkIHRoZSBXZWJBc3NlbWJseSBtb2R1bGUuXG4gICAqL1xuICB3YXNtTW9kdWxlPzogYW55O1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGVzYnVpbGQgcnVucyB0aGUgV2ViQXNzZW1ibHktYmFzZWQgYnJvd3NlciBBUEkgaW4gYSB3ZWIgd29ya2VyXG4gICAqIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBVSSB0aHJlYWQuIFRoaXMgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgXCJ3b3JrZXJcIlxuICAgKiB0byBmYWxzZS5cbiAgICovXG4gIHdvcmtlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBsZXQgdmVyc2lvbjogc3RyaW5nO1xuIl19
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC10eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2J1aWxkLXR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkUiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5cbmV4cG9ydCB0eXBlIFBsYXRmb3JtID0gJ2Jyb3dzZXInIHwgJ25vZGUnIHwgJ25ldXRyYWwnO1xuZXhwb3J0IHR5cGUgRm9ybWF0ID0gJ2lpZmUnIHwgJ2NqcycgfCAnZXNtJztcbmV4cG9ydCB0eXBlIExvYWRlciA9ICdqcycgfCAnanN4JyB8ICd0cycgfCAndHN4JyB8ICdjc3MnIHwgJ2pzb24nIHwgJ3RleHQnIHwgJ2Jhc2U2NCcgfCAnZmlsZScgfCAnZGF0YXVybCcgfCAnYmluYXJ5JyB8ICdjb3B5JyB8ICdkZWZhdWx0JztcbmV4cG9ydCB0eXBlIExvZ0xldmVsID0gJ3ZlcmJvc2UnIHwgJ2RlYnVnJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcicgfCAnc2lsZW50JztcbmV4cG9ydCB0eXBlIENoYXJzZXQgPSAnYXNjaWknIHwgJ3V0ZjgnO1xuZXhwb3J0IHR5cGUgRHJvcCA9ICdjb25zb2xlJyB8ICdkZWJ1Z2dlcic7XG5cbmludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzb3VyY2VtYXAgKi9cbiAgcmVhZG9ubHkgc291cmNlbWFwPzogYm9vbGVhbiB8ICdsaW5rZWQnIHwgJ2lubGluZScgfCAnZXh0ZXJuYWwnIHwgJ2JvdGgnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2xlZ2FsLWNvbW1lbnRzICovXG4gIHJlYWRvbmx5IGxlZ2FsQ29tbWVudHM/OiAnbm9uZScgfCAnaW5saW5lJyB8ICdlb2YnIHwgJ2xpbmtlZCcgfCAnZXh0ZXJuYWwnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NvdXJjZS1yb290ICovXG4gIHJlYWRvbmx5IHNvdXJjZVJvb3Q/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc291cmNlcy1jb250ZW50ICovXG4gIHJlYWRvbmx5IHNvdXJjZXNDb250ZW50PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Zvcm1hdCAqL1xuICByZWFkb25seSBmb3JtYXQ/OiBGb3JtYXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZ2xvYmFsLW5hbWUgKi9cbiAgcmVhZG9ubHkgZ2xvYmFsTmFtZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0YXJnZXQgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc3VwcG9ydGVkICovXG4gIHJlYWRvbmx5IHN1cHBvcnRlZD86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3BsYXRmb3JtICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogUGxhdGZvcm07XG5cbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUHJvcHM/OiBhbnk7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbWFuZ2xlLXByb3BzICovXG4gIHJlYWRvbmx5IHJlc2VydmVQcm9wcz86IGFueTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlUXVvdGVkPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYW5nbGUtcHJvcHMgKi9cbiAgcmVhZG9ubHkgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZHJvcCAqL1xuICByZWFkb25seSBkcm9wPzogRHJvcFtdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnk/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlXaGl0ZXNwYWNlPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtaW5pZnkgKi9cbiAgcmVhZG9ubHkgbWluaWZ5SWRlbnRpZmllcnM/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI21pbmlmeSAqL1xuICByZWFkb25seSBtaW5pZnlTeW50YXg/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NoYXJzZXQgKi9cbiAgcmVhZG9ubHkgY2hhcnNldD86IENoYXJzZXQ7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJlZS1zaGFraW5nICovXG4gIHJlYWRvbmx5IHRyZWVTaGFraW5nPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNpZ25vcmUtYW5ub3RhdGlvbnMgKi9cbiAgcmVhZG9ubHkgaWdub3JlQW5ub3RhdGlvbnM/OiBib29sZWFuO1xuXG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4ICovXG4gIHJlYWRvbmx5IGpzeD86ICd0cmFuc2Zvcm0nIHwgJ3ByZXNlcnZlJyB8ICdhdXRvbWF0aWMnO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1mYWN0b3J5ICovXG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8janN4LWZyYWdtZW50ICovXG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50Pzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2pzeC1pbXBvcnQtc291cmNlICovXG4gIHJlYWRvbmx5IGpzeEltcG9ydFNvdXJjZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNqc3gtZGV2ZWxvcG1lbnQgKi9cbiAgcmVhZG9ubHkganN4RGV2PzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2RlZmluZSAqL1xuICByZWFkb25seSBkZWZpbmU/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1cmUgKi9cbiAgcmVhZG9ubHkgcHVyZT86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2tlZXAtbmFtZXMgKi9cbiAgcmVhZG9ubHkga2VlcE5hbWVzPzogYm9vbGVhbjtcblxuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2NvbG9yICovXG4gIHJlYWRvbmx5IGNvbG9yPzogYm9vbGVhbjtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGV2ZWwgKi9cbiAgcmVhZG9ubHkgbG9nTGV2ZWw/OiBMb2dMZXZlbDtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2ctbGltaXQgKi9cbiAgcmVhZG9ubHkgbG9nTGltaXQ/OiBudW1iZXI7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbG9nLW92ZXJyaWRlICovXG4gIHJlYWRvbmx5IGxvZ092ZXJyaWRlPzogUmVjb3JkPHN0cmluZywgTG9nTGV2ZWw+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1bmRsZSAqL1xuICByZWFkb25seSBidW5kbGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3NwbGl0dGluZyAqL1xuICByZWFkb25seSBzcGxpdHRpbmc/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3ByZXNlcnZlLXN5bWxpbmtzICovXG4gIHJlYWRvbmx5IHByZXNlcnZlU3ltbGlua3M/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI291dGZpbGUgKi9cbiAgcmVhZG9ubHkgb3V0ZmlsZT86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtZXRhZmlsZSAqL1xuICByZWFkb25seSBtZXRhZmlsZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0ZGlyICovXG4gIHJlYWRvbmx5IG91dGRpcj86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNvdXRiYXNlICovXG4gIHJlYWRvbmx5IG91dGJhc2U/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZXh0ZXJuYWwgKi9cbiAgcmVhZG9ubHkgZXh0ZXJuYWw/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNsb2FkZXIgKi9cbiAgcmVhZG9ubHkgbG9hZGVyPzogeyBbZXh0OiBzdHJpbmddOiBMb2FkZXIgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNyZXNvbHZlLWV4dGVuc2lvbnMgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNtYWluLWZpZWxkcyAqL1xuICByZWFkb25seSBtYWluRmllbGRzPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jY29uZGl0aW9ucyAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogc3RyaW5nW107XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jd3JpdGUgKi9cbiAgcmVhZG9ubHkgd3JpdGU/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FsbG93LW92ZXJ3cml0ZSAqL1xuICByZWFkb25seSBhbGxvd092ZXJ3cml0ZT86IGJvb2xlYW47XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHNjb25maWcgKi9cbiAgcmVhZG9ubHkgdHNjb25maWc/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jb3V0LWV4dGVuc2lvbiAqL1xuICByZWFkb25seSBvdXRFeHRlbnNpb24/OiB7IFtleHQ6IHN0cmluZ106IHN0cmluZyB9O1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3B1YmxpYy1wYXRoICovXG4gIHJlYWRvbmx5IHB1YmxpY1BhdGg/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jZW50cnktbmFtZXMgKi9cbiAgcmVhZG9ubHkgZW50cnlOYW1lcz86IHN0cmluZztcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNjaHVuay1uYW1lcyAqL1xuICByZWFkb25seSBjaHVua05hbWVzPzogc3RyaW5nO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Fzc2V0LW5hbWVzICovXG4gIHJlYWRvbmx5IGFzc2V0TmFtZXM/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5qZWN0ICovXG4gIHJlYWRvbmx5IGluamVjdD86IHN0cmluZ1tdO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2Jhbm5lciAqL1xuICByZWFkb25seSBiYW5uZXI/OiB7IFt0eXBlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNmb290ZXIgKi9cbiAgcmVhZG9ubHkgZm9vdGVyPzogeyBbdHlwZTogc3RyaW5nXTogc3RyaW5nIH07XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jaW5jcmVtZW50YWwgKi9cbiAgcmVhZG9ubHkgaW5jcmVtZW50YWw/OiBib29sZWFuO1xuICAvKiogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3dvcmtpbmctZGlyZWN0b3J5ICovXG4gIHJlYWRvbmx5IGFic1dvcmtpbmdEaXI/OiBzdHJpbmc7XG4gIC8qKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jbm9kZS1wYXRocyAqL1xuICByZWFkb25seSBub2RlUGF0aHM/OiBzdHJpbmdbXTsgLy8gVGhlIFwiTk9ERV9QQVRIXCIgdmFyaWFibGUgZnJvbSBOb2RlLmpzXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2F0Y2hNb2RlIHtcbiAgb25SZWJ1aWxkPzogKGVycm9yOiBCdWlsZEZhaWx1cmUgfCBudWxsLCByZXN1bHQ6IEJ1aWxkUmVzdWx0IHwgbnVsbCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGRpbk9wdGlvbnMge1xuICBjb250ZW50czogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgc291cmNlZmlsZT86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICBpZDogc3RyaW5nO1xuICBwbHVnaW5OYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgbG9jYXRpb246IExvY2F0aW9uIHwgbnVsbDtcbiAgbm90ZXM6IE5vdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdXNlci1zcGVjaWZpZWQgZGF0YSB0aGF0IGlzIHBhc3NlZCB0aHJvdWdoIHVubW9kaWZpZWQuIFlvdSBjYW5cbiAgICogdXNlIHRoaXMgdG8gc3Rhc2ggdGhlIG9yaWdpbmFsIGVycm9yLCBmb3IgZXhhbXBsZS5cbiAgICovXG4gIGRldGFpbDogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGUge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxvY2F0aW9uOiBMb2NhdGlvbiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYXRpb24ge1xuICBmaWxlOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICAvKiogMS1iYXNlZCAqL1xuICBsaW5lOiBudW1iZXI7XG4gIC8qKiAwLWJhc2VkLCBpbiBieXRlcyAqL1xuICBjb2x1bW46IG51bWJlcjtcbiAgLyoqIGluIGJ5dGVzICovXG4gIGxlbmd0aDogbnVtYmVyO1xuICBsaW5lVGV4dDogc3RyaW5nO1xuICBzdWdnZXN0aW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0RmlsZSB7XG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIFwidGV4dFwiIGFzIGJ5dGVzICovXG4gIGNvbnRlbnRzOiBVaW50OEFycmF5O1xuICAvKiogXCJjb250ZW50c1wiIGFzIHRleHQgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkSW52YWxpZGF0ZSB7XG4gICgpOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWw+O1xuICBkaXNwb3NlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRJbmNyZW1lbnRhbCBleHRlbmRzIEJ1aWxkUmVzdWx0IHtcbiAgcmVidWlsZDogQnVpbGRJbnZhbGlkYXRlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJ3cml0ZTogZmFsc2VcIiAqL1xuICBvdXRwdXRGaWxlcz86IE91dHB1dEZpbGVbXTtcbiAgLyoqIE9ubHkgd2hlbiBcImluY3JlbWVudGFsOiB0cnVlXCIgKi9cbiAgcmVidWlsZD86IEJ1aWxkSW52YWxpZGF0ZTtcbiAgLyoqIE9ubHkgd2hlbiBcIndhdGNoOiB0cnVlXCIgKi9cbiAgc3RvcD86ICgpID0+IHZvaWQ7XG4gIC8qKiBPbmx5IHdoZW4gXCJtZXRhZmlsZTogdHJ1ZVwiICovXG4gIG1ldGFmaWxlPzogTWV0YWZpbGU7XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRGYWlsdXJlIGV4dGVuZHMgRXJyb3Ige1xuICBlcnJvcnM6IE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M6IE1lc3NhZ2VbXTtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1hcmd1bWVudHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPcHRpb25zIHtcbiAgcG9ydD86IG51bWJlcjtcbiAgaG9zdD86IHN0cmluZztcbiAgc2VydmVkaXI/OiBzdHJpbmc7XG4gIG9uUmVxdWVzdD86IChhcmdzOiBTZXJ2ZU9uUmVxdWVzdEFyZ3MpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVPblJlcXVlc3RBcmdzIHtcbiAgcmVtb3RlQWRkcmVzczogc3RyaW5nO1xuICBtZXRob2Q6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xuICBzdGF0dXM6IG51bWJlcjtcbiAgLyoqIFRoZSB0aW1lIHRvIGdlbmVyYXRlIHRoZSByZXNwb25zZSwgbm90IHRvIHNlbmQgaXQgKi9cbiAgdGltZUluTVM6IG51bWJlcjtcbn1cblxuLyoqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNzZXJ2ZS1yZXR1cm4tdmFsdWVzICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlUmVzdWx0IHtcbiAgcG9ydDogbnVtYmVyO1xuICBob3N0OiBzdHJpbmc7XG4gIHdhaXQ6IFByb21pc2U8dm9pZD47XG4gIHN0b3A6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtT3B0aW9ucyBleHRlbmRzIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSB0c2NvbmZpZ1Jhdz86IHN0cmluZyB8IFRzY29uZmlnT3B0aW9ucztcblxuICByZWFkb25seSBzb3VyY2VmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBsb2FkZXI/OiBMb2FkZXI7XG4gIHJlYWRvbmx5IGJhbm5lcj86IHN0cmluZztcbiAgcmVhZG9ubHkgZm9vdGVyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybVJlc3VsdCB7XG4gIGNvZGU6IHN0cmluZztcbiAgbWFwOiBzdHJpbmc7XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG4gIC8qKiBPbmx5IHdoZW4gXCJtYW5nbGVDYWNoZVwiIGlzIHByZXNlbnQgKi9cbiAgbWFuZ2xlQ2FjaGU/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBmYWxzZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtRmFpbHVyZSBleHRlbmRzIEVycm9yIHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luIHtcbiAgbmFtZTogc3RyaW5nO1xuICBzZXR1cDogKGJ1aWxkOiBQbHVnaW5CdWlsZCkgPT4gKHZvaWQgfCBQcm9taXNlPHZvaWQ+KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZCB7XG4gIGluaXRpYWxPcHRpb25zOiBCdWlsZE9wdGlvbnM7XG4gIHJlc29sdmUocGF0aDogc3RyaW5nLCBvcHRpb25zPzogUmVzb2x2ZU9wdGlvbnMpOiBQcm9taXNlPFJlc29sdmVSZXN1bHQ+O1xuXG4gIG9uU3RhcnQoY2FsbGJhY2s6ICgpID0+XG4gIChPblN0YXJ0UmVzdWx0IHwgbnVsbCB8IHZvaWQgfCBQcm9taXNlPE9uU3RhcnRSZXN1bHQgfCBudWxsIHwgdm9pZD4pKTogdm9pZDtcbiAgb25FbmQoY2FsbGJhY2s6IChyZXN1bHQ6IEJ1aWxkUmVzdWx0KSA9PlxuICAodm9pZCB8IFByb21pc2U8dm9pZD4pKTogdm9pZDtcbiAgb25SZXNvbHZlKG9wdGlvbnM6IE9uUmVzb2x2ZU9wdGlvbnMsIGNhbGxiYWNrOiAoYXJnczogT25SZXNvbHZlQXJncykgPT5cbiAgKE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQgfCBQcm9taXNlPE9uUmVzb2x2ZVJlc3VsdCB8IG51bGwgfCB1bmRlZmluZWQ+KSk6IHZvaWQ7XG4gIG9uTG9hZChvcHRpb25zOiBPbkxvYWRPcHRpb25zLCBjYWxsYmFjazogKGFyZ3M6IE9uTG9hZEFyZ3MpID0+XG4gIChPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkIHwgUHJvbWlzZTxPbkxvYWRSZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPikpOiB2b2lkO1xuXG4gIC8vIFRoaXMgaXMgYSBmdWxsIGNvcHkgb2YgdGhlIGVzYnVpbGQgbGlicmFyeSBpbiBjYXNlIHlvdSBuZWVkIGl0XG4gIGVzYnVpbGQ6IHtcbiAgICBzZXJ2ZTogdHlwZW9mIHNlcnZlO1xuICAgIGJ1aWxkOiB0eXBlb2YgYnVpbGQ7XG4gICAgYnVpbGRTeW5jOiB0eXBlb2YgYnVpbGRTeW5jO1xuICAgIHRyYW5zZm9ybTogdHlwZW9mIHRyYW5zZm9ybTtcbiAgICB0cmFuc2Zvcm1TeW5jOiB0eXBlb2YgdHJhbnNmb3JtU3luYztcbiAgICBmb3JtYXRNZXNzYWdlczogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzO1xuICAgIGZvcm1hdE1lc3NhZ2VzU3luYzogdHlwZW9mIGZvcm1hdE1lc3NhZ2VzU3luYztcbiAgICBhbmFseXplTWV0YWZpbGU6IHR5cGVvZiBhbmFseXplTWV0YWZpbGU7XG4gICAgYW5hbHl6ZU1ldGFmaWxlU3luYzogdHlwZW9mIGFuYWx5emVNZXRhZmlsZVN5bmM7XG4gICAgaW5pdGlhbGl6ZTogdHlwZW9mIGluaXRpYWxpemU7XG4gICAgdmVyc2lvbjogdHlwZW9mIHZlcnNpb247XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZU9wdGlvbnMge1xuICBwbHVnaW5OYW1lPzogc3RyaW5nO1xuICBpbXBvcnRlcj86IHN0cmluZztcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xuICByZXNvbHZlRGlyPzogc3RyaW5nO1xuICBraW5kPzogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YT86IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlUmVzdWx0IHtcbiAgZXJyb3JzOiBNZXNzYWdlW107XG4gIHdhcm5pbmdzOiBNZXNzYWdlW107XG5cbiAgcGF0aDogc3RyaW5nO1xuICBleHRlcm5hbDogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM6IGJvb2xlYW47XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uU3RhcnRSZXN1bHQge1xuICBlcnJvcnM/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuICB3YXJuaW5ncz86IFBhcnRpYWxNZXNzYWdlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlT3B0aW9ucyB7XG4gIGZpbHRlcjogUmVnRXhwO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25SZXNvbHZlQXJncyB7XG4gIHBhdGg6IHN0cmluZztcbiAgaW1wb3J0ZXI6IHN0cmluZztcbiAgbmFtZXNwYWNlOiBzdHJpbmc7XG4gIHJlc29sdmVEaXI6IHN0cmluZztcbiAga2luZDogSW1wb3J0S2luZDtcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgdHlwZSBJbXBvcnRLaW5kID1cbiAgfCAnZW50cnktcG9pbnQnXG5cbiAgLy8gSlNcbiAgfCAnaW1wb3J0LXN0YXRlbWVudCdcbiAgfCAncmVxdWlyZS1jYWxsJ1xuICB8ICdkeW5hbWljLWltcG9ydCdcbiAgfCAncmVxdWlyZS1yZXNvbHZlJ1xuXG4gIC8vIENTU1xuICB8ICdpbXBvcnQtcnVsZSdcbiAgfCAndXJsLXRva2VuJ1xuXG5leHBvcnQgaW50ZXJmYWNlIE9uUmVzb2x2ZVJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIHBhdGg/OiBzdHJpbmc7XG4gIGV4dGVybmFsPzogYm9vbGVhbjtcbiAgc2lkZUVmZmVjdHM/OiBib29sZWFuO1xuICBuYW1lc3BhY2U/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgcGx1Z2luRGF0YT86IGFueTtcblxuICB3YXRjaEZpbGVzPzogc3RyaW5nW107XG4gIHdhdGNoRGlycz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZE9wdGlvbnMge1xuICBmaWx0ZXI6IFJlZ0V4cDtcbiAgbmFtZXNwYWNlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZEFyZ3Mge1xuICBwYXRoOiBzdHJpbmc7XG4gIG5hbWVzcGFjZTogc3RyaW5nO1xuICBzdWZmaXg6IHN0cmluZztcbiAgcGx1Z2luRGF0YTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uTG9hZFJlc3VsdCB7XG4gIHBsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgZXJyb3JzPzogUGFydGlhbE1lc3NhZ2VbXTtcbiAgd2FybmluZ3M/OiBQYXJ0aWFsTWVzc2FnZVtdO1xuXG4gIGNvbnRlbnRzPzogc3RyaW5nIHwgVWludDhBcnJheTtcbiAgcmVzb2x2ZURpcj86IHN0cmluZztcbiAgbG9hZGVyPzogTG9hZGVyO1xuICBwbHVnaW5EYXRhPzogYW55O1xuXG4gIHdhdGNoRmlsZXM/OiBzdHJpbmdbXTtcbiAgd2F0Y2hEaXJzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGlhbE1lc3NhZ2Uge1xuICBpZD86IHN0cmluZztcbiAgcGx1Z2luTmFtZT86IHN0cmluZztcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG4gIG5vdGVzPzogUGFydGlhbE5vdGVbXTtcbiAgZGV0YWlsPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpYWxOb3RlIHtcbiAgdGV4dD86IHN0cmluZztcbiAgbG9jYXRpb24/OiBQYXJ0aWFsPExvY2F0aW9uPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWV0YWZpbGUge1xuICBpbnB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGltcG9ydHM6IHtcbiAgICAgICAgcGF0aDogc3RyaW5nO1xuICAgICAgICBraW5kOiBJbXBvcnRLaW5kO1xuICAgICAgfVtdO1xuICAgIH07XG4gIH07XG4gIG91dHB1dHM6IHtcbiAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgYnl0ZXM6IG51bWJlcjtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBbcGF0aDogc3RyaW5nXToge1xuICAgICAgICAgIGJ5dGVzSW5PdXRwdXQ6IG51bWJlcjtcbiAgICAgICAgfTtcbiAgICAgIH07XG4gICAgICBpbXBvcnRzOiB7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAga2luZDogSW1wb3J0S2luZDtcbiAgICAgIH1bXTtcbiAgICAgIGV4cG9ydHM6IHN0cmluZ1tdO1xuICAgICAgZW50cnlQb2ludD86IHN0cmluZztcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyB7XG4gIGtpbmQ6ICdlcnJvcicgfCAnd2FybmluZyc7XG4gIGNvbG9yPzogYm9vbGVhbjtcbiAgdGVybWluYWxXaWR0aD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmFseXplTWV0YWZpbGVPcHRpb25zIHtcbiAgY29sb3I/OiBib29sZWFuO1xuICB2ZXJib3NlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGludm9rZXMgdGhlIFwiZXNidWlsZFwiIGNvbW1hbmQtbGluZSB0b29sIGZvciB5b3UuIEl0IHJldHVybnMgYVxuICogcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyB3aXRoIGEgXCJCdWlsZFJlc3VsdFwiIG9iamVjdCBvciByZWplY3RzIHdpdGggYVxuICogXCJCdWlsZEZhaWx1cmVcIiBvYmplY3QuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2J1aWxkLWFwaVxuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogUHJvbWlzZTxCdWlsZFJlc3VsdCAmIHsgb3V0cHV0RmlsZXM6IE91dHB1dEZpbGVbXSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWU7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkSW5jcmVtZW50YWwgJiB7IG1ldGFmaWxlOiBNZXRhZmlsZSB9PjtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkKG9wdGlvbnM6IEJ1aWxkT3B0aW9ucyAmIHsgaW5jcmVtZW50YWw6IHRydWUgfSk6IFByb21pc2U8QnVpbGRJbmNyZW1lbnRhbD47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IG1ldGFmaWxlOiB0cnVlIH0pOiBQcm9taXNlPEJ1aWxkUmVzdWx0ICYgeyBtZXRhZmlsZTogTWV0YWZpbGUgfT47XG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBidWlsZChvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBQcm9taXNlPEJ1aWxkUmVzdWx0PjtcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHNpbWlsYXIgdG8gXCJidWlsZFwiIGJ1dCBpdCBzZXJ2ZXMgdGhlIHJlc3VsdGluZyBmaWxlcyBvdmVyXG4gKiBIVFRQIG9uIGEgbG9jYWxob3N0IGFkZHJlc3Mgd2l0aCB0aGUgc3BlY2lmaWVkIHBvcnQuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jc2VydmVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gc2VydmUoc2VydmVPcHRpb25zOiBTZXJ2ZU9wdGlvbnMsIGJ1aWxkT3B0aW9uczogQnVpbGRPcHRpb25zKTogUHJvbWlzZTxTZXJ2ZVJlc3VsdD47XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiB0cmFuc2Zvcm1zIGEgc2luZ2xlIEphdmFTY3JpcHQgZmlsZS4gSXQgY2FuIGJlIHVzZWQgdG8gbWluaWZ5XG4gKiBKYXZhU2NyaXB0LCBjb252ZXJ0IFR5cGVTY3JpcHQvSlNYIHRvIEphdmFTY3JpcHQsIG9yIGNvbnZlcnQgbmV3ZXIgSmF2YVNjcmlwdFxuICogdG8gb2xkZXIgSmF2YVNjcmlwdC4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBpcyBlaXRoZXIgcmVzb2x2ZWQgd2l0aCBhXG4gKiBcIlRyYW5zZm9ybVJlc3VsdFwiIG9iamVjdCBvciByZWplY3RlZCB3aXRoIGEgXCJUcmFuc2Zvcm1GYWlsdXJlXCIgb2JqZWN0LlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybShpbnB1dDogc3RyaW5nIHwgVWludDhBcnJheSwgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBQcm9taXNlPFRyYW5zZm9ybVJlc3VsdD47XG5cbi8qKlxuICogQ29udmVydHMgbG9nIG1lc3NhZ2VzIHRvIGZvcm1hdHRlZCBtZXNzYWdlIHN0cmluZ3Mgc3VpdGFibGUgZm9yIHByaW50aW5nIGluXG4gKiB0aGUgdGVybWluYWwuIFRoaXMgYWxsb3dzIHlvdSB0byByZXVzZSB0aGUgYnVpbHQtaW4gYmVoYXZpb3Igb2YgZXNidWlsZCdzXG4gKiBsb2cgbWVzc2FnZSBmb3JtYXR0ZXIuIFRoaXMgaXMgYSBiYXRjaC1vcmllbnRlZCBBUEkgZm9yIGVmZmljaWVuY3kuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3NlcjogeWVzXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2VzKG1lc3NhZ2VzOiBQYXJ0aWFsTWVzc2FnZVtdLCBvcHRpb25zOiBGb3JtYXRNZXNzYWdlc09wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdPjtcblxuLyoqXG4gKiBQcmV0dHktcHJpbnRzIGFuIGFuYWx5c2lzIG9mIHRoZSBtZXRhZmlsZSBKU09OIHRvIGEgc3RyaW5nLiBUaGlzIGlzIGp1c3QgZm9yXG4gKiBjb252ZW5pZW5jZSB0byBiZSBhYmxlIHRvIG1hdGNoIGVzYnVpbGQncyBwcmV0dHktcHJpbnRpbmcgZXhhY3RseS4gSWYgeW91IHdhbnRcbiAqIHRvIGN1c3RvbWl6ZSBpdCwgeW91IGNhbiBqdXN0IGluc3BlY3QgdGhlIGRhdGEgaW4gdGhlIG1ldGFmaWxlIHlvdXJzZWxmLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllc1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyNhbmFseXplXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGFuYWx5emVNZXRhZmlsZShtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImJ1aWxkXCIuXG4gKlxuICogLSBXb3JrcyBpbiBub2RlOiB5ZXNcbiAqIC0gV29ya3MgaW4gYnJvd3Nlcjogbm9cbiAqXG4gKiBEb2N1bWVudGF0aW9uOiBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jYnVpbGQtYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMgJiB7IHdyaXRlOiBmYWxzZSB9KTogQnVpbGRSZXN1bHQgJiB7IG91dHB1dEZpbGVzOiBPdXRwdXRGaWxlW10gfTtcbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIGJ1aWxkU3luYyhvcHRpb25zOiBCdWlsZE9wdGlvbnMpOiBCdWlsZFJlc3VsdDtcblxuLyoqXG4gKiBBIHN5bmNocm9ub3VzIHZlcnNpb24gb2YgXCJ0cmFuc2Zvcm1cIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICpcbiAqIERvY3VtZW50YXRpb246IGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGZ1bmN0aW9uIHRyYW5zZm9ybVN5bmMoaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnMpOiBUcmFuc2Zvcm1SZXN1bHQ7XG5cbi8qKlxuICogQSBzeW5jaHJvbm91cyB2ZXJzaW9uIG9mIFwiZm9ybWF0TWVzc2FnZXNcIi5cbiAqXG4gKiAtIFdvcmtzIGluIG5vZGU6IHllc1xuICogLSBXb3JrcyBpbiBicm93c2VyOiBub1xuICovXG5leHBvcnQgZGVjbGFyZSBmdW5jdGlvbiBmb3JtYXRNZXNzYWdlc1N5bmMobWVzc2FnZXM6IFBhcnRpYWxNZXNzYWdlW10sIG9wdGlvbnM6IEZvcm1hdE1lc3NhZ2VzT3B0aW9ucyk6IHN0cmluZ1tdO1xuXG4vKipcbiAqIEEgc3luY2hyb25vdXMgdmVyc2lvbiBvZiBcImFuYWx5emVNZXRhZmlsZVwiLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IG5vXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI2FuYWx5emVcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gYW5hbHl6ZU1ldGFmaWxlU3luYyhtZXRhZmlsZTogTWV0YWZpbGUgfCBzdHJpbmcsIG9wdGlvbnM/OiBBbmFseXplTWV0YWZpbGVPcHRpb25zKTogc3RyaW5nO1xuXG4vKipcbiAqIFRoaXMgY29uZmlndXJlcyB0aGUgYnJvd3Nlci1iYXNlZCB2ZXJzaW9uIG9mIGVzYnVpbGQuIEl0IGlzIG5lY2Vzc2FyeSB0b1xuICogY2FsbCB0aGlzIGZpcnN0IGFuZCB3YWl0IGZvciB0aGUgcmV0dXJuZWQgcHJvbWlzZSB0byBiZSByZXNvbHZlZCBiZWZvcmVcbiAqIG1ha2luZyBvdGhlciBBUEkgY2FsbHMgd2hlbiB1c2luZyBlc2J1aWxkIGluIHRoZSBicm93c2VyLlxuICpcbiAqIC0gV29ya3MgaW4gbm9kZTogeWVzXG4gKiAtIFdvcmtzIGluIGJyb3dzZXI6IHllcyAoXCJvcHRpb25zXCIgaXMgcmVxdWlyZWQpXG4gKlxuICogRG9jdW1lbnRhdGlvbjogaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3J1bm5pbmctaW4tdGhlLWJyb3dzZXJcbiAqL1xuZXhwb3J0IGRlY2xhcmUgZnVuY3Rpb24gaW5pdGlhbGl6ZShvcHRpb25zOiBJbml0aWFsaXplT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhbGl6ZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgXCJlc2J1aWxkLndhc21cIiBmaWxlLiBUaGlzIG11c3QgYmUgcHJvdmlkZWQgd2hlbiBydW5uaW5nXG4gICAqIGVzYnVpbGQgaW4gdGhlIGJyb3dzZXIuXG4gICAqL1xuICB3YXNtVVJMPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVzdWx0IG9mIGNhbGxpbmcgXCJuZXcgV2ViQXNzZW1ibHkuTW9kdWxlKGJ1ZmZlcilcIiB3aGVyZSBcImJ1ZmZlclwiXG4gICAqIGlzIGEgdHlwZWQgYXJyYXkgb3IgQXJyYXlCdWZmZXIgY29udGFpbmluZyB0aGUgYmluYXJ5IGNvZGUgb2YgdGhlXG4gICAqIFwiZXNidWlsZC53YXNtXCIgZmlsZS5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyBhcyBhbiBhbHRlcm5hdGl2ZSB0byBcIndhc21VUkxcIiBmb3IgZW52aXJvbm1lbnRzIHdoZXJlIGl0J3NcbiAgICogbm90IHBvc3NpYmxlIHRvIGRvd25sb2FkIHRoZSBXZWJBc3NlbWJseSBtb2R1bGUuXG4gICAqL1xuICB3YXNtTW9kdWxlPzogYW55O1xuXG4gIC8qKlxuICAgKiBCeSBkZWZhdWx0IGVzYnVpbGQgcnVucyB0aGUgV2ViQXNzZW1ibHktYmFzZWQgYnJvd3NlciBBUEkgaW4gYSB3ZWIgd29ya2VyXG4gICAqIHRvIGF2b2lkIGJsb2NraW5nIHRoZSBVSSB0aHJlYWQuIFRoaXMgY2FuIGJlIGRpc2FibGVkIGJ5IHNldHRpbmcgXCJ3b3JrZXJcIlxuICAgKiB0byBmYWxzZS5cbiAgICovXG4gIHdvcmtlcj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBsZXQgdmVyc2lvbjogc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBpbGVyT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGpzeEZhY3Rvcnk/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGpzeEZyYWdtZW50RmFjdG9yeT86IHN0cmluZztcbiAgcmVhZG9ubHkgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM/OiBib29sZWFuO1xuICByZWFkb25seSBpbXBvcnRzTm90VXNlZEFzVmFsdWVzPzogJ3JlbW92ZScgfCAncHJlc2VydmUnIHwgJ2Vycm9yJztcbiAgcmVhZG9ubHkgcHJlc2VydmVWYWx1ZUltcG9ydHM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRzY29uZmlnT3B0aW9ucyB7XG4gIHJlYWRvbmx5IGNvbXBpbGVyT3B0aW9ucz86IENvbXBpbGVyT3B0aW9ucztcbn1cbiJdfQ==
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export { BuildOptions, TransformOptions, } from './esbuild-types';
1
+ export { BuildOptions, TransformOptions, TsconfigOptions, CompilerOptions, } from './esbuild-types';
2
+ export { EsbuildSource, } from './esbuild-source';
2
3
  export { EsbuildBundler, BundlerProps, } from './bundler';
3
4
  export { AssetBaseProps, AssetProps, EsbuildAsset, JavaScriptAsset, TypeScriptAsset, } from './asset';
4
5
  export { CodeConfig, EsbuildCode, JavaScriptCode, JavaScriptCodeProps, TypeScriptCode, TypeScriptCodeProps, } from './code';
package/lib/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ var esbuild_source_1 = require("./esbuild-source");
4
+ Object.defineProperty(exports, "EsbuildSource", { enumerable: true, get: function () { return esbuild_source_1.EsbuildSource; } });
3
5
  var bundler_1 = require("./bundler");
4
6
  Object.defineProperty(exports, "EsbuildBundler", { enumerable: true, get: function () { return bundler_1.EsbuildBundler; } });
5
7
  var asset_1 = require("./asset");
@@ -18,4 +20,4 @@ Object.defineProperty(exports, "InlineTypeScriptCode", { enumerable: true, get:
18
20
  var source_1 = require("./source");
19
21
  Object.defineProperty(exports, "JavaScriptSource", { enumerable: true, get: function () { return source_1.JavaScriptSource; } });
20
22
  Object.defineProperty(exports, "TypeScriptSource", { enumerable: true, get: function () { return source_1.TypeScriptSource; } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxxQ0FHbUI7QUFGakIseUdBQUEsY0FBYyxPQUFBO0FBSWhCLGlDQU1pQjtBQUhmLHFHQUFBLFlBQVksT0FBQTtBQUNaLHdHQUFBLGVBQWUsT0FBQTtBQUNmLHdHQUFBLGVBQWUsT0FBQTtBQUdqQiwrQkFPZ0I7QUFMZCxtR0FBQSxXQUFXLE9BQUE7QUFDWCxzR0FBQSxjQUFjLE9BQUE7QUFFZCxzR0FBQSxjQUFjLE9BQUE7QUFJaEIsNkNBTXVCO0FBSnJCLG1IQUFBLG9CQUFvQixPQUFBO0FBQ3BCLDRHQUFBLGFBQWEsT0FBQTtBQUNiLDRHQUFBLGFBQWEsT0FBQTtBQUNiLG1IQUFBLG9CQUFvQixPQUFBO0FBR3RCLG1DQUtrQjtBQUpoQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUVoQiwwR0FBQSxnQkFBZ0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IHtcbiAgQnVpbGRPcHRpb25zLFxuICBUcmFuc2Zvcm1PcHRpb25zLFxufSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5leHBvcnQge1xuICBFc2J1aWxkQnVuZGxlcixcbiAgQnVuZGxlclByb3BzLFxufSBmcm9tICcuL2J1bmRsZXInO1xuXG5leHBvcnQge1xuICBBc3NldEJhc2VQcm9wcyxcbiAgQXNzZXRQcm9wcyxcbiAgRXNidWlsZEFzc2V0LFxuICBKYXZhU2NyaXB0QXNzZXQsXG4gIFR5cGVTY3JpcHRBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5cbmV4cG9ydCB7XG4gIENvZGVDb25maWcsXG4gIEVzYnVpbGRDb2RlLFxuICBKYXZhU2NyaXB0Q29kZSxcbiAgSmF2YVNjcmlwdENvZGVQcm9wcyxcbiAgVHlwZVNjcmlwdENvZGUsXG4gIFR5cGVTY3JpcHRDb2RlUHJvcHMsXG59IGZyb20gJy4vY29kZSc7XG5cbmV4cG9ydCB7XG4gIFRyYW5zZm9ybWVyUHJvcHMsXG4gIElubGluZUphdmFTY3JpcHRDb2RlLFxuICBJbmxpbmVKc3hDb2RlLFxuICBJbmxpbmVUc3hDb2RlLFxuICBJbmxpbmVUeXBlU2NyaXB0Q29kZSxcbn0gZnJvbSAnLi9pbmxpbmUtY29kZSc7XG5cbmV4cG9ydCB7XG4gIEphdmFTY3JpcHRTb3VyY2UsXG4gIEphdmFTY3JpcHRTb3VyY2VQcm9wcyxcbiAgVHlwZVNjcmlwdFNvdXJjZSxcbiAgVHlwZVNjcmlwdFNvdXJjZVByb3BzLFxufSBmcm9tICcuL3NvdXJjZSc7Il19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxtREFFMEI7QUFEeEIsK0dBQUEsYUFBYSxPQUFBO0FBR2YscUNBR21CO0FBRmpCLHlHQUFBLGNBQWMsT0FBQTtBQUloQixpQ0FNaUI7QUFIZixxR0FBQSxZQUFZLE9BQUE7QUFDWix3R0FBQSxlQUFlLE9BQUE7QUFDZix3R0FBQSxlQUFlLE9BQUE7QUFHakIsK0JBT2dCO0FBTGQsbUdBQUEsV0FBVyxPQUFBO0FBQ1gsc0dBQUEsY0FBYyxPQUFBO0FBRWQsc0dBQUEsY0FBYyxPQUFBO0FBSWhCLDZDQU11QjtBQUpyQixtSEFBQSxvQkFBb0IsT0FBQTtBQUNwQiw0R0FBQSxhQUFhLE9BQUE7QUFDYiw0R0FBQSxhQUFhLE9BQUE7QUFDYixtSEFBQSxvQkFBb0IsT0FBQTtBQUd0QixtQ0FLa0I7QUFKaEIsMEdBQUEsZ0JBQWdCLE9BQUE7QUFFaEIsMEdBQUEsZ0JBQWdCLE9BQUEiLCJzb3VyY2VzQ29udGVudCI6WyJcbmV4cG9ydCB7XG4gIEJ1aWxkT3B0aW9ucyxcbiAgVHJhbnNmb3JtT3B0aW9ucyxcbiAgVHNjb25maWdPcHRpb25zLFxuICBDb21waWxlck9wdGlvbnMsXG59IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5cbmV4cG9ydCB7XG4gIEVzYnVpbGRTb3VyY2UsXG59IGZyb20gJy4vZXNidWlsZC1zb3VyY2UnO1xuXG5leHBvcnQge1xuICBFc2J1aWxkQnVuZGxlcixcbiAgQnVuZGxlclByb3BzLFxufSBmcm9tICcuL2J1bmRsZXInO1xuXG5leHBvcnQge1xuICBBc3NldEJhc2VQcm9wcyxcbiAgQXNzZXRQcm9wcyxcbiAgRXNidWlsZEFzc2V0LFxuICBKYXZhU2NyaXB0QXNzZXQsXG4gIFR5cGVTY3JpcHRBc3NldCxcbn0gZnJvbSAnLi9hc3NldCc7XG5cbmV4cG9ydCB7XG4gIENvZGVDb25maWcsXG4gIEVzYnVpbGRDb2RlLFxuICBKYXZhU2NyaXB0Q29kZSxcbiAgSmF2YVNjcmlwdENvZGVQcm9wcyxcbiAgVHlwZVNjcmlwdENvZGUsXG4gIFR5cGVTY3JpcHRDb2RlUHJvcHMsXG59IGZyb20gJy4vY29kZSc7XG5cbmV4cG9ydCB7XG4gIFRyYW5zZm9ybWVyUHJvcHMsXG4gIElubGluZUphdmFTY3JpcHRDb2RlLFxuICBJbmxpbmVKc3hDb2RlLFxuICBJbmxpbmVUc3hDb2RlLFxuICBJbmxpbmVUeXBlU2NyaXB0Q29kZSxcbn0gZnJvbSAnLi9pbmxpbmUtY29kZSc7XG5cbmV4cG9ydCB7XG4gIEphdmFTY3JpcHRTb3VyY2UsXG4gIEphdmFTY3JpcHRTb3VyY2VQcm9wcyxcbiAgVHlwZVNjcmlwdFNvdXJjZSxcbiAgVHlwZVNjcmlwdFNvdXJjZVByb3BzLFxufSBmcm9tICcuL3NvdXJjZSc7XG4iXX0=
@@ -21,7 +21,7 @@ export interface TransformerProps {
21
21
  * @type esbuild.transformSync
22
22
  * @returns esbuild.TransformResult
23
23
  * @throws esbuild.TransformFailure
24
- * @default esbuild.transformSync
24
+ * @default `esbuild.transformSync`
25
25
  */
26
26
  readonly transformFn?: any;
27
27
  /**
@@ -32,6 +32,24 @@ export interface TransformerProps {
32
32
  * @stability experimental
33
33
  */
34
34
  readonly esbuildBinaryPath?: string;
35
+ /**
36
+ * Absolute path to the esbuild module JS file.
37
+ *
38
+ * E.g. "/home/user/.npm/node_modules/esbuild/lib/main.js"
39
+ *
40
+ * If not set, the module path will be determined in the following order:
41
+ *
42
+ * - Use a path from the `CDK_ESBUILD_MODULE_PATH` environment variable
43
+ * - In TypeScript, fallback to the default Node.js package resolution mechanism
44
+ * - All other languages (Python, Go, .NET, Java) use an automatic "best effort" resolution mechanism. \
45
+ * The exact algorithm of this mechanism is considered an implementation detail and should not be relied on.
46
+ * If `esbuild` cannot be found, it might be installed dynamically to a temporary location.
47
+ * To opt-out of this behavior, set either `esbuildModulePath` or `CDK_ESBUILD_MODULE_PATH` env variable.
48
+ *
49
+ * @stability experimental
50
+ * @default - `CDK_ESBUILD_MODULE_PATH` or package resolution (see above)
51
+ */
52
+ readonly esbuildModulePath?: string;
35
53
  }
36
54
  declare abstract class BaseInlineCode extends InlineCode {
37
55
  readonly isInline = true;
@@ -6,7 +6,8 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
8
8
  const constructs_1 = require("constructs");
9
- const esbuild_wrapper_1 = require("./esbuild-wrapper");
9
+ const esbuild_provider_1 = require("./esbuild-provider");
10
+ const utils_1 = require("./utils");
10
11
  class BaseInlineCode extends aws_lambda_1.InlineCode {
11
12
  constructor(code, props) {
12
13
  super(code);
@@ -14,15 +15,19 @@ class BaseInlineCode extends aws_lambda_1.InlineCode {
14
15
  this.inlineCode = aws_cdk_lib_1.Lazy.string({
15
16
  produce: () => {
16
17
  try {
17
- const { transformFn = esbuild_wrapper_1.transformSync, transformOptions = {}, esbuildBinaryPath, } = props;
18
- const transformedCode = esbuild_wrapper_1.wrapWithEsbuildBinaryPath(transformFn, esbuildBinaryPath)(code, {
18
+ const transformFn = props.transformFn ?? esbuild_provider_1.EsbuildProvider.require(props.esbuildModulePath).transformSync;
19
+ const transformSync = esbuild_provider_1.EsbuildProvider.withEsbuildBinaryPath(transformFn, props.esbuildBinaryPath);
20
+ const transformedCode = transformSync(code, {
19
21
  color: process.env.NO_COLOR ? Boolean(process.env.NO_COLOR) : undefined,
20
22
  logLevel: 'warning',
21
- ...transformOptions,
23
+ ...(props.transformOptions || {}),
22
24
  });
23
25
  return transformedCode.code;
24
26
  }
25
27
  catch (error) {
28
+ if (utils_1.errorHasCode(error, 'MODULE_NOT_FOUND')) {
29
+ throw error;
30
+ }
26
31
  throw new Error(`Failed to transform ${this.constructor.name}`);
27
32
  }
28
33
  },
@@ -41,6 +46,7 @@ function instanceOfTransformerProps(object) {
41
46
  'transformOptions',
42
47
  'transformFn',
43
48
  'esbuildBinaryPath',
49
+ 'esbuildModulePath',
44
50
  ].reduce((isTransformerProps, propToCheck) => (isTransformerProps || (propToCheck in object)), false);
45
51
  }
46
52
  function transformerProps(loader, props) {
@@ -88,7 +94,7 @@ class InlineJavaScriptCode extends BaseInlineCode {
88
94
  }
89
95
  exports.InlineJavaScriptCode = InlineJavaScriptCode;
90
96
  _a = JSII_RTTI_SYMBOL_1;
91
- InlineJavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.InlineJavaScriptCode", version: "3.9.0" };
97
+ InlineJavaScriptCode[_a] = { fqn: "@mrgrain/cdk-esbuild.InlineJavaScriptCode", version: "3.11.1" };
92
98
  /**
93
99
  * An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
94
100
  *
@@ -119,7 +125,7 @@ class InlineJsxCode extends BaseInlineCode {
119
125
  }
120
126
  exports.InlineJsxCode = InlineJsxCode;
121
127
  _b = JSII_RTTI_SYMBOL_1;
122
- InlineJsxCode[_b] = { fqn: "@mrgrain/cdk-esbuild.InlineJsxCode", version: "3.9.0" };
128
+ InlineJsxCode[_b] = { fqn: "@mrgrain/cdk-esbuild.InlineJsxCode", version: "3.11.1" };
123
129
  /**
124
130
  * An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
125
131
  *
@@ -150,7 +156,7 @@ class InlineTypeScriptCode extends BaseInlineCode {
150
156
  }
151
157
  exports.InlineTypeScriptCode = InlineTypeScriptCode;
152
158
  _c = JSII_RTTI_SYMBOL_1;
153
- InlineTypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.InlineTypeScriptCode", version: "3.9.0" };
159
+ InlineTypeScriptCode[_c] = { fqn: "@mrgrain/cdk-esbuild.InlineTypeScriptCode", version: "3.11.1" };
154
160
  /**
155
161
  * An implementation of `lambda.InlineCode` using the esbuild Transform API. Inline function code is limited to 4 KiB after transformation.
156
162
  *
@@ -181,5 +187,5 @@ class InlineTsxCode extends BaseInlineCode {
181
187
  }
182
188
  exports.InlineTsxCode = InlineTsxCode;
183
189
  _d = JSII_RTTI_SYMBOL_1;
184
- InlineTsxCode[_d] = { fqn: "@mrgrain/cdk-esbuild.InlineTsxCode", version: "3.9.0" };
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5saW5lLWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBMEM7QUFDMUMsdURBQWdFO0FBQ2hFLDJDQUE2QztBQUU3Qyx1REFBNkU7QUFxQzdFLE1BQWUsY0FBZSxTQUFRLHVCQUFVO0lBSTlDLFlBQ0UsSUFBWSxFQUNaLEtBQXVCO1FBRXZCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQVBFLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFTOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxrQkFBSSxDQUFDLE1BQU0sQ0FBQztZQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUNaLElBQUk7b0JBQ0YsTUFBTSxFQUNKLFdBQVcsR0FBRywrQkFBYSxFQUMzQixnQkFBZ0IsR0FBRyxFQUFFLEVBQ3JCLGlCQUFpQixHQUNsQixHQUFHLEtBQUssQ0FBQztvQkFFVixNQUFNLGVBQWUsR0FBRywyQ0FBeUIsQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLEVBQUU7d0JBQ3RGLEtBQUssRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7d0JBQ3ZFLFFBQVEsRUFBRSxTQUFTO3dCQUNuQixHQUFHLGdCQUFnQjtxQkFDcEIsQ0FBQyxDQUFDO29CQUVILE9BQU8sZUFBZSxDQUFDLElBQUksQ0FBQztpQkFDN0I7Z0JBQUMsT0FBTyxLQUFLLEVBQUU7b0JBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUNqRTtZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sSUFBSSxDQUFDLEtBQWdCO1FBQzFCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGlCQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQ3JFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRCQUE0QixJQUFJLE9BQU8sQ0FBQyxDQUFDO1FBRTlELE9BQU87WUFDTCxVQUFVLEVBQUUsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDckQsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQUVELFNBQVMsMEJBQTBCLENBQUMsTUFBVztJQUM3QyxPQUFPO1FBQ0wsa0JBQWtCO1FBQ2xCLGFBQWE7UUFDYixtQkFBbUI7S0FDcEIsQ0FBQyxNQUFNLENBQ04sQ0FBQyxrQkFBMkIsRUFBRSxXQUFtQixFQUFXLEVBQUUsQ0FDNUQsQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLFdBQVcsSUFBSSxNQUFNLENBQUMsQ0FBQyxFQUNqRCxLQUFLLENBQ04sQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLE1BQWMsRUFBRSxLQUEyQztJQUNuRixJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQztLQUN6QztJQUVELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLENBQUMsRUFBRztRQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxDQUFDO0tBQ25EO0lBRUQsT0FBTztRQUNMLEdBQUcsS0FBSztRQUNSLGdCQUFnQixFQUFFO1lBQ2hCLE1BQU07WUFDTixHQUFHLEtBQUssQ0FBQyxnQkFBZ0I7U0FDMUI7S0FDRixDQUFDO0FBQ0osQ0FBQztBQUdEOzs7O0dBSUc7QUFDSCxNQUFhLG9CQUFxQixTQUFRLGNBQWM7SUFDdEQ7SUFDRTs7OztPQUlHO0lBQ0gsSUFBWTtJQUNaOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUEyQztRQUczQyxLQUFLLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7O0FBdkJILG9EQXdCQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsYUFBYyxTQUFRLGNBQWM7SUFDL0M7SUFDRTs7OztPQUlHO0lBQ0gsSUFBWTtJQUNaOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUEyQztRQUUzQyxLQUFLLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7O0FBdEJILHNDQXVCQzs7O0FBRUQ7Ozs7R0FJRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsY0FBYztJQUN0RDtJQUNFOzs7O09BSUc7SUFDSCxJQUFZO0lBQ1o7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUF0Qkgsb0RBdUJDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsY0FBYztJQUMvQztJQUNFOzs7O09BSUc7SUFDSCxJQUFZO0lBQ1o7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7QUF0Qkgsc0NBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGF6eSwgU3RhY2sgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb2RlQ29uZmlnLCBJbmxpbmVDb2RlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFRyYW5zZm9ybU9wdGlvbnMsIExvYWRlciB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2Zvcm1TeW5jLCB3cmFwV2l0aEVzYnVpbGRCaW5hcnlQYXRoIH0gZnJvbSAnLi9lc2J1aWxkLXdyYXBwZXInO1xuXG4vKipcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNmb3JtZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm0gb3B0aW9ucyBwYXNzZWQgb24gdG8gZXNidWlsZC4gUGxlYXNlIHJlZmVyIHRvIHRoZSBlc2J1aWxkIFRyYW5zZm9ybSBBUEkgZG9jcyBmb3IgZGV0YWlscy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNmb3JtT3B0aW9ucz86IFRyYW5zZm9ybU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEVzY2FwZSBoYXRjaCB0byBwcm92aWRlIHRoZSBidW5kbGVyIHdpdGggYSBjdXN0b20gdHJhbnNmb3JtIGZ1bmN0aW9uLlxuICAgKiBUaGUgZnVuY3Rpb24gd2lsbCByZWNlaXZlIHRoZSBjb21wdXRlZCBvcHRpb25zIGZyb20gdGhlIGJ1bmRsZXIuIEl0IGNhbiB1c2Ugd2l0aCB0aGVzZSBvcHRpb25zIGFzIGl0IHdpc2hlcywgaG93ZXZlciBhIFRyYW5zZm9ybVJlc3VsdCBtdXN0IGJlIHJldHVybmVkIHRvIGludGVncmF0ZSB3aXRoIENESy5cbiAgICogTXVzdCB0aHJvdyBhIGBUcmFuc2Zvcm1GYWlsdXJlYCBvbiBmYWlsdXJlIHRvIGNvcnJlY3RseSBpbmZvcm0gdGhlIGJ1bmRsZXIuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqIEB0eXBlIGVzYnVpbGQudHJhbnNmb3JtU3luY1xuICAgKiBAcmV0dXJucyBlc2J1aWxkLlRyYW5zZm9ybVJlc3VsdFxuICAgKiBAdGhyb3dzIGVzYnVpbGQuVHJhbnNmb3JtRmFpbHVyZVxuICAgKiBAZGVmYXVsdCBlc2J1aWxkLnRyYW5zZm9ybVN5bmNcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZm9ybUZuPzogYW55O1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBiaW5hcnkgdXNlZCBieSBlc2J1aWxkLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIEVTQlVJTERfQklOQVJZX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBlc2J1aWxkQmluYXJ5UGF0aD86IHN0cmluZztcbn1cblxuYWJzdHJhY3QgY2xhc3MgQmFzZUlubGluZUNvZGUgZXh0ZW5kcyBJbmxpbmVDb2RlIHtcbiAgcHVibGljIHJlYWRvbmx5IGlzSW5saW5lID0gdHJ1ZTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmxpbmVDb2RlOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIGNvZGU6IHN0cmluZyxcbiAgICBwcm9wczogVHJhbnNmb3JtZXJQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoY29kZSk7XG5cbiAgICB0aGlzLmlubGluZUNvZGUgPSBMYXp5LnN0cmluZyh7XG4gICAgICBwcm9kdWNlOiAoKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qge1xuICAgICAgICAgICAgdHJhbnNmb3JtRm4gPSB0cmFuc2Zvcm1TeW5jLFxuICAgICAgICAgICAgdHJhbnNmb3JtT3B0aW9ucyA9IHt9LFxuICAgICAgICAgICAgZXNidWlsZEJpbmFyeVBhdGgsXG4gICAgICAgICAgfSA9IHByb3BzO1xuXG4gICAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRDb2RlID0gd3JhcFdpdGhFc2J1aWxkQmluYXJ5UGF0aCh0cmFuc2Zvcm1GbiwgZXNidWlsZEJpbmFyeVBhdGgpKGNvZGUsIHtcbiAgICAgICAgICAgIGNvbG9yOiBwcm9jZXNzLmVudi5OT19DT0xPUiA/IEJvb2xlYW4ocHJvY2Vzcy5lbnYuTk9fQ09MT1IpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgbG9nTGV2ZWw6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgIC4uLnRyYW5zZm9ybU9wdGlvbnMsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICByZXR1cm4gdHJhbnNmb3JtZWRDb2RlLmNvZGU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gdHJhbnNmb3JtICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIGNvbnN0IG5hbWUgPSBzY29wZS5ub2RlLnBhdGggKyBOb2RlLlBBVEhfU0VQICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBUcmFuc2Zvcm1pbmcgaW5saW5lIGNvZGUgJHtuYW1lfS4uLlxcbmApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlubGluZUNvZGU6IFN0YWNrLm9mKHNjb3BlKS5yZXNvbHZlKHRoaXMuaW5saW5lQ29kZSksXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YW5jZU9mVHJhbnNmb3JtZXJQcm9wcyhvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBUcmFuc2Zvcm1lclByb3BzIHtcbiAgcmV0dXJuIFtcbiAgICAndHJhbnNmb3JtT3B0aW9ucycsXG4gICAgJ3RyYW5zZm9ybUZuJyxcbiAgICAnZXNidWlsZEJpbmFyeVBhdGgnLFxuICBdLnJlZHVjZShcbiAgICAoaXNUcmFuc2Zvcm1lclByb3BzOiBib29sZWFuLCBwcm9wVG9DaGVjazogc3RyaW5nKTogYm9vbGVhbiA9PlxuICAgICAgKGlzVHJhbnNmb3JtZXJQcm9wcyB8fCAocHJvcFRvQ2hlY2sgaW4gb2JqZWN0KSksXG4gICAgZmFsc2UsXG4gICk7XG59XG5cbmZ1bmN0aW9uIHRyYW5zZm9ybWVyUHJvcHMobG9hZGVyOiBMb2FkZXIsIHByb3BzPzogVHJhbnNmb3JtZXJQcm9wcyB8IFRyYW5zZm9ybU9wdGlvbnMpOiBUcmFuc2Zvcm1lclByb3BzIHtcbiAgaWYgKCFwcm9wcykge1xuICAgIHJldHVybiB7IHRyYW5zZm9ybU9wdGlvbnM6IHsgbG9hZGVyIH0gfTtcbiAgfVxuXG4gIGlmICghaW5zdGFuY2VPZlRyYW5zZm9ybWVyUHJvcHMocHJvcHMpICkge1xuICAgIHJldHVybiB7IHRyYW5zZm9ybU9wdGlvbnM6IHsgbG9hZGVyLCAuLi5wcm9wcyB9IH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIC4uLnByb3BzLFxuICAgIHRyYW5zZm9ybU9wdGlvbnM6IHtcbiAgICAgIGxvYWRlcixcbiAgICAgIC4uLnByb3BzLnRyYW5zZm9ybU9wdGlvbnMsXG4gICAgfSxcbiAgfTtcbn1cblxuXG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIGBsYW1iZGEuSW5saW5lQ29kZWAgdXNpbmcgdGhlIGVzYnVpbGQgVHJhbnNmb3JtIEFQSS4gSW5saW5lIGZ1bmN0aW9uIGNvZGUgaXMgbGltaXRlZCB0byA0IEtpQiBhZnRlciB0cmFuc2Zvcm1hdGlvbi5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgSW5saW5lSmF2YVNjcmlwdENvZGUgZXh0ZW5kcyBCYXNlSW5saW5lQ29kZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgaW5saW5lIGNvZGUgdG8gYmUgdHJhbnNmb3JtZWQuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIGNvZGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGZvciBgVHJhbnNmb3JtT3B0aW9uc2AgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHByb3ZpZGUgYFRyYW5zZm9ybWVyUHJvcHNgIVxuICAgICAqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGBwcm9wcy50cmFuc2Zvcm1PcHRpb25zYDpcbiAgICAgKiAtIGBsb2FkZXI9J2pzJ2BcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHByb3BzPzogVHJhbnNmb3JtZXJQcm9wcyB8IFRyYW5zZm9ybU9wdGlvbnMsXG4gICkge1xuXG4gICAgc3VwZXIoY29kZSwgdHJhbnNmb3JtZXJQcm9wcygnanMnLCBwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVKc3hDb2RlIGV4dGVuZHMgQmFzZUlubGluZUNvZGUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogVGhlIGlubGluZSBjb2RlIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBmb3IgYFRyYW5zZm9ybU9wdGlvbnNgIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSBwcm92aWRlIGBUcmFuc2Zvcm1lclByb3BzYCFcbiAgICAgKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgdHJhbnNmb3JtT3B0aW9uc2A6XG4gICAgICogLSBgbG9hZGVyPSdqc3gnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoY29kZSwgdHJhbnNmb3JtZXJQcm9wcygnanN4JywgcHJvcHMpKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIGBsYW1iZGEuSW5saW5lQ29kZWAgdXNpbmcgdGhlIGVzYnVpbGQgVHJhbnNmb3JtIEFQSS4gSW5saW5lIGZ1bmN0aW9uIGNvZGUgaXMgbGltaXRlZCB0byA0IEtpQiBhZnRlciB0cmFuc2Zvcm1hdGlvbi5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgSW5saW5lVHlwZVNjcmlwdENvZGUgZXh0ZW5kcyBCYXNlSW5saW5lQ29kZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgaW5saW5lIGNvZGUgdG8gYmUgdHJhbnNmb3JtZWQuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIGNvZGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGZvciBgVHJhbnNmb3JtT3B0aW9uc2AgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHByb3ZpZGUgYFRyYW5zZm9ybWVyUHJvcHNgIVxuICAgICAqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGB0cmFuc2Zvcm1PcHRpb25zYDpcbiAgICAgKiAtIGBsb2FkZXI9J3RzJ2BcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHByb3BzPzogVHJhbnNmb3JtZXJQcm9wcyB8IFRyYW5zZm9ybU9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKGNvZGUsIHRyYW5zZm9ybWVyUHJvcHMoJ3RzJywgcHJvcHMpKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGltcGxlbWVudGF0aW9uIG9mIGBsYW1iZGEuSW5saW5lQ29kZWAgdXNpbmcgdGhlIGVzYnVpbGQgVHJhbnNmb3JtIEFQSS4gSW5saW5lIGZ1bmN0aW9uIGNvZGUgaXMgbGltaXRlZCB0byA0IEtpQiBhZnRlciB0cmFuc2Zvcm1hdGlvbi5cbiAqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgY2xhc3MgSW5saW5lVHN4Q29kZSBleHRlbmRzIEJhc2VJbmxpbmVDb2RlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBpbmxpbmUgY29kZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgY29kZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgZm9yIGBUcmFuc2Zvcm1PcHRpb25zYCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgcHJvdmlkZSBgVHJhbnNmb3JtZXJQcm9wc2AhXG4gICAgICpcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHRyYW5zZm9ybU9wdGlvbnNgOlxuICAgICAqIC0gYGxvYWRlcj0ndHN4J2BcbiAgICAgKlxuICAgICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIHByb3BzPzogVHJhbnNmb3JtZXJQcm9wcyB8IFRyYW5zZm9ybU9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKGNvZGUsIHRyYW5zZm9ybWVyUHJvcHMoJ3RzeCcsIHByb3BzKSk7XG4gIH1cbn1cbiJdfQ==
190
+ InlineTsxCode[_d] = { fqn: "@mrgrain/cdk-esbuild.InlineTsxCode", version: "3.11.1" };
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWNvZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5saW5lLWNvZGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBMEM7QUFDMUMsdURBQWdFO0FBQ2hFLDJDQUE2QztBQUM3Qyx5REFBcUQ7QUFFckQsbUNBQXVDO0FBd0R2QyxNQUFlLGNBQWUsU0FBUSx1QkFBVTtJQUk5QyxZQUNFLElBQVksRUFDWixLQUF1QjtRQUV2QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFQRSxhQUFRLEdBQUcsSUFBSSxDQUFDO1FBUzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsa0JBQUksQ0FBQyxNQUFNLENBQUM7WUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBRTtnQkFDWixJQUFJO29CQUNGLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksa0NBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUMsYUFBYSxDQUFDO29CQUN4RyxNQUFNLGFBQWEsR0FBRyxrQ0FBZSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztvQkFFbEcsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDLElBQUksRUFBRTt3QkFDMUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzt3QkFDdkUsUUFBUSxFQUFFLFNBQVM7d0JBQ25CLEdBQUcsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDO3FCQUNsQyxDQUFDLENBQUM7b0JBRUgsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDO2lCQUM3QjtnQkFBQyxPQUFPLEtBQUssRUFBRTtvQkFDZCxJQUFJLG9CQUFZLENBQUMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLEVBQUU7d0JBQzNDLE1BQU0sS0FBSyxDQUFDO3FCQUNiO29CQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztpQkFDakU7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLElBQUksQ0FBQyxLQUFnQjtRQUMxQixNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxpQkFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNyRSxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0QkFBNEIsSUFBSSxPQUFPLENBQUMsQ0FBQztRQUU5RCxPQUFPO1lBQ0wsVUFBVSxFQUFFLG1CQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3JELENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxTQUFTLDBCQUEwQixDQUFDLE1BQVc7SUFDN0MsT0FBTztRQUNMLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsbUJBQW1CO1FBQ25CLG1CQUFtQjtLQUNwQixDQUFDLE1BQU0sQ0FDTixDQUFDLGtCQUEyQixFQUFFLFdBQW1CLEVBQVcsRUFBRSxDQUM1RCxDQUFDLGtCQUFrQixJQUFJLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxDQUFDLEVBQ2pELEtBQUssQ0FDTixDQUFDO0FBQ0osQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsTUFBYyxFQUFFLEtBQTJDO0lBQ25GLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDO0tBQ3pDO0lBRUQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxFQUFHO1FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLENBQUM7S0FDbkQ7SUFFRCxPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsZ0JBQWdCLEVBQUU7WUFDaEIsTUFBTTtZQUNOLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtTQUMxQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBR0Q7Ozs7R0FJRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsY0FBYztJQUN0RDtJQUNFOzs7O09BSUc7SUFDSCxJQUFZO0lBQ1o7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQTJDO1FBRzNDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUF2Qkgsb0RBd0JDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsY0FBYztJQUMvQztJQUNFOzs7O09BSUc7SUFDSCxJQUFZO0lBQ1o7Ozs7Ozs7Ozs7T0FVRztJQUNILEtBQTJDO1FBRTNDLEtBQUssQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7QUF0Qkgsc0NBdUJDOzs7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSxjQUFjO0lBQ3REO0lBQ0U7Ozs7T0FJRztJQUNILElBQVk7SUFDWjs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBMkM7UUFFM0MsS0FBSyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDOztBQXRCSCxvREF1QkM7OztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxjQUFjO0lBQy9DO0lBQ0U7Ozs7T0FJRztJQUNILElBQVk7SUFDWjs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBMkM7UUFFM0MsS0FBSyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOztBQXRCSCxzQ0F1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMYXp5LCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IENvZGVDb25maWcsIElubGluZUNvZGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRXNidWlsZFByb3ZpZGVyIH0gZnJvbSAnLi9lc2J1aWxkLXByb3ZpZGVyJztcbmltcG9ydCB7IFRyYW5zZm9ybU9wdGlvbnMsIExvYWRlciB9IGZyb20gJy4vZXNidWlsZC10eXBlcyc7XG5pbXBvcnQgeyBlcnJvckhhc0NvZGUgfSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zZm9ybWVyUHJvcHMge1xuICAvKipcbiAgICogVHJhbnNmb3JtIG9wdGlvbnMgcGFzc2VkIG9uIHRvIGVzYnVpbGQuIFBsZWFzZSByZWZlciB0byB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJIGRvY3MgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9lc2J1aWxkLmdpdGh1Yi5pby9hcGkvI3RyYW5zZm9ybS1hcGlcbiAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZm9ybU9wdGlvbnM/OiBUcmFuc2Zvcm1PcHRpb25zO1xuXG4gIC8qKlxuICAgKiBFc2NhcGUgaGF0Y2ggdG8gcHJvdmlkZSB0aGUgYnVuZGxlciB3aXRoIGEgY3VzdG9tIHRyYW5zZm9ybSBmdW5jdGlvbi5cbiAgICogVGhlIGZ1bmN0aW9uIHdpbGwgcmVjZWl2ZSB0aGUgY29tcHV0ZWQgb3B0aW9ucyBmcm9tIHRoZSBidW5kbGVyLiBJdCBjYW4gdXNlIHdpdGggdGhlc2Ugb3B0aW9ucyBhcyBpdCB3aXNoZXMsIGhvd2V2ZXIgYSBUcmFuc2Zvcm1SZXN1bHQgbXVzdCBiZSByZXR1cm5lZCB0byBpbnRlZ3JhdGUgd2l0aCBDREsuXG4gICAqIE11c3QgdGhyb3cgYSBgVHJhbnNmb3JtRmFpbHVyZWAgb24gZmFpbHVyZSB0byBjb3JyZWN0bHkgaW5mb3JtIHRoZSBidW5kbGVyLlxuICAgKlxuICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgKiBAdHlwZSBlc2J1aWxkLnRyYW5zZm9ybVN5bmNcbiAgICogQHJldHVybnMgZXNidWlsZC5UcmFuc2Zvcm1SZXN1bHRcbiAgICogQHRocm93cyBlc2J1aWxkLlRyYW5zZm9ybUZhaWx1cmVcbiAgICogQGRlZmF1bHQgYGVzYnVpbGQudHJhbnNmb3JtU3luY2BcbiAgICovXG4gIHJlYWRvbmx5IHRyYW5zZm9ybUZuPzogYW55O1xuXG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSBiaW5hcnkgdXNlZCBieSBlc2J1aWxkLlxuICAgKlxuICAgKiBUaGlzIGlzIHRoZSBzYW1lIGFzIHNldHRpbmcgdGhlIEVTQlVJTERfQklOQVJZX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqL1xuICByZWFkb25seSBlc2J1aWxkQmluYXJ5UGF0aD86IHN0cmluZztcblxuICAvKipcbiAgICogQWJzb2x1dGUgcGF0aCB0byB0aGUgZXNidWlsZCBtb2R1bGUgSlMgZmlsZS5cbiAgICpcbiAgICogRS5nLiBcIi9ob21lL3VzZXIvLm5wbS9ub2RlX21vZHVsZXMvZXNidWlsZC9saWIvbWFpbi5qc1wiXG4gICAqXG4gICAqIElmIG5vdCBzZXQsIHRoZSBtb2R1bGUgcGF0aCB3aWxsIGJlIGRldGVybWluZWQgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjpcbiAgICpcbiAgICogLSBVc2UgYSBwYXRoIGZyb20gdGhlIGBDREtfRVNCVUlMRF9NT0RVTEVfUEFUSGAgZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICogLSBJbiBUeXBlU2NyaXB0LCBmYWxsYmFjayB0byB0aGUgZGVmYXVsdCBOb2RlLmpzIHBhY2thZ2UgcmVzb2x1dGlvbiBtZWNoYW5pc21cbiAgICogLSBBbGwgb3RoZXIgbGFuZ3VhZ2VzIChQeXRob24sIEdvLCAuTkVULCBKYXZhKSB1c2UgYW4gYXV0b21hdGljIFwiYmVzdCBlZmZvcnRcIiByZXNvbHV0aW9uIG1lY2hhbmlzbS4gXFxcbiAgICogICBUaGUgZXhhY3QgYWxnb3JpdGhtIG9mIHRoaXMgbWVjaGFuaXNtIGlzIGNvbnNpZGVyZWQgYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIGFuZCBzaG91bGQgbm90IGJlIHJlbGllZCBvbi5cbiAgICogICBJZiBgZXNidWlsZGAgY2Fubm90IGJlIGZvdW5kLCBpdCBtaWdodCBiZSBpbnN0YWxsZWQgZHluYW1pY2FsbHkgdG8gYSB0ZW1wb3JhcnkgbG9jYXRpb24uXG4gICAqICAgVG8gb3B0LW91dCBvZiB0aGlzIGJlaGF2aW9yLCBzZXQgZWl0aGVyIGBlc2J1aWxkTW9kdWxlUGF0aGAgb3IgYENES19FU0JVSUxEX01PRFVMRV9QQVRIYCBlbnYgdmFyaWFibGUuXG4gICAqXG4gICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAqIEBkZWZhdWx0IC0gYENES19FU0JVSUxEX01PRFVMRV9QQVRIYCBvciBwYWNrYWdlIHJlc29sdXRpb24gKHNlZSBhYm92ZSlcbiAgICovXG4gIHJlYWRvbmx5IGVzYnVpbGRNb2R1bGVQYXRoPzogc3RyaW5nO1xufVxuXG5hYnN0cmFjdCBjbGFzcyBCYXNlSW5saW5lQ29kZSBleHRlbmRzIElubGluZUNvZGUge1xuICBwdWJsaWMgcmVhZG9ubHkgaXNJbmxpbmUgPSB0cnVlO1xuICBwcml2YXRlIHJlYWRvbmx5IGlubGluZUNvZGU6IHN0cmluZztcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgY29kZTogc3RyaW5nLFxuICAgIHByb3BzOiBUcmFuc2Zvcm1lclByb3BzLFxuICApIHtcbiAgICBzdXBlcihjb2RlKTtcblxuICAgIHRoaXMuaW5saW5lQ29kZSA9IExhenkuc3RyaW5nKHtcbiAgICAgIHByb2R1Y2U6ICgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1GbiA9IHByb3BzLnRyYW5zZm9ybUZuID8/IEVzYnVpbGRQcm92aWRlci5yZXF1aXJlKHByb3BzLmVzYnVpbGRNb2R1bGVQYXRoKS50cmFuc2Zvcm1TeW5jO1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybVN5bmMgPSBFc2J1aWxkUHJvdmlkZXIud2l0aEVzYnVpbGRCaW5hcnlQYXRoKHRyYW5zZm9ybUZuLCBwcm9wcy5lc2J1aWxkQmluYXJ5UGF0aCk7XG5cbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm1lZENvZGUgPSB0cmFuc2Zvcm1TeW5jKGNvZGUsIHtcbiAgICAgICAgICAgIGNvbG9yOiBwcm9jZXNzLmVudi5OT19DT0xPUiA/IEJvb2xlYW4ocHJvY2Vzcy5lbnYuTk9fQ09MT1IpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgbG9nTGV2ZWw6ICd3YXJuaW5nJyxcbiAgICAgICAgICAgIC4uLihwcm9wcy50cmFuc2Zvcm1PcHRpb25zIHx8IHt9KSxcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHJldHVybiB0cmFuc2Zvcm1lZENvZGUuY29kZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAoZXJyb3JIYXNDb2RlKGVycm9yLCAnTU9EVUxFX05PVF9GT1VORCcpKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gdHJhbnNmb3JtICR7dGhpcy5jb25zdHJ1Y3Rvci5uYW1lfWApO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGJpbmQoc2NvcGU6IENvbnN0cnVjdCk6IENvZGVDb25maWcge1xuICAgIGNvbnN0IG5hbWUgPSBzY29wZS5ub2RlLnBhdGggKyBOb2RlLlBBVEhfU0VQICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgIHByb2Nlc3Muc3RkZXJyLndyaXRlKGBUcmFuc2Zvcm1pbmcgaW5saW5lIGNvZGUgJHtuYW1lfS4uLlxcbmApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGlubGluZUNvZGU6IFN0YWNrLm9mKHNjb3BlKS5yZXNvbHZlKHRoaXMuaW5saW5lQ29kZSksXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0YW5jZU9mVHJhbnNmb3JtZXJQcm9wcyhvYmplY3Q6IGFueSk6IG9iamVjdCBpcyBUcmFuc2Zvcm1lclByb3BzIHtcbiAgcmV0dXJuIFtcbiAgICAndHJhbnNmb3JtT3B0aW9ucycsXG4gICAgJ3RyYW5zZm9ybUZuJyxcbiAgICAnZXNidWlsZEJpbmFyeVBhdGgnLFxuICAgICdlc2J1aWxkTW9kdWxlUGF0aCcsXG4gIF0ucmVkdWNlKFxuICAgIChpc1RyYW5zZm9ybWVyUHJvcHM6IGJvb2xlYW4sIHByb3BUb0NoZWNrOiBzdHJpbmcpOiBib29sZWFuID0+XG4gICAgICAoaXNUcmFuc2Zvcm1lclByb3BzIHx8IChwcm9wVG9DaGVjayBpbiBvYmplY3QpKSxcbiAgICBmYWxzZSxcbiAgKTtcbn1cblxuZnVuY3Rpb24gdHJhbnNmb3JtZXJQcm9wcyhsb2FkZXI6IExvYWRlciwgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyk6IFRyYW5zZm9ybWVyUHJvcHMge1xuICBpZiAoIXByb3BzKSB7XG4gICAgcmV0dXJuIHsgdHJhbnNmb3JtT3B0aW9uczogeyBsb2FkZXIgfSB9O1xuICB9XG5cbiAgaWYgKCFpbnN0YW5jZU9mVHJhbnNmb3JtZXJQcm9wcyhwcm9wcykgKSB7XG4gICAgcmV0dXJuIHsgdHJhbnNmb3JtT3B0aW9uczogeyBsb2FkZXIsIC4uLnByb3BzIH0gfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ucHJvcHMsXG4gICAgdHJhbnNmb3JtT3B0aW9uczoge1xuICAgICAgbG9hZGVyLFxuICAgICAgLi4ucHJvcHMudHJhbnNmb3JtT3B0aW9ucyxcbiAgICB9LFxuICB9O1xufVxuXG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVKYXZhU2NyaXB0Q29kZSBleHRlbmRzIEJhc2VJbmxpbmVDb2RlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBpbmxpbmUgY29kZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgY29kZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgZm9yIGBUcmFuc2Zvcm1PcHRpb25zYCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgcHJvdmlkZSBgVHJhbnNmb3JtZXJQcm9wc2AhXG4gICAgICpcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLnRyYW5zZm9ybU9wdGlvbnNgOlxuICAgICAqIC0gYGxvYWRlcj0nanMnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG5cbiAgICBzdXBlcihjb2RlLCB0cmFuc2Zvcm1lclByb3BzKCdqcycsIHByb3BzKSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBbiBpbXBsZW1lbnRhdGlvbiBvZiBgbGFtYmRhLklubGluZUNvZGVgIHVzaW5nIHRoZSBlc2J1aWxkIFRyYW5zZm9ybSBBUEkuIElubGluZSBmdW5jdGlvbiBjb2RlIGlzIGxpbWl0ZWQgdG8gNCBLaUIgYWZ0ZXIgdHJhbnNmb3JtYXRpb24uXG4gKlxuICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAqL1xuZXhwb3J0IGNsYXNzIElubGluZUpzeENvZGUgZXh0ZW5kcyBCYXNlSW5saW5lQ29kZSB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAvKipcbiAgICAgKiBUaGUgaW5saW5lIGNvZGUgdG8gYmUgdHJhbnNmb3JtZWQuXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IGV4cGVyaW1lbnRhbFxuICAgICAqL1xuICAgIGNvZGU6IHN0cmluZyxcbiAgICAvKipcbiAgICAgKiBTdXBwb3J0IGZvciBgVHJhbnNmb3JtT3B0aW9uc2AgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHByb3ZpZGUgYFRyYW5zZm9ybWVyUHJvcHNgIVxuICAgICAqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHRyYW5zZm9ybWVyLlxuICAgICAqXG4gICAgICogRGVmYXVsdCB2YWx1ZXMgZm9yIGB0cmFuc2Zvcm1PcHRpb25zYDpcbiAgICAgKiAtIGBsb2FkZXI9J2pzeCdgXG4gICAgICpcbiAgICAgKiBAc2VlIGh0dHBzOi8vZXNidWlsZC5naXRodWIuaW8vYXBpLyN0cmFuc2Zvcm0tYXBpXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBwcm9wcz86IFRyYW5zZm9ybWVyUHJvcHMgfCBUcmFuc2Zvcm1PcHRpb25zLFxuICApIHtcbiAgICBzdXBlcihjb2RlLCB0cmFuc2Zvcm1lclByb3BzKCdqc3gnLCBwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUeXBlU2NyaXB0Q29kZSBleHRlbmRzIEJhc2VJbmxpbmVDb2RlIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIFRoZSBpbmxpbmUgY29kZSB0byBiZSB0cmFuc2Zvcm1lZC5cbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgY29kZTogc3RyaW5nLFxuICAgIC8qKlxuICAgICAqIFN1cHBvcnQgZm9yIGBUcmFuc2Zvcm1PcHRpb25zYCBpcyBkZXByZWNhdGVkLiBQbGVhc2UgcHJvdmlkZSBgVHJhbnNmb3JtZXJQcm9wc2AhXG4gICAgICpcbiAgICAgKiBQcm9wcyB0byBjaGFuZ2UgdGhlIGJlaGF2aW91ciBvZiB0aGUgdHJhbnNmb3JtZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHRyYW5zZm9ybU9wdGlvbnNgOlxuICAgICAqIC0gYGxvYWRlcj0ndHMnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoY29kZSwgdHJhbnNmb3JtZXJQcm9wcygndHMnLCBwcm9wcykpO1xuICB9XG59XG5cbi8qKlxuICogQW4gaW1wbGVtZW50YXRpb24gb2YgYGxhbWJkYS5JbmxpbmVDb2RlYCB1c2luZyB0aGUgZXNidWlsZCBUcmFuc2Zvcm0gQVBJLiBJbmxpbmUgZnVuY3Rpb24gY29kZSBpcyBsaW1pdGVkIHRvIDQgS2lCIGFmdGVyIHRyYW5zZm9ybWF0aW9uLlxuICpcbiAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gKi9cbmV4cG9ydCBjbGFzcyBJbmxpbmVUc3hDb2RlIGV4dGVuZHMgQmFzZUlubGluZUNvZGUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogVGhlIGlubGluZSBjb2RlIHRvIGJlIHRyYW5zZm9ybWVkLlxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBleHBlcmltZW50YWxcbiAgICAgKi9cbiAgICBjb2RlOiBzdHJpbmcsXG4gICAgLyoqXG4gICAgICogU3VwcG9ydCBmb3IgYFRyYW5zZm9ybU9wdGlvbnNgIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSBwcm92aWRlIGBUcmFuc2Zvcm1lclByb3BzYCFcbiAgICAgKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSB0cmFuc2Zvcm1lci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgdHJhbnNmb3JtT3B0aW9uc2A6XG4gICAgICogLSBgbG9hZGVyPSd0c3gnYFxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL2VzYnVpbGQuZ2l0aHViLmlvL2FwaS8jdHJhbnNmb3JtLWFwaVxuICAgICAqIEBzdGFiaWxpdHkgZXhwZXJpbWVudGFsXG4gICAgICovXG4gICAgcHJvcHM/OiBUcmFuc2Zvcm1lclByb3BzIHwgVHJhbnNmb3JtT3B0aW9ucyxcbiAgKSB7XG4gICAgc3VwZXIoY29kZSwgdHJhbnNmb3JtZXJQcm9wcygndHN4JywgcHJvcHMpKTtcbiAgfVxufVxuIl19
package/lib/source.js CHANGED
@@ -104,7 +104,7 @@ class JavaScriptSource extends Source {
104
104
  }
105
105
  exports.JavaScriptSource = JavaScriptSource;
106
106
  _a = JSII_RTTI_SYMBOL_1;
107
- JavaScriptSource[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptSource", version: "3.9.0" };
107
+ JavaScriptSource[_a] = { fqn: "@mrgrain/cdk-esbuild.JavaScriptSource", version: "3.11.1" };
108
108
  class TypeScriptSource extends Source {
109
109
  constructor(
110
110
  /**
@@ -140,5 +140,5 @@ class TypeScriptSource extends Source {
140
140
  }
141
141
  exports.TypeScriptSource = TypeScriptSource;
142
142
  _b = JSII_RTTI_SYMBOL_1;
143
- TypeScriptSource[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptSource", version: "3.9.0" };
143
+ TypeScriptSource[_b] = { fqn: "@mrgrain/cdk-esbuild.TypeScriptSource", version: "3.11.1" };
144
144
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUFvQztBQU9wQyxtQ0FBdUY7QUFJeEIsQ0FBQztBQUNELENBQUM7QUFFaEUsTUFBZSxNQUFNO0lBY25CO0lBQ0U7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsV0FBd0I7SUFFeEI7Ozs7Ozs7O09BUUc7SUFDSCxLQUFZO1FBRVosTUFBTSxjQUFjLEdBQTBCO1lBQzVDLFFBQVEsRUFBRSxTQUFTO1NBQ3BCLENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHO1lBQ1gsV0FBVztZQUNYLEdBQUcsS0FBSztZQUNSLFlBQVksRUFBRTtnQkFDWixHQUFHLGNBQWM7Z0JBQ2pCLEdBQUcsS0FBSyxDQUFDLFlBQVk7YUFDdEI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksQ0FBQyxLQUFnQixFQUFFLE9BQWlDO1FBQ3RELHFGQUFxRjtRQUNyRixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUM5QixLQUFLLEVBQ0wsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQ3JCLElBQUksQ0FBQyxLQUFLLENBQ1gsQ0FBQztTQUNIO2FBQU0sSUFBSSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkQsTUFBTSxJQUFJLEtBQUssQ0FDYixtREFDRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FDdkIsS0FBSyxHQUFHLDhDQUE4QyxDQUN2RCxDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FDYixZQUFZLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSw0QkFBNEIsQ0FDOUQsQ0FBQztTQUNIO1FBRUQsd0VBQXdFO1FBQ3hFLHNFQUFzRTtRQUN0RSw2REFBNkQ7UUFDN0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqRCxPQUFPO1lBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTtZQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXO1NBQ3JDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFFRCxNQUFhLGdCQUFpQixTQUFRLE1BR3JDO0lBR0M7SUFFRTs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxXQUF3QjtJQUV4Qjs7Ozs7Ozs7UUFRSTtJQUNKLFFBQStCLEVBQUU7UUFFakMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQWpDNUIsZUFBVSxHQUFHLHVCQUFlLENBQUM7SUFrQzdCLENBQUM7O0FBdENILDRDQXVDQzs7O0FBRUQsTUFBYSxnQkFBaUIsU0FBUSxNQUdyQztJQUdDO0lBQ0U7Ozs7Ozs7Ozs7Ozs7OztPQWVHO0lBQ0gsV0FBd0I7SUFFeEI7Ozs7Ozs7O09BUUc7SUFDSCxRQUErQixFQUFFO1FBRWpDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFoQzVCLGVBQVUsR0FBRyx1QkFBZSxDQUFDO0lBaUM3QixDQUFDOztBQXJDSCw0Q0FzQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7XG4gIERlcGxveW1lbnRTb3VyY2VDb250ZXh0LFxuICBJU291cmNlLFxuICBTb3VyY2VDb25maWcsXG59IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1kZXBsb3ltZW50JztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXNzZXRCYXNlUHJvcHMsIEFzc2V0UHJvcHMsIEphdmFTY3JpcHRBc3NldCwgVHlwZVNjcmlwdEFzc2V0IH0gZnJvbSAnLi9hc3NldCc7XG5pbXBvcnQgeyBFbnRyeVBvaW50cyB9IGZyb20gJy4vYnVuZGxlcic7XG5pbXBvcnQgeyBCdWlsZE9wdGlvbnMgfSBmcm9tICcuL2VzYnVpbGQtdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFTY3JpcHRTb3VyY2VQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3Bze307XG5leHBvcnQgaW50ZXJmYWNlIFR5cGVTY3JpcHRTb3VyY2VQcm9wcyBleHRlbmRzIEFzc2V0QmFzZVByb3Bze307XG5cbmFic3RyYWN0IGNsYXNzIFNvdXJjZTxcbiAgUHJvcHMgZXh0ZW5kcyBKYXZhU2NyaXB0U291cmNlUHJvcHMgfCBUeXBlU2NyaXB0U291cmNlUHJvcHMsXG4gIEFzc2V0IGV4dGVuZHMgSmF2YVNjcmlwdEFzc2V0IHwgVHlwZVNjcmlwdEFzc2V0LFxuPiBpbXBsZW1lbnRzIElTb3VyY2Uge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWJzdHJhY3QgYXNzZXRDbGFzczogbmV3IChcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEFzc2V0UHJvcHMsXG4gICkgPT4gQXNzZXQ7XG5cbiAgcHJvdGVjdGVkIHByb3BzOiBBc3NldFByb3BzO1xuXG4gIHByb3RlY3RlZCBhc3NldCE6IEFzc2V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIC8qKlxuICAgICAqIEEgcGF0aCBvciBsaXN0IG9yIG1hcCBvZiBwYXRocyB0byB0aGUgZW50cnkgcG9pbnRzIG9mIHlvdXIgY29kZS5cbiAgICAgKlxuICAgICAqIFJlbGF0aXZlIHBhdGhzIGFyZSBieSBkZWZhdWx0IHJlc29sdmVkIGZyb20gdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICogVG8gY2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSwgc2VlIGBidWlsZE9wdGlvbnMuYWJzV29ya2luZ0RpcmAuXG4gICAgICpcbiAgICAgKiBBYnNvbHV0ZSBwYXRocyBjYW4gYmUgdXNlZCBpZiBmaWxlcyBhcmUgcGFydCBvZiB0aGUgd29ya2luZyBkaXJlY3RvcnkuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlczpcbiAgICAgKiAgLSBgJ3NyYy9pbmRleC50cydgXG4gICAgICogIC0gYHJlcXVpcmUucmVzb2x2ZSgnLi9sYW1iZGEnKWBcbiAgICAgKiAgLSBgWydzcmMvaW5kZXgudHMnLCAnc3JjL3V0aWwudHMnXWBcbiAgICAgKiAgLSBge29uZTogJ3NyYy90d28udHMnLCB0d286ICdzcmMvb25lLnRzJ31gXG4gICAgICpcbiAgICAgKiBAc3RhYmlsaXR5IHN0YWJsZVxuICAgICAqL1xuICAgIGVudHJ5UG9pbnRzOiBFbnRyeVBvaW50cyxcblxuICAgIC8qKlxuICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICpcbiAgICAgKiBEZWZhdWx0IHZhbHVlcyBmb3IgYHByb3BzLmJ1aWxkT3B0aW9uc2A6XG4gICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICogLSBgcGxhdGZvcm09YnJvd3NlcmBcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgcHJvcHM6IFByb3BzLFxuICApIHtcbiAgICBjb25zdCBkZWZhdWx0T3B0aW9uczogUGFydGlhbDxCdWlsZE9wdGlvbnM+ID0ge1xuICAgICAgcGxhdGZvcm06ICdicm93c2VyJyxcbiAgICB9O1xuXG4gICAgdGhpcy5wcm9wcyA9IHtcbiAgICAgIGVudHJ5UG9pbnRzLFxuICAgICAgLi4ucHJvcHMsXG4gICAgICBidWlsZE9wdGlvbnM6IHtcbiAgICAgICAgLi4uZGVmYXVsdE9wdGlvbnMsXG4gICAgICAgIC4uLnByb3BzLmJ1aWxkT3B0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIGJpbmQoc2NvcGU6IENvbnN0cnVjdCwgY29udGV4dD86IERlcGxveW1lbnRTb3VyY2VDb250ZXh0KTogU291cmNlQ29uZmlnIHtcbiAgICAvLyBJZiB0aGUgc2FtZSBBc3NldENvZGUgaXMgdXNlZCBtdWx0aXBsZSB0aW1lcywgcmV0YWluIG9ubHkgdGhlIGZpcnN0IGluc3RhbnRpYXRpb24uXG4gICAgaWYgKCF0aGlzLmFzc2V0KSB7XG4gICAgICB0aGlzLmFzc2V0ID0gbmV3IHRoaXMuYXNzZXRDbGFzcyhcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIHRoaXMuY29uc3RydWN0b3IubmFtZSxcbiAgICAgICAgdGhpcy5wcm9wcyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChTdGFjay5vZih0aGlzLmFzc2V0KSAhPT0gU3RhY2sub2Yoc2NvcGUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBc3NldCBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCBhbm90aGVyIHN0YWNrICcke1xuICAgICAgICAgIFN0YWNrLm9mKHRoaXMuYXNzZXQpLnN0YWNrTmFtZVxuICAgICAgICB9Jy4gYCArICdDcmVhdGUgYSBuZXcgQXNzZXQgaW5zdGFuY2UgZm9yIGV2ZXJ5IHN0YWNrLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghY29udGV4dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVG8gdXNlIGEgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9LCBjb250ZXh0IG11c3QgYmUgcHJvdmlkZWRgLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyB3ZSBnaXZlIHBlcm1pc3Npb25zIG9uIGFsbCBmaWxlcyBpbiB0aGUgYnVja2V0IHNpbmNlIHdlIGRvbid0IHdhbnQgdG9cbiAgICAvLyBhY2NpZGVudGFsbHkgcmV2b2tlIHBlcm1pc3Npb24gb24gb2xkIHZlcnNpb25zIHdoZW4gZGVwbG95aW5nIGEgbmV3XG4gICAgLy8gdmVyc2lvbiAoZm9yIGV4YW1wbGUsIHdoZW4gdXNpbmcgTGFtYmRhIHRyYWZmaWMgc2hpZnRpbmcpLlxuICAgIHRoaXMuYXNzZXQuYnVja2V0LmdyYW50UmVhZChjb250ZXh0LmhhbmRsZXJSb2xlKTtcblxuICAgIHJldHVybiB7XG4gICAgICBidWNrZXQ6IHRoaXMuYXNzZXQuYnVja2V0LFxuICAgICAgemlwT2JqZWN0S2V5OiB0aGlzLmFzc2V0LnMzT2JqZWN0S2V5LFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEphdmFTY3JpcHRTb3VyY2UgZXh0ZW5kcyBTb3VyY2U8XG5KYXZhU2NyaXB0U291cmNlUHJvcHMsXG5KYXZhU2NyaXB0QXNzZXRcbj4ge1xuICBhc3NldENsYXNzID0gSmF2YVNjcmlwdEFzc2V0O1xuXG4gIGNvbnN0cnVjdG9yKFxuXG4gICAgLyoqXG4gICAgICogQSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlLlxuICAgICAqXG4gICAgICogUmVsYXRpdmUgcGF0aHMgYXJlIGJ5IGRlZmF1bHQgcmVzb2x2ZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKiBUbyBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBzZWUgYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyYC5cbiAgICAgKlxuICAgICAqIEFic29sdXRlIHBhdGhzIGNhbiBiZSB1c2VkIGlmIGZpbGVzIGFyZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKlxuICAgICAqIEV4YW1wbGVzOlxuICAgICAqICAtIGAnc3JjL2luZGV4LnRzJ2BcbiAgICAgKiAgLSBgcmVxdWlyZS5yZXNvbHZlKCcuL2xhbWJkYScpYFxuICAgICAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICAgICAqICAtIGB7b25lOiAnc3JjL3R3by50cycsIHR3bzogJ3NyYy9vbmUudHMnfWBcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICAqIFByb3BzIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgdGhlIGJ1bmRsZXIuXG4gICAgICAqXG4gICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgICogLSBgYnVuZGxlPXRydWVgXG4gICAgICAqIC0gYHBsYXRmb3JtPWJyb3dzZXJgXG4gICAgICAqXG4gICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICAqL1xuICAgIHByb3BzOiBKYXZhU2NyaXB0U291cmNlUHJvcHMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIoZW50cnlQb2ludHMsIHByb3BzKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHlwZVNjcmlwdFNvdXJjZSBleHRlbmRzIFNvdXJjZTxcblR5cGVTY3JpcHRTb3VyY2VQcm9wcyxcblR5cGVTY3JpcHRBc3NldFxuPiB7XG4gIGFzc2V0Q2xhc3MgPSBUeXBlU2NyaXB0QXNzZXQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQSBwYXRoIG9yIGxpc3Qgb3IgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBwb2ludHMgb2YgeW91ciBjb2RlLlxuICAgICAqXG4gICAgICogUmVsYXRpdmUgcGF0aHMgYXJlIGJ5IGRlZmF1bHQgcmVzb2x2ZWQgZnJvbSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKiBUbyBjaGFuZ2UgdGhlIHdvcmtpbmcgZGlyZWN0b3J5LCBzZWUgYGJ1aWxkT3B0aW9ucy5hYnNXb3JraW5nRGlyYC5cbiAgICAgKlxuICAgICAqIEFic29sdXRlIHBhdGhzIGNhbiBiZSB1c2VkIGlmIGZpbGVzIGFyZSBwYXJ0IG9mIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cbiAgICAgKlxuICAgICAqIEV4YW1wbGVzOlxuICAgICAqICAtIGAnc3JjL2luZGV4LnRzJ2BcbiAgICAgKiAgLSBgcmVxdWlyZS5yZXNvbHZlKCcuL2xhbWJkYScpYFxuICAgICAqICAtIGBbJ3NyYy9pbmRleC50cycsICdzcmMvdXRpbC50cyddYFxuICAgICAqICAtIGB7b25lOiAnc3JjL3R3by50cycsIHR3bzogJ3NyYy9vbmUudHMnfWBcbiAgICAgKlxuICAgICAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gICAgICovXG4gICAgZW50cnlQb2ludHM6IEVudHJ5UG9pbnRzLFxuXG4gICAgLyoqXG4gICAgICogUHJvcHMgdG8gY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgYnVuZGxlci5cbiAgICAgKlxuICAgICAqIERlZmF1bHQgdmFsdWVzIGZvciBgcHJvcHMuYnVpbGRPcHRpb25zYDpcbiAgICAgKiAtIGBidW5kbGU9dHJ1ZWBcbiAgICAgKiAtIGBwbGF0Zm9ybT1icm93c2VyYFxuICAgICAqXG4gICAgICogQHN0YWJpbGl0eSBzdGFibGVcbiAgICAgKi9cbiAgICBwcm9wczogVHlwZVNjcmlwdFNvdXJjZVByb3BzID0ge30sXG4gICkge1xuICAgIHN1cGVyKGVudHJ5UG9pbnRzLCBwcm9wcyk7XG4gIH1cbn1cbiJdfQ==
package/lib/utils.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ interface CodedError {
2
+ code: string;
3
+ }
4
+ export declare function errorHasCode(error: unknown, code: string): error is CodedError;
5
+ export {};
package/lib/utils.js ADDED
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorHasCode = void 0;
4
+ function errorHasCode(error, code) {
5
+ return !!error
6
+ && typeof error == 'object'
7
+ && error != null
8
+ && 'code' in error
9
+ && error.code == code;
10
+ }
11
+ exports.errorHasCode = errorHasCode;
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEsU0FBZ0IsWUFBWSxDQUFDLEtBQWMsRUFBRSxJQUFZO0lBQ3ZELE9BQU8sQ0FBQyxDQUFDLEtBQUs7V0FDWCxPQUFPLEtBQUssSUFBSSxRQUFRO1dBQ3hCLEtBQUssSUFBSSxJQUFJO1dBQ2IsTUFBTSxJQUFJLEtBQUs7V0FDZCxLQUFvQixDQUFDLElBQUksSUFBRyxJQUFJLENBQUM7QUFDdkMsQ0FBQztBQU5ELG9DQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW50ZXJmYWNlIENvZGVkRXJyb3Ige1xuICBjb2RlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlcnJvckhhc0NvZGUoZXJyb3I6IHVua25vd24sIGNvZGU6IHN0cmluZyk6IGVycm9yIGlzIENvZGVkRXJyb3Ige1xuICByZXR1cm4gISFlcnJvclxuICAmJiB0eXBlb2YgZXJyb3IgPT0gJ29iamVjdCdcbiAgJiYgZXJyb3IgIT0gbnVsbFxuICAmJiAnY29kZScgaW4gZXJyb3JcbiAgJiYgKGVycm9yIGFzIENvZGVkRXJyb3IpLmNvZGUgPT1jb2RlO1xufVxuIl19
package/package.json CHANGED
@@ -17,10 +17,13 @@
17
17
  "eslint": "npx projen eslint",
18
18
  "package": "npx projen package",
19
19
  "package-all": "npx projen package-all",
20
+ "package:dotnet": "npx projen package:dotnet",
20
21
  "package:js": "npx projen package:js",
22
+ "package:python": "npx projen package:python",
21
23
  "post-compile": "npx projen post-compile",
22
24
  "post-upgrade": "npx projen post-upgrade",
23
25
  "pre-compile": "npx projen pre-compile",
26
+ "prepare:readme": "npx projen prepare:readme",
24
27
  "publish:git": "npx projen publish:git",
25
28
  "release": "npx projen release",
26
29
  "test": "npx projen test",
@@ -54,13 +57,13 @@
54
57
  "jest": "^27",
55
58
  "jest-junit": "^13",
56
59
  "jest-mock": "^27.5.1",
57
- "jsii": "^1.64.0",
58
- "jsii-diff": "^1.64.0",
60
+ "jsii": "^1.65.0",
61
+ "jsii-diff": "^1.65.0",
59
62
  "jsii-docgen": "^3.8.31",
60
- "jsii-pacmak": "^1.64.0",
63
+ "jsii-pacmak": "^1.65.0",
61
64
  "json-schema": "^0.4.0",
62
65
  "npm-check-updates": "^15",
63
- "projen": "^0.61.9",
66
+ "projen": "^0.61.23",
64
67
  "standard-version": "^9",
65
68
  "ts-jest": "^27",
66
69
  "ts-morph": "^15.1.0",
@@ -85,7 +88,7 @@
85
88
  "main": "lib/index.js",
86
89
  "license": "MIT",
87
90
  "homepage": "https://github.com/mrgrain/cdk-esbuild",
88
- "version": "3.9.0",
91
+ "version": "3.11.1",
89
92
  "jest": {
90
93
  "testPathIgnorePatterns": [
91
94
  "/node_modules/",
@@ -132,7 +135,17 @@
132
135
  "stability": "stable",
133
136
  "jsii": {
134
137
  "outdir": "dist",
135
- "targets": {},
138
+ "targets": {
139
+ "python": {
140
+ "distName": "mrgrain.cdk-esbuild",
141
+ "module": "mrgrain.cdk_esbuild"
142
+ },
143
+ "dotnet": {
144
+ "namespace": "Mrgrain.CdkEsbuild",
145
+ "packageId": "Mrgrain.CdkEsbuild",
146
+ "iconUrl": "https://raw.githubusercontent.com/mrgrain/cdk-esbuild/main/images/logo.png"
147
+ }
148
+ },
136
149
  "tsc": {
137
150
  "outDir": "lib",
138
151
  "rootDir": "src"
@@ -1,3 +0,0 @@
1
- export declare const buildSync: any;
2
- export declare const transformSync: any;
3
- export declare function wrapWithEsbuildBinaryPath<T extends CallableFunction>(fn: T, esbuildBinaryPath?: string): T | ((...args: unknown[]) => any);
@@ -1,32 +0,0 @@
1
- "use strict";
2
- /* eslint-disable import/no-extraneous-dependencies */
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.wrapWithEsbuildBinaryPath = exports.transformSync = exports.buildSync = void 0;
5
- function esbuild() {
6
- // eslint-disable-next-line @typescript-eslint/no-require-imports
7
- return require('esbuild');
8
- }
9
- exports.buildSync = esbuild().buildSync;
10
- exports.transformSync = esbuild().transformSync;
11
- function wrapWithEsbuildBinaryPath(fn, esbuildBinaryPath) {
12
- if (!esbuildBinaryPath) {
13
- return fn;
14
- }
15
- return (...args) => {
16
- const originalEsbuildBinaryPath = process.env.ESBUILD_BINARY_PATH;
17
- if (esbuildBinaryPath) {
18
- process.env.ESBUILD_BINARY_PATH = esbuildBinaryPath;
19
- }
20
- const result = fn(...args);
21
- /**
22
- * only reset `ESBUILD_BINARY_PATH` if it was explicitly set via the construct props
23
- * since `esbuild` itself sometimes sets it (eg. when running in yarn 2 plug&play)
24
- */
25
- if (esbuildBinaryPath) {
26
- process.env.ESBUILD_BINARY_PATH = originalEsbuildBinaryPath;
27
- }
28
- return result;
29
- };
30
- }
31
- exports.wrapWithEsbuildBinaryPath = wrapWithEsbuildBinaryPath;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNidWlsZC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VzYnVpbGQtd3JhcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0RBQXNEOzs7QUFFdEQsU0FBUyxPQUFPO0lBQ2QsaUVBQWlFO0lBQ2pFLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFWSxRQUFBLFNBQVMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7QUFDaEMsUUFBQSxhQUFhLEdBQUcsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO0FBRXJELFNBQWdCLHlCQUF5QixDQUE2QixFQUFLLEVBQUUsaUJBQTBCO0lBQ3JHLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtRQUN0QixPQUFPLEVBQUUsQ0FBQztLQUNYO0lBRUQsT0FBTyxDQUFDLEdBQUcsSUFBZSxFQUFFLEVBQUU7UUFDNUIsTUFBTSx5QkFBeUIsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDO1FBQ2xFLElBQUksaUJBQWlCLEVBQUU7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztTQUNyRDtRQUVELE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBRTNCOzs7V0FHRztRQUNILElBQUksaUJBQWlCLEVBQUU7WUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyx5QkFBeUIsQ0FBQztTQUM3RDtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUF2QkQsOERBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzICovXG5cbmZ1bmN0aW9uIGVzYnVpbGQoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG4gIHJldHVybiByZXF1aXJlKCdlc2J1aWxkJyk7XG59XG5cbmV4cG9ydCBjb25zdCBidWlsZFN5bmMgPSBlc2J1aWxkKCkuYnVpbGRTeW5jO1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybVN5bmMgPSBlc2J1aWxkKCkudHJhbnNmb3JtU3luYztcblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBXaXRoRXNidWlsZEJpbmFyeVBhdGg8VCBleHRlbmRzIENhbGxhYmxlRnVuY3Rpb24+KGZuOiBULCBlc2J1aWxkQmluYXJ5UGF0aD86IHN0cmluZykge1xuICBpZiAoIWVzYnVpbGRCaW5hcnlQYXRoKSB7XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgcmV0dXJuICguLi5hcmdzOiB1bmtub3duW10pID0+IHtcbiAgICBjb25zdCBvcmlnaW5hbEVzYnVpbGRCaW5hcnlQYXRoID0gcHJvY2Vzcy5lbnYuRVNCVUlMRF9CSU5BUllfUEFUSDtcbiAgICBpZiAoZXNidWlsZEJpbmFyeVBhdGgpIHtcbiAgICAgIHByb2Nlc3MuZW52LkVTQlVJTERfQklOQVJZX1BBVEggPSBlc2J1aWxkQmluYXJ5UGF0aDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBmbiguLi5hcmdzKTtcblxuICAgIC8qKlxuICAgICAqIG9ubHkgcmVzZXQgYEVTQlVJTERfQklOQVJZX1BBVEhgIGlmIGl0IHdhcyBleHBsaWNpdGx5IHNldCB2aWEgdGhlIGNvbnN0cnVjdCBwcm9wc1xuICAgICAqIHNpbmNlIGBlc2J1aWxkYCBpdHNlbGYgc29tZXRpbWVzIHNldHMgaXQgKGVnLiB3aGVuIHJ1bm5pbmcgaW4geWFybiAyIHBsdWcmcGxheSlcbiAgICAgKi9cbiAgICBpZiAoZXNidWlsZEJpbmFyeVBhdGgpIHtcbiAgICAgIHByb2Nlc3MuZW52LkVTQlVJTERfQklOQVJZX1BBVEggPSBvcmlnaW5hbEVzYnVpbGRCaW5hcnlQYXRoO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG59Il19