@fenge/eslint-config 0.4.0-beta.0 → 0.4.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # @fenge/eslint-config
2
2
 
3
+ ## 0.4.0-beta.1
4
+
5
+ ### Minor Changes
6
+
7
+ - c7a01e8: refactor(eslint-config): replace `override` and `extend` properties with `append` property for overriding or extending the built-in rules
8
+ - c5a6425: feat(eslint-config): allow configuring global linter options, and disable `reportUnusedDisableDirectives` by default
9
+
10
+ ### Patch Changes
11
+
12
+ - 740fdb7: feat(eslint-config): remove rule `no-template-curly-in-string` for flexibility
13
+
3
14
  ## 0.4.0-beta.0
4
15
 
5
16
  ### Minor Changes
package/README.md CHANGED
@@ -74,8 +74,8 @@ export default new Builder()
74
74
  omit: ["no-var"], // these rules will not work for js files
75
75
  })
76
76
  .enableTypescript({
77
- extend: {
78
- // apply additional rules for ts files
77
+ // apply additional rules or override the built-in rules for ts files
78
+ append: {
79
79
  "@typescript-eslint/no-explicit-any": "error",
80
80
  "@typescript-eslint/consistent-type-assertions": [
81
81
  "error",
@@ -1,11 +1,16 @@
1
- export declare function base(): readonly [{
1
+ export interface LinterOptions {
2
+ reportUnusedDisableDirectives?: "error" | "warn" | "off";
3
+ noInlineConfig?: boolean;
4
+ }
5
+ export declare function base({ reportUnusedDisableDirectives, noInlineConfig, }?: LinterOptions): readonly [{
2
6
  readonly name: "fenge/gitignore";
3
7
  readonly ignores: string[];
4
8
  }, {
5
9
  readonly name: "fenge/common";
6
10
  readonly files: readonly ["**/*.{js,cjs,mjs,jsx}", "**/*.{ts,cts,mts,tsx}", "**/package.json"];
7
11
  readonly linterOptions: {
8
- readonly reportUnusedDisableDirectives: true;
12
+ readonly reportUnusedDisableDirectives: "error" | "warn" | "off";
13
+ readonly noInlineConfig: boolean;
9
14
  };
10
15
  }, {
11
16
  readonly name: "fenge/ignore";
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAwBA,wBAAgB,IAAI;;;;;;;;;;;;;;qCA0BQ,MAAM,aAAa,MAAM;0CACpB,OAAO,EAAE,EAAE;;GAI3C"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/config/base.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,aAAa;IAC5B,6BAA6B,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;IACzD,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAwBD,wBAAgB,IAAI,CAAC,EACnB,6BAAqC,EACrC,cAAsB,GACvB,GAAE,aAAkB;;;;;;;;;;;;;;;qCA0BO,MAAM,aAAa,MAAM;0CACpB,OAAO,EAAE,EAAE;;GAI3C"}
@@ -15,7 +15,7 @@ function gitignore() {
15
15
  },
16
16
  ];
17
17
  }
18
- export function base() {
18
+ export function base({ reportUnusedDisableDirectives = "off", noInlineConfig = false, } = {}) {
19
19
  return [
20
20
  ...gitignore(), // global ignore
21
21
  {
@@ -26,8 +26,8 @@ export function base() {
26
26
  "**/package.json",
27
27
  ],
28
28
  linterOptions: {
29
- // noInlineConfig: true, // too strict
30
- reportUnusedDisableDirectives: true,
29
+ reportUnusedDisableDirectives,
30
+ noInlineConfig,
31
31
  },
32
32
  },
33
33
  // Ignore unsupported files.
@@ -47,4 +47,4 @@ export function base() {
47
47
  },
48
48
  ];
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxTQUFTLFNBQVM7SUFDaEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUM1QixnRUFBZ0UsRUFDaEUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0ZBQStGLEVBQy9GLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELGdHQUFnRztJQUNoRyxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDNUM7S0FDTyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJO0lBQ2xCLE9BQU87UUFDTCxHQUFHLFNBQVMsRUFBRSxFQUFFLGdCQUFnQjtRQUNoQztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRTtnQkFDTCx1QkFBdUI7Z0JBQ3ZCLHVCQUF1QjtnQkFDdkIsaUJBQWlCO2FBQ2xCO1lBQ0QsYUFBYSxFQUFFO2dCQUNiLHNDQUFzQztnQkFDdEMsNkJBQTZCLEVBQUUsSUFBSTthQUNwQztTQUNGO1FBQ0QsNEJBQTRCO1FBQzVCLHdHQUF3RztRQUN4RztZQUNFLElBQUksRUFBRSxjQUFjO1lBQ3BCLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLG1DQUFtQztZQUNsRCxPQUFPLEVBQUU7Z0JBQ1AsdUJBQXVCO2dCQUN2Qix1QkFBdUI7Z0JBQ3ZCLGlCQUFpQjthQUNsQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxVQUFVLEVBQUUsQ0FBQyxLQUFhLEVBQUUsU0FBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3RELFdBQVcsRUFBRSxDQUFDLFNBQXNCLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSw2Q0FBNkM7YUFDM0Y7U0FDRjtLQUNPLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNoaWxkUHJvY2VzcyBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5cbmZ1bmN0aW9uIGdpdGlnbm9yZSgpIHtcbiAgbGV0IHN0ZG91dCA9IFwiXCI7XG4gIHRyeSB7XG4gICAgc3Rkb3V0ID0gY2hpbGRQcm9jZXNzLmV4ZWNTeW5jKFxuICAgICAgXCJnaXQgbHMtZmlsZXMgLS1vdGhlcnMgLS1pZ25vcmVkIC0tZXhjbHVkZS1zdGFuZGFyZCAtLWRpcmVjdG9yeVwiLFxuICAgICAgeyBlbmNvZGluZzogXCJ1dGY4XCIgfSxcbiAgICApO1xuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS53YXJuKFxuICAgICAgXCJXYXJuOiBSdW5uaW5nIGBnaXQgbHMtZmlsZXNgIGZhaWwuIFdlIHJlY29tbWVuZCB0byBydW4gYGdpdCBpbml0YCB0byBzZXR1cCB0aGUgcHJvamVjdCBmaXJzdC5cIixcbiAgICAgIGUsXG4gICAgKTtcbiAgfVxuICAvLyBodHRwczovL2VzbGludC5vcmcvZG9jcy9sYXRlc3QvdXNlL2NvbmZpZ3VyZS9jb25maWd1cmF0aW9uLWZpbGVzI3NwZWNpZnlpbmctZmlsZXMtYW5kLWlnbm9yZXNcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBuYW1lOiBcImZlbmdlL2dpdGlnbm9yZVwiLFxuICAgICAgaWdub3Jlczogc3Rkb3V0LnNwbGl0KFwiXFxuXCIpLmZpbHRlcihCb29sZWFuKSxcbiAgICB9LFxuICBdIGFzIGNvbnN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFzZSgpIHtcbiAgcmV0dXJuIFtcbiAgICAuLi5naXRpZ25vcmUoKSwgLy8gZ2xvYmFsIGlnbm9yZVxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvY29tbW9uXCIsXG4gICAgICBmaWxlczogW1xuICAgICAgICBcIioqLyoue2pzLGNqcyxtanMsanN4fVwiLFxuICAgICAgICBcIioqLyoue3RzLGN0cyxtdHMsdHN4fVwiLFxuICAgICAgICBcIioqL3BhY2thZ2UuanNvblwiLFxuICAgICAgXSxcbiAgICAgIGxpbnRlck9wdGlvbnM6IHtcbiAgICAgICAgLy8gbm9JbmxpbmVDb25maWc6IHRydWUsIC8vIHRvbyBzdHJpY3RcbiAgICAgICAgcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXM6IHRydWUsXG4gICAgICB9LFxuICAgIH0sXG4gICAgLy8gSWdub3JlIHVuc3VwcG9ydGVkIGZpbGVzLlxuICAgIC8vIFRoaXMgY29uZmlnIGlzIGZvciBzdXBwcmVzc2luZyBlcnJvciB3aGVuIGxpbnRpbmcgYSBkaXJlY3Rvcnkgd2hpY2ggZG9lcyBub3QgY29udGFpbiBzdXBwb3J0ZWQgZmlsZXMuXG4gICAge1xuICAgICAgbmFtZTogXCJmZW5nZS9pZ25vcmVcIixcbiAgICAgIGZpbGVzOiBbXCIqKlwiXSwgLy8gSSd2ZSB0cmllZCBhbGwuIE9ubHkgJyoqJyB3b3Jrcy5cbiAgICAgIGlnbm9yZXM6IFtcbiAgICAgICAgXCIqKi8qLntqcyxjanMsbWpzLGpzeH1cIixcbiAgICAgICAgXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIixcbiAgICAgICAgXCIqKi9wYWNrYWdlLmpzb25cIixcbiAgICAgIF0sXG4gICAgICBwcm9jZXNzb3I6IHtcbiAgICAgICAgcHJlcHJvY2VzczogKF90ZXh0OiBzdHJpbmcsIF9maWxlbmFtZTogc3RyaW5nKSA9PiBbXCJcIl0sXG4gICAgICAgIHBvc3Rwcm9jZXNzOiAoX21lc3NhZ2VzOiB1bmtub3duW11bXSkgPT4gW10sIC8vIFJldHVybmluZyBlbXB0eSBhcnJheSB0byBpZ25vcmUgYWxsIGVycm9yc1xuICAgICAgfSxcbiAgICB9LFxuICBdIGFzIGNvbnN0O1xufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLFlBQVksTUFBTSxvQkFBb0IsQ0FBQztBQU85QyxTQUFTLFNBQVM7SUFDaEIsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ2hCLElBQUksQ0FBQztRQUNILE1BQU0sR0FBRyxZQUFZLENBQUMsUUFBUSxDQUM1QixnRUFBZ0UsRUFDaEUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLENBQ3JCLENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNYLE9BQU8sQ0FBQyxJQUFJLENBQ1YsK0ZBQStGLEVBQy9GLENBQUMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUNELGdHQUFnRztJQUNoRyxPQUFPO1FBQ0w7WUFDRSxJQUFJLEVBQUUsaUJBQWlCO1lBQ3ZCLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7U0FDNUM7S0FDTyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxJQUFJLENBQUMsRUFDbkIsNkJBQTZCLEdBQUcsS0FBSyxFQUNyQyxjQUFjLEdBQUcsS0FBSyxNQUNMLEVBQUU7SUFDbkIsT0FBTztRQUNMLEdBQUcsU0FBUyxFQUFFLEVBQUUsZ0JBQWdCO1FBQ2hDO1lBQ0UsSUFBSSxFQUFFLGNBQWM7WUFDcEIsS0FBSyxFQUFFO2dCQUNMLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixpQkFBaUI7YUFDbEI7WUFDRCxhQUFhLEVBQUU7Z0JBQ2IsNkJBQTZCO2dCQUM3QixjQUFjO2FBQ2Y7U0FDRjtRQUNELDRCQUE0QjtRQUM1Qix3R0FBd0c7UUFDeEc7WUFDRSxJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQ0FBbUM7WUFDbEQsT0FBTyxFQUFFO2dCQUNQLHVCQUF1QjtnQkFDdkIsdUJBQXVCO2dCQUN2QixpQkFBaUI7YUFDbEI7WUFDRCxTQUFTLEVBQUU7Z0JBQ1QsVUFBVSxFQUFFLENBQUMsS0FBYSxFQUFFLFNBQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxXQUFXLEVBQUUsQ0FBQyxTQUFzQixFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsNkNBQTZDO2FBQzNGO1NBQ0Y7S0FDTyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjaGlsZFByb2Nlc3MgZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbnRlck9wdGlvbnMge1xuICByZXBvcnRVbnVzZWREaXNhYmxlRGlyZWN0aXZlcz86IFwiZXJyb3JcIiB8IFwid2FyblwiIHwgXCJvZmZcIjtcbiAgbm9JbmxpbmVDb25maWc/OiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBnaXRpZ25vcmUoKSB7XG4gIGxldCBzdGRvdXQgPSBcIlwiO1xuICB0cnkge1xuICAgIHN0ZG91dCA9IGNoaWxkUHJvY2Vzcy5leGVjU3luYyhcbiAgICAgIFwiZ2l0IGxzLWZpbGVzIC0tb3RoZXJzIC0taWdub3JlZCAtLWV4Y2x1ZGUtc3RhbmRhcmQgLS1kaXJlY3RvcnlcIixcbiAgICAgIHsgZW5jb2Rpbmc6IFwidXRmOFwiIH0sXG4gICAgKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUud2FybihcbiAgICAgIFwiV2FybjogUnVubmluZyBgZ2l0IGxzLWZpbGVzYCBmYWlsLiBXZSByZWNvbW1lbmQgdG8gcnVuIGBnaXQgaW5pdGAgdG8gc2V0dXAgdGhlIHByb2plY3QgZmlyc3QuXCIsXG4gICAgICBlLFxuICAgICk7XG4gIH1cbiAgLy8gaHR0cHM6Ly9lc2xpbnQub3JnL2RvY3MvbGF0ZXN0L3VzZS9jb25maWd1cmUvY29uZmlndXJhdGlvbi1maWxlcyNzcGVjaWZ5aW5nLWZpbGVzLWFuZC1pZ25vcmVzXG4gIHJldHVybiBbXG4gICAge1xuICAgICAgbmFtZTogXCJmZW5nZS9naXRpZ25vcmVcIixcbiAgICAgIGlnbm9yZXM6IHN0ZG91dC5zcGxpdChcIlxcblwiKS5maWx0ZXIoQm9vbGVhbiksXG4gICAgfSxcbiAgXSBhcyBjb25zdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhc2Uoe1xuICByZXBvcnRVbnVzZWREaXNhYmxlRGlyZWN0aXZlcyA9IFwib2ZmXCIsXG4gIG5vSW5saW5lQ29uZmlnID0gZmFsc2UsXG59OiBMaW50ZXJPcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIFtcbiAgICAuLi5naXRpZ25vcmUoKSwgLy8gZ2xvYmFsIGlnbm9yZVxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvY29tbW9uXCIsXG4gICAgICBmaWxlczogW1xuICAgICAgICBcIioqLyoue2pzLGNqcyxtanMsanN4fVwiLFxuICAgICAgICBcIioqLyoue3RzLGN0cyxtdHMsdHN4fVwiLFxuICAgICAgICBcIioqL3BhY2thZ2UuanNvblwiLFxuICAgICAgXSxcbiAgICAgIGxpbnRlck9wdGlvbnM6IHtcbiAgICAgICAgcmVwb3J0VW51c2VkRGlzYWJsZURpcmVjdGl2ZXMsXG4gICAgICAgIG5vSW5saW5lQ29uZmlnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIC8vIElnbm9yZSB1bnN1cHBvcnRlZCBmaWxlcy5cbiAgICAvLyBUaGlzIGNvbmZpZyBpcyBmb3Igc3VwcHJlc3NpbmcgZXJyb3Igd2hlbiBsaW50aW5nIGEgZGlyZWN0b3J5IHdoaWNoIGRvZXMgbm90IGNvbnRhaW4gc3VwcG9ydGVkIGZpbGVzLlxuICAgIHtcbiAgICAgIG5hbWU6IFwiZmVuZ2UvaWdub3JlXCIsXG4gICAgICBmaWxlczogW1wiKipcIl0sIC8vIEkndmUgdHJpZWQgYWxsLiBPbmx5ICcqKicgd29ya3MuXG4gICAgICBpZ25vcmVzOiBbXG4gICAgICAgIFwiKiovKi57anMsY2pzLG1qcyxqc3h9XCIsXG4gICAgICAgIFwiKiovKi57dHMsY3RzLG10cyx0c3h9XCIsXG4gICAgICAgIFwiKiovcGFja2FnZS5qc29uXCIsXG4gICAgICBdLFxuICAgICAgcHJvY2Vzc29yOiB7XG4gICAgICAgIHByZXByb2Nlc3M6IChfdGV4dDogc3RyaW5nLCBfZmlsZW5hbWU6IHN0cmluZykgPT4gW1wiXCJdLFxuICAgICAgICBwb3N0cHJvY2VzczogKF9tZXNzYWdlczogdW5rbm93bltdW10pID0+IFtdLCAvLyBSZXR1cm5pbmcgZW1wdHkgYXJyYXkgdG8gaWdub3JlIGFsbCBlcnJvcnNcbiAgICAgIH0sXG4gICAgfSxcbiAgXSBhcyBjb25zdDtcbn1cbiJdfQ==
@@ -611,7 +611,10 @@ export declare function javascript(): readonly [{
611
611
  readonly "ts-ignore": true;
612
612
  readonly "ts-nocheck": true;
613
613
  }];
614
+ readonly "@typescript-eslint/class-literal-property-style": "error";
615
+ readonly "@typescript-eslint/no-this-alias": "error";
614
616
  readonly "@typescript-eslint/no-useless-empty-export": "error";
617
+ readonly "@typescript-eslint/prefer-for-of": "error";
615
618
  readonly 'no-var': "error";
616
619
  readonly 'object-shorthand': readonly ["error", "properties"];
617
620
  readonly 'accessor-pairs': readonly ["error", {
@@ -703,7 +706,6 @@ export declare function javascript(): readonly [{
703
706
  readonly 'no-sequences': "error";
704
707
  readonly 'no-shadow-restricted-names': "error";
705
708
  readonly 'no-sparse-arrays': "error";
706
- readonly 'no-template-curly-in-string': "error";
707
709
  readonly 'no-this-before-super': "error";
708
710
  readonly 'no-throw-literal': "error";
709
711
  readonly 'no-undef': "error";
@@ -1 +1 @@
1
- {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/config/javascript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"javascript.d.ts","sourceRoot":"","sources":["../../src/config/javascript.ts"],"names":[],"mappings":"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"}
@@ -620,7 +620,10 @@ export declare const jsBase: {
620
620
  readonly "ts-ignore": true;
621
621
  readonly "ts-nocheck": true;
622
622
  }];
623
+ readonly "@typescript-eslint/class-literal-property-style": "error";
624
+ readonly "@typescript-eslint/no-this-alias": "error";
623
625
  readonly "@typescript-eslint/no-useless-empty-export": "error";
626
+ readonly "@typescript-eslint/prefer-for-of": "error";
624
627
  readonly 'no-var': "error";
625
628
  readonly 'object-shorthand': readonly ["error", "properties"];
626
629
  readonly 'accessor-pairs': readonly ["error", {
@@ -712,7 +715,6 @@ export declare const jsBase: {
712
715
  readonly 'no-sequences': "error";
713
716
  readonly 'no-shadow-restricted-names': "error";
714
717
  readonly 'no-sparse-arrays': "error";
715
- readonly 'no-template-curly-in-string': "error";
716
718
  readonly 'no-this-before-super': "error";
717
719
  readonly 'no-throw-literal': "error";
718
720
  readonly 'no-undef': "error";
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/js/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/js/base.ts"],"names":[],"mappings":"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"}
@@ -162,7 +162,7 @@ const standardConfigRules = {
162
162
  'no-shadow-restricted-names': 'error',
163
163
  'no-sparse-arrays': 'error',
164
164
  // 'no-tabs': 'error',
165
- 'no-template-curly-in-string': 'error',
165
+ // 'no-template-curly-in-string': 'error', // User who using VSCode or WebStorm can easily notice the problem. Enabling this will decrease flexibility.
166
166
  'no-this-before-super': 'error',
167
167
  'no-throw-literal': 'error',
168
168
  // 'no-trailing-spaces': 'error',
@@ -481,7 +481,10 @@ export const jsBase = {
481
481
  "ts-nocheck": true,
482
482
  },
483
483
  ],
484
+ "@typescript-eslint/class-literal-property-style": "error",
485
+ "@typescript-eslint/no-this-alias": "error",
484
486
  "@typescript-eslint/no-useless-empty-export": "error",
487
+ "@typescript-eslint/prefer-for-of": "error",
485
488
  },
486
489
  };
487
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvanMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssV0FBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sUUFBUSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hELE9BQU8sYUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxRQUFRLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxhQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxXQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLHNCQUFzQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sYUFBYSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sYUFBYSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUU5QiwwRkFBMEY7QUFDMUYsa0JBQWtCO0FBQ2xCLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsUUFBUSxFQUFFLE9BQU87SUFDakIsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO0lBRTNDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRiwrQ0FBK0M7SUFDL0MsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDakMsYUFBYSxFQUFFLEtBQUs7WUFDcEIsWUFBWSxFQUFF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O1FBQzFELHVDQUF1QyxFQUFFLE9BQU87UUFDaEQseUJBQXlCLEVBQUUsT0FBTztRQUVsQyw4QkFBOEIsRUFBRSxPQUFPO1FBQ3ZDLDhCQUE4QixFQUFFLE9BQU87UUFDdkMsK0JBQStCLEVBQUUsT0FBTztRQUN4Qyw0QkFBNEIsRUFBRSxPQUFPO1FBQ3JDLHVDQUF1QyxFQUFFLE9BQU87UUFFaEQsbUNBQW1DLEVBQUU7WUFDbkMsT0FBTztZQUNQO2dCQUNFLGlCQUFpQixFQUFFLElBQUk7Z0JBQ3ZCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixZQUFZLEVBQUUsSUFBSTthQUNuQjtTQUNGO1FBQ0QsNENBQTRDLEVBQUUsT0FBTztLQUN0RDtDQUNPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmZW5nZVBsdWdpbiBmcm9tIFwiQGZlbmdlL2VzbGludC1wbHVnaW5cIjtcbmltcG9ydCB0c1BsdWdpbiBmcm9tIFwiQHR5cGVzY3JpcHQtZXNsaW50L2VzbGludC1wbHVnaW5cIjtcbmltcG9ydCBjb25mdXNpbmdLZXlzIGZyb20gXCJjb25mdXNpbmctYnJvd3Nlci1nbG9iYWxzXCI7XG5pbXBvcnQgZXN4UGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLWVzLXhcIjtcbmltcG9ydCAqIGFzIGVzbVBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1lc21cIjtcbmltcG9ydCBmcFBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1mcFwiO1xuaW1wb3J0IGltcG9ydFBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1pbXBvcnRcIjtcbmltcG9ydCBuUGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLW5cIjtcbmltcG9ydCBwcm9taXNlUGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLXByb21pc2VcIjtcbmltcG9ydCByZWFjdFBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1yZWFjdFwiO1xuaW1wb3J0IHJlYWN0SG9va3NQbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tcmVhY3QtaG9va3NcIjtcbmltcG9ydCBzaW1wbGVJbXBvcnRTb3J0UGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLXNpbXBsZS1pbXBvcnQtc29ydFwiO1xuaW1wb3J0IHNvbmFyanNQbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tc29uYXJqc1wiO1xuaW1wb3J0IHVuaWNvcm5QbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tdW5pY29yblwiO1xuaW1wb3J0IGdsb2JhbHMgZnJvbSBcImdsb2JhbHNcIjtcblxuLy8gY29waWVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3N0YW5kYXJkL2VzbGludC1jb25maWctc3RhbmRhcmQvYmxvYi9tYXN0ZXIvc3JjL2luZGV4LnRzXG4vLyBwcmV0dGllci1pZ25vcmVcbmNvbnN0IHN0YW5kYXJkQ29uZmlnUnVsZXMgPSB7XG4gICduby12YXInOiAnZXJyb3InLFxuICAnb2JqZWN0LXNob3J0aGFuZCc6IFsnZXJyb3InLCAncHJvcGVydGllcyddLFxuXG4gICdhY2Nlc3Nvci1wYWlycyc6IFsnZXJyb3InLCB7IHNldFdpdGhvdXRHZXQ6IHRydWUsIGVuZm9yY2VGb3JDbGFzc01lbWJlcnM6IHRydWUgfV0sXG4gIC8vICdhcnJheS1icmFja2V0LXNwYWNpbmcnOiBbJ2Vycm9yJywgJ25ldmVyJ10sXG4gICdhcnJheS1jYWxsYmFjay1yZXR1cm4nOiBbJ2Vycm9yJywge1xuICAgIGFsbG93SW1wbGljaXQ6IGZhbHNlLFxuICAgIGNoZWNrRm9yRWFjaDogZmFsc2VcbiAgfV0sXG4gIC8vICdhcnJvdy1zcGFjaW5nJzogWydlcnJvcicsIHsgYmVmb3JlOiB0cnVlLCBhZnRlcjogdHJ1ZSB9XSxcbiAgLy8gJ2Jsb2NrLXNwYWNpbmcnOiBbJ2Vycm9yJywgJ2Fsd2F5cyddLFxuICAvLyAnYnJhY2Utc3R5bGUnOiBbJ2Vycm9yJywgJzF0YnMnLCB7IGFsbG93U2luZ2xlTGluZTogdHJ1ZSB9XSxcbiAgY2FtZWxjYXNlOiBbJ2Vycm9yJywge1xuICAgIGFsbG93OiBbJ15VTlNBRkVfJ10sXG4gICAgcHJvcGVydGllczogJ25ldmVyJyxcbiAgICBpZ25vcmVHbG9iYWxzOiB0cnVlXG4gIH1dLFxuICAvLyAnY29tbWEtZGFuZ2xlJzogWydlcnJvcicsIHtcbiAgLy8gICBhcnJheXM6ICduZXZlcicsXG4gIC8vICAgb2JqZWN0czogJ25ldmVyJyxcbiAgLy8gICBpbXBvcnRzOiAnbmV2ZXInLFxuICAvLyAgIGV4cG9ydHM6ICduZXZlcicsXG4gIC8vICAgZnVuY3Rpb25zOiAnbmV2ZXInXG4gIC8vIH1dLFxuICAvLyAnY29tbWEtc3BhY2luZyc6IFsnZXJyb3InLCB7IGJlZm9yZTogZmFsc2UsIGFmdGVyOiB0cnVlIH1dLFxuICAvLyAnY29tbWEtc3R5bGUnOiBbJ2Vycm9yJywgJ2xhc3QnXSxcbiAgLy8gJ2NvbXB1dGVkLXByb3BlcnR5LXNwYWNpbmcnOiBbJ2Vycm9yJywgJ25ldmVyJywgeyBlbmZvcmNlRm9yQ2xhc3NNZW1iZXJzOiB0cnVlIH1dLFxuICAnY29uc3RydWN0b3Itc3VwZXInOiAnZXJyb3InLFxuICAvLyBjdXJseTogWydlcnJvcicsICdtdWx0aS1saW5lJ10sXG4gICdkZWZhdWx0LWNhc2UtbGFzdCc6ICdlcnJvcicsXG4gIC8vICdkb3QtbG9jYXRpb24nOiBbJ2Vycm9yJywgJ3Byb3BlcnR5J10sXG4gIC8vICdkb3Qtbm90YXRpb24nOiBbJ2Vycm9yJywgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLCAvLyBUT0RPOiBUaGlzIHNob3VsZCBiZSBlbmFibGVkLiBEaXNhYmxlIGl0IGFzIGl0IGNvbmZsaWN0cyB3aXRoIHRzIHdoZW4gZW5hYmxpbmcgdHMtY2hlY2tcbiAgLy8gJ2VvbC1sYXN0JzogJ2Vycm9yJyxcbiAgZXFlcWVxOiBbJ2Vycm9yJywgJ2Fsd2F5cycsIHsgbnVsbDogJ2lnbm9yZScgfV0sXG4gIC8vICdmdW5jLWNhbGwtc3BhY2luZyc6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgLy8gJ2dlbmVyYXRvci1zdGFyLXNwYWNpbmcnOiBbJ2Vycm9yJywgeyBiZWZvcmU6IHRydWUsIGFmdGVyOiB0cnVlIH1dLFxuICAvLyBpbmRlbnQ6IFsnZXJyb3InLCAyLCB7XG4gIC8vICAgU3dpdGNoQ2FzZTogMSxcbiAgLy8gICBWYXJpYWJsZURlY2xhcmF0b3I6IDEsXG4gIC8vICAgb3V0ZXJJSUZFQm9keTogMSxcbiAgLy8gICBNZW1iZXJFeHByZXNzaW9uOiAxLFxuICAvLyAgIEZ1bmN0aW9uRGVjbGFyYXRpb246IHsgcGFyYW1ldGVyczogMSwgYm9keTogMSB9LFxuICAvLyAgIEZ1bmN0aW9uRXhwcmVzc2lvbjogeyBwYXJhbWV0ZXJzOiAxLCBib2R5OiAxIH0sXG4gIC8vICAgQ2FsbEV4cHJlc3Npb246IHsgYXJndW1lbnRzOiAxIH0sXG4gIC8vICAgQXJyYXlFeHByZXNzaW9uOiAxLFxuICAvLyAgIE9iamVjdEV4cHJlc3Npb246IDEsXG4gIC8vICAgSW1wb3J0RGVjbGFyYXRpb246IDEsXG4gIC8vICAgZmxhdFRlcm5hcnlFeHByZXNzaW9uczogZmFsc2UsXG4gIC8vICAgaWdub3JlQ29tbWVudHM6IGZhbHNlLFxuICAvLyAgIGlnbm9yZWROb2RlczogW1xuICAvLyAgICAgJ1RlbXBsYXRlTGl0ZXJhbCAqJyxcbiAgLy8gICAgICdKU1hFbGVtZW50JyxcbiAgLy8gICAgICdKU1hFbGVtZW50ID4gKicsXG4gIC8vICAgICAnSlNYQXR0cmlidXRlJyxcbiAgLy8gICAgICdKU1hJZGVudGlmaWVyJyxcbiAgLy8gICAgICdKU1hOYW1lc3BhY2VkTmFtZScsXG4gIC8vICAgICAnSlNYTWVtYmVyRXhwcmVzc2lvbicsXG4gIC8vICAgICAnSlNYU3ByZWFkQXR0cmlidXRlJyxcbiAgLy8gICAgICdKU1hFeHByZXNzaW9uQ29udGFpbmVyJyxcbiAgLy8gICAgICdKU1hPcGVuaW5nRWxlbWVudCcsXG4gIC8vICAgICAnSlNYQ2xvc2luZ0VsZW1lbnQnLFxuICAvLyAgICAgJ0pTWEZyYWdtZW50JyxcbiAgLy8gICAgICdKU1hPcGVuaW5nRnJhZ21lbnQnLFxuICAvLyAgICAgJ0pTWENsb3NpbmdGcmFnbWVudCcsXG4gIC8vICAgICAnSlNYVGV4dCcsXG4gIC8vICAgICAnSlNYRW1wdHlFeHByZXNzaW9uJyxcbiAgLy8gICAgICdKU1hTcHJlYWRDaGlsZCdcbiAgLy8gICBdLFxuICAvLyAgIG9mZnNldFRlcm5hcnlFeHByZXNzaW9uczogdHJ1ZVxuICAvLyB9XSxcbiAgLy8gJ2tleS1zcGFjaW5nJzogWydlcnJvcicsIHsgYmVmb3JlQ29sb246IGZhbHNlLCBhZnRlckNvbG9uOiB0cnVlIH1dLFxuICAvLyAna2V5d29yZC1zcGFjaW5nJzogWydlcnJvcicsIHsgYmVmb3JlOiB0cnVlLCBhZnRlcjogdHJ1ZSB9XSxcbiAgLy8gJ2xpbmVzLWJldHdlZW4tY2xhc3MtbWVtYmVycyc6IFsnZXJyb3InLCAnYWx3YXlzJywgeyBleGNlcHRBZnRlclNpbmdsZUxpbmU6IHRydWUgfV0sXG4gIC8vICdtdWx0aWxpbmUtdGVybmFyeSc6IFsnZXJyb3InLCAnYWx3YXlzLW11bHRpbGluZSddLFxuICAnbmV3LWNhcCc6IFsnZXJyb3InLCB7IG5ld0lzQ2FwOiB0cnVlLCBjYXBJc05ldzogZmFsc2UsIHByb3BlcnRpZXM6IHRydWUgfV0sXG4gIC8vICduZXctcGFyZW5zJzogJ2Vycm9yJyxcbiAgJ25vLWFycmF5LWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgJ25vLWFzeW5jLXByb21pc2UtZXhlY3V0b3InOiAnZXJyb3InLFxuICAnbm8tY2FsbGVyJzogJ2Vycm9yJyxcbiAgJ25vLWNhc2UtZGVjbGFyYXRpb25zJzogJ2Vycm9yJyxcbiAgJ25vLWNsYXNzLWFzc2lnbic6ICdlcnJvcicsXG4gICduby1jb21wYXJlLW5lZy16ZXJvJzogJ2Vycm9yJyxcbiAgJ25vLWNvbmQtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ25vLWNvbnN0LWFzc2lnbic6ICdlcnJvcicsXG4gICduby1jb25zdGFudC1jb25kaXRpb24nOiBbJ2Vycm9yJywgeyBjaGVja0xvb3BzOiBmYWxzZSB9XSxcbiAgJ25vLWNvbnRyb2wtcmVnZXgnOiAnZXJyb3InLFxuICAnbm8tZGVidWdnZXInOiAnZXJyb3InLFxuICAnbm8tZGVsZXRlLXZhcic6ICdlcnJvcicsXG4gICduby1kdXBlLWFyZ3MnOiAnZXJyb3InLFxuICAnbm8tZHVwZS1jbGFzcy1tZW1iZXJzJzogJ2Vycm9yJyxcbiAgJ25vLWR1cGUta2V5cyc6ICdlcnJvcicsXG4gICduby1kdXBsaWNhdGUtY2FzZSc6ICdlcnJvcicsXG4gICduby11c2VsZXNzLWJhY2tyZWZlcmVuY2UnOiAnZXJyb3InLFxuICAnbm8tZW1wdHknOiBbJ2Vycm9yJywgeyBhbGxvd0VtcHR5Q2F0Y2g6IHRydWUgfV0sXG4gICduby1lbXB0eS1jaGFyYWN0ZXItY2xhc3MnOiAnZXJyb3InLFxuICAnbm8tZW1wdHktcGF0dGVybic6ICdlcnJvcicsXG4gICduby1ldmFsJzogJ2Vycm9yJyxcbiAgJ25vLWV4LWFzc2lnbic6ICdlcnJvcicsXG4gICduby1leHRlbmQtbmF0aXZlJzogJ2Vycm9yJyxcbiAgJ25vLWV4dHJhLWJpbmQnOiAnZXJyb3InLFxuICAnbm8tZXh0cmEtYm9vbGVhbi1jYXN0JzogJ2Vycm9yJyxcbiAgLy8gJ25vLWV4dHJhLXBhcmVucyc6IFsnZXJyb3InLCAnZnVuY3Rpb25zJ10sXG4gICduby1mYWxsdGhyb3VnaCc6ICdlcnJvcicsXG4gIC8vICduby1mbG9hdGluZy1kZWNpbWFsJzogJ2Vycm9yJyxcbiAgJ25vLWZ1bmMtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ25vLWdsb2JhbC1hc3NpZ24nOiAnZXJyb3InLFxuICAnbm8taW1wbGllZC1ldmFsJzogJ2Vycm9yJyxcbiAgJ25vLWltcG9ydC1hc3NpZ24nOiAnZXJyb3InLFxuICAnbm8taW52YWxpZC1yZWdleHAnOiAnZXJyb3InLFxuICAnbm8taXJyZWd1bGFyLXdoaXRlc3BhY2UnOiAnZXJyb3InLFxuICAnbm8taXRlcmF0b3InOiAnZXJyb3InLFxuICAnbm8tbGFiZWxzJzogWydlcnJvcicsIHsgYWxsb3dMb29wOiBmYWxzZSwgYWxsb3dTd2l0Y2g6IGZhbHNlIH1dLFxuICAnbm8tbG9uZS1ibG9ja3MnOiAnZXJyb3InLFxuICAnbm8tbG9zcy1vZi1wcmVjaXNpb24nOiAnZXJyb3InLFxuICAnbm8tbWlzbGVhZGluZy1jaGFyYWN0ZXItY2xhc3MnOiAnZXJyb3InLFxuICAnbm8tcHJvdG90eXBlLWJ1aWx0aW5zJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtY2F0Y2gnOiAnZXJyb3InLFxuICAvLyAnbm8tbWl4ZWQtb3BlcmF0b3JzJzogWydlcnJvcicsIHtcbiAgLy8gICBncm91cHM6IFtcbiAgLy8gICAgIFsnPT0nLCAnIT0nLCAnPT09JywgJyE9PScsICc+JywgJz49JywgJzwnLCAnPD0nXSxcbiAgLy8gICAgIFsnJiYnLCAnfHwnXSxcbiAgLy8gICAgIFsnaW4nLCAnaW5zdGFuY2VvZiddXG4gIC8vICAgXSxcbiAgLy8gICBhbGxvd1NhbWVQcmVjZWRlbmNlOiB0cnVlXG4gIC8vIH1dLFxuICAvLyAnbm8tbWl4ZWQtc3BhY2VzLWFuZC10YWJzJzogJ2Vycm9yJyxcbiAgLy8gJ25vLW11bHRpLXNwYWNlcyc6ICdlcnJvcicsXG4gICduby1tdWx0aS1zdHInOiAnZXJyb3InLFxuICAvLyAnbm8tbXVsdGlwbGUtZW1wdHktbGluZXMnOiBbJ2Vycm9yJywgeyBtYXg6IDEsIG1heEJPRjogMCwgbWF4RU9GOiAwIH1dLFxuICAnbm8tbmV3JzogJ2Vycm9yJyxcbiAgJ25vLW5ldy1mdW5jJzogJ2Vycm9yJyxcbiAgLy8gJ25vLW5ldy1vYmplY3QnOiAnZXJyb3InLFxuICAvLyAnbm8tbmV3LXN5bWJvbCc6ICdlcnJvcicsXG4gICduby1uZXctd3JhcHBlcnMnOiAnZXJyb3InLFxuICAnbm8tb2JqLWNhbGxzJzogJ2Vycm9yJyxcbiAgJ25vLW9jdGFsJzogJ2Vycm9yJyxcbiAgJ25vLW9jdGFsLWVzY2FwZSc6ICdlcnJvcicsXG4gICduby1wcm90byc6ICdlcnJvcicsXG4gICduby1yZWRlY2xhcmUnOiBbJ2Vycm9yJywgeyBidWlsdGluR2xvYmFsczogZmFsc2UgfV0sXG4gICduby1yZWdleC1zcGFjZXMnOiAnZXJyb3InLFxuICAnbm8tcmV0dXJuLWFzc2lnbic6IFsnZXJyb3InLCAnZXhjZXB0LXBhcmVucyddLFxuICAnbm8tc2VsZi1hc3NpZ24nOiBbJ2Vycm9yJywgeyBwcm9wczogdHJ1ZSB9XSxcbiAgJ25vLXNlbGYtY29tcGFyZSc6ICdlcnJvcicsXG4gICduby1zZXF1ZW5jZXMnOiAnZXJyb3InLFxuICAnbm8tc2hhZG93LXJlc3RyaWN0ZWQtbmFtZXMnOiAnZXJyb3InLFxuICAnbm8tc3BhcnNlLWFycmF5cyc6ICdlcnJvcicsXG4gIC8vICduby10YWJzJzogJ2Vycm9yJyxcbiAgJ25vLXRlbXBsYXRlLWN1cmx5LWluLXN0cmluZyc6ICdlcnJvcicsXG4gICduby10aGlzLWJlZm9yZS1zdXBlcic6ICdlcnJvcicsXG4gICduby10aHJvdy1saXRlcmFsJzogJ2Vycm9yJyxcbiAgLy8gJ25vLXRyYWlsaW5nLXNwYWNlcyc6ICdlcnJvcicsXG4gICduby11bmRlZic6ICdlcnJvcicsXG4gIC8vICduby11bmRlZi1pbml0JzogJ2Vycm9yJywgLy8gSXQgY29uZmxpY3Qgd2l0aCBgaW5pdC1kZWNsYXJhdGlvbnNgXG4gIC8vICduby11bmV4cGVjdGVkLW11bHRpbGluZSc6ICdlcnJvcicsXG4gICduby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgJ25vLXVubmVlZGVkLXRlcm5hcnknOiBbJ2Vycm9yJywgeyBkZWZhdWx0QXNzaWdubWVudDogZmFsc2UgfV0sXG4gICduby11bnJlYWNoYWJsZSc6ICdlcnJvcicsXG4gICduby11bnJlYWNoYWJsZS1sb29wJzogJ2Vycm9yJyxcbiAgJ25vLXVuc2FmZS1maW5hbGx5JzogJ2Vycm9yJyxcbiAgJ25vLXVuc2FmZS1uZWdhdGlvbic6ICdlcnJvcicsXG4gICduby11bnVzZWQtZXhwcmVzc2lvbnMnOiBbJ2Vycm9yJywge1xuICAgIGFsbG93U2hvcnRDaXJjdWl0OiB0cnVlLFxuICAgIGFsbG93VGVybmFyeTogdHJ1ZSxcbiAgICBhbGxvd1RhZ2dlZFRlbXBsYXRlczogdHJ1ZVxuICB9XSxcbiAgJ25vLXVudXNlZC12YXJzJzogWydlcnJvcicsIHtcbiAgICBhcmdzOiAnbm9uZScsXG4gICAgY2F1Z2h0RXJyb3JzOiAnbm9uZScsXG4gICAgaWdub3JlUmVzdFNpYmxpbmdzOiB0cnVlLFxuICAgIHZhcnM6ICdhbGwnXG4gIH1dLFxuICAnbm8tdXNlLWJlZm9yZS1kZWZpbmUnOiBbJ2Vycm9yJywgeyBmdW5jdGlvbnM6IGZhbHNlLCBjbGFzc2VzOiBmYWxzZSwgdmFyaWFibGVzOiBmYWxzZSB9XSxcbiAgJ25vLXVzZWxlc3MtY2FsbCc6ICdlcnJvcicsXG4gICduby11c2VsZXNzLWNvbXB1dGVkLWtleSc6ICdlcnJvcicsXG4gICduby11c2VsZXNzLWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtZXNjYXBlJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtcmVuYW1lJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtcmV0dXJuJzogJ2Vycm9yJyxcbiAgJ25vLXZvaWQnOiAnZXJyb3InLFxuICAvLyAnbm8td2hpdGVzcGFjZS1iZWZvcmUtcHJvcGVydHknOiAnZXJyb3InLFxuICAnbm8td2l0aCc6ICdlcnJvcicsXG4gIC8vICdvYmplY3QtY3VybHktbmV3bGluZSc6IFsnZXJyb3InLCB7IG11bHRpbGluZTogdHJ1ZSwgY29uc2lzdGVudDogdHJ1ZSB9XSxcbiAgLy8gJ29iamVjdC1jdXJseS1zcGFjaW5nJzogWydlcnJvcicsICdhbHdheXMnXSxcbiAgLy8gJ29iamVjdC1wcm9wZXJ0eS1uZXdsaW5lJzogWydlcnJvcicsIHsgYWxsb3dNdWx0aXBsZVByb3BlcnRpZXNQZXJMaW5lOiB0cnVlIH1dLFxuICAnb25lLXZhcic6IFsnZXJyb3InLCB7IGluaXRpYWxpemVkOiAnbmV2ZXInIH1dLFxuICAvLyAnb3BlcmF0b3ItbGluZWJyZWFrJzogWydlcnJvcicsICdhZnRlcicsIHsgb3ZlcnJpZGVzOiB7ICc/JzogJ2JlZm9yZScsICc6JzogJ2JlZm9yZScsICd8Pic6ICdiZWZvcmUnIH0gfV0sXG4gIC8vICdwYWRkZWQtYmxvY2tzJzogWydlcnJvcicsIHsgYmxvY2tzOiAnbmV2ZXInLCBzd2l0Y2hlczogJ25ldmVyJywgY2xhc3NlczogJ25ldmVyJyB9XSxcbiAgJ3ByZWZlci1jb25zdCc6IFsnZXJyb3InLCB7IGRlc3RydWN0dXJpbmc6ICdhbGwnIH1dLFxuICAncHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9ycyc6ICdlcnJvcicsXG4gICdwcmVmZXItcmVnZXgtbGl0ZXJhbHMnOiBbJ2Vycm9yJywgeyBkaXNhbGxvd1JlZHVuZGFudFdyYXBwaW5nOiB0cnVlIH1dLFxuICAvLyAncXVvdGUtcHJvcHMnOiBbJ2Vycm9yJywgJ2FzLW5lZWRlZCddLFxuICAvLyBxdW90ZXM6IFsnZXJyb3InLCAnc2luZ2xlJywgeyBhdm9pZEVzY2FwZTogdHJ1ZSwgYWxsb3dUZW1wbGF0ZUxpdGVyYWxzOiBmYWxzZSB9XSxcbiAgLy8gJ3Jlc3Qtc3ByZWFkLXNwYWNpbmcnOiBbJ2Vycm9yJywgJ25ldmVyJ10sXG4gIC8vIHNlbWk6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgLy8gJ3NlbWktc3BhY2luZyc6IFsnZXJyb3InLCB7IGJlZm9yZTogZmFsc2UsIGFmdGVyOiB0cnVlIH1dLFxuICAvLyAnc3BhY2UtYmVmb3JlLWJsb2Nrcyc6IFsnZXJyb3InLCAnYWx3YXlzJ10sXG4gIC8vICdzcGFjZS1iZWZvcmUtZnVuY3Rpb24tcGFyZW4nOiBbJ2Vycm9yJywgJ2Fsd2F5cyddLFxuICAvLyAnc3BhY2UtaW4tcGFyZW5zJzogWydlcnJvcicsICduZXZlciddLFxuICAvLyAnc3BhY2UtaW5maXgtb3BzJzogJ2Vycm9yJyxcbiAgLy8gJ3NwYWNlLXVuYXJ5LW9wcyc6IFsnZXJyb3InLCB7IHdvcmRzOiB0cnVlLCBub253b3JkczogZmFsc2UgfV0sXG4gIC8vICdzcGFjZWQtY29tbWVudCc6IFsnZXJyb3InLCAnYWx3YXlzJywge1xuICAvLyAgIGxpbmU6IHsgbWFya2VyczogWycqcGFja2FnZScsICchJywgJy8nLCAnLCcsICc9J10gfSxcbiAgLy8gICBibG9jazogeyBiYWxhbmNlZDogdHJ1ZSwgbWFya2VyczogWycqcGFja2FnZScsICchJywgJywnLCAnOicsICc6OicsICdmbG93LWluY2x1ZGUnXSwgZXhjZXB0aW9uczogWycqJ10gfVxuICAvLyB9XSxcbiAgJ3N5bWJvbC1kZXNjcmlwdGlvbic6ICdlcnJvcicsXG4gIC8vICd0ZW1wbGF0ZS1jdXJseS1zcGFjaW5nJzogWydlcnJvcicsICduZXZlciddLFxuICAvLyAndGVtcGxhdGUtdGFnLXNwYWNpbmcnOiBbJ2Vycm9yJywgJ25ldmVyJ10sXG4gICd1bmljb2RlLWJvbSc6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgJ3VzZS1pc25hbic6IFsnZXJyb3InLCB7XG4gICAgZW5mb3JjZUZvclN3aXRjaENhc2U6IHRydWUsXG4gICAgZW5mb3JjZUZvckluZGV4T2Y6IHRydWVcbiAgfV0sXG4gICd2YWxpZC10eXBlb2YnOiBbJ2Vycm9yJywgeyByZXF1aXJlU3RyaW5nTGl0ZXJhbHM6IHRydWUgfV0sXG4gIC8vICd3cmFwLWlpZmUnOiBbJ2Vycm9yJywgJ2FueScsIHsgZnVuY3Rpb25Qcm90b3R5cGVNZXRob2RzOiB0cnVlIH1dLFxuICAvLyAneWllbGQtc3Rhci1zcGFjaW5nJzogWydlcnJvcicsICdib3RoJ10sXG4gIHlvZGE6IFsnZXJyb3InLCAnbmV2ZXInXSxcblxuICAnaW1wb3J0L2V4cG9ydCc6ICdlcnJvcicsXG4gICdpbXBvcnQvZmlyc3QnOiAnZXJyb3InLFxuICAnaW1wb3J0L25vLWFic29sdXRlLXBhdGgnOiBbJ2Vycm9yJywgeyBlc21vZHVsZTogdHJ1ZSwgY29tbW9uanM6IHRydWUsIGFtZDogZmFsc2UgfV0sXG4gICdpbXBvcnQvbm8tZHVwbGljYXRlcyc6ICdlcnJvcicsXG4gICdpbXBvcnQvbm8tbmFtZWQtZGVmYXVsdCc6ICdlcnJvcicsXG4gICdpbXBvcnQvbm8td2VicGFjay1sb2FkZXItc3ludGF4JzogJ2Vycm9yJyxcblxuICAnbi9oYW5kbGUtY2FsbGJhY2stZXJyJzogWydlcnJvcicsICdeKGVycnxlcnJvcikkJ10sXG4gICduL25vLWNhbGxiYWNrLWxpdGVyYWwnOiAnZXJyb3InLFxuICAnbi9uby1kZXByZWNhdGVkLWFwaSc6ICdlcnJvcicsXG4gICduL25vLWV4cG9ydHMtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ24vbm8tbmV3LXJlcXVpcmUnOiAnZXJyb3InLFxuICAnbi9uby1wYXRoLWNvbmNhdCc6ICdlcnJvcicsXG4gICduL3Byb2Nlc3MtZXhpdC1hcy10aHJvdyc6ICdlcnJvcicsXG5cbiAgJ3Byb21pc2UvcGFyYW0tbmFtZXMnOiAnZXJyb3InXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QganNCYXNlID0ge1xuICBuYW1lOiBcImZlbmdlL2phdmFzY3JpcHRcIixcbiAgZmlsZXM6IFtcIioqLyoue2pzLGNqcyxtanMsanN4fVwiXSxcbiAgLy8gaHR0cHM6Ly9lc2xpbnQub3JnL2RvY3MvbGF0ZXN0L3VzZS9jb25maWd1cmUvbGFuZ3VhZ2Utb3B0aW9uc1xuICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICBlY21hVmVyc2lvbjogXCJsYXRlc3RcIixcbiAgICBzb3VyY2VUeXBlOiBcIm1vZHVsZVwiLFxuICAgIHBhcnNlck9wdGlvbnM6IHtcbiAgICAgIC8vIFRPRE8gYGVjbWFWZXJzaW9uYCBhbmQgYHNvdXJjZVR5cGVgIGFyZSBubyBzdGFuZGFyZCBoZXJlLiBpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnQgcmVxdWlyZWQgdGhpc1xuICAgICAgZWNtYVZlcnNpb246IFwibGF0ZXN0XCIsXG4gICAgICBzb3VyY2VUeXBlOiBcIm1vZHVsZVwiLFxuICAgICAgZWNtYUZlYXR1cmVzOiB7XG4gICAgICAgIGpzeDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxzOiB7XG4gICAgICAuLi5PYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGdsb2JhbHMuYnJvd3NlcilcbiAgICAgICAgICAuZmlsdGVyKChba10pID0+ICFjb25mdXNpbmdLZXlzLmluY2x1ZGVzKGspKVxuICAgICAgICAgIC5maWx0ZXIoKFtrXSkgPT4gIVtcInNlbGZcIiwgXCJnbG9iYWxcIl0uaW5jbHVkZXMoaykpLCAvLyBwcmVmZXIgYGdsb2JhbFRoaXNgXG4gICAgICApLFxuICAgIH0sXG4gIH0sXG4gIHBsdWdpbnM6IHtcbiAgICBmcDogZnBQbHVnaW4sXG4gICAgbjogblBsdWdpbixcbiAgICBpbXBvcnQ6IGltcG9ydFBsdWdpbixcbiAgICBwcm9taXNlOiBwcm9taXNlUGx1Z2luLFxuICAgIHJlYWN0OiByZWFjdFBsdWdpbixcbiAgICBcInJlYWN0LWhvb2tzXCI6IHJlYWN0SG9va3NQbHVnaW4sXG4gICAgc29uYXJqczogc29uYXJqc1BsdWdpbixcbiAgICB1bmljb3JuOiB1bmljb3JuUGx1Z2luLFxuICAgIFwiZXMteFwiOiBlc3hQbHVnaW4sXG4gICAgZXNtOiBlc21QbHVnaW4sXG4gICAgXCJzaW1wbGUtaW1wb3J0LXNvcnRcIjogc2ltcGxlSW1wb3J0U29ydFBsdWdpbixcbiAgICBcIkBmZW5nZVwiOiBmZW5nZVBsdWdpbixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludFwiOiB0c1BsdWdpbixcbiAgfSxcbiAgcnVsZXM6IHtcbiAgICAvLyAxLiBzdGFuZGFyZCBjb25maWcgcnVsZXNcbiAgICAuLi5zdGFuZGFyZENvbmZpZ1J1bGVzLFxuXG4gICAgLy8gMi4gY29kZSBzdHlsZSBmb3IgYSBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAgICBcImFycm93LWJvZHktc3R5bGVcIjogW1wiZXJyb3JcIiwgXCJhcy1uZWVkZWRcIl0sXG4gICAgXCJpbXBvcnQvbmV3bGluZS1hZnRlci1pbXBvcnRcIjogW1wiZXJyb3JcIiwgeyBjb3VudDogMSB9XSxcbiAgICAvLyBTb3J0IGltcG9ydHMgYnkgcHJldHRpZXIuIFR1cm4gaW4gb2ZmLlxuICAgIC8vIFwic2ltcGxlLWltcG9ydC1zb3J0L2ltcG9ydHNcIjogW1xuICAgIC8vICAgXCJlcnJvclwiLFxuICAgIC8vICAgeyBncm91cHM6IFtbXCJeXFxcXHUwMDAwXCIsIFwiXm5vZGU6XCIsIFwiXkA/XFxcXHdcIiwgXCJeXCIsIFwiXlxcXFwuXCJdXSB9LFxuICAgIC8vIF0sXG4gICAgXCJzaW1wbGUtaW1wb3J0LXNvcnQvZXhwb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1ub2RlLXByb3RvY29sXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vZXNjYXBlLWNhc2VcIjogXCJlcnJvclwiLCAvLyAnXFx1ZDgzNCcgLT4gJ1xcdUQ4MzQnXG4gICAgLy8gXCJ1bmljb3JuL251bWJlci1saXRlcmFsLWNhc2VcIjogXCJlcnJvclwiLCAvLyAwWEZGIC0+IDB4RkYgLy8gY29uZmxpY3Qgd2l0aCBwcmV0dGllclxuXG4gICAgLy8gMy4gYmFuIHNvbWUgc3ludGF4ZXMgdG8gcmVkdWNlIG1pc3Rha2VzXG4gICAgXCJkZWZhdWx0LXBhcmFtLWxhc3RcIjogXCJlcnJvclwiLFxuICAgIFwiZnVuYy1uYW1lLW1hdGNoaW5nXCI6IFwiZXJyb3JcIixcbiAgICBcImdldHRlci1yZXR1cm5cIjogXCJlcnJvclwiLFxuICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJlcnJvclwiLFxuICAgIFwibWF4LWRlcHRoXCI6IFtcImVycm9yXCIsIHsgbWF4OiA1IH1dLFxuICAgIFwibWF4LXBhcmFtc1wiOiBbXCJlcnJvclwiLCB7IG1heDogNCB9XSxcbiAgICBcIm5vLWJpdHdpc2VcIjogXCJlcnJvclwiLFxuICAgIFwibm8tY29uc3RhbnQtYmluYXJ5LWV4cHJlc3Npb25cIjogXCJlcnJvclwiLFxuICAgIFwibm8tZHVwZS1lbHNlLWlmXCI6IFwiZXJyb3JcIixcbiAgICBcIm5vLWR1cGxpY2F0ZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICBcIm5vLWVtcHR5LXN0YXRpYy1ibG9ja1wiOiBcImVycm9yXCIsXG4gICAgXCJuby1lbXB0eS1mdW5jdGlvblwiOiBcImVycm9yXCIsXG4gICAgXCJuby1pbXBsaWNpdC1jb2VyY2lvblwiOiBbXG4gICAgICBcImVycm9yXCIsXG4gICAgICB7IGRpc2FsbG93VGVtcGxhdGVTaG9ydGhhbmQ6IHRydWUsIGFsbG93OiBbXCIhIVwiXSB9LFxuICAgIF0sIC8vIGZvcmJpZCBjb2RlIGxpa2UgYGNvbnN0IG51bSA9ICtzdHJgO1xuICAgIFwibm8taW52YWxpZC10aGlzXCI6IFwiZXJyb3JcIixcbiAgICBcIm5vLWxvbmVseS1pZlwiOiBcImVycm9yXCIsXG4gICAgXCJuby1tdWx0aS1hc3NpZ25cIjogXCJlcnJvclwiLFxuICAgIFwibm8tbmV3LW5hdGl2ZS1ub25jb25zdHJ1Y3RvclwiOiBcImVycm9yXCIsXG4gICAgXCJuby1ub25vY3RhbC1kZWNpbWFsLWVzY2FwZVwiOiBcImVycm9yXCIsXG4gICAgXCJuby1vYmplY3QtY29uc3RydWN0b3JcIjogXCJlcnJvclwiLFxuICAgIFwibm8tcGFyYW0tcmVhc3NpZ25cIjogXCJlcnJvclwiLFxuICAgIFwibm8tcGx1c3BsdXNcIjogXCJlcnJvclwiLFxuICAgIFwibm8tc2V0dGVyLXJldHVyblwiOiBcImVycm9yXCIsXG4gICAgXCJuby1zaGFkb3dcIjogW1wiZXJyb3JcIiwgeyBpZ25vcmVPbkluaXRpYWxpemF0aW9uOiB0cnVlIH1dLFxuICAgIFwibm8tdW5zYWZlLW9wdGlvbmFsLWNoYWluaW5nXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHsgZGlzYWxsb3dBcml0aG1ldGljT3BlcmF0b3JzOiB0cnVlIH0sXG4gICAgXSxcbiAgICBcIm5vLXVudXNlZC1sYWJlbHNcIjogXCJlcnJvclwiLFxuICAgIFwibm8tdW51c2VkLXByaXZhdGUtY2xhc3MtbWVtYmVyc1wiOiBcImVycm9yXCIsXG4gICAgXCJyZXF1aXJlLWF3YWl0XCI6IFwiZXJyb3JcIixcbiAgICBcInJlcXVpcmUteWllbGRcIjogXCJlcnJvclwiLFxuICAgIFwicHJlZmVyLWFycm93LWNhbGxiYWNrXCI6IFwiZXJyb3JcIixcbiAgICBcInByZWZlci1leHBvbmVudGlhdGlvbi1vcGVyYXRvclwiOiBcImVycm9yXCIsXG4gICAgXCJwcmVmZXItb2JqZWN0LWhhcy1vd25cIjogXCJlcnJvclwiLFxuICAgIFwicHJlZmVyLXRlbXBsYXRlXCI6IFwiZXJyb3JcIixcbiAgICAvLyBlc1xuICAgIFwiZXMteC9uby1hY2Nlc3Nvci1wcm9wZXJ0aWVzXCI6IFwiZXJyb3JcIixcbiAgICBcImVzLXgvbm8tYXN5bmMtaXRlcmF0aW9uXCI6IFwiZXJyb3JcIixcbiAgICBcImVzLXgvbm8tZ2VuZXJhdG9yc1wiOiBcImVycm9yXCIsXG4gICAgXCJlcy14L25vLWxlZ2FjeS1vYmplY3QtcHJvdG90eXBlLWFjY2Vzc29yLW1ldGhvZHNcIjogXCJlcnJvclwiLFxuICAgIC8vIGVzbVxuICAgIFwiZXNtL25lYXJlc3QtcmVsYXRpdmUtcGF0aFwiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tZGlyZWN0b3J5LWltcG9ydHNcIjogXCJlcnJvclwiLFxuICAgIFwiZXNtL25vLWR5bmFtaWMtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tZ2l0LWlnbm9yZWQtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tcGhhbnRvbS1kZXAtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHNcIjogXCJlcnJvclwiLFxuICAgIFwiZXNtL25vLXJlbmFtZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICBcImVzbS9uby1yZW5hbWUtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tc2lkZS1lZmZlY3QtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tdHMtZmlsZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBmcFxuICAgIFwiZnAvbm8tYXJndW1lbnRzXCI6IFwiZXJyb3JcIixcbiAgICBcImZwL25vLWRlbGV0ZVwiOiBcImVycm9yXCIsXG4gICAgLy8gaW1wb3J0XG4gICAgXCJpbXBvcnQvZXh0ZW5zaW9uc1wiOiBbXCJlcnJvclwiLCBcImFsd2F5c1wiLCB7IGlnbm9yZVBhY2thZ2VzOiB0cnVlIH1dLFxuICAgIFwiaW1wb3J0L25vLWNvbW1vbmpzXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgYWxsb3dSZXF1aXJlOiBmYWxzZSxcbiAgICAgICAgYWxsb3dDb25kaXRpb25hbFJlcXVpcmU6IGZhbHNlLFxuICAgICAgICBhbGxvd1ByaW1pdGl2ZU1vZHVsZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIC8qKlxuICAgICAqIDEuIFRoZSBFU00gc3BlY2lmaWNhdGlvbiBkaWRu4oCZdCBzYXkgYW55dGhpbmcgYWJvdXQgaW50ZXJvcGVyYWJpbGl0eSB3aXRoIENvbW1vbkpTLiBTZWU6IGh0dHBzOi8vYmxvZy5hbmRyZXdicmFuLmNoL2RlZmF1bHQtZXhwb3J0cy1pbi1jb21tb25qcy1saWJyYXJpZXMvXG4gICAgICogMi4gUmVleHBvcnRpbmcgbGlrZSBgZXhwb3J0ICogZnJvbSAnZm9vJ2Agd2lsbCBiZSBkaWZmaWN1bHQuXG4gICAgICovXG4gICAgXCJpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJlcnJvclwiLFxuICAgIFwiaW1wb3J0L25vLWR5bmFtaWMtcmVxdWlyZVwiOiBcImVycm9yXCIsXG4gICAgXCJpbXBvcnQvbm8tbXV0YWJsZS1leHBvcnRzXCI6IFwiZXJyb3JcIiwgLy8gZm9yYmlkIGNvZGUgbGlrZSBgZXhwb3J0IGxldCBjb3VudCA9IDNgXG4gICAgXCJpbXBvcnQvbm8tcmVsYXRpdmUtcGFja2FnZXNcIjogXCJlcnJvclwiLCAvLyBmb3JiaWQgdG8gaW1wb3J0IG1vZHVsZSBmcm9tIG90aGVyIG1vbm9yZXBvIHBhY2thZ2VzIGJ5IHJlbGF0aXZlIHBhdGhzXG4gICAgXCJpbXBvcnQvbm8tc2VsZi1pbXBvcnRcIjogXCJlcnJvclwiLFxuICAgIC8vIG5cbiAgICBcIm4vcHJlZmVyLWdsb2JhbC9idWZmZXJcIjogW1wiZXJyb3JcIiwgXCJuZXZlclwiXSxcbiAgICBcIm4vcHJlZmVyLWdsb2JhbC9jb25zb2xlXCI6IFwiZXJyb3JcIixcbiAgICBcIm4vcHJlZmVyLWdsb2JhbC9wcm9jZXNzXCI6IFtcImVycm9yXCIsIFwibmV2ZXJcIl0sXG4gICAgXCJuL3ByZWZlci1nbG9iYWwvdGV4dC1kZWNvZGVyXCI6IFwiZXJyb3JcIixcbiAgICBcIm4vcHJlZmVyLWdsb2JhbC90ZXh0LWVuY29kZXJcIjogXCJlcnJvclwiLFxuICAgIFwibi9wcmVmZXItZ2xvYmFsL3VybFwiOiBcImVycm9yXCIsXG4gICAgXCJuL3ByZWZlci1nbG9iYWwvdXJsLXNlYXJjaC1wYXJhbXNcIjogXCJlcnJvclwiLFxuICAgIC8vIHJlYWN0XG4gICAgXCJyZWFjdC9qc3gta2V5XCI6IFwiZXJyb3JcIixcbiAgICBcInJlYWN0L2pzeC1uby1kdXBsaWNhdGUtcHJvcHNcIjogXCJlcnJvclwiLFxuICAgIFwicmVhY3QvanN4LW5vLXVuZGVmXCI6IFwiZXJyb3JcIixcbiAgICAvLyByZWFjdC1ob29rc1xuICAgIFwicmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXCI6IFwiZXJyb3JcIixcbiAgICBcInJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBzb25hcmpzXG4gICAgXCJzb25hcmpzL25vLWNvbGxhcHNpYmxlLWlmXCI6IFwiZXJyb3JcIixcbiAgICBcInNvbmFyanMvbm8tYWxsLWR1cGxpY2F0ZWQtYnJhbmNoZXNcIjogXCJlcnJvclwiLFxuICAgIFwic29uYXJqcy9uby1pZGVudGljYWwtY29uZGl0aW9uc1wiOiBcImVycm9yXCIsXG4gICAgXCJzb25hcmpzL25vLWlkZW50aWNhbC1leHByZXNzaW9uc1wiOiBcImVycm9yXCIsXG4gICAgXCJzb25hcmpzL25vLWlnbm9yZWQtcmV0dXJuXCI6IFwiZXJyb3JcIixcbiAgICBcInNvbmFyanMvbm8taW52ZXJ0ZWQtYm9vbGVhbi1jaGVja1wiOiBcImVycm9yXCIsXG4gICAgXCJzb25hcmpzL25vLW5lc3RlZC1zd2l0Y2hcIjogXCJlcnJvclwiLFxuICAgIFwic29uYXJqcy9uby11c2VsZXNzLWNhdGNoXCI6IFwiZXJyb3JcIixcbiAgICBcInNvbmFyanMvcHJlZmVyLWltbWVkaWF0ZS1yZXR1cm5cIjogXCJlcnJvclwiLFxuICAgIC8vIHVuaWNvcm5cbiAgICAvLyAndW5pY29ybi9uby1udWxsJzogJ2Vycm9yJywgLy8gbnVsbCBjYW4gYmUgdXNlZnVsIHdoZW4gaW50ZXJhY3Qgd2l0aCBqc29uLlxuICAgIFwidW5pY29ybi9jb25zaXN0ZW50LWRlc3RydWN0dXJpbmdcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9jb25zaXN0ZW50LWVtcHR5LWFycmF5LXNwcmVhZFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL2Vycm9yLW1lc3NhZ2VcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9leHBsaWNpdC1sZW5ndGgtY2hlY2tcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9maWxlbmFtZS1jYXNlXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHsgY2FzZXM6IHsga2ViYWJDYXNlOiB0cnVlLCBwYXNjYWxDYXNlOiB0cnVlIH0gfSxcbiAgICBdLFxuICAgIFwidW5pY29ybi9pbXBvcnQtc3R5bGVcIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAge1xuICAgICAgICBzdHlsZXM6IHtcbiAgICAgICAgICBjaGlsZF9wcm9jZXNzOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBmczogeyBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgXCJmcy9wcm9taXNlc1wiOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBwcm9jZXNzOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBcInV0aWwvdHlwZXNcIjogeyBuYW1lZDogdHJ1ZSB9LFxuICAgICAgICAgIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI6IHsgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICAgIFwibm9kZTpmc1wiOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBcIm5vZGU6ZnMvcHJvbWlzZXNcIjogeyBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgXCJub2RlOnByb2Nlc3NcIjogeyBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgXCJub2RlOnV0aWwvdHlwZXNcIjogeyBuYW1lZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwidW5pY29ybi9uZXctZm9yLWJ1aWx0aW5zXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tYWJ1c2l2ZS1lc2xpbnQtZGlzYWJsZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLWFycmF5LWNhbGxiYWNrLXJlZmVyZW5jZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLWFycmF5LW1ldGhvZC10aGlzLWFyZ3VtZW50XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tYXdhaXQtaW4tcHJvbWlzZS1tZXRob2RzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tZm9yLWxvb3BcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby1pbnN0YW5jZW9mLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tbG9uZWx5LWlmXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tbmVnYXRpb24taW4tZXF1YWxpdHktY2hlY2tcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby1uZXctYXJyYXlcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby1uZXctYnVmZmVyXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tcHJvY2Vzcy1leGl0XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tc2luZ2xlLXByb21pc2UtaW4tcHJvbWlzZS1tZXRob2RzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tc3RhdGljLW9ubHktY2xhc3NcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby10aGVuYWJsZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXRoaXMtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXR5cGVvZi11bmRlZmluZWRcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby11bnJlYWRhYmxlLWFycmF5LWRlc3RydWN0dXJpbmdcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby11bnJlYWRhYmxlLWlpZmVcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby11c2VsZXNzLWZhbGxiYWNrLWluLXNwcmVhZFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXVzZWxlc3Mtc3ByZWFkXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tdXNlbGVzcy1zd2l0Y2gtY2FzZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXplcm8tZnJhY3Rpb25zXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWFycmF5LWZsYXQtbWFwXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWRhdGUtbm93XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWV4cG9ydC1mcm9tXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWdsb2JhbC10aGlzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWluY2x1ZGVzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWxvZ2ljYWwtb3BlcmF0b3Itb3Zlci10ZXJuYXJ5XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLW1hdGgtbWluLW1heFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1tb2R1bGVcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItbmVnYXRpdmUtaW5kZXhcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItbnVtYmVyLXByb3BlcnRpZXNcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItb3B0aW9uYWwtY2F0Y2gtYmluZGluZ1wiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1yZWdleHAtdGVzdFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1zdHJpbmctcmVwbGFjZS1hbGxcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItc3RyaW5nLXNsaWNlXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLXRlcm5hcnlcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9yZXF1aXJlLWFycmF5LWpvaW4tc2VwYXJhdG9yXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcmVxdWlyZS1udW1iZXItdG8tZml4ZWQtZGlnaXRzLWFyZ3VtZW50XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vdGV4dC1lbmNvZGluZy1pZGVudGlmaWVyLWNhc2VcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi90aHJvdy1uZXctZXJyb3JcIjogXCJlcnJvclwiLFxuXG4gICAgXCJAZmVuZ2UvY2FsbC1hcmd1bWVudHMtbGVuZ3RoXCI6IFwiZXJyb3JcIixcbiAgICBcIkBmZW5nZS9uby1pbnN0YW5jZW9mLWJ1aWx0aW5cIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlL25vLWpzeC1pbi1ub24tanN4LWZpbGVcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlL25vLXJlc3RyaWN0ZWQtbG9vcHNcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlL25vLXVubmVjZXNzYXJ5LXRlbXBsYXRlLXN0cmluZ1wiOiBcImVycm9yXCIsXG5cbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFwiOiBbXG4gICAgICBcImVycm9yXCIsXG4gICAgICB7XG4gICAgICAgIFwidHMtZXhwZWN0LWVycm9yXCI6IHRydWUsXG4gICAgICAgIFwidHMtaWdub3JlXCI6IHRydWUsXG4gICAgICAgIFwidHMtbm9jaGVja1wiOiB0cnVlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZWxlc3MtZW1wdHktZXhwb3J0XCI6IFwiZXJyb3JcIixcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
490
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvanMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssV0FBVyxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sUUFBUSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3hELE9BQU8sYUFBYSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sU0FBUyxNQUFNLG9CQUFvQixDQUFDO0FBQzNDLE9BQU8sS0FBSyxTQUFTLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxRQUFRLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxZQUFZLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxPQUFPLE1BQU0saUJBQWlCLENBQUM7QUFDdEMsT0FBTyxhQUFhLE1BQU0sdUJBQXVCLENBQUM7QUFDbEQsT0FBTyxXQUFXLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLHNCQUFzQixNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sYUFBYSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sYUFBYSxNQUFNLHVCQUF1QixDQUFDO0FBQ2xELE9BQU8sT0FBTyxNQUFNLFNBQVMsQ0FBQztBQUU5QiwwRkFBMEY7QUFDMUYsa0JBQWtCO0FBQ2xCLE1BQU0sbUJBQW1CLEdBQUc7SUFDMUIsUUFBUSxFQUFFLE9BQU87SUFDakIsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO0lBRTNDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxzQkFBc0IsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRiwrQ0FBK0M7SUFDL0MsdUJBQXVCLEVBQUUsQ0FBQyxPQUFPLEVBQUU7WUFDakMsYUFBYSxFQUFFLEtBQUs7WUFDcEIsWUFBWSxFQUFF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QXVDLEVBQUUsT0FBTztRQUNoRCx5QkFBeUIsRUFBRSxPQUFPO1FBRWxDLDhCQUE4QixFQUFFLE9BQU87UUFDdkMsOEJBQThCLEVBQUUsT0FBTztRQUN2QywrQkFBK0IsRUFBRSxPQUFPO1FBQ3hDLDRCQUE0QixFQUFFLE9BQU87UUFDckMsdUNBQXVDLEVBQUUsT0FBTztRQUVoRCxtQ0FBbUMsRUFBRTtZQUNuQyxPQUFPO1lBQ1A7Z0JBQ0UsaUJBQWlCLEVBQUUsSUFBSTtnQkFDdkIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFlBQVksRUFBRSxJQUFJO2FBQ25CO1NBQ0Y7UUFDRCxpREFBaUQsRUFBRSxPQUFPO1FBQzFELGtDQUFrQyxFQUFFLE9BQU87UUFDM0MsNENBQTRDLEVBQUUsT0FBTztRQUNyRCxrQ0FBa0MsRUFBRSxPQUFPO0tBQzVDO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZlbmdlUGx1Z2luIGZyb20gXCJAZmVuZ2UvZXNsaW50LXBsdWdpblwiO1xuaW1wb3J0IHRzUGx1Z2luIGZyb20gXCJAdHlwZXNjcmlwdC1lc2xpbnQvZXNsaW50LXBsdWdpblwiO1xuaW1wb3J0IGNvbmZ1c2luZ0tleXMgZnJvbSBcImNvbmZ1c2luZy1icm93c2VyLWdsb2JhbHNcIjtcbmltcG9ydCBlc3hQbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tZXMteFwiO1xuaW1wb3J0ICogYXMgZXNtUGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLWVzbVwiO1xuaW1wb3J0IGZwUGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLWZwXCI7XG5pbXBvcnQgaW1wb3J0UGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLWltcG9ydFwiO1xuaW1wb3J0IG5QbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tblwiO1xuaW1wb3J0IHByb21pc2VQbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tcHJvbWlzZVwiO1xuaW1wb3J0IHJlYWN0UGx1Z2luIGZyb20gXCJlc2xpbnQtcGx1Z2luLXJlYWN0XCI7XG5pbXBvcnQgcmVhY3RIb29rc1BsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1yZWFjdC1ob29rc1wiO1xuaW1wb3J0IHNpbXBsZUltcG9ydFNvcnRQbHVnaW4gZnJvbSBcImVzbGludC1wbHVnaW4tc2ltcGxlLWltcG9ydC1zb3J0XCI7XG5pbXBvcnQgc29uYXJqc1BsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi1zb25hcmpzXCI7XG5pbXBvcnQgdW5pY29yblBsdWdpbiBmcm9tIFwiZXNsaW50LXBsdWdpbi11bmljb3JuXCI7XG5pbXBvcnQgZ2xvYmFscyBmcm9tIFwiZ2xvYmFsc1wiO1xuXG4vLyBjb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vc3RhbmRhcmQvZXNsaW50LWNvbmZpZy1zdGFuZGFyZC9ibG9iL21hc3Rlci9zcmMvaW5kZXgudHNcbi8vIHByZXR0aWVyLWlnbm9yZVxuY29uc3Qgc3RhbmRhcmRDb25maWdSdWxlcyA9IHtcbiAgJ25vLXZhcic6ICdlcnJvcicsXG4gICdvYmplY3Qtc2hvcnRoYW5kJzogWydlcnJvcicsICdwcm9wZXJ0aWVzJ10sXG5cbiAgJ2FjY2Vzc29yLXBhaXJzJzogWydlcnJvcicsIHsgc2V0V2l0aG91dEdldDogdHJ1ZSwgZW5mb3JjZUZvckNsYXNzTWVtYmVyczogdHJ1ZSB9XSxcbiAgLy8gJ2FycmF5LWJyYWNrZXQtc3BhY2luZyc6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgJ2FycmF5LWNhbGxiYWNrLXJldHVybic6IFsnZXJyb3InLCB7XG4gICAgYWxsb3dJbXBsaWNpdDogZmFsc2UsXG4gICAgY2hlY2tGb3JFYWNoOiBmYWxzZVxuICB9XSxcbiAgLy8gJ2Fycm93LXNwYWNpbmcnOiBbJ2Vycm9yJywgeyBiZWZvcmU6IHRydWUsIGFmdGVyOiB0cnVlIH1dLFxuICAvLyAnYmxvY2stc3BhY2luZyc6IFsnZXJyb3InLCAnYWx3YXlzJ10sXG4gIC8vICdicmFjZS1zdHlsZSc6IFsnZXJyb3InLCAnMXRicycsIHsgYWxsb3dTaW5nbGVMaW5lOiB0cnVlIH1dLFxuICBjYW1lbGNhc2U6IFsnZXJyb3InLCB7XG4gICAgYWxsb3c6IFsnXlVOU0FGRV8nXSxcbiAgICBwcm9wZXJ0aWVzOiAnbmV2ZXInLFxuICAgIGlnbm9yZUdsb2JhbHM6IHRydWVcbiAgfV0sXG4gIC8vICdjb21tYS1kYW5nbGUnOiBbJ2Vycm9yJywge1xuICAvLyAgIGFycmF5czogJ25ldmVyJyxcbiAgLy8gICBvYmplY3RzOiAnbmV2ZXInLFxuICAvLyAgIGltcG9ydHM6ICduZXZlcicsXG4gIC8vICAgZXhwb3J0czogJ25ldmVyJyxcbiAgLy8gICBmdW5jdGlvbnM6ICduZXZlcidcbiAgLy8gfV0sXG4gIC8vICdjb21tYS1zcGFjaW5nJzogWydlcnJvcicsIHsgYmVmb3JlOiBmYWxzZSwgYWZ0ZXI6IHRydWUgfV0sXG4gIC8vICdjb21tYS1zdHlsZSc6IFsnZXJyb3InLCAnbGFzdCddLFxuICAvLyAnY29tcHV0ZWQtcHJvcGVydHktc3BhY2luZyc6IFsnZXJyb3InLCAnbmV2ZXInLCB7IGVuZm9yY2VGb3JDbGFzc01lbWJlcnM6IHRydWUgfV0sXG4gICdjb25zdHJ1Y3Rvci1zdXBlcic6ICdlcnJvcicsXG4gIC8vIGN1cmx5OiBbJ2Vycm9yJywgJ211bHRpLWxpbmUnXSxcbiAgJ2RlZmF1bHQtY2FzZS1sYXN0JzogJ2Vycm9yJyxcbiAgLy8gJ2RvdC1sb2NhdGlvbic6IFsnZXJyb3InLCAncHJvcGVydHknXSxcbiAgLy8gJ2RvdC1ub3RhdGlvbic6IFsnZXJyb3InLCB7IGFsbG93S2V5d29yZHM6IHRydWUgfV0sIC8vIFRPRE86IFRoaXMgc2hvdWxkIGJlIGVuYWJsZWQuIERpc2FibGUgaXQgYXMgaXQgY29uZmxpY3RzIHdpdGggdHMgd2hlbiBlbmFibGluZyB0cy1jaGVja1xuICAvLyAnZW9sLWxhc3QnOiAnZXJyb3InLFxuICBlcWVxZXE6IFsnZXJyb3InLCAnYWx3YXlzJywgeyBudWxsOiAnaWdub3JlJyB9XSxcbiAgLy8gJ2Z1bmMtY2FsbC1zcGFjaW5nJzogWydlcnJvcicsICduZXZlciddLFxuICAvLyAnZ2VuZXJhdG9yLXN0YXItc3BhY2luZyc6IFsnZXJyb3InLCB7IGJlZm9yZTogdHJ1ZSwgYWZ0ZXI6IHRydWUgfV0sXG4gIC8vIGluZGVudDogWydlcnJvcicsIDIsIHtcbiAgLy8gICBTd2l0Y2hDYXNlOiAxLFxuICAvLyAgIFZhcmlhYmxlRGVjbGFyYXRvcjogMSxcbiAgLy8gICBvdXRlcklJRkVCb2R5OiAxLFxuICAvLyAgIE1lbWJlckV4cHJlc3Npb246IDEsXG4gIC8vICAgRnVuY3Rpb25EZWNsYXJhdGlvbjogeyBwYXJhbWV0ZXJzOiAxLCBib2R5OiAxIH0sXG4gIC8vICAgRnVuY3Rpb25FeHByZXNzaW9uOiB7IHBhcmFtZXRlcnM6IDEsIGJvZHk6IDEgfSxcbiAgLy8gICBDYWxsRXhwcmVzc2lvbjogeyBhcmd1bWVudHM6IDEgfSxcbiAgLy8gICBBcnJheUV4cHJlc3Npb246IDEsXG4gIC8vICAgT2JqZWN0RXhwcmVzc2lvbjogMSxcbiAgLy8gICBJbXBvcnREZWNsYXJhdGlvbjogMSxcbiAgLy8gICBmbGF0VGVybmFyeUV4cHJlc3Npb25zOiBmYWxzZSxcbiAgLy8gICBpZ25vcmVDb21tZW50czogZmFsc2UsXG4gIC8vICAgaWdub3JlZE5vZGVzOiBbXG4gIC8vICAgICAnVGVtcGxhdGVMaXRlcmFsIConLFxuICAvLyAgICAgJ0pTWEVsZW1lbnQnLFxuICAvLyAgICAgJ0pTWEVsZW1lbnQgPiAqJyxcbiAgLy8gICAgICdKU1hBdHRyaWJ1dGUnLFxuICAvLyAgICAgJ0pTWElkZW50aWZpZXInLFxuICAvLyAgICAgJ0pTWE5hbWVzcGFjZWROYW1lJyxcbiAgLy8gICAgICdKU1hNZW1iZXJFeHByZXNzaW9uJyxcbiAgLy8gICAgICdKU1hTcHJlYWRBdHRyaWJ1dGUnLFxuICAvLyAgICAgJ0pTWEV4cHJlc3Npb25Db250YWluZXInLFxuICAvLyAgICAgJ0pTWE9wZW5pbmdFbGVtZW50JyxcbiAgLy8gICAgICdKU1hDbG9zaW5nRWxlbWVudCcsXG4gIC8vICAgICAnSlNYRnJhZ21lbnQnLFxuICAvLyAgICAgJ0pTWE9wZW5pbmdGcmFnbWVudCcsXG4gIC8vICAgICAnSlNYQ2xvc2luZ0ZyYWdtZW50JyxcbiAgLy8gICAgICdKU1hUZXh0JyxcbiAgLy8gICAgICdKU1hFbXB0eUV4cHJlc3Npb24nLFxuICAvLyAgICAgJ0pTWFNwcmVhZENoaWxkJ1xuICAvLyAgIF0sXG4gIC8vICAgb2Zmc2V0VGVybmFyeUV4cHJlc3Npb25zOiB0cnVlXG4gIC8vIH1dLFxuICAvLyAna2V5LXNwYWNpbmcnOiBbJ2Vycm9yJywgeyBiZWZvcmVDb2xvbjogZmFsc2UsIGFmdGVyQ29sb246IHRydWUgfV0sXG4gIC8vICdrZXl3b3JkLXNwYWNpbmcnOiBbJ2Vycm9yJywgeyBiZWZvcmU6IHRydWUsIGFmdGVyOiB0cnVlIH1dLFxuICAvLyAnbGluZXMtYmV0d2Vlbi1jbGFzcy1tZW1iZXJzJzogWydlcnJvcicsICdhbHdheXMnLCB7IGV4Y2VwdEFmdGVyU2luZ2xlTGluZTogdHJ1ZSB9XSxcbiAgLy8gJ211bHRpbGluZS10ZXJuYXJ5JzogWydlcnJvcicsICdhbHdheXMtbXVsdGlsaW5lJ10sXG4gICduZXctY2FwJzogWydlcnJvcicsIHsgbmV3SXNDYXA6IHRydWUsIGNhcElzTmV3OiBmYWxzZSwgcHJvcGVydGllczogdHJ1ZSB9XSxcbiAgLy8gJ25ldy1wYXJlbnMnOiAnZXJyb3InLFxuICAnbm8tYXJyYXktY29uc3RydWN0b3InOiAnZXJyb3InLFxuICAnbm8tYXN5bmMtcHJvbWlzZS1leGVjdXRvcic6ICdlcnJvcicsXG4gICduby1jYWxsZXInOiAnZXJyb3InLFxuICAnbm8tY2FzZS1kZWNsYXJhdGlvbnMnOiAnZXJyb3InLFxuICAnbm8tY2xhc3MtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ25vLWNvbXBhcmUtbmVnLXplcm8nOiAnZXJyb3InLFxuICAnbm8tY29uZC1hc3NpZ24nOiAnZXJyb3InLFxuICAnbm8tY29uc3QtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ25vLWNvbnN0YW50LWNvbmRpdGlvbic6IFsnZXJyb3InLCB7IGNoZWNrTG9vcHM6IGZhbHNlIH1dLFxuICAnbm8tY29udHJvbC1yZWdleCc6ICdlcnJvcicsXG4gICduby1kZWJ1Z2dlcic6ICdlcnJvcicsXG4gICduby1kZWxldGUtdmFyJzogJ2Vycm9yJyxcbiAgJ25vLWR1cGUtYXJncyc6ICdlcnJvcicsXG4gICduby1kdXBlLWNsYXNzLW1lbWJlcnMnOiAnZXJyb3InLFxuICAnbm8tZHVwZS1rZXlzJzogJ2Vycm9yJyxcbiAgJ25vLWR1cGxpY2F0ZS1jYXNlJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtYmFja3JlZmVyZW5jZSc6ICdlcnJvcicsXG4gICduby1lbXB0eSc6IFsnZXJyb3InLCB7IGFsbG93RW1wdHlDYXRjaDogdHJ1ZSB9XSxcbiAgJ25vLWVtcHR5LWNoYXJhY3Rlci1jbGFzcyc6ICdlcnJvcicsXG4gICduby1lbXB0eS1wYXR0ZXJuJzogJ2Vycm9yJyxcbiAgJ25vLWV2YWwnOiAnZXJyb3InLFxuICAnbm8tZXgtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ25vLWV4dGVuZC1uYXRpdmUnOiAnZXJyb3InLFxuICAnbm8tZXh0cmEtYmluZCc6ICdlcnJvcicsXG4gICduby1leHRyYS1ib29sZWFuLWNhc3QnOiAnZXJyb3InLFxuICAvLyAnbm8tZXh0cmEtcGFyZW5zJzogWydlcnJvcicsICdmdW5jdGlvbnMnXSxcbiAgJ25vLWZhbGx0aHJvdWdoJzogJ2Vycm9yJyxcbiAgLy8gJ25vLWZsb2F0aW5nLWRlY2ltYWwnOiAnZXJyb3InLFxuICAnbm8tZnVuYy1hc3NpZ24nOiAnZXJyb3InLFxuICAnbm8tZ2xvYmFsLWFzc2lnbic6ICdlcnJvcicsXG4gICduby1pbXBsaWVkLWV2YWwnOiAnZXJyb3InLFxuICAnbm8taW1wb3J0LWFzc2lnbic6ICdlcnJvcicsXG4gICduby1pbnZhbGlkLXJlZ2V4cCc6ICdlcnJvcicsXG4gICduby1pcnJlZ3VsYXItd2hpdGVzcGFjZSc6ICdlcnJvcicsXG4gICduby1pdGVyYXRvcic6ICdlcnJvcicsXG4gICduby1sYWJlbHMnOiBbJ2Vycm9yJywgeyBhbGxvd0xvb3A6IGZhbHNlLCBhbGxvd1N3aXRjaDogZmFsc2UgfV0sXG4gICduby1sb25lLWJsb2Nrcyc6ICdlcnJvcicsXG4gICduby1sb3NzLW9mLXByZWNpc2lvbic6ICdlcnJvcicsXG4gICduby1taXNsZWFkaW5nLWNoYXJhY3Rlci1jbGFzcyc6ICdlcnJvcicsXG4gICduby1wcm90b3R5cGUtYnVpbHRpbnMnOiAnZXJyb3InLFxuICAnbm8tdXNlbGVzcy1jYXRjaCc6ICdlcnJvcicsXG4gIC8vICduby1taXhlZC1vcGVyYXRvcnMnOiBbJ2Vycm9yJywge1xuICAvLyAgIGdyb3VwczogW1xuICAvLyAgICAgWyc9PScsICchPScsICc9PT0nLCAnIT09JywgJz4nLCAnPj0nLCAnPCcsICc8PSddLFxuICAvLyAgICAgWycmJicsICd8fCddLFxuICAvLyAgICAgWydpbicsICdpbnN0YW5jZW9mJ11cbiAgLy8gICBdLFxuICAvLyAgIGFsbG93U2FtZVByZWNlZGVuY2U6IHRydWVcbiAgLy8gfV0sXG4gIC8vICduby1taXhlZC1zcGFjZXMtYW5kLXRhYnMnOiAnZXJyb3InLFxuICAvLyAnbm8tbXVsdGktc3BhY2VzJzogJ2Vycm9yJyxcbiAgJ25vLW11bHRpLXN0cic6ICdlcnJvcicsXG4gIC8vICduby1tdWx0aXBsZS1lbXB0eS1saW5lcyc6IFsnZXJyb3InLCB7IG1heDogMSwgbWF4Qk9GOiAwLCBtYXhFT0Y6IDAgfV0sXG4gICduby1uZXcnOiAnZXJyb3InLFxuICAnbm8tbmV3LWZ1bmMnOiAnZXJyb3InLFxuICAvLyAnbm8tbmV3LW9iamVjdCc6ICdlcnJvcicsXG4gIC8vICduby1uZXctc3ltYm9sJzogJ2Vycm9yJyxcbiAgJ25vLW5ldy13cmFwcGVycyc6ICdlcnJvcicsXG4gICduby1vYmotY2FsbHMnOiAnZXJyb3InLFxuICAnbm8tb2N0YWwnOiAnZXJyb3InLFxuICAnbm8tb2N0YWwtZXNjYXBlJzogJ2Vycm9yJyxcbiAgJ25vLXByb3RvJzogJ2Vycm9yJyxcbiAgJ25vLXJlZGVjbGFyZSc6IFsnZXJyb3InLCB7IGJ1aWx0aW5HbG9iYWxzOiBmYWxzZSB9XSxcbiAgJ25vLXJlZ2V4LXNwYWNlcyc6ICdlcnJvcicsXG4gICduby1yZXR1cm4tYXNzaWduJzogWydlcnJvcicsICdleGNlcHQtcGFyZW5zJ10sXG4gICduby1zZWxmLWFzc2lnbic6IFsnZXJyb3InLCB7IHByb3BzOiB0cnVlIH1dLFxuICAnbm8tc2VsZi1jb21wYXJlJzogJ2Vycm9yJyxcbiAgJ25vLXNlcXVlbmNlcyc6ICdlcnJvcicsXG4gICduby1zaGFkb3ctcmVzdHJpY3RlZC1uYW1lcyc6ICdlcnJvcicsXG4gICduby1zcGFyc2UtYXJyYXlzJzogJ2Vycm9yJyxcbiAgLy8gJ25vLXRhYnMnOiAnZXJyb3InLFxuICAvLyAnbm8tdGVtcGxhdGUtY3VybHktaW4tc3RyaW5nJzogJ2Vycm9yJywgLy8gVXNlciB3aG8gdXNpbmcgVlNDb2RlIG9yIFdlYlN0b3JtIGNhbiBlYXNpbHkgbm90aWNlIHRoZSBwcm9ibGVtLiBFbmFibGluZyB0aGlzIHdpbGwgZGVjcmVhc2UgZmxleGliaWxpdHkuXG4gICduby10aGlzLWJlZm9yZS1zdXBlcic6ICdlcnJvcicsXG4gICduby10aHJvdy1saXRlcmFsJzogJ2Vycm9yJyxcbiAgLy8gJ25vLXRyYWlsaW5nLXNwYWNlcyc6ICdlcnJvcicsXG4gICduby11bmRlZic6ICdlcnJvcicsXG4gIC8vICduby11bmRlZi1pbml0JzogJ2Vycm9yJywgLy8gSXQgY29uZmxpY3Qgd2l0aCBgaW5pdC1kZWNsYXJhdGlvbnNgXG4gIC8vICduby11bmV4cGVjdGVkLW11bHRpbGluZSc6ICdlcnJvcicsXG4gICduby11bm1vZGlmaWVkLWxvb3AtY29uZGl0aW9uJzogJ2Vycm9yJyxcbiAgJ25vLXVubmVlZGVkLXRlcm5hcnknOiBbJ2Vycm9yJywgeyBkZWZhdWx0QXNzaWdubWVudDogZmFsc2UgfV0sXG4gICduby11bnJlYWNoYWJsZSc6ICdlcnJvcicsXG4gICduby11bnJlYWNoYWJsZS1sb29wJzogJ2Vycm9yJyxcbiAgJ25vLXVuc2FmZS1maW5hbGx5JzogJ2Vycm9yJyxcbiAgJ25vLXVuc2FmZS1uZWdhdGlvbic6ICdlcnJvcicsXG4gICduby11bnVzZWQtZXhwcmVzc2lvbnMnOiBbJ2Vycm9yJywge1xuICAgIGFsbG93U2hvcnRDaXJjdWl0OiB0cnVlLFxuICAgIGFsbG93VGVybmFyeTogdHJ1ZSxcbiAgICBhbGxvd1RhZ2dlZFRlbXBsYXRlczogdHJ1ZVxuICB9XSxcbiAgJ25vLXVudXNlZC12YXJzJzogWydlcnJvcicsIHtcbiAgICBhcmdzOiAnbm9uZScsXG4gICAgY2F1Z2h0RXJyb3JzOiAnbm9uZScsXG4gICAgaWdub3JlUmVzdFNpYmxpbmdzOiB0cnVlLFxuICAgIHZhcnM6ICdhbGwnXG4gIH1dLFxuICAnbm8tdXNlLWJlZm9yZS1kZWZpbmUnOiBbJ2Vycm9yJywgeyBmdW5jdGlvbnM6IGZhbHNlLCBjbGFzc2VzOiBmYWxzZSwgdmFyaWFibGVzOiBmYWxzZSB9XSxcbiAgJ25vLXVzZWxlc3MtY2FsbCc6ICdlcnJvcicsXG4gICduby11c2VsZXNzLWNvbXB1dGVkLWtleSc6ICdlcnJvcicsXG4gICduby11c2VsZXNzLWNvbnN0cnVjdG9yJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtZXNjYXBlJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtcmVuYW1lJzogJ2Vycm9yJyxcbiAgJ25vLXVzZWxlc3MtcmV0dXJuJzogJ2Vycm9yJyxcbiAgJ25vLXZvaWQnOiAnZXJyb3InLFxuICAvLyAnbm8td2hpdGVzcGFjZS1iZWZvcmUtcHJvcGVydHknOiAnZXJyb3InLFxuICAnbm8td2l0aCc6ICdlcnJvcicsXG4gIC8vICdvYmplY3QtY3VybHktbmV3bGluZSc6IFsnZXJyb3InLCB7IG11bHRpbGluZTogdHJ1ZSwgY29uc2lzdGVudDogdHJ1ZSB9XSxcbiAgLy8gJ29iamVjdC1jdXJseS1zcGFjaW5nJzogWydlcnJvcicsICdhbHdheXMnXSxcbiAgLy8gJ29iamVjdC1wcm9wZXJ0eS1uZXdsaW5lJzogWydlcnJvcicsIHsgYWxsb3dNdWx0aXBsZVByb3BlcnRpZXNQZXJMaW5lOiB0cnVlIH1dLFxuICAnb25lLXZhcic6IFsnZXJyb3InLCB7IGluaXRpYWxpemVkOiAnbmV2ZXInIH1dLFxuICAvLyAnb3BlcmF0b3ItbGluZWJyZWFrJzogWydlcnJvcicsICdhZnRlcicsIHsgb3ZlcnJpZGVzOiB7ICc/JzogJ2JlZm9yZScsICc6JzogJ2JlZm9yZScsICd8Pic6ICdiZWZvcmUnIH0gfV0sXG4gIC8vICdwYWRkZWQtYmxvY2tzJzogWydlcnJvcicsIHsgYmxvY2tzOiAnbmV2ZXInLCBzd2l0Y2hlczogJ25ldmVyJywgY2xhc3NlczogJ25ldmVyJyB9XSxcbiAgJ3ByZWZlci1jb25zdCc6IFsnZXJyb3InLCB7IGRlc3RydWN0dXJpbmc6ICdhbGwnIH1dLFxuICAncHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9ycyc6ICdlcnJvcicsXG4gICdwcmVmZXItcmVnZXgtbGl0ZXJhbHMnOiBbJ2Vycm9yJywgeyBkaXNhbGxvd1JlZHVuZGFudFdyYXBwaW5nOiB0cnVlIH1dLFxuICAvLyAncXVvdGUtcHJvcHMnOiBbJ2Vycm9yJywgJ2FzLW5lZWRlZCddLFxuICAvLyBxdW90ZXM6IFsnZXJyb3InLCAnc2luZ2xlJywgeyBhdm9pZEVzY2FwZTogdHJ1ZSwgYWxsb3dUZW1wbGF0ZUxpdGVyYWxzOiBmYWxzZSB9XSxcbiAgLy8gJ3Jlc3Qtc3ByZWFkLXNwYWNpbmcnOiBbJ2Vycm9yJywgJ25ldmVyJ10sXG4gIC8vIHNlbWk6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgLy8gJ3NlbWktc3BhY2luZyc6IFsnZXJyb3InLCB7IGJlZm9yZTogZmFsc2UsIGFmdGVyOiB0cnVlIH1dLFxuICAvLyAnc3BhY2UtYmVmb3JlLWJsb2Nrcyc6IFsnZXJyb3InLCAnYWx3YXlzJ10sXG4gIC8vICdzcGFjZS1iZWZvcmUtZnVuY3Rpb24tcGFyZW4nOiBbJ2Vycm9yJywgJ2Fsd2F5cyddLFxuICAvLyAnc3BhY2UtaW4tcGFyZW5zJzogWydlcnJvcicsICduZXZlciddLFxuICAvLyAnc3BhY2UtaW5maXgtb3BzJzogJ2Vycm9yJyxcbiAgLy8gJ3NwYWNlLXVuYXJ5LW9wcyc6IFsnZXJyb3InLCB7IHdvcmRzOiB0cnVlLCBub253b3JkczogZmFsc2UgfV0sXG4gIC8vICdzcGFjZWQtY29tbWVudCc6IFsnZXJyb3InLCAnYWx3YXlzJywge1xuICAvLyAgIGxpbmU6IHsgbWFya2VyczogWycqcGFja2FnZScsICchJywgJy8nLCAnLCcsICc9J10gfSxcbiAgLy8gICBibG9jazogeyBiYWxhbmNlZDogdHJ1ZSwgbWFya2VyczogWycqcGFja2FnZScsICchJywgJywnLCAnOicsICc6OicsICdmbG93LWluY2x1ZGUnXSwgZXhjZXB0aW9uczogWycqJ10gfVxuICAvLyB9XSxcbiAgJ3N5bWJvbC1kZXNjcmlwdGlvbic6ICdlcnJvcicsXG4gIC8vICd0ZW1wbGF0ZS1jdXJseS1zcGFjaW5nJzogWydlcnJvcicsICduZXZlciddLFxuICAvLyAndGVtcGxhdGUtdGFnLXNwYWNpbmcnOiBbJ2Vycm9yJywgJ25ldmVyJ10sXG4gICd1bmljb2RlLWJvbSc6IFsnZXJyb3InLCAnbmV2ZXInXSxcbiAgJ3VzZS1pc25hbic6IFsnZXJyb3InLCB7XG4gICAgZW5mb3JjZUZvclN3aXRjaENhc2U6IHRydWUsXG4gICAgZW5mb3JjZUZvckluZGV4T2Y6IHRydWVcbiAgfV0sXG4gICd2YWxpZC10eXBlb2YnOiBbJ2Vycm9yJywgeyByZXF1aXJlU3RyaW5nTGl0ZXJhbHM6IHRydWUgfV0sXG4gIC8vICd3cmFwLWlpZmUnOiBbJ2Vycm9yJywgJ2FueScsIHsgZnVuY3Rpb25Qcm90b3R5cGVNZXRob2RzOiB0cnVlIH1dLFxuICAvLyAneWllbGQtc3Rhci1zcGFjaW5nJzogWydlcnJvcicsICdib3RoJ10sXG4gIHlvZGE6IFsnZXJyb3InLCAnbmV2ZXInXSxcblxuICAnaW1wb3J0L2V4cG9ydCc6ICdlcnJvcicsXG4gICdpbXBvcnQvZmlyc3QnOiAnZXJyb3InLFxuICAnaW1wb3J0L25vLWFic29sdXRlLXBhdGgnOiBbJ2Vycm9yJywgeyBlc21vZHVsZTogdHJ1ZSwgY29tbW9uanM6IHRydWUsIGFtZDogZmFsc2UgfV0sXG4gICdpbXBvcnQvbm8tZHVwbGljYXRlcyc6ICdlcnJvcicsXG4gICdpbXBvcnQvbm8tbmFtZWQtZGVmYXVsdCc6ICdlcnJvcicsXG4gICdpbXBvcnQvbm8td2VicGFjay1sb2FkZXItc3ludGF4JzogJ2Vycm9yJyxcblxuICAnbi9oYW5kbGUtY2FsbGJhY2stZXJyJzogWydlcnJvcicsICdeKGVycnxlcnJvcikkJ10sXG4gICduL25vLWNhbGxiYWNrLWxpdGVyYWwnOiAnZXJyb3InLFxuICAnbi9uby1kZXByZWNhdGVkLWFwaSc6ICdlcnJvcicsXG4gICduL25vLWV4cG9ydHMtYXNzaWduJzogJ2Vycm9yJyxcbiAgJ24vbm8tbmV3LXJlcXVpcmUnOiAnZXJyb3InLFxuICAnbi9uby1wYXRoLWNvbmNhdCc6ICdlcnJvcicsXG4gICduL3Byb2Nlc3MtZXhpdC1hcy10aHJvdyc6ICdlcnJvcicsXG5cbiAgJ3Byb21pc2UvcGFyYW0tbmFtZXMnOiAnZXJyb3InXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QganNCYXNlID0ge1xuICBuYW1lOiBcImZlbmdlL2phdmFzY3JpcHRcIixcbiAgZmlsZXM6IFtcIioqLyoue2pzLGNqcyxtanMsanN4fVwiXSxcbiAgLy8gaHR0cHM6Ly9lc2xpbnQub3JnL2RvY3MvbGF0ZXN0L3VzZS9jb25maWd1cmUvbGFuZ3VhZ2Utb3B0aW9uc1xuICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICBlY21hVmVyc2lvbjogXCJsYXRlc3RcIixcbiAgICBzb3VyY2VUeXBlOiBcIm1vZHVsZVwiLFxuICAgIHBhcnNlck9wdGlvbnM6IHtcbiAgICAgIC8vIFRPRE8gYGVjbWFWZXJzaW9uYCBhbmQgYHNvdXJjZVR5cGVgIGFyZSBubyBzdGFuZGFyZCBoZXJlLiBpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnQgcmVxdWlyZWQgdGhpc1xuICAgICAgZWNtYVZlcnNpb246IFwibGF0ZXN0XCIsXG4gICAgICBzb3VyY2VUeXBlOiBcIm1vZHVsZVwiLFxuICAgICAgZWNtYUZlYXR1cmVzOiB7XG4gICAgICAgIGpzeDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxzOiB7XG4gICAgICAuLi5PYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGdsb2JhbHMuYnJvd3NlcilcbiAgICAgICAgICAuZmlsdGVyKChba10pID0+ICFjb25mdXNpbmdLZXlzLmluY2x1ZGVzKGspKVxuICAgICAgICAgIC5maWx0ZXIoKFtrXSkgPT4gIVtcInNlbGZcIiwgXCJnbG9iYWxcIl0uaW5jbHVkZXMoaykpLCAvLyBwcmVmZXIgYGdsb2JhbFRoaXNgXG4gICAgICApLFxuICAgIH0sXG4gIH0sXG4gIHBsdWdpbnM6IHtcbiAgICBmcDogZnBQbHVnaW4sXG4gICAgbjogblBsdWdpbixcbiAgICBpbXBvcnQ6IGltcG9ydFBsdWdpbixcbiAgICBwcm9taXNlOiBwcm9taXNlUGx1Z2luLFxuICAgIHJlYWN0OiByZWFjdFBsdWdpbixcbiAgICBcInJlYWN0LWhvb2tzXCI6IHJlYWN0SG9va3NQbHVnaW4sXG4gICAgc29uYXJqczogc29uYXJqc1BsdWdpbixcbiAgICB1bmljb3JuOiB1bmljb3JuUGx1Z2luLFxuICAgIFwiZXMteFwiOiBlc3hQbHVnaW4sXG4gICAgZXNtOiBlc21QbHVnaW4sXG4gICAgXCJzaW1wbGUtaW1wb3J0LXNvcnRcIjogc2ltcGxlSW1wb3J0U29ydFBsdWdpbixcbiAgICBcIkBmZW5nZVwiOiBmZW5nZVBsdWdpbixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludFwiOiB0c1BsdWdpbixcbiAgfSxcbiAgcnVsZXM6IHtcbiAgICAvLyAxLiBzdGFuZGFyZCBjb25maWcgcnVsZXNcbiAgICAuLi5zdGFuZGFyZENvbmZpZ1J1bGVzLFxuXG4gICAgLy8gMi4gY29kZSBzdHlsZSBmb3IgYSBiZXR0ZXIgcmVhZGFiaWxpdHlcbiAgICBcImFycm93LWJvZHktc3R5bGVcIjogW1wiZXJyb3JcIiwgXCJhcy1uZWVkZWRcIl0sXG4gICAgXCJpbXBvcnQvbmV3bGluZS1hZnRlci1pbXBvcnRcIjogW1wiZXJyb3JcIiwgeyBjb3VudDogMSB9XSxcbiAgICAvLyBTb3J0IGltcG9ydHMgYnkgcHJldHRpZXIuIFR1cm4gaW4gb2ZmLlxuICAgIC8vIFwic2ltcGxlLWltcG9ydC1zb3J0L2ltcG9ydHNcIjogW1xuICAgIC8vICAgXCJlcnJvclwiLFxuICAgIC8vICAgeyBncm91cHM6IFtbXCJeXFxcXHUwMDAwXCIsIFwiXm5vZGU6XCIsIFwiXkA/XFxcXHdcIiwgXCJeXCIsIFwiXlxcXFwuXCJdXSB9LFxuICAgIC8vIF0sXG4gICAgXCJzaW1wbGUtaW1wb3J0LXNvcnQvZXhwb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1ub2RlLXByb3RvY29sXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vZXNjYXBlLWNhc2VcIjogXCJlcnJvclwiLCAvLyAnXFx1ZDgzNCcgLT4gJ1xcdUQ4MzQnXG4gICAgLy8gXCJ1bmljb3JuL251bWJlci1saXRlcmFsLWNhc2VcIjogXCJlcnJvclwiLCAvLyAwWEZGIC0+IDB4RkYgLy8gY29uZmxpY3Qgd2l0aCBwcmV0dGllclxuXG4gICAgLy8gMy4gYmFuIHNvbWUgc3ludGF4ZXMgdG8gcmVkdWNlIG1pc3Rha2VzXG4gICAgXCJkZWZhdWx0LXBhcmFtLWxhc3RcIjogXCJlcnJvclwiLFxuICAgIFwiZnVuYy1uYW1lLW1hdGNoaW5nXCI6IFwiZXJyb3JcIixcbiAgICBcImdldHRlci1yZXR1cm5cIjogXCJlcnJvclwiLFxuICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJlcnJvclwiLFxuICAgIFwibWF4LWRlcHRoXCI6IFtcImVycm9yXCIsIHsgbWF4OiA1IH1dLFxuICAgIFwibWF4LXBhcmFtc1wiOiBbXCJlcnJvclwiLCB7IG1heDogNCB9XSxcbiAgICBcIm5vLWJpdHdpc2VcIjogXCJlcnJvclwiLFxuICAgIFwibm8tY29uc3RhbnQtYmluYXJ5LWV4cHJlc3Npb25cIjogXCJlcnJvclwiLFxuICAgIFwibm8tZHVwZS1lbHNlLWlmXCI6IFwiZXJyb3JcIixcbiAgICBcIm5vLWR1cGxpY2F0ZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICBcIm5vLWVtcHR5LXN0YXRpYy1ibG9ja1wiOiBcImVycm9yXCIsXG4gICAgXCJuby1lbXB0eS1mdW5jdGlvblwiOiBcImVycm9yXCIsXG4gICAgXCJuby1pbXBsaWNpdC1jb2VyY2lvblwiOiBbXG4gICAgICBcImVycm9yXCIsXG4gICAgICB7IGRpc2FsbG93VGVtcGxhdGVTaG9ydGhhbmQ6IHRydWUsIGFsbG93OiBbXCIhIVwiXSB9LFxuICAgIF0sIC8vIGZvcmJpZCBjb2RlIGxpa2UgYGNvbnN0IG51bSA9ICtzdHJgO1xuICAgIFwibm8taW52YWxpZC10aGlzXCI6IFwiZXJyb3JcIixcbiAgICBcIm5vLWxvbmVseS1pZlwiOiBcImVycm9yXCIsXG4gICAgXCJuby1tdWx0aS1hc3NpZ25cIjogXCJlcnJvclwiLFxuICAgIFwibm8tbmV3LW5hdGl2ZS1ub25jb25zdHJ1Y3RvclwiOiBcImVycm9yXCIsXG4gICAgXCJuby1ub25vY3RhbC1kZWNpbWFsLWVzY2FwZVwiOiBcImVycm9yXCIsXG4gICAgXCJuby1vYmplY3QtY29uc3RydWN0b3JcIjogXCJlcnJvclwiLFxuICAgIFwibm8tcGFyYW0tcmVhc3NpZ25cIjogXCJlcnJvclwiLFxuICAgIFwibm8tcGx1c3BsdXNcIjogXCJlcnJvclwiLFxuICAgIFwibm8tc2V0dGVyLXJldHVyblwiOiBcImVycm9yXCIsXG4gICAgXCJuby1zaGFkb3dcIjogW1wiZXJyb3JcIiwgeyBpZ25vcmVPbkluaXRpYWxpemF0aW9uOiB0cnVlIH1dLFxuICAgIFwibm8tdW5zYWZlLW9wdGlvbmFsLWNoYWluaW5nXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHsgZGlzYWxsb3dBcml0aG1ldGljT3BlcmF0b3JzOiB0cnVlIH0sXG4gICAgXSxcbiAgICBcIm5vLXVudXNlZC1sYWJlbHNcIjogXCJlcnJvclwiLFxuICAgIFwibm8tdW51c2VkLXByaXZhdGUtY2xhc3MtbWVtYmVyc1wiOiBcImVycm9yXCIsXG4gICAgXCJyZXF1aXJlLWF3YWl0XCI6IFwiZXJyb3JcIixcbiAgICBcInJlcXVpcmUteWllbGRcIjogXCJlcnJvclwiLFxuICAgIFwicHJlZmVyLWFycm93LWNhbGxiYWNrXCI6IFwiZXJyb3JcIixcbiAgICBcInByZWZlci1leHBvbmVudGlhdGlvbi1vcGVyYXRvclwiOiBcImVycm9yXCIsXG4gICAgXCJwcmVmZXItb2JqZWN0LWhhcy1vd25cIjogXCJlcnJvclwiLFxuICAgIFwicHJlZmVyLXRlbXBsYXRlXCI6IFwiZXJyb3JcIixcbiAgICAvLyBlc1xuICAgIFwiZXMteC9uby1hY2Nlc3Nvci1wcm9wZXJ0aWVzXCI6IFwiZXJyb3JcIixcbiAgICBcImVzLXgvbm8tYXN5bmMtaXRlcmF0aW9uXCI6IFwiZXJyb3JcIixcbiAgICBcImVzLXgvbm8tZ2VuZXJhdG9yc1wiOiBcImVycm9yXCIsXG4gICAgXCJlcy14L25vLWxlZ2FjeS1vYmplY3QtcHJvdG90eXBlLWFjY2Vzc29yLW1ldGhvZHNcIjogXCJlcnJvclwiLFxuICAgIC8vIGVzbVxuICAgIFwiZXNtL25lYXJlc3QtcmVsYXRpdmUtcGF0aFwiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tZGlyZWN0b3J5LWltcG9ydHNcIjogXCJlcnJvclwiLFxuICAgIFwiZXNtL25vLWR5bmFtaWMtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tZ2l0LWlnbm9yZWQtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tcGhhbnRvbS1kZXAtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tcmVsYXRpdmUtcGFyZW50LWltcG9ydHNcIjogXCJlcnJvclwiLFxuICAgIFwiZXNtL25vLXJlbmFtZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICBcImVzbS9uby1yZW5hbWUtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tc2lkZS1lZmZlY3QtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJlc20vbm8tdHMtZmlsZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBmcFxuICAgIFwiZnAvbm8tYXJndW1lbnRzXCI6IFwiZXJyb3JcIixcbiAgICBcImZwL25vLWRlbGV0ZVwiOiBcImVycm9yXCIsXG4gICAgLy8gaW1wb3J0XG4gICAgXCJpbXBvcnQvZXh0ZW5zaW9uc1wiOiBbXCJlcnJvclwiLCBcImFsd2F5c1wiLCB7IGlnbm9yZVBhY2thZ2VzOiB0cnVlIH1dLFxuICAgIFwiaW1wb3J0L25vLWNvbW1vbmpzXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgYWxsb3dSZXF1aXJlOiBmYWxzZSxcbiAgICAgICAgYWxsb3dDb25kaXRpb25hbFJlcXVpcmU6IGZhbHNlLFxuICAgICAgICBhbGxvd1ByaW1pdGl2ZU1vZHVsZXM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIC8qKlxuICAgICAqIDEuIFRoZSBFU00gc3BlY2lmaWNhdGlvbiBkaWRu4oCZdCBzYXkgYW55dGhpbmcgYWJvdXQgaW50ZXJvcGVyYWJpbGl0eSB3aXRoIENvbW1vbkpTLiBTZWU6IGh0dHBzOi8vYmxvZy5hbmRyZXdicmFuLmNoL2RlZmF1bHQtZXhwb3J0cy1pbi1jb21tb25qcy1saWJyYXJpZXMvXG4gICAgICogMi4gUmVleHBvcnRpbmcgbGlrZSBgZXhwb3J0ICogZnJvbSAnZm9vJ2Agd2lsbCBiZSBkaWZmaWN1bHQuXG4gICAgICovXG4gICAgXCJpbXBvcnQvbm8tZGVmYXVsdC1leHBvcnRcIjogXCJlcnJvclwiLFxuICAgIFwiaW1wb3J0L25vLWR5bmFtaWMtcmVxdWlyZVwiOiBcImVycm9yXCIsXG4gICAgXCJpbXBvcnQvbm8tbXV0YWJsZS1leHBvcnRzXCI6IFwiZXJyb3JcIiwgLy8gZm9yYmlkIGNvZGUgbGlrZSBgZXhwb3J0IGxldCBjb3VudCA9IDNgXG4gICAgXCJpbXBvcnQvbm8tcmVsYXRpdmUtcGFja2FnZXNcIjogXCJlcnJvclwiLCAvLyBmb3JiaWQgdG8gaW1wb3J0IG1vZHVsZSBmcm9tIG90aGVyIG1vbm9yZXBvIHBhY2thZ2VzIGJ5IHJlbGF0aXZlIHBhdGhzXG4gICAgXCJpbXBvcnQvbm8tc2VsZi1pbXBvcnRcIjogXCJlcnJvclwiLFxuICAgIC8vIG5cbiAgICBcIm4vcHJlZmVyLWdsb2JhbC9idWZmZXJcIjogW1wiZXJyb3JcIiwgXCJuZXZlclwiXSxcbiAgICBcIm4vcHJlZmVyLWdsb2JhbC9jb25zb2xlXCI6IFwiZXJyb3JcIixcbiAgICBcIm4vcHJlZmVyLWdsb2JhbC9wcm9jZXNzXCI6IFtcImVycm9yXCIsIFwibmV2ZXJcIl0sXG4gICAgXCJuL3ByZWZlci1nbG9iYWwvdGV4dC1kZWNvZGVyXCI6IFwiZXJyb3JcIixcbiAgICBcIm4vcHJlZmVyLWdsb2JhbC90ZXh0LWVuY29kZXJcIjogXCJlcnJvclwiLFxuICAgIFwibi9wcmVmZXItZ2xvYmFsL3VybFwiOiBcImVycm9yXCIsXG4gICAgXCJuL3ByZWZlci1nbG9iYWwvdXJsLXNlYXJjaC1wYXJhbXNcIjogXCJlcnJvclwiLFxuICAgIC8vIHJlYWN0XG4gICAgXCJyZWFjdC9qc3gta2V5XCI6IFwiZXJyb3JcIixcbiAgICBcInJlYWN0L2pzeC1uby1kdXBsaWNhdGUtcHJvcHNcIjogXCJlcnJvclwiLFxuICAgIFwicmVhY3QvanN4LW5vLXVuZGVmXCI6IFwiZXJyb3JcIixcbiAgICAvLyByZWFjdC1ob29rc1xuICAgIFwicmVhY3QtaG9va3MvZXhoYXVzdGl2ZS1kZXBzXCI6IFwiZXJyb3JcIixcbiAgICBcInJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBzb25hcmpzXG4gICAgXCJzb25hcmpzL25vLWNvbGxhcHNpYmxlLWlmXCI6IFwiZXJyb3JcIixcbiAgICBcInNvbmFyanMvbm8tYWxsLWR1cGxpY2F0ZWQtYnJhbmNoZXNcIjogXCJlcnJvclwiLFxuICAgIFwic29uYXJqcy9uby1pZGVudGljYWwtY29uZGl0aW9uc1wiOiBcImVycm9yXCIsXG4gICAgXCJzb25hcmpzL25vLWlkZW50aWNhbC1leHByZXNzaW9uc1wiOiBcImVycm9yXCIsXG4gICAgXCJzb25hcmpzL25vLWlnbm9yZWQtcmV0dXJuXCI6IFwiZXJyb3JcIixcbiAgICBcInNvbmFyanMvbm8taW52ZXJ0ZWQtYm9vbGVhbi1jaGVja1wiOiBcImVycm9yXCIsXG4gICAgXCJzb25hcmpzL25vLW5lc3RlZC1zd2l0Y2hcIjogXCJlcnJvclwiLFxuICAgIFwic29uYXJqcy9uby11c2VsZXNzLWNhdGNoXCI6IFwiZXJyb3JcIixcbiAgICBcInNvbmFyanMvcHJlZmVyLWltbWVkaWF0ZS1yZXR1cm5cIjogXCJlcnJvclwiLFxuICAgIC8vIHVuaWNvcm5cbiAgICAvLyAndW5pY29ybi9uby1udWxsJzogJ2Vycm9yJywgLy8gbnVsbCBjYW4gYmUgdXNlZnVsIHdoZW4gaW50ZXJhY3Qgd2l0aCBqc29uLlxuICAgIFwidW5pY29ybi9jb25zaXN0ZW50LWRlc3RydWN0dXJpbmdcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9jb25zaXN0ZW50LWVtcHR5LWFycmF5LXNwcmVhZFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL2Vycm9yLW1lc3NhZ2VcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9leHBsaWNpdC1sZW5ndGgtY2hlY2tcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9maWxlbmFtZS1jYXNlXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHsgY2FzZXM6IHsga2ViYWJDYXNlOiB0cnVlLCBwYXNjYWxDYXNlOiB0cnVlIH0gfSxcbiAgICBdLFxuICAgIFwidW5pY29ybi9pbXBvcnQtc3R5bGVcIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAge1xuICAgICAgICBzdHlsZXM6IHtcbiAgICAgICAgICBjaGlsZF9wcm9jZXNzOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBmczogeyBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgXCJmcy9wcm9taXNlc1wiOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBwcm9jZXNzOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBcInV0aWwvdHlwZXNcIjogeyBuYW1lZDogdHJ1ZSB9LFxuICAgICAgICAgIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI6IHsgZGVmYXVsdDogdHJ1ZSB9LFxuICAgICAgICAgIFwibm9kZTpmc1wiOiB7IGRlZmF1bHQ6IHRydWUgfSxcbiAgICAgICAgICBcIm5vZGU6ZnMvcHJvbWlzZXNcIjogeyBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgXCJub2RlOnByb2Nlc3NcIjogeyBkZWZhdWx0OiB0cnVlIH0sXG4gICAgICAgICAgXCJub2RlOnV0aWwvdHlwZXNcIjogeyBuYW1lZDogdHJ1ZSB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwidW5pY29ybi9uZXctZm9yLWJ1aWx0aW5zXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tYWJ1c2l2ZS1lc2xpbnQtZGlzYWJsZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLWFycmF5LWNhbGxiYWNrLXJlZmVyZW5jZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLWFycmF5LW1ldGhvZC10aGlzLWFyZ3VtZW50XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tYXdhaXQtaW4tcHJvbWlzZS1tZXRob2RzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tZm9yLWxvb3BcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby1pbnN0YW5jZW9mLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tbG9uZWx5LWlmXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tbmVnYXRpb24taW4tZXF1YWxpdHktY2hlY2tcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby1uZXctYXJyYXlcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby1uZXctYnVmZmVyXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tcHJvY2Vzcy1leGl0XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tc2luZ2xlLXByb21pc2UtaW4tcHJvbWlzZS1tZXRob2RzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tc3RhdGljLW9ubHktY2xhc3NcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby10aGVuYWJsZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXRoaXMtYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXR5cGVvZi11bmRlZmluZWRcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby11bnJlYWRhYmxlLWFycmF5LWRlc3RydWN0dXJpbmdcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby11bnJlYWRhYmxlLWlpZmVcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9uby11c2VsZXNzLWZhbGxiYWNrLWluLXNwcmVhZFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXVzZWxlc3Mtc3ByZWFkXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vbm8tdXNlbGVzcy1zd2l0Y2gtY2FzZVwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL25vLXplcm8tZnJhY3Rpb25zXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWFycmF5LWZsYXQtbWFwXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWRhdGUtbm93XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWV4cG9ydC1mcm9tXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWdsb2JhbC10aGlzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWluY2x1ZGVzXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLWxvZ2ljYWwtb3BlcmF0b3Itb3Zlci10ZXJuYXJ5XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLW1hdGgtbWluLW1heFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1tb2R1bGVcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItbmVnYXRpdmUtaW5kZXhcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItbnVtYmVyLXByb3BlcnRpZXNcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItb3B0aW9uYWwtY2F0Y2gtYmluZGluZ1wiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1yZWdleHAtdGVzdFwiOiBcImVycm9yXCIsXG4gICAgXCJ1bmljb3JuL3ByZWZlci1zdHJpbmctcmVwbGFjZS1hbGxcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9wcmVmZXItc3RyaW5nLXNsaWNlXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcHJlZmVyLXRlcm5hcnlcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi9yZXF1aXJlLWFycmF5LWpvaW4tc2VwYXJhdG9yXCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vcmVxdWlyZS1udW1iZXItdG8tZml4ZWQtZGlnaXRzLWFyZ3VtZW50XCI6IFwiZXJyb3JcIixcbiAgICBcInVuaWNvcm4vdGV4dC1lbmNvZGluZy1pZGVudGlmaWVyLWNhc2VcIjogXCJlcnJvclwiLFxuICAgIFwidW5pY29ybi90aHJvdy1uZXctZXJyb3JcIjogXCJlcnJvclwiLFxuXG4gICAgXCJAZmVuZ2UvY2FsbC1hcmd1bWVudHMtbGVuZ3RoXCI6IFwiZXJyb3JcIixcbiAgICBcIkBmZW5nZS9uby1pbnN0YW5jZW9mLWJ1aWx0aW5cIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlL25vLWpzeC1pbi1ub24tanN4LWZpbGVcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlL25vLXJlc3RyaWN0ZWQtbG9vcHNcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlL25vLXVubmVjZXNzYXJ5LXRlbXBsYXRlLXN0cmluZ1wiOiBcImVycm9yXCIsXG5cbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFwiOiBbXG4gICAgICBcImVycm9yXCIsXG4gICAgICB7XG4gICAgICAgIFwidHMtZXhwZWN0LWVycm9yXCI6IHRydWUsXG4gICAgICAgIFwidHMtaWdub3JlXCI6IHRydWUsXG4gICAgICAgIFwidHMtbm9jaGVja1wiOiB0cnVlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NsYXNzLWxpdGVyYWwtcHJvcGVydHktc3R5bGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZWxlc3MtZW1wdHktZXhwb3J0XCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZm9yLW9mXCI6IFwiZXJyb3JcIixcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -429,7 +429,6 @@ export declare const tsBase: {
429
429
  readonly "@fenge-ts/no-untyped-empty-array": "error";
430
430
  readonly "@typescript-eslint/adjacent-overload-signatures": "error";
431
431
  readonly "@typescript-eslint/await-thenable": "error";
432
- readonly "@typescript-eslint/class-literal-property-style": "error";
433
432
  readonly "@typescript-eslint/consistent-generic-constructors": "error";
434
433
  readonly "@typescript-eslint/consistent-indexed-object-style": "error";
435
434
  readonly "@typescript-eslint/consistent-type-assertions": readonly ["error", {
@@ -472,7 +471,6 @@ export declare const tsBase: {
472
471
  readonly "@typescript-eslint/no-duplicate-type-constituents": "error";
473
472
  readonly "@typescript-eslint/no-empty-object-type": "error";
474
473
  readonly "@typescript-eslint/no-extra-non-null-assertion": "error";
475
- readonly "@typescript-eslint/no-extraneous-class": "error";
476
474
  readonly "@typescript-eslint/no-floating-promises": readonly ["error", {
477
475
  readonly ignoreVoid: false;
478
476
  }];
@@ -489,7 +487,6 @@ export declare const tsBase: {
489
487
  readonly "@typescript-eslint/no-non-null-assertion": "error";
490
488
  readonly "@typescript-eslint/no-redundant-type-constituents": "error";
491
489
  readonly "@typescript-eslint/no-require-imports": "error";
492
- readonly "@typescript-eslint/no-this-alias": "error";
493
490
  readonly "@typescript-eslint/no-unnecessary-condition": "error";
494
491
  readonly "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error";
495
492
  readonly "@typescript-eslint/no-unnecessary-template-expression": "error";
@@ -504,7 +501,6 @@ export declare const tsBase: {
504
501
  readonly "@typescript-eslint/no-wrapper-object-types": "error";
505
502
  readonly "@typescript-eslint/non-nullable-type-assertion-style": "error";
506
503
  readonly "@typescript-eslint/prefer-as-const": "error";
507
- readonly "@typescript-eslint/prefer-for-of": "error";
508
504
  readonly "@typescript-eslint/prefer-function-type": "error";
509
505
  readonly "@typescript-eslint/prefer-literal-enum-member": "error";
510
506
  readonly "@typescript-eslint/prefer-optional-chain": "error";
@@ -770,7 +766,10 @@ export declare const tsBase: {
770
766
  readonly "ts-ignore": true;
771
767
  readonly "ts-nocheck": true;
772
768
  }];
769
+ readonly "@typescript-eslint/class-literal-property-style": "error";
770
+ readonly "@typescript-eslint/no-this-alias": "error";
773
771
  readonly "@typescript-eslint/no-useless-empty-export": "error";
772
+ readonly "@typescript-eslint/prefer-for-of": "error";
774
773
  readonly 'no-var': "error";
775
774
  readonly 'object-shorthand': readonly ["error", "properties"];
776
775
  readonly 'accessor-pairs': readonly ["error", {
@@ -856,7 +855,6 @@ export declare const tsBase: {
856
855
  readonly 'no-sequences': "error";
857
856
  readonly 'no-shadow-restricted-names': "error";
858
857
  readonly 'no-sparse-arrays': "error";
859
- readonly 'no-template-curly-in-string': "error";
860
858
  readonly 'no-this-before-super': "error";
861
859
  readonly 'no-undef': "error";
862
860
  readonly 'no-unmodified-loop-condition': "error";
@@ -1 +1 @@
1
- {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/ts/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/config/ts/base.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,6 @@ export const tsBase = {
76
76
  "@typescript-eslint/adjacent-overload-signatures": "error",
77
77
  // "@typescript-eslint/array-type": ["error", 'array-simple'], // The default option is 'array'. Not very sure if we need to change the option. So disabled it.
78
78
  "@typescript-eslint/await-thenable": "error",
79
- "@typescript-eslint/class-literal-property-style": "error",
80
79
  "@typescript-eslint/consistent-generic-constructors": "error",
81
80
  "@typescript-eslint/consistent-indexed-object-style": "error",
82
81
  "@typescript-eslint/consistent-type-assertions": [
@@ -127,7 +126,7 @@ export const tsBase = {
127
126
  "@typescript-eslint/no-duplicate-type-constituents": "error",
128
127
  "@typescript-eslint/no-empty-object-type": "error",
129
128
  "@typescript-eslint/no-extra-non-null-assertion": "error",
130
- "@typescript-eslint/no-extraneous-class": "error",
129
+ // "@typescript-eslint/no-extraneous-class": "error", // Classes have only static member is reasonable sometimes.
131
130
  "@typescript-eslint/no-floating-promises": [
132
131
  "error",
133
132
  {
@@ -147,7 +146,6 @@ export const tsBase = {
147
146
  "@typescript-eslint/no-non-null-assertion": "error",
148
147
  "@typescript-eslint/no-redundant-type-constituents": "error",
149
148
  "@typescript-eslint/no-require-imports": "error",
150
- "@typescript-eslint/no-this-alias": "error",
151
149
  // "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error", // unsafe when `strictNullChecks` in tsconfig.json is disabled
152
150
  "@typescript-eslint/no-unnecessary-condition": "error",
153
151
  "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
@@ -158,12 +156,11 @@ export const tsBase = {
158
156
  "@typescript-eslint/no-unsafe-declaration-merging": "error",
159
157
  "@typescript-eslint/no-unsafe-enum-comparison": "error",
160
158
  "@typescript-eslint/no-unsafe-function-type": "error",
161
- "@typescript-eslint/no-unsafe-return": "error",
159
+ "@typescript-eslint/no-unsafe-return": "error", // This rule is not very perfect. See https://github.com/typescript-eslint/typescript-eslint/issues/10439
162
160
  "@typescript-eslint/no-unsafe-unary-minus": "error",
163
161
  "@typescript-eslint/no-wrapper-object-types": "error",
164
162
  "@typescript-eslint/non-nullable-type-assertion-style": "error",
165
163
  "@typescript-eslint/prefer-as-const": "error",
166
- "@typescript-eslint/prefer-for-of": "error",
167
164
  "@typescript-eslint/prefer-function-type": "error",
168
165
  "@typescript-eslint/prefer-literal-enum-member": "error",
169
166
  "@typescript-eslint/prefer-optional-chain": "error",
@@ -202,4 +199,4 @@ export const tsBase = {
202
199
  "@typescript-eslint/unified-signatures": "error",
203
200
  },
204
201
  };
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLFFBQVEsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQy9CLG1DQUFtQztJQUNuQyxpREFBaUQ7SUFDakQsTUFBTSxnQkFBZ0IsR0FBRztRQUN2Qix3QkFBd0IsRUFBRSwyQ0FBMkM7UUFDckUsbUJBQW1CLEVBQUUsc0NBQXNDO1FBQzNELG9CQUFvQixFQUFFLHVDQUF1QztRQUM3RCxjQUFjLEVBQUUsaUNBQWlDO1FBQ2pELG1CQUFtQixFQUFFLHNDQUFzQztRQUMzRCxZQUFZLEVBQUUsK0JBQStCO1FBQzdDLHNCQUFzQixFQUFFLHlDQUF5QztRQUNqRSx1QkFBdUIsRUFBRSwwQ0FBMEM7UUFDbkUsbUJBQW1CLEVBQUUsc0NBQXNDO1FBQzNELGlCQUFpQixFQUFFLG9DQUFvQztRQUN2RCxpQkFBaUIsRUFBRSxvQ0FBb0M7UUFDdkQsY0FBYyxFQUFFLGlDQUFpQztRQUNqRCxzR0FBc0c7UUFDdEcsa0JBQWtCLEVBQUUscUNBQXFDO1FBQ3pELGNBQWMsRUFBRSxpQ0FBaUM7UUFDakQsdUJBQXVCLEVBQUUsMENBQTBDO1FBQ25FLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsdUJBQXVCLEVBQUUsMENBQTBDO1FBQ25FLGdCQUFnQixFQUFFLG1DQUFtQztRQUNyRCxzQkFBc0IsRUFBRSx5Q0FBeUM7UUFDakUsd0JBQXdCLEVBQUUsMkNBQTJDO1FBQ3JFLGtCQUFrQixFQUFFLHFDQUFxQztRQUN6RCxzQkFBc0IsRUFBRSx5Q0FBeUM7UUFDakUsOEJB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bUNBQW1DLEVBQUUsT0FBTztRQUM1Qyx1Q0FBdUMsRUFBRSxPQUFPO0tBQ2pEO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwcm9jZXNzIGZyb20gXCJub2RlOnByb2Nlc3NcIjtcbmltcG9ydCAqIGFzIGZlbmdlVHNQbHVnaW4gZnJvbSBcIkBmZW5nZS9lc2xpbnQtcGx1Z2luLXRzXCI7XG5pbXBvcnQgdHNQYXJzZXIgZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC9wYXJzZXJcIjtcbmltcG9ydCB7IGpzQmFzZSB9IGZyb20gXCIuLi9qcy9iYXNlLmpzXCI7XG5cbmNvbnN0IGdldFRzRXh0ZW5zaW9uUnVsZXMgPSAoKSA9PiB7XG4gIC8vIEtleSBpcyBqcyBydWxlLCB2YWx1ZSBpcyB0cyBydWxlXG4gIC8vIGh0dHBzOi8vdHlwZXNjcmlwdC1lc2xpbnQuaW8vcnVsZXMvPz1leHRlbnNpb25cbiAgY29uc3QgZXh0ZW5zaW9uUnVsZU1hcCA9IHtcbiAgICBcImNsYXNzLW1ldGhvZHMtdXNlLXRoaXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY2xhc3MtbWV0aG9kcy11c2UtdGhpc1wiLFxuICAgIFwiY29uc2lzdGVudC1yZXR1cm5cIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1yZXR1cm5cIixcbiAgICBcImRlZmF1bHQtcGFyYW0tbGFzdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kZWZhdWx0LXBhcmFtLWxhc3RcIixcbiAgICBcImRvdC1ub3RhdGlvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIixcbiAgICBcImluaXQtZGVjbGFyYXRpb25zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2luaXQtZGVjbGFyYXRpb25zXCIsXG4gICAgXCJtYXgtcGFyYW1zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L21heC1wYXJhbXNcIixcbiAgICBcIm5vLWFycmF5LWNvbnN0cnVjdG9yXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWFycmF5LWNvbnN0cnVjdG9yXCIsXG4gICAgXCJuby1kdXBlLWNsYXNzLW1lbWJlcnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHVwZS1jbGFzcy1tZW1iZXJzXCIsXG4gICAgXCJuby1lbXB0eS1mdW5jdGlvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblwiLFxuICAgIFwibm8taW1wbGllZC1ldmFsXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcGxpZWQtZXZhbFwiLFxuICAgIFwibm8taW52YWxpZC10aGlzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdGhpc1wiLFxuICAgIFwibm8tbG9vcC1mdW5jXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWxvb3AtZnVuY1wiLFxuICAgIC8vIFwibm8tbG9zcy1vZi1wcmVjaXNpb25cIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbG9zcy1vZi1wcmVjaXNpb25cIiwgLy8gVGhpcyBydWxlIGhhcyBiZWVuIGRlcHJlY2F0ZWRcbiAgICBcIm5vLW1hZ2ljLW51bWJlcnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWFnaWMtbnVtYmVyc1wiLFxuICAgIFwibm8tcmVkZWNsYXJlXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZGVjbGFyZVwiLFxuICAgIFwibm8tcmVzdHJpY3RlZC1pbXBvcnRzXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlc3RyaWN0ZWQtaW1wb3J0c1wiLFxuICAgIFwibm8tc2hhZG93XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvd1wiLFxuICAgIFwibm8tdW51c2VkLWV4cHJlc3Npb25zXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1wiLFxuICAgIFwibm8tdW51c2VkLXZhcnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcIixcbiAgICBcIm5vLXVzZS1iZWZvcmUtZGVmaW5lXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZS1iZWZvcmUtZGVmaW5lXCIsXG4gICAgXCJuby11c2VsZXNzLWNvbnN0cnVjdG9yXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVzZWxlc3MtY29uc3RydWN0b3JcIixcbiAgICBcIm5vLXRocm93LWxpdGVyYWxcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvb25seS10aHJvdy1lcnJvclwiLFxuICAgIFwicHJlZmVyLWRlc3RydWN0dXJpbmdcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLWRlc3RydWN0dXJpbmdcIixcbiAgICBcInByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIjpcbiAgICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1wcm9taXNlLXJlamVjdC1lcnJvcnNcIixcbiAgICBcInJlcXVpcmUtYXdhaXRcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmVxdWlyZS1hd2FpdFwiLFxuICAgIFwibm8tcmV0dXJuLWF3YWl0XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L3JldHVybi1hd2FpdFwiLCAvLyBuby1yZXR1cm4tYXdhaXQgaGFzIGJlZW4gZGVwcmVjYXRlZFxuICB9IGFzIGNvbnN0O1xuXG4gIHR5cGUgSnMyVHNSdWxlTWFwID0gdHlwZW9mIGV4dGVuc2lvblJ1bGVNYXA7XG4gIHR5cGUgVHMySnNSdWxlTWFwID0ge1xuICAgIFtLIGluIGtleW9mIEpzMlRzUnVsZU1hcCBhcyBKczJUc1J1bGVNYXBbS11dOiBLOyAvLyByZXZlcnNlXG4gIH07XG5cbiAgdHlwZSBKc0V4dGVuc2lvbktleSA9IEV4dHJhY3Q8a2V5b2YgSnMyVHNSdWxlTWFwLCBrZXlvZiB0eXBlb2YganNCYXNlLnJ1bGVzPjsgLy8gRXh0cmFjdFxuICB0eXBlIFRzRXh0ZW5zaW9uS2V5ID0gSnMyVHNSdWxlTWFwW0pzRXh0ZW5zaW9uS2V5XTtcblxuICB0eXBlIEpzUmVzdWx0ID0gUmVjb3JkPEpzRXh0ZW5zaW9uS2V5LCBcIm9mZlwiPjtcbiAgdHlwZSBUc1Jlc3VsdCA9IHtcbiAgICBbS2V5IGluIFRzRXh0ZW5zaW9uS2V5XTogKHR5cGVvZiBqc0Jhc2UucnVsZXMpW1RzMkpzUnVsZU1hcFtLZXldXTtcbiAgfTtcbiAgdHlwZSBSZXN1bHQgPSBKc1Jlc3VsdCAmIFRzUmVzdWx0O1xuXG4gIGNvbnN0IGlzSW5FeHRlbnNpb25SdWxlTWFwID0gKFxuICAgIGtleTogc3RyaW5nLFxuICApOiBrZXkgaXMga2V5b2YgdHlwZW9mIGV4dGVuc2lvblJ1bGVNYXAgPT4ga2V5IGluIGV4dGVuc2lvblJ1bGVNYXA7XG4gIHJldHVybiBPYmplY3QuZW50cmllcyhqc0Jhc2UucnVsZXMpLnJlZHVjZShcbiAgICAocmVzdWx0LCBbanNSdWxlS2V5LCBqc1J1bGVWYWx1ZV0pID0+XG4gICAgICBpc0luRXh0ZW5zaW9uUnVsZU1hcChqc1J1bGVLZXkpXG4gICAgICAgID8ge1xuICAgICAgICAgICAgLi4ucmVzdWx0LFxuICAgICAgICAgICAgW2pzUnVsZUtleV06IFwib2ZmXCIsXG4gICAgICAgICAgICBbZXh0ZW5zaW9uUnVsZU1hcFtqc1J1bGVLZXldXToganNSdWxlVmFsdWUsXG4gICAgICAgICAgfVxuICAgICAgICA6IHJlc3VsdCxcbiAgICB7fSBhcyBSZXN1bHQsXG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdHNCYXNlID0ge1xuICAuLi5qc0Jhc2UsXG4gIG5hbWU6IFwiZmVuZ2UvdHlwZXNjcmlwdFwiLFxuICBmaWxlczogW1wiKiovKi57dHMsY3RzLG10cyx0c3h9XCJdLFxuICBsYW5ndWFnZU9wdGlvbnM6IHtcbiAgICAuLi5qc0Jhc2UubGFuZ3VhZ2VPcHRpb25zLFxuICAgIHBhcnNlcjogdHNQYXJzZXIsIC8vIFVuZm9ydHVuYXRlbHkgcGFyc2VyIGNhbm5vdCBiZSBhIHN0cmluZy4gRXNsaW50IHNob3VsZCBzdXBwb3J0IGl0LiBodHRwczovL2VzbGludC5vcmcvZG9jcy9sYXRlc3QvdXNlL2NvbmZpZ3VyZS9jb25maWd1cmF0aW9uLWZpbGVzLW5ldyNjb25maWd1cmluZy1hLWN1c3RvbS1wYXJzZXItYW5kLWl0cy1vcHRpb25zXG4gICAgcGFyc2VyT3B0aW9uczoge1xuICAgICAgLi4uanNCYXNlLmxhbmd1YWdlT3B0aW9ucy5wYXJzZXJPcHRpb25zLFxuICAgICAgdHNjb25maWdSb290RGlyOiBwcm9jZXNzLmN3ZCgpLFxuICAgICAgLy8gU2V0dGluZyBgcHJvamVjdFNlcnZpY2U6IHRydWVgIG9yIGBwcm9qZWN0OiB0cnVlYCBpcyBwcmV0dHkgc2xvdyB3aGVuIGxpbnQgYSBtb25vcmVwbyB3aXRoIG1hbnkgdHNjb25maWcuanNvbiBmaWxlcyBpbiBlYWNoIHN1Yi1hcHAuXG4gICAgICAvLyBGb3IgYSBiZXR0ZXIgcGVyZm9ybWFuY2UsIHdlIGFyZSByZWNvbW1lbmRlZCB1c2luZyBvbmUgdHNjb25maWcuanNvbiBmaWxlIGluIGEgcHJvamVjdC5cbiAgICAgIC8vIFdhaXRpbmcgZm9yIHR5cGVzY3JpcHQtZXNsaW50IHRvIG9mZmljaWFsbHkgcHJvdmlkZSBhIGJldHRlciB3YXkgdG8gdXNlIGBwcm9qZWN0U2VydmljZWAuXG4gICAgICBwcm9qZWN0OiBcInRzY29uZmlnLmpzb25cIixcbiAgICB9LFxuICB9LFxuICBwbHVnaW5zOiB7XG4gICAgLi4uanNCYXNlLnBsdWdpbnMsXG4gICAgXCJAZmVuZ2UtdHNcIjogZmVuZ2VUc1BsdWdpbixcbiAgfSxcbiAgcnVsZXM6IHtcbiAgICAuLi5qc0Jhc2UucnVsZXMsXG4gICAgLi4uZ2V0VHNFeHRlbnNpb25SdWxlcygpLFxuXG4gICAgLy8gZmVuZ2VcbiAgICBcIkBmZW5nZS10cy9leGFjdC1tYXAtc2V0LXR5cGVcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlLXRzL25vLWNvbnN0LWVudW1cIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlLXRzL25vLWRlY2xhcmVzLWluLXRzLWZpbGVcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlLXRzL25vLWV4cG9ydC1hc3NpZ25tZW50XCI6IFwiZXJyb3JcIixcbiAgICBcIkBmZW5nZS10cy9uby1wcm9wZXJ0eS1kZWNvcmF0b3JcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlLXRzL25vLXVudHlwZWQtZW1wdHktYXJyYXlcIjogXCJlcnJvclwiLFxuICAgIC8vIHR5cGVzY3JpcHRcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hZGphY2VudC1vdmVybG9hZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9hcnJheS10eXBlXCI6IFtcImVycm9yXCIsICdhcnJheS1zaW1wbGUnXSwgLy8gVGhlIGRlZmF1bHQgb3B0aW9uIGlzICdhcnJheScuIE5vdCB2ZXJ5IHN1cmUgaWYgd2UgbmVlZCB0byBjaGFuZ2UgdGhlIG9wdGlvbi4gU28gZGlzYWJsZWQgaXQuXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvYXdhaXQtdGhlbmFibGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NsYXNzLWxpdGVyYWwtcHJvcGVydHktc3R5bGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtZ2VuZXJpYy1jb25zdHJ1Y3RvcnNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtaW5kZXhlZC1vYmplY3Qtc3R5bGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgYXNzZXJ0aW9uU3R5bGU6IFwiYXNcIixcbiAgICAgICAgb2JqZWN0TGl0ZXJhbFR5cGVBc3NlcnRpb25zOiBcImFsbG93LWFzLXBhcmFtZXRlclwiLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9uc1wiOiBbXCJlcnJvclwiLCBcImludGVyZmFjZVwiXSwgLy8gVE9ETyBzaG91bGQgd2UgY2hhbmdlIHRvICd0eXBlJz9cbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtZXhwb3J0c1wiOiBcImVycm9yXCIsXG4gICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWltcG9ydHNcIjogXCJlcnJvcixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9kb3Qtbm90YXRpb25cIjogW1wiZXJyb3JcIiwgeyBhbGxvd0tleXdvcmRzOiB0cnVlIH1dLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L21ldGhvZC1zaWduYXR1cmUtc3R5bGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IFwiZnVuY3Rpb25cIixcbiAgICAgICAgZm9ybWF0OiBbXCJjYW1lbENhc2VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IFwidmFyaWFibGVcIixcbiAgICAgICAgdHlwZXM6IFtcImZ1bmN0aW9uXCJdLFxuICAgICAgICBmb3JtYXQ6IFtcImNhbWVsQ2FzZVwiLCBcIlBhc2NhbENhc2VcIl0sIC8vIGRlY29yYXRvcnMgbmVlZCBQYXNjYWxDYXNlXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzZWxlY3RvcjogXCJjbGFzc1wiLFxuICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzZWxlY3RvcjogXCJpbnRlcmZhY2VcIixcbiAgICAgICAgZm9ybWF0OiBbXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IFwidHlwZUFsaWFzXCIsXG4gICAgICAgIGZvcm1hdDogW1wiUGFzY2FsQ2FzZVwiXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNlbGVjdG9yOiBcInR5cGVQYXJhbWV0ZXJcIixcbiAgICAgICAgZm9ybWF0OiBbXCJVUFBFUl9DQVNFXCIsIFwiUGFzY2FsQ2FzZVwiXSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1hcnJheS1kZWxldGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWJhc2UtdG8tc3RyaW5nXCI6IFtcImVycm9yXCIsIHsgaWdub3JlZFR5cGVOYW1lczogW10gfV0sXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZGVwcmVjYXRlZFwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHVwbGljYXRlLWVudW0tdmFsdWVzXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBsaWNhdGUtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LW9iamVjdC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1leHRyYS1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4dHJhbmVvdXMtY2xhc3NcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWZsb2F0aW5nLXByb21pc2VzXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgaWdub3JlVm9pZDogZmFsc2UsXG4gICAgICB9LFxuICAgIF0sXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZm9yLWluLWFycmF5XCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1pbXBvcnQtdHlwZS1zaWRlLWVmZmVjdHNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWluZmVycmFibGUtdHlwZXNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWludmFsaWQtdm9pZC10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLW5ld1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWlzdXNlZC1wcm9taXNlc1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWl4ZWQtZW51bXNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5hbWVzcGFjZVwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0ZWQtbnVsbGlzaC1jb2FsZXNjaW5nXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRlZC1vcHRpb25hbC1jaGFpblwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1yZWR1bmRhbnQtdHlwZS1jb25zdGl0dWVudHNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1wiOiBcImVycm9yXCIsXG4gICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktYm9vbGVhbi1saXRlcmFsLWNvbXBhcmVcIjogXCJlcnJvclwiLCAvLyB1bnNhZmUgd2hlbiBgc3RyaWN0TnVsbENoZWNrc2AgaW4gdHNjb25maWcuanNvbiBpcyBkaXNhYmxlZFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktcGFyYW1ldGVyLXByb3BlcnR5LWFzc2lnbm1lbnRcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXRlbXBsYXRlLWV4cHJlc3Npb25cIjogXCJlcnJvclwiLCAvLyBqcyBhbHNvIG5lZWQgdGhpcyBydWxlXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hcmd1bWVudHNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWNvbnN0cmFpbnRcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1kZWNsYXJhdGlvbi1tZXJnaW5nXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZVwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXVuYXJ5LW1pbnVzXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby13cmFwcGVyLW9iamVjdC10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm9uLW51bGxhYmxlLXR5cGUtYXNzZXJ0aW9uLXN0eWxlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mb3Itb2ZcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mdW5jdGlvbi10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbGl0ZXJhbC1lbnVtLW1lbWJlclwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHlcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZXR1cm4tdGhpcy10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC1wbHVzLW9wZXJhbmRzXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICBhbGxvd051bGxpc2g6IGZhbHNlLFxuICAgICAgICBhbGxvd051bWJlckFuZFN0cmluZzogZmFsc2UsXG4gICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgc2tpcENvbXBvdW5kQXNzaWdubWVudHM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgYWxsb3c6IFtdLFxuICAgICAgICAvLyBhbGxvd0FueTogZmFsc2UsXG4gICAgICAgIGFsbG93Qm9vbGVhbjogZmFsc2UsXG4gICAgICAgIGFsbG93TmV2ZXI6IGZhbHNlLFxuICAgICAgICBhbGxvd051bGxpc2g6IGZhbHNlLFxuICAgICAgICBhbGxvd051bWJlcjogZmFsc2UsXG4gICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZWxhdGVkLWdldHRlci1zZXR0ZXItcGFpcnNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JldHVybi1hd2FpdFwiOiBbXCJlcnJvclwiLCBcImFsd2F5c1wiXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zd2l0Y2gtZXhoYXVzdGl2ZW5lc3MtY2hlY2tcIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAgeyByZXF1aXJlRGVmYXVsdEZvck5vblVuaW9uOiB0cnVlIH0sXG4gICAgXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvdHMvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFDbkMsT0FBTyxLQUFLLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLFFBQVEsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQy9CLG1DQUFtQztJQUNuQyxpREFBaUQ7SUFDakQsTUFBTSxnQkFBZ0IsR0FBRztRQUN2Qix3QkFBd0IsRUFBRSwyQ0FBMkM7UUFDckUsbUJBQW1CLEVBQUUsc0NBQXNDO1FBQzNELG9CQUFvQixFQUFFLHVDQUF1QztRQUM3RCxjQUFjLEVBQUUsaUNBQWlDO1FBQ2pELG1CQUFtQixFQUFFLHNDQUFzQztRQUMzRCxZQUFZLEVBQUUsK0JBQStCO1FBQzdDLHNCQUFzQixFQUFFLHlDQUF5QztRQUNqRSx1QkFBdUIsRUFBRSwwQ0FBMEM7UUFDbkUsbUJBQW1CLEVBQUUsc0NBQXNDO1FBQzNELGlCQUFpQixFQUFFLG9DQUFvQztRQUN2RCxpQkFBaUIsRUFBRSxvQ0FBb0M7UUFDdkQsY0FBYyxFQUFFLGlDQUFpQztRQUNqRCxzR0FBc0c7UUFDdEcsa0JBQWtCLEVBQUUscUNBQXFDO1FBQ3pELGNBQWMsRUFBRSxpQ0FBaUM7UUFDakQsdUJBQXVCLEVBQUUsMENBQTBDO1FBQ25FLFdBQVcsRUFBRSw4QkFBOEI7UUFDM0MsdUJBQXVCLEVBQUUsMENBQTBDO1FBQ25FLGdCQUFnQixFQUFFLG1DQUFtQztRQUNyRCxzQkFBc0IsRUFBRSx5Q0FBeUM7UUFDakUsd0JBQXdCLEVBQUUsMkNBQTJDO1FBQ3JFLGtCQUFrQixFQUFFLHFDQUFxQztRQUN6RCxzQkFBc0IsRUFBRSx5Q0FBeUM7UUFDakUsOEJB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bnRlbnQiOlsiaW1wb3J0IHByb2Nlc3MgZnJvbSBcIm5vZGU6cHJvY2Vzc1wiO1xuaW1wb3J0ICogYXMgZmVuZ2VUc1BsdWdpbiBmcm9tIFwiQGZlbmdlL2VzbGludC1wbHVnaW4tdHNcIjtcbmltcG9ydCB0c1BhcnNlciBmcm9tIFwiQHR5cGVzY3JpcHQtZXNsaW50L3BhcnNlclwiO1xuaW1wb3J0IHsganNCYXNlIH0gZnJvbSBcIi4uL2pzL2Jhc2UuanNcIjtcblxuY29uc3QgZ2V0VHNFeHRlbnNpb25SdWxlcyA9ICgpID0+IHtcbiAgLy8gS2V5IGlzIGpzIHJ1bGUsIHZhbHVlIGlzIHRzIHJ1bGVcbiAgLy8gaHR0cHM6Ly90eXBlc2NyaXB0LWVzbGludC5pby9ydWxlcy8/PWV4dGVuc2lvblxuICBjb25zdCBleHRlbnNpb25SdWxlTWFwID0ge1xuICAgIFwiY2xhc3MtbWV0aG9kcy11c2UtdGhpc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9jbGFzcy1tZXRob2RzLXVzZS10aGlzXCIsXG4gICAgXCJjb25zaXN0ZW50LXJldHVyblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXJldHVyblwiLFxuICAgIFwiZGVmYXVsdC1wYXJhbS1sYXN0XCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2RlZmF1bHQtcGFyYW0tbGFzdFwiLFxuICAgIFwiZG90LW5vdGF0aW9uXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvblwiLFxuICAgIFwiaW5pdC1kZWNsYXJhdGlvbnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvaW5pdC1kZWNsYXJhdGlvbnNcIixcbiAgICBcIm1heC1wYXJhbXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWF4LXBhcmFtc1wiLFxuICAgIFwibm8tYXJyYXktY29uc3RydWN0b3JcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYXJyYXktY29uc3RydWN0b3JcIixcbiAgICBcIm5vLWR1cGUtY2xhc3MtbWVtYmVyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBlLWNsYXNzLW1lbWJlcnNcIixcbiAgICBcIm5vLWVtcHR5LWZ1bmN0aW9uXCI6IFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXCIsXG4gICAgXCJuby1pbXBsaWVkLWV2YWxcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW1wbGllZC1ldmFsXCIsXG4gICAgXCJuby1pbnZhbGlkLXRoaXNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC10aGlzXCIsXG4gICAgXCJuby1sb29wLWZ1bmNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbG9vcC1mdW5jXCIsXG4gICAgLy8gXCJuby1sb3NzLW9mLXByZWNpc2lvblwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1sb3NzLW9mLXByZWNpc2lvblwiLCAvLyBUaGlzIHJ1bGUgaGFzIGJlZW4gZGVwcmVjYXRlZFxuICAgIFwibm8tbWFnaWMtbnVtYmVyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1tYWdpYy1udW1iZXJzXCIsXG4gICAgXCJuby1yZWRlY2xhcmVcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVkZWNsYXJlXCIsXG4gICAgXCJuby1yZXN0cmljdGVkLWltcG9ydHNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVzdHJpY3RlZC1pbXBvcnRzXCIsXG4gICAgXCJuby1zaGFkb3dcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XCIsXG4gICAgXCJuby11bnVzZWQtZXhwcmVzc2lvbnNcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXCIsXG4gICAgXCJuby11bnVzZWQtdmFyc1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1wiLFxuICAgIFwibm8tdXNlLWJlZm9yZS1kZWZpbmVcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlLWJlZm9yZS1kZWZpbmVcIixcbiAgICBcIm5vLXVzZWxlc3MtY29uc3RydWN0b3JcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdXNlbGVzcy1jb25zdHJ1Y3RvclwiLFxuICAgIFwibm8tdGhyb3ctbGl0ZXJhbFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9vbmx5LXRocm93LWVycm9yXCIsXG4gICAgXCJwcmVmZXItZGVzdHJ1Y3R1cmluZ1wiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItZGVzdHJ1Y3R1cmluZ1wiLFxuICAgIFwicHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1wiOlxuICAgICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLXByb21pc2UtcmVqZWN0LWVycm9yc1wiLFxuICAgIFwicmVxdWlyZS1hd2FpdFwiOiBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXF1aXJlLWF3YWl0XCIsXG4gICAgXCJuby1yZXR1cm4tYXdhaXRcIjogXCJAdHlwZXNjcmlwdC1lc2xpbnQvcmV0dXJuLWF3YWl0XCIsIC8vIG5vLXJldHVybi1hd2FpdCBoYXMgYmVlbiBkZXByZWNhdGVkXG4gIH0gYXMgY29uc3Q7XG5cbiAgdHlwZSBKczJUc1J1bGVNYXAgPSB0eXBlb2YgZXh0ZW5zaW9uUnVsZU1hcDtcbiAgdHlwZSBUczJKc1J1bGVNYXAgPSB7XG4gICAgW0sgaW4ga2V5b2YgSnMyVHNSdWxlTWFwIGFzIEpzMlRzUnVsZU1hcFtLXV06IEs7IC8vIHJldmVyc2VcbiAgfTtcblxuICB0eXBlIEpzRXh0ZW5zaW9uS2V5ID0gRXh0cmFjdDxrZXlvZiBKczJUc1J1bGVNYXAsIGtleW9mIHR5cGVvZiBqc0Jhc2UucnVsZXM+OyAvLyBFeHRyYWN0XG4gIHR5cGUgVHNFeHRlbnNpb25LZXkgPSBKczJUc1J1bGVNYXBbSnNFeHRlbnNpb25LZXldO1xuXG4gIHR5cGUgSnNSZXN1bHQgPSBSZWNvcmQ8SnNFeHRlbnNpb25LZXksIFwib2ZmXCI+O1xuICB0eXBlIFRzUmVzdWx0ID0ge1xuICAgIFtLZXkgaW4gVHNFeHRlbnNpb25LZXldOiAodHlwZW9mIGpzQmFzZS5ydWxlcylbVHMySnNSdWxlTWFwW0tleV1dO1xuICB9O1xuICB0eXBlIFJlc3VsdCA9IEpzUmVzdWx0ICYgVHNSZXN1bHQ7XG5cbiAgY29uc3QgaXNJbkV4dGVuc2lvblJ1bGVNYXAgPSAoXG4gICAga2V5OiBzdHJpbmcsXG4gICk6IGtleSBpcyBrZXlvZiB0eXBlb2YgZXh0ZW5zaW9uUnVsZU1hcCA9PiBrZXkgaW4gZXh0ZW5zaW9uUnVsZU1hcDtcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGpzQmFzZS5ydWxlcykucmVkdWNlKFxuICAgIChyZXN1bHQsIFtqc1J1bGVLZXksIGpzUnVsZVZhbHVlXSkgPT5cbiAgICAgIGlzSW5FeHRlbnNpb25SdWxlTWFwKGpzUnVsZUtleSlcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAuLi5yZXN1bHQsXG4gICAgICAgICAgICBbanNSdWxlS2V5XTogXCJvZmZcIixcbiAgICAgICAgICAgIFtleHRlbnNpb25SdWxlTWFwW2pzUnVsZUtleV1dOiBqc1J1bGVWYWx1ZSxcbiAgICAgICAgICB9XG4gICAgICAgIDogcmVzdWx0LFxuICAgIHt9IGFzIFJlc3VsdCxcbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0c0Jhc2UgPSB7XG4gIC4uLmpzQmFzZSxcbiAgbmFtZTogXCJmZW5nZS90eXBlc2NyaXB0XCIsXG4gIGZpbGVzOiBbXCIqKi8qLnt0cyxjdHMsbXRzLHRzeH1cIl0sXG4gIGxhbmd1YWdlT3B0aW9uczoge1xuICAgIC4uLmpzQmFzZS5sYW5ndWFnZU9wdGlvbnMsXG4gICAgcGFyc2VyOiB0c1BhcnNlciwgLy8gVW5mb3J0dW5hdGVseSBwYXJzZXIgY2Fubm90IGJlIGEgc3RyaW5nLiBFc2xpbnQgc2hvdWxkIHN1cHBvcnQgaXQuIGh0dHBzOi8vZXNsaW50Lm9yZy9kb2NzL2xhdGVzdC91c2UvY29uZmlndXJlL2NvbmZpZ3VyYXRpb24tZmlsZXMtbmV3I2NvbmZpZ3VyaW5nLWEtY3VzdG9tLXBhcnNlci1hbmQtaXRzLW9wdGlvbnNcbiAgICBwYXJzZXJPcHRpb25zOiB7XG4gICAgICAuLi5qc0Jhc2UubGFuZ3VhZ2VPcHRpb25zLnBhcnNlck9wdGlvbnMsXG4gICAgICB0c2NvbmZpZ1Jvb3REaXI6IHByb2Nlc3MuY3dkKCksXG4gICAgICAvLyBTZXR0aW5nIGBwcm9qZWN0U2VydmljZTogdHJ1ZWAgb3IgYHByb2plY3Q6IHRydWVgIGlzIHByZXR0eSBzbG93IHdoZW4gbGludCBhIG1vbm9yZXBvIHdpdGggbWFueSB0c2NvbmZpZy5qc29uIGZpbGVzIGluIGVhY2ggc3ViLWFwcC5cbiAgICAgIC8vIEZvciBhIGJldHRlciBwZXJmb3JtYW5jZSwgd2UgYXJlIHJlY29tbWVuZGVkIHVzaW5nIG9uZSB0c2NvbmZpZy5qc29uIGZpbGUgaW4gYSBwcm9qZWN0LlxuICAgICAgLy8gV2FpdGluZyBmb3IgdHlwZXNjcmlwdC1lc2xpbnQgdG8gb2ZmaWNpYWxseSBwcm92aWRlIGEgYmV0dGVyIHdheSB0byB1c2UgYHByb2plY3RTZXJ2aWNlYC5cbiAgICAgIHByb2plY3Q6IFwidHNjb25maWcuanNvblwiLFxuICAgIH0sXG4gIH0sXG4gIHBsdWdpbnM6IHtcbiAgICAuLi5qc0Jhc2UucGx1Z2lucyxcbiAgICBcIkBmZW5nZS10c1wiOiBmZW5nZVRzUGx1Z2luLFxuICB9LFxuICBydWxlczoge1xuICAgIC4uLmpzQmFzZS5ydWxlcyxcbiAgICAuLi5nZXRUc0V4dGVuc2lvblJ1bGVzKCksXG5cbiAgICAvLyBmZW5nZVxuICAgIFwiQGZlbmdlLXRzL2V4YWN0LW1hcC1zZXQtdHlwZVwiOiBcImVycm9yXCIsXG4gICAgXCJAZmVuZ2UtdHMvbm8tY29uc3QtZW51bVwiOiBcImVycm9yXCIsXG4gICAgXCJAZmVuZ2UtdHMvbm8tZGVjbGFyZXMtaW4tdHMtZmlsZVwiOiBcImVycm9yXCIsXG4gICAgXCJAZmVuZ2UtdHMvbm8tZXhwb3J0LWFzc2lnbm1lbnRcIjogXCJlcnJvclwiLFxuICAgIFwiQGZlbmdlLXRzL25vLXByb3BlcnR5LWRlY29yYXRvclwiOiBcImVycm9yXCIsXG4gICAgXCJAZmVuZ2UtdHMvbm8tdW50eXBlZC1lbXB0eS1hcnJheVwiOiBcImVycm9yXCIsXG4gICAgLy8gdHlwZXNjcmlwdFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FkamFjZW50LW92ZXJsb2FkLXNpZ25hdHVyZXNcIjogXCJlcnJvclwiLFxuICAgIC8vIFwiQHR5cGVzY3JpcHQtZXNsaW50L2FycmF5LXR5cGVcIjogW1wiZXJyb3JcIiwgJ2FycmF5LXNpbXBsZSddLCAvLyBUaGUgZGVmYXVsdCBvcHRpb24gaXMgJ2FycmF5Jy4gTm90IHZlcnkgc3VyZSBpZiB3ZSBuZWVkIHRvIGNoYW5nZSB0aGUgb3B0aW9uLiBTbyBkaXNhYmxlZCBpdC5cbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9hd2FpdC10aGVuYWJsZVwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1nZW5lcmljLWNvbnN0cnVjdG9yc1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC1pbmRleGVkLW9iamVjdC1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWFzc2VydGlvbnNcIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAge1xuICAgICAgICBhc3NlcnRpb25TdHlsZTogXCJhc1wiLFxuICAgICAgICBvYmplY3RMaXRlcmFsVHlwZUFzc2VydGlvbnM6IFwiYWxsb3ctYXMtcGFyYW1ldGVyXCIsXG4gICAgICB9LFxuICAgIF0sXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvY29uc2lzdGVudC10eXBlLWRlZmluaXRpb25zXCI6IFtcImVycm9yXCIsIFwiaW50ZXJmYWNlXCJdLCAvLyBUT0RPIHNob3VsZCB3ZSBjaGFuZ2UgdG8gJ3R5cGUnP1xuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1leHBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9jb25zaXN0ZW50LXR5cGUtaW1wb3J0c1wiOiBcImVycm9yLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L2RvdC1ub3RhdGlvblwiOiBbXCJlcnJvclwiLCB7IGFsbG93S2V5d29yZHM6IHRydWUgfV0sXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZVwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAge1xuICAgICAgICBzZWxlY3RvcjogXCJmdW5jdGlvblwiLFxuICAgICAgICBmb3JtYXQ6IFtcImNhbWVsQ2FzZVwiLCBcIlBhc2NhbENhc2VcIl0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzZWxlY3RvcjogXCJ2YXJpYWJsZVwiLFxuICAgICAgICB0eXBlczogW1wiZnVuY3Rpb25cIl0sXG4gICAgICAgIGZvcm1hdDogW1wiY2FtZWxDYXNlXCIsIFwiUGFzY2FsQ2FzZVwiXSwgLy8gZGVjb3JhdG9ycyBuZWVkIFBhc2NhbENhc2VcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNlbGVjdG9yOiBcImNsYXNzXCIsXG4gICAgICAgIGZvcm1hdDogW1wiUGFzY2FsQ2FzZVwiXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHNlbGVjdG9yOiBcImludGVyZmFjZVwiLFxuICAgICAgICBmb3JtYXQ6IFtcIlBhc2NhbENhc2VcIl0sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBzZWxlY3RvcjogXCJ0eXBlQWxpYXNcIixcbiAgICAgICAgZm9ybWF0OiBbXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgc2VsZWN0b3I6IFwidHlwZVBhcmFtZXRlclwiLFxuICAgICAgICBmb3JtYXQ6IFtcIlVQUEVSX0NBU0VcIiwgXCJQYXNjYWxDYXNlXCJdLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWFycmF5LWRlbGV0ZVwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tYmFzZS10by1zdHJpbmdcIjogW1wiZXJyb3JcIiwgeyBpZ25vcmVkVHlwZU5hbWVzOiBbXSB9XSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctbm9uLW51bGwtYXNzZXJ0aW9uXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kZXByZWNhdGVkXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBsaWNhdGUtZW51bS12YWx1ZXNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktb2JqZWN0LXR5cGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4dHJhLW5vbi1udWxsLWFzc2VydGlvblwiOiBcImVycm9yXCIsXG4gICAgLy8gXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXh0cmFuZW91cy1jbGFzc1wiOiBcImVycm9yXCIsIC8vIENsYXNzZXMgaGF2ZSBvbmx5IHN0YXRpYyBtZW1iZXIgaXMgcmVhc29uYWJsZSBzb21ldGltZXMuXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZmxvYXRpbmctcHJvbWlzZXNcIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAge1xuICAgICAgICBpZ25vcmVWb2lkOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1mb3ItaW4tYXJyYXlcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLWltcG9ydC10eXBlLXNpZGUtZWZmZWN0c1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW5mZXJyYWJsZS10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtbmV3XCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1taXhlZC1lbnVtc1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRlZC1udWxsaXNoLWNvYWxlc2NpbmdcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGVkLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlZHVuZGFudC10eXBlLWNvbnN0aXR1ZW50c1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXCI6IFwiZXJyb3JcIixcbiAgICAvLyBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1ib29sZWFuLWxpdGVyYWwtY29tcGFyZVwiOiBcImVycm9yXCIsIC8vIHVuc2FmZSB3aGVuIGBzdHJpY3ROdWxsQ2hlY2tzYCBpbiB0c2NvbmZpZy5qc29uIGlzIGRpc2FibGVkXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1wYXJhbWV0ZXItcHJvcGVydHktYXNzaWdubWVudFwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdGVtcGxhdGUtZXhwcmVzc2lvblwiOiBcImVycm9yXCIsIC8vIGpzIGFsc28gbmVlZCB0aGlzIHJ1bGVcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFyZ3VtZW50c1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb25cIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtY29uc3RyYWludFwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWRlY2xhcmF0aW9uLW1lcmdpbmdcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb25cIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtcmV0dXJuXCI6IFwiZXJyb3JcIiwgLy8gVGhpcyBydWxlIGlzIG5vdCB2ZXJ5IHBlcmZlY3QuIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHlwZXNjcmlwdC1lc2xpbnQvdHlwZXNjcmlwdC1lc2xpbnQvaXNzdWVzLzEwNDM5XG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXVuYXJ5LW1pbnVzXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9uby13cmFwcGVyLW9iamVjdC10eXBlc1wiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvbm9uLW51bGxhYmxlLXR5cGUtYXNzZXJ0aW9uLXN0eWxlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItYXMtY29uc3RcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1mdW5jdGlvbi10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbGl0ZXJhbC1lbnVtLW1lbWJlclwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW9wdGlvbmFsLWNoYWluXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItcmVhZG9ubHlcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3ByZWZlci1yZXR1cm4tdGhpcy10eXBlXCI6IFwiZXJyb3JcIixcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC1wbHVzLW9wZXJhbmRzXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgLy8gYWxsb3dBbnk6IGZhbHNlLFxuICAgICAgICBhbGxvd0Jvb2xlYW46IGZhbHNlLFxuICAgICAgICBhbGxvd051bGxpc2g6IGZhbHNlLFxuICAgICAgICBhbGxvd051bWJlckFuZFN0cmluZzogZmFsc2UsXG4gICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgICAgc2tpcENvbXBvdW5kQXNzaWdubWVudHM6IGZhbHNlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3Jlc3RyaWN0LXRlbXBsYXRlLWV4cHJlc3Npb25zXCI6IFtcbiAgICAgIFwiZXJyb3JcIixcbiAgICAgIHtcbiAgICAgICAgYWxsb3c6IFtdLFxuICAgICAgICAvLyBhbGxvd0FueTogZmFsc2UsXG4gICAgICAgIGFsbG93Qm9vbGVhbjogZmFsc2UsXG4gICAgICAgIGFsbG93TmV2ZXI6IGZhbHNlLFxuICAgICAgICBhbGxvd051bGxpc2g6IGZhbHNlLFxuICAgICAgICBhbGxvd051bWJlcjogZmFsc2UsXG4gICAgICAgIGFsbG93UmVnRXhwOiBmYWxzZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9yZWxhdGVkLWdldHRlci1zZXR0ZXItcGFpcnNcIjogXCJlcnJvclwiLFxuICAgIFwiQHR5cGVzY3JpcHQtZXNsaW50L3JldHVybi1hd2FpdFwiOiBbXCJlcnJvclwiLCBcImFsd2F5c1wiXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC9zd2l0Y2gtZXhoYXVzdGl2ZW5lc3MtY2hlY2tcIjogW1xuICAgICAgXCJlcnJvclwiLFxuICAgICAgeyByZXF1aXJlRGVmYXVsdEZvck5vblVuaW9uOiB0cnVlIH0sXG4gICAgXSxcbiAgICBcIkB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFwiOiBcImVycm9yXCIsXG4gICAgXCJAdHlwZXNjcmlwdC1lc2xpbnQvdW5pZmllZC1zaWduYXR1cmVzXCI6IFwiZXJyb3JcIixcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -427,7 +427,6 @@ export declare function typescript(): readonly [{
427
427
  readonly "@fenge-ts/no-untyped-empty-array": "error";
428
428
  readonly "@typescript-eslint/adjacent-overload-signatures": "error";
429
429
  readonly "@typescript-eslint/await-thenable": "error";
430
- readonly "@typescript-eslint/class-literal-property-style": "error";
431
430
  readonly "@typescript-eslint/consistent-generic-constructors": "error";
432
431
  readonly "@typescript-eslint/consistent-indexed-object-style": "error";
433
432
  readonly "@typescript-eslint/consistent-type-assertions": readonly ["error", {
@@ -470,7 +469,6 @@ export declare function typescript(): readonly [{
470
469
  readonly "@typescript-eslint/no-duplicate-type-constituents": "error";
471
470
  readonly "@typescript-eslint/no-empty-object-type": "error";
472
471
  readonly "@typescript-eslint/no-extra-non-null-assertion": "error";
473
- readonly "@typescript-eslint/no-extraneous-class": "error";
474
472
  readonly "@typescript-eslint/no-floating-promises": readonly ["error", {
475
473
  readonly ignoreVoid: false;
476
474
  }];
@@ -487,7 +485,6 @@ export declare function typescript(): readonly [{
487
485
  readonly "@typescript-eslint/no-non-null-assertion": "error";
488
486
  readonly "@typescript-eslint/no-redundant-type-constituents": "error";
489
487
  readonly "@typescript-eslint/no-require-imports": "error";
490
- readonly "@typescript-eslint/no-this-alias": "error";
491
488
  readonly "@typescript-eslint/no-unnecessary-condition": "error";
492
489
  readonly "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error";
493
490
  readonly "@typescript-eslint/no-unnecessary-template-expression": "error";
@@ -502,7 +499,6 @@ export declare function typescript(): readonly [{
502
499
  readonly "@typescript-eslint/no-wrapper-object-types": "error";
503
500
  readonly "@typescript-eslint/non-nullable-type-assertion-style": "error";
504
501
  readonly "@typescript-eslint/prefer-as-const": "error";
505
- readonly "@typescript-eslint/prefer-for-of": "error";
506
502
  readonly "@typescript-eslint/prefer-function-type": "error";
507
503
  readonly "@typescript-eslint/prefer-literal-enum-member": "error";
508
504
  readonly "@typescript-eslint/prefer-optional-chain": "error";
@@ -768,7 +764,10 @@ export declare function typescript(): readonly [{
768
764
  readonly "ts-ignore": true;
769
765
  readonly "ts-nocheck": true;
770
766
  }];
767
+ readonly "@typescript-eslint/class-literal-property-style": "error";
768
+ readonly "@typescript-eslint/no-this-alias": "error";
771
769
  readonly "@typescript-eslint/no-useless-empty-export": "error";
770
+ readonly "@typescript-eslint/prefer-for-of": "error";
772
771
  readonly 'no-var': "error";
773
772
  readonly 'object-shorthand': readonly ["error", "properties"];
774
773
  readonly 'accessor-pairs': readonly ["error", {
@@ -854,7 +853,6 @@ export declare function typescript(): readonly [{
854
853
  readonly 'no-sequences': "error";
855
854
  readonly 'no-shadow-restricted-names': "error";
856
855
  readonly 'no-sparse-arrays': "error";
857
- readonly 'no-template-curly-in-string': "error";
858
856
  readonly 'no-this-before-super': "error";
859
857
  readonly 'no-undef': "error";
860
858
  readonly 'no-unmodified-loop-condition': "error";
@@ -1 +1 @@
1
- {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/config/typescript.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typescript.d.ts","sourceRoot":"","sources":["../../src/config/typescript.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type LinterOptions } from "./config/base.js";
1
2
  import { javascript } from "./config/javascript.js";
2
3
  import { packagejson } from "./config/packagejson.js";
3
4
  import { typescript } from "./config/typescript.js";
@@ -12,11 +13,12 @@ type PkgRuleKey = keyof ReturnType<typeof packagejson>[0]["rules"];
12
13
  interface Options<T extends string[]> {
13
14
  pick?: NoDuplicate<T>;
14
15
  omit?: NoDuplicate<T>;
15
- extend?: Record<string, "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]>;
16
- override?: Partial<Record<T[number], "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]>>;
16
+ append?: Partial<Record<T[number], "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]>> | Record<string, "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]>;
17
17
  }
18
+ export type BuilderOptions = LinterOptions;
18
19
  export declare class Builder {
19
20
  private readonly configs;
21
+ constructor(options?: BuilderOptions);
20
22
  toConfig(): object[];
21
23
  private setup;
22
24
  enableTypescript<T extends TsRuleKey[]>(options?: Options<T>): this;
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../src/eslint.config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,KAAK,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS;SAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK;KACvE,CAAC,MAAM,CAAC,GACL,KAAK,GACL,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnE,UAAU,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CACb,MAAM,EACN,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAC5D,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAChB,MAAM,CACJ,CAAC,CAAC,MAAM,CAAC,EACT,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAC5D,CACF,CAAC;CACH;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IAEjD,QAAQ;IAIR,OAAO,CAAC,KAAK;IAqDb,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;CAGnE;;AAED,wBAIc"}
1
+ {"version":3,"file":"eslint.config.d.ts","sourceRoot":"","sources":["../src/eslint.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,KAAK,WAAW,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI;KACrC,CAAC,IAAI,MAAM,CAAC,GAAG,IAAI,SAAS;SAC1B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,KAAK;KACvE,CAAC,MAAM,CAAC,GACL,KAAK,GACL,CAAC,CAAC,CAAC,CAAC;CACT,CAAC;AAEF,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,SAAS,GAAG,MAAM,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,KAAK,UAAU,GAAG,MAAM,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAEnE,UAAU,OAAO,CAAC,CAAC,SAAS,MAAM,EAAE;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IACtB,MAAM,CAAC,EACH,OAAO,CACL,MAAM,CACJ,CAAC,CAAC,MAAM,CAAC,EACT,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAC5D,CACF,GACD,MAAM,CACJ,MAAM,EACN,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAC5D,CAAC;CACP;AAED,MAAM,MAAM,cAAc,GAAG,aAAa,CAAC;AAC3C,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgB;gBAE5B,OAAO,GAAE,cAAmB;IAIxC,QAAQ;IAIR,OAAO,CAAC,KAAK;IA4Bb,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;IAIhE,iBAAiB,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,OAAO,GAAE,OAAO,CAAC,CAAC,CAAM;CAGnE;;AAED,wBAIc"}
@@ -3,11 +3,14 @@ import { javascript } from "./config/javascript.js";
3
3
  import { packagejson } from "./config/packagejson.js";
4
4
  import { typescript } from "./config/typescript.js";
5
5
  export class Builder {
6
- configs = [...base()];
6
+ configs = [];
7
+ constructor(options = {}) {
8
+ this.configs.push(...base(options));
9
+ }
7
10
  toConfig() {
8
11
  return this.configs;
9
12
  }
10
- setup([mainConfig, ...otherConfigs], { pick, omit, extend = {}, override = {} }) {
13
+ setup([mainConfig, ...otherConfigs], { pick, omit, append = {} }) {
11
14
  const select = (ruleKey) => {
12
15
  if (!pick && !omit) {
13
16
  return true;
@@ -23,30 +26,7 @@ export class Builder {
23
26
  }
24
27
  };
25
28
  const rules = Object.fromEntries(Object.entries(mainConfig.rules).filter(([ruleKey]) => select(ruleKey)));
26
- // check `override` field
27
- Object.keys(override).forEach((key) => {
28
- if (!(key in rules)) {
29
- throw new Error(`The overriding rule key ${key} is not existing.`);
30
- }
31
- });
32
- // check `extend` field
33
- Object.keys(extend).forEach((key) => {
34
- if (key in rules) {
35
- throw new Error(`The extending rule key ${key} is already existing.`);
36
- }
37
- if (key.includes("/")) {
38
- const pluginName = key.split("/")[0];
39
- if (!pluginName)
40
- throw new Error(`The extending rule key '${key}' is invalid`);
41
- if (!(pluginName in mainConfig.plugins)) {
42
- const supportedPlugins = Object.keys(mainConfig.plugins)
43
- .map((k) => `'${k}'`)
44
- .join(",");
45
- throw new Error(`The plugin name '${pluginName}' of extending rule key '${key}' is not supported. Only ${supportedPlugins} plugins are supported.`);
46
- }
47
- }
48
- });
49
- this.configs.push({ ...mainConfig, rules: { ...rules, ...override, ...extend } }, ...otherConfigs);
29
+ this.configs.push({ ...mainConfig, rules: { ...rules, ...append } }, ...otherConfigs);
50
30
  return this;
51
31
  }
52
32
  enableTypescript(options = {}) {
@@ -64,4 +44,4 @@ export default new Builder()
64
44
  .enableJavascript()
65
45
  .enableTypescript()
66
46
  .toConfig();
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2xpbnQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQTZCcEQsTUFBTSxPQUFPLE9BQU87SUFDRCxPQUFPLEdBQWEsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7SUFFakQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU8sS0FBSyxDQUNYLENBQUMsVUFBVSxFQUFFLEdBQUcsWUFBWSxDQUczQixFQUNELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQXFCO1FBRTdELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNuQixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7aUJBQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLENBQUM7aUJBQU0sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3hFLENBQUM7UUFDRix5QkFBeUI7UUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDcEIsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsR0FBRyxtQkFBbUIsQ0FBQyxDQUFDO1lBQ3JFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILHVCQUF1QjtRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2xDLElBQUksR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixHQUFHLHVCQUF1QixDQUFDLENBQUM7WUFDeEUsQ0FBQztZQUNELElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUN0QixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsVUFBVTtvQkFDYixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixHQUFHLGNBQWMsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO3lCQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7eUJBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDYixNQUFNLElBQUksS0FBSyxDQUNiLG9CQUFvQixVQUFVLDRCQUE0QixHQUFHLDRCQUE0QixnQkFBZ0IseUJBQXlCLENBQ25JLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmLEVBQUUsR0FBRyxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsR0FBRyxRQUFRLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxFQUM5RCxHQUFHLFlBQVksQ0FDaEIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQixDQUF3QixVQUFzQixFQUFFO1FBQzlELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsZ0JBQWdCLENBQXdCLFVBQXNCLEVBQUU7UUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxpQkFBaUIsQ0FBeUIsVUFBc0IsRUFBRTtRQUNoRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBRUQsZUFBZSxJQUFJLE9BQU8sRUFBRTtLQUN6QixpQkFBaUIsRUFBRTtLQUNuQixnQkFBZ0IsRUFBRTtLQUNsQixnQkFBZ0IsRUFBRTtLQUNsQixRQUFRLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJhc2UgfSBmcm9tIFwiLi9jb25maWcvYmFzZS5qc1wiO1xuaW1wb3J0IHsgamF2YXNjcmlwdCB9IGZyb20gXCIuL2NvbmZpZy9qYXZhc2NyaXB0LmpzXCI7XG5pbXBvcnQgeyBwYWNrYWdlanNvbiB9IGZyb20gXCIuL2NvbmZpZy9wYWNrYWdlanNvbi5qc1wiO1xuaW1wb3J0IHsgdHlwZXNjcmlwdCB9IGZyb20gXCIuL2NvbmZpZy90eXBlc2NyaXB0LmpzXCI7XG5cbnR5cGUgTm9EdXBsaWNhdGU8QSBleHRlbmRzIHVua25vd25bXT4gPSB7XG4gIFtJIGluIGtleW9mIEFdOiB0cnVlIGV4dGVuZHMge1xuICAgIFtKIGluIGtleW9mIEFdOiBKIGV4dGVuZHMgSSA/IGZhbHNlIDogQVtKXSBleHRlbmRzIEFbSV0gPyB0cnVlIDogZmFsc2U7XG4gIH1bbnVtYmVyXVxuICAgID8gbmV2ZXJcbiAgICA6IEFbSV07XG59O1xuXG50eXBlIEpzUnVsZUtleSA9IGtleW9mIFJldHVyblR5cGU8dHlwZW9mIGphdmFzY3JpcHQ+WzBdW1wicnVsZXNcIl07XG50eXBlIFRzUnVsZUtleSA9IGtleW9mIFJldHVyblR5cGU8dHlwZW9mIHR5cGVzY3JpcHQ+WzBdW1wicnVsZXNcIl07XG50eXBlIFBrZ1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiBwYWNrYWdlanNvbj5bMF1bXCJydWxlc1wiXTtcblxuaW50ZXJmYWNlIE9wdGlvbnM8VCBleHRlbmRzIHN0cmluZ1tdPiB7XG4gIHBpY2s/OiBOb0R1cGxpY2F0ZTxUPjtcbiAgb21pdD86IE5vRHVwbGljYXRlPFQ+O1xuICBleHRlbmQ/OiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIFwiZXJyb3JcIiB8IFwid2FyblwiIHwgXCJvZmZcIiB8IFtcImVycm9yXCIgfCBcIndhcm5cIiwgLi4udW5rbm93bltdXVxuICA+O1xuICBvdmVycmlkZT86IFBhcnRpYWw8XG4gICAgUmVjb3JkPFxuICAgICAgVFtudW1iZXJdLFxuICAgICAgXCJlcnJvclwiIHwgXCJ3YXJuXCIgfCBcIm9mZlwiIHwgW1wiZXJyb3JcIiB8IFwid2FyblwiLCAuLi51bmtub3duW11dXG4gICAgPlxuICA+O1xufVxuXG5leHBvcnQgY2xhc3MgQnVpbGRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnczogb2JqZWN0W10gPSBbLi4uYmFzZSgpXTtcblxuICB0b0NvbmZpZygpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdzO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cChcbiAgICBbbWFpbkNvbmZpZywgLi4ub3RoZXJDb25maWdzXTogcmVhZG9ubHkgW1xuICAgICAgeyBwbHVnaW5zOiBvYmplY3Q7IHJ1bGVzOiBvYmplY3QgfSxcbiAgICAgIC4uLm9iamVjdFtdLFxuICAgIF0sXG4gICAgeyBwaWNrLCBvbWl0LCBleHRlbmQgPSB7fSwgb3ZlcnJpZGUgPSB7fSB9OiBPcHRpb25zPHN0cmluZ1tdPixcbiAgKSB7XG4gICAgY29uc3Qgc2VsZWN0ID0gKHJ1bGVLZXk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFwaWNrICYmICFvbWl0KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIGlmIChwaWNrICYmICFvbWl0KSB7XG4gICAgICAgIHJldHVybiBwaWNrLmluY2x1ZGVzKHJ1bGVLZXkpO1xuICAgICAgfSBlbHNlIGlmICghcGljayAmJiBvbWl0KSB7XG4gICAgICAgIHJldHVybiAhb21pdC5pbmNsdWRlcyhydWxlS2V5KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3Qgc3BlY2lmeSBib3RoIHBpY2sgYW5kIG9taXRcIik7XG4gICAgICB9XG4gICAgfTtcbiAgICBjb25zdCBydWxlcyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKG1haW5Db25maWcucnVsZXMpLmZpbHRlcigoW3J1bGVLZXldKSA9PiBzZWxlY3QocnVsZUtleSkpLFxuICAgICk7XG4gICAgLy8gY2hlY2sgYG92ZXJyaWRlYCBmaWVsZFxuICAgIE9iamVjdC5rZXlzKG92ZXJyaWRlKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmICghKGtleSBpbiBydWxlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgb3ZlcnJpZGluZyBydWxlIGtleSAke2tleX0gaXMgbm90IGV4aXN0aW5nLmApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIC8vIGNoZWNrIGBleHRlbmRgIGZpZWxkXG4gICAgT2JqZWN0LmtleXMoZXh0ZW5kKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGlmIChrZXkgaW4gcnVsZXMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgZXh0ZW5kaW5nIHJ1bGUga2V5ICR7a2V5fSBpcyBhbHJlYWR5IGV4aXN0aW5nLmApO1xuICAgICAgfVxuICAgICAgaWYgKGtleS5pbmNsdWRlcyhcIi9cIikpIHtcbiAgICAgICAgY29uc3QgcGx1Z2luTmFtZSA9IGtleS5zcGxpdChcIi9cIilbMF07XG4gICAgICAgIGlmICghcGx1Z2luTmFtZSlcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBleHRlbmRpbmcgcnVsZSBrZXkgJyR7a2V5fScgaXMgaW52YWxpZGApO1xuICAgICAgICBpZiAoIShwbHVnaW5OYW1lIGluIG1haW5Db25maWcucGx1Z2lucykpIHtcbiAgICAgICAgICBjb25zdCBzdXBwb3J0ZWRQbHVnaW5zID0gT2JqZWN0LmtleXMobWFpbkNvbmZpZy5wbHVnaW5zKVxuICAgICAgICAgICAgLm1hcCgoaykgPT4gYCcke2t9J2ApXG4gICAgICAgICAgICAuam9pbihcIixcIik7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFRoZSBwbHVnaW4gbmFtZSAnJHtwbHVnaW5OYW1lfScgb2YgZXh0ZW5kaW5nIHJ1bGUga2V5ICcke2tleX0nIGlzIG5vdCBzdXBwb3J0ZWQuIE9ubHkgJHtzdXBwb3J0ZWRQbHVnaW5zfSBwbHVnaW5zIGFyZSBzdXBwb3J0ZWQuYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5jb25maWdzLnB1c2goXG4gICAgICB7IC4uLm1haW5Db25maWcsIHJ1bGVzOiB7IC4uLnJ1bGVzLCAuLi5vdmVycmlkZSwgLi4uZXh0ZW5kIH0gfSxcbiAgICAgIC4uLm90aGVyQ29uZmlncyxcbiAgICApO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgZW5hYmxlVHlwZXNjcmlwdDxUIGV4dGVuZHMgVHNSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnNldHVwKHR5cGVzY3JpcHQoKSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmFibGVKYXZhc2NyaXB0PFQgZXh0ZW5kcyBKc1J1bGVLZXlbXT4ob3B0aW9uczogT3B0aW9uczxUPiA9IHt9KSB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dXAoamF2YXNjcmlwdCgpLCBvcHRpb25zKTtcbiAgfVxuXG4gIGVuYWJsZVBhY2thZ2Vqc29uPFQgZXh0ZW5kcyBQa2dSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnNldHVwKHBhY2thZ2Vqc29uKCksIG9wdGlvbnMpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBCdWlsZGVyKClcbiAgLmVuYWJsZVBhY2thZ2Vqc29uKClcbiAgLmVuYWJsZUphdmFzY3JpcHQoKVxuICAuZW5hYmxlVHlwZXNjcmlwdCgpXG4gIC50b0NvbmZpZygpO1xuIl19
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNsaW50LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9lc2xpbnQuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sa0JBQWtCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUErQnBELE1BQU0sT0FBTyxPQUFPO0lBQ0QsT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUV4QyxZQUFZLFVBQTBCLEVBQUU7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRU8sS0FBSyxDQUNYLENBQUMsVUFBVSxFQUFFLEdBQUcsWUFBWSxDQUczQixFQUNELEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEdBQUcsRUFBRSxFQUFxQjtRQUU5QyxNQUFNLE1BQU0sR0FBRyxDQUFDLE9BQWUsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDbkIsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO2lCQUFNLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7WUFDM0QsQ0FBQztRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQzlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUN4RSxDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ2YsRUFBRSxHQUFHLFVBQVUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLE1BQU0sRUFBRSxFQUFFLEVBQ2pELEdBQUcsWUFBWSxDQUNoQixDQUFDO1FBQ0YsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsZ0JBQWdCLENBQXdCLFVBQXNCLEVBQUU7UUFDOUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBd0IsVUFBc0IsRUFBRTtRQUM5RCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELGlCQUFpQixDQUF5QixVQUFzQixFQUFFO1FBQ2hFLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0NBQ0Y7QUFFRCxlQUFlLElBQUksT0FBTyxFQUFFO0tBQ3pCLGlCQUFpQixFQUFFO0tBQ25CLGdCQUFnQixFQUFFO0tBQ2xCLGdCQUFnQixFQUFFO0tBQ2xCLFFBQVEsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZSwgdHlwZSBMaW50ZXJPcHRpb25zIH0gZnJvbSBcIi4vY29uZmlnL2Jhc2UuanNcIjtcbmltcG9ydCB7IGphdmFzY3JpcHQgfSBmcm9tIFwiLi9jb25maWcvamF2YXNjcmlwdC5qc1wiO1xuaW1wb3J0IHsgcGFja2FnZWpzb24gfSBmcm9tIFwiLi9jb25maWcvcGFja2FnZWpzb24uanNcIjtcbmltcG9ydCB7IHR5cGVzY3JpcHQgfSBmcm9tIFwiLi9jb25maWcvdHlwZXNjcmlwdC5qc1wiO1xuXG50eXBlIE5vRHVwbGljYXRlPEEgZXh0ZW5kcyB1bmtub3duW10+ID0ge1xuICBbSSBpbiBrZXlvZiBBXTogdHJ1ZSBleHRlbmRzIHtcbiAgICBbSiBpbiBrZXlvZiBBXTogSiBleHRlbmRzIEkgPyBmYWxzZSA6IEFbSl0gZXh0ZW5kcyBBW0ldID8gdHJ1ZSA6IGZhbHNlO1xuICB9W251bWJlcl1cbiAgICA/IG5ldmVyXG4gICAgOiBBW0ldO1xufTtcblxudHlwZSBKc1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiBqYXZhc2NyaXB0PlswXVtcInJ1bGVzXCJdO1xudHlwZSBUc1J1bGVLZXkgPSBrZXlvZiBSZXR1cm5UeXBlPHR5cGVvZiB0eXBlc2NyaXB0PlswXVtcInJ1bGVzXCJdO1xudHlwZSBQa2dSdWxlS2V5ID0ga2V5b2YgUmV0dXJuVHlwZTx0eXBlb2YgcGFja2FnZWpzb24+WzBdW1wicnVsZXNcIl07XG5cbmludGVyZmFjZSBPcHRpb25zPFQgZXh0ZW5kcyBzdHJpbmdbXT4ge1xuICBwaWNrPzogTm9EdXBsaWNhdGU8VD47XG4gIG9taXQ/OiBOb0R1cGxpY2F0ZTxUPjtcbiAgYXBwZW5kPzpcbiAgICB8IFBhcnRpYWw8XG4gICAgICAgIFJlY29yZDxcbiAgICAgICAgICBUW251bWJlcl0sXG4gICAgICAgICAgXCJlcnJvclwiIHwgXCJ3YXJuXCIgfCBcIm9mZlwiIHwgW1wiZXJyb3JcIiB8IFwid2FyblwiLCAuLi51bmtub3duW11dXG4gICAgICAgID5cbiAgICAgID5cbiAgICB8IFJlY29yZDxcbiAgICAgICAgc3RyaW5nLFxuICAgICAgICBcImVycm9yXCIgfCBcIndhcm5cIiB8IFwib2ZmXCIgfCBbXCJlcnJvclwiIHwgXCJ3YXJuXCIsIC4uLnVua25vd25bXV1cbiAgICAgID47XG59XG5cbmV4cG9ydCB0eXBlIEJ1aWxkZXJPcHRpb25zID0gTGludGVyT3B0aW9ucztcbmV4cG9ydCBjbGFzcyBCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdzOiBvYmplY3RbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEJ1aWxkZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmNvbmZpZ3MucHVzaCguLi5iYXNlKG9wdGlvbnMpKTtcbiAgfVxuXG4gIHRvQ29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ3M7XG4gIH1cblxuICBwcml2YXRlIHNldHVwKFxuICAgIFttYWluQ29uZmlnLCAuLi5vdGhlckNvbmZpZ3NdOiByZWFkb25seSBbXG4gICAgICB7IHBsdWdpbnM6IG9iamVjdDsgcnVsZXM6IG9iamVjdCB9LFxuICAgICAgLi4ub2JqZWN0W10sXG4gICAgXSxcbiAgICB7IHBpY2ssIG9taXQsIGFwcGVuZCA9IHt9IH06IE9wdGlvbnM8c3RyaW5nW10+LFxuICApIHtcbiAgICBjb25zdCBzZWxlY3QgPSAocnVsZUtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIXBpY2sgJiYgIW9taXQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2UgaWYgKHBpY2sgJiYgIW9taXQpIHtcbiAgICAgICAgcmV0dXJuIHBpY2suaW5jbHVkZXMocnVsZUtleSk7XG4gICAgICB9IGVsc2UgaWYgKCFwaWNrICYmIG9taXQpIHtcbiAgICAgICAgcmV0dXJuICFvbWl0LmluY2x1ZGVzKHJ1bGVLZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91IGNhbm5vdCBzcGVjaWZ5IGJvdGggcGljayBhbmQgb21pdFwiKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IHJ1bGVzID0gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LmVudHJpZXMobWFpbkNvbmZpZy5ydWxlcykuZmlsdGVyKChbcnVsZUtleV0pID0+IHNlbGVjdChydWxlS2V5KSksXG4gICAgKTtcbiAgICB0aGlzLmNvbmZpZ3MucHVzaChcbiAgICAgIHsgLi4ubWFpbkNvbmZpZywgcnVsZXM6IHsgLi4ucnVsZXMsIC4uLmFwcGVuZCB9IH0sXG4gICAgICAuLi5vdGhlckNvbmZpZ3MsXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGVuYWJsZVR5cGVzY3JpcHQ8VCBleHRlbmRzIFRzUnVsZUtleVtdPihvcHRpb25zOiBPcHRpb25zPFQ+ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXR1cCh0eXBlc2NyaXB0KCksIG9wdGlvbnMpO1xuICB9XG5cbiAgZW5hYmxlSmF2YXNjcmlwdDxUIGV4dGVuZHMgSnNSdWxlS2V5W10+KG9wdGlvbnM6IE9wdGlvbnM8VD4gPSB7fSkge1xuICAgIHJldHVybiB0aGlzLnNldHVwKGphdmFzY3JpcHQoKSwgb3B0aW9ucyk7XG4gIH1cblxuICBlbmFibGVQYWNrYWdlanNvbjxUIGV4dGVuZHMgUGtnUnVsZUtleVtdPihvcHRpb25zOiBPcHRpb25zPFQ+ID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5zZXR1cChwYWNrYWdlanNvbigpLCBvcHRpb25zKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBuZXcgQnVpbGRlcigpXG4gIC5lbmFibGVQYWNrYWdlanNvbigpXG4gIC5lbmFibGVKYXZhc2NyaXB0KClcbiAgLmVuYWJsZVR5cGVzY3JpcHQoKVxuICAudG9Db25maWcoKTtcbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fenge/eslint-config",
3
- "version": "0.4.0-beta.0",
3
+ "version": "0.4.0-beta.1",
4
4
  "description": "A super strict eslint config for linting js/ts/package.json.",
5
5
  "keywords": [
6
6
  "opinionated",
@@ -1,5 +1,10 @@
1
1
  import childProcess from "node:child_process";
2
2
 
3
+ export interface LinterOptions {
4
+ reportUnusedDisableDirectives?: "error" | "warn" | "off";
5
+ noInlineConfig?: boolean;
6
+ }
7
+
3
8
  function gitignore() {
4
9
  let stdout = "";
5
10
  try {
@@ -22,7 +27,10 @@ function gitignore() {
22
27
  ] as const;
23
28
  }
24
29
 
25
- export function base() {
30
+ export function base({
31
+ reportUnusedDisableDirectives = "off",
32
+ noInlineConfig = false,
33
+ }: LinterOptions = {}) {
26
34
  return [
27
35
  ...gitignore(), // global ignore
28
36
  {
@@ -33,8 +41,8 @@ export function base() {
33
41
  "**/package.json",
34
42
  ],
35
43
  linterOptions: {
36
- // noInlineConfig: true, // too strict
37
- reportUnusedDisableDirectives: true,
44
+ reportUnusedDisableDirectives,
45
+ noInlineConfig,
38
46
  },
39
47
  },
40
48
  // Ignore unsupported files.
@@ -164,7 +164,7 @@ const standardConfigRules = {
164
164
  'no-shadow-restricted-names': 'error',
165
165
  'no-sparse-arrays': 'error',
166
166
  // 'no-tabs': 'error',
167
- 'no-template-curly-in-string': 'error',
167
+ // 'no-template-curly-in-string': 'error', // User who using VSCode or WebStorm can easily notice the problem. Enabling this will decrease flexibility.
168
168
  'no-this-before-super': 'error',
169
169
  'no-throw-literal': 'error',
170
170
  // 'no-trailing-spaces': 'error',
@@ -493,6 +493,9 @@ export const jsBase = {
493
493
  "ts-nocheck": true,
494
494
  },
495
495
  ],
496
+ "@typescript-eslint/class-literal-property-style": "error",
497
+ "@typescript-eslint/no-this-alias": "error",
496
498
  "@typescript-eslint/no-useless-empty-export": "error",
499
+ "@typescript-eslint/prefer-for-of": "error",
497
500
  },
498
501
  } as const;
@@ -101,7 +101,6 @@ export const tsBase = {
101
101
  "@typescript-eslint/adjacent-overload-signatures": "error",
102
102
  // "@typescript-eslint/array-type": ["error", 'array-simple'], // The default option is 'array'. Not very sure if we need to change the option. So disabled it.
103
103
  "@typescript-eslint/await-thenable": "error",
104
- "@typescript-eslint/class-literal-property-style": "error",
105
104
  "@typescript-eslint/consistent-generic-constructors": "error",
106
105
  "@typescript-eslint/consistent-indexed-object-style": "error",
107
106
  "@typescript-eslint/consistent-type-assertions": [
@@ -152,7 +151,7 @@ export const tsBase = {
152
151
  "@typescript-eslint/no-duplicate-type-constituents": "error",
153
152
  "@typescript-eslint/no-empty-object-type": "error",
154
153
  "@typescript-eslint/no-extra-non-null-assertion": "error",
155
- "@typescript-eslint/no-extraneous-class": "error",
154
+ // "@typescript-eslint/no-extraneous-class": "error", // Classes have only static member is reasonable sometimes.
156
155
  "@typescript-eslint/no-floating-promises": [
157
156
  "error",
158
157
  {
@@ -172,7 +171,6 @@ export const tsBase = {
172
171
  "@typescript-eslint/no-non-null-assertion": "error",
173
172
  "@typescript-eslint/no-redundant-type-constituents": "error",
174
173
  "@typescript-eslint/no-require-imports": "error",
175
- "@typescript-eslint/no-this-alias": "error",
176
174
  // "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error", // unsafe when `strictNullChecks` in tsconfig.json is disabled
177
175
  "@typescript-eslint/no-unnecessary-condition": "error",
178
176
  "@typescript-eslint/no-unnecessary-parameter-property-assignment": "error",
@@ -183,12 +181,11 @@ export const tsBase = {
183
181
  "@typescript-eslint/no-unsafe-declaration-merging": "error",
184
182
  "@typescript-eslint/no-unsafe-enum-comparison": "error",
185
183
  "@typescript-eslint/no-unsafe-function-type": "error",
186
- "@typescript-eslint/no-unsafe-return": "error",
184
+ "@typescript-eslint/no-unsafe-return": "error", // This rule is not very perfect. See https://github.com/typescript-eslint/typescript-eslint/issues/10439
187
185
  "@typescript-eslint/no-unsafe-unary-minus": "error",
188
186
  "@typescript-eslint/no-wrapper-object-types": "error",
189
187
  "@typescript-eslint/non-nullable-type-assertion-style": "error",
190
188
  "@typescript-eslint/prefer-as-const": "error",
191
- "@typescript-eslint/prefer-for-of": "error",
192
189
  "@typescript-eslint/prefer-function-type": "error",
193
190
  "@typescript-eslint/prefer-literal-enum-member": "error",
194
191
  "@typescript-eslint/prefer-optional-chain": "error",
@@ -1,4 +1,4 @@
1
- import { base } from "./config/base.js";
1
+ import { base, type LinterOptions } from "./config/base.js";
2
2
  import { javascript } from "./config/javascript.js";
3
3
  import { packagejson } from "./config/packagejson.js";
4
4
  import { typescript } from "./config/typescript.js";
@@ -18,20 +18,26 @@ type PkgRuleKey = keyof ReturnType<typeof packagejson>[0]["rules"];
18
18
  interface Options<T extends string[]> {
19
19
  pick?: NoDuplicate<T>;
20
20
  omit?: NoDuplicate<T>;
21
- extend?: Record<
22
- string,
23
- "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]
24
- >;
25
- override?: Partial<
26
- Record<
27
- T[number],
28
- "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]
29
- >
30
- >;
21
+ append?:
22
+ | Partial<
23
+ Record<
24
+ T[number],
25
+ "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]
26
+ >
27
+ >
28
+ | Record<
29
+ string,
30
+ "error" | "warn" | "off" | ["error" | "warn", ...unknown[]]
31
+ >;
31
32
  }
32
33
 
34
+ export type BuilderOptions = LinterOptions;
33
35
  export class Builder {
34
- private readonly configs: object[] = [...base()];
36
+ private readonly configs: object[] = [];
37
+
38
+ constructor(options: BuilderOptions = {}) {
39
+ this.configs.push(...base(options));
40
+ }
35
41
 
36
42
  toConfig() {
37
43
  return this.configs;
@@ -42,7 +48,7 @@ export class Builder {
42
48
  { plugins: object; rules: object },
43
49
  ...object[],
44
50
  ],
45
- { pick, omit, extend = {}, override = {} }: Options<string[]>,
51
+ { pick, omit, append = {} }: Options<string[]>,
46
52
  ) {
47
53
  const select = (ruleKey: string) => {
48
54
  if (!pick && !omit) {
@@ -58,33 +64,8 @@ export class Builder {
58
64
  const rules = Object.fromEntries(
59
65
  Object.entries(mainConfig.rules).filter(([ruleKey]) => select(ruleKey)),
60
66
  );
61
- // check `override` field
62
- Object.keys(override).forEach((key) => {
63
- if (!(key in rules)) {
64
- throw new Error(`The overriding rule key ${key} is not existing.`);
65
- }
66
- });
67
- // check `extend` field
68
- Object.keys(extend).forEach((key) => {
69
- if (key in rules) {
70
- throw new Error(`The extending rule key ${key} is already existing.`);
71
- }
72
- if (key.includes("/")) {
73
- const pluginName = key.split("/")[0];
74
- if (!pluginName)
75
- throw new Error(`The extending rule key '${key}' is invalid`);
76
- if (!(pluginName in mainConfig.plugins)) {
77
- const supportedPlugins = Object.keys(mainConfig.plugins)
78
- .map((k) => `'${k}'`)
79
- .join(",");
80
- throw new Error(
81
- `The plugin name '${pluginName}' of extending rule key '${key}' is not supported. Only ${supportedPlugins} plugins are supported.`,
82
- );
83
- }
84
- }
85
- });
86
67
  this.configs.push(
87
- { ...mainConfig, rules: { ...rules, ...override, ...extend } },
68
+ { ...mainConfig, rules: { ...rules, ...append } },
88
69
  ...otherConfigs,
89
70
  );
90
71
  return this;