jsii-pacmak 1.57.0 → 1.60.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (222) hide show
  1. package/bin/jsii-pacmak.d.ts +1 -0
  2. package/bin/jsii-pacmak.d.ts.map +1 -0
  3. package/bin/jsii-pacmak.js +10 -10
  4. package/bin/jsii-pacmak.js.map +1 -0
  5. package/lib/builder.d.ts +1 -0
  6. package/lib/builder.d.ts.map +1 -0
  7. package/lib/builder.js +2 -2
  8. package/lib/builder.js.map +1 -0
  9. package/lib/dependency-graph.d.ts +1 -0
  10. package/lib/dependency-graph.d.ts.map +1 -0
  11. package/lib/dependency-graph.js +7 -11
  12. package/lib/dependency-graph.js.map +1 -0
  13. package/lib/generator.d.ts +1 -0
  14. package/lib/generator.d.ts.map +1 -0
  15. package/lib/generator.js +4 -6
  16. package/lib/generator.js.map +1 -0
  17. package/lib/index.d.ts +1 -0
  18. package/lib/index.d.ts.map +1 -0
  19. package/lib/index.js +12 -7
  20. package/lib/index.js.map +1 -0
  21. package/lib/logging.d.ts +1 -0
  22. package/lib/logging.d.ts.map +1 -0
  23. package/lib/logging.js +1 -1
  24. package/lib/logging.js.map +1 -0
  25. package/lib/markdown.d.ts +1 -0
  26. package/lib/markdown.d.ts.map +1 -0
  27. package/lib/markdown.js +5 -9
  28. package/lib/markdown.js.map +1 -0
  29. package/lib/naming-util.d.ts +1 -0
  30. package/lib/naming-util.d.ts.map +1 -0
  31. package/lib/naming-util.js +1 -1
  32. package/lib/naming-util.js.map +1 -0
  33. package/lib/npm-modules.d.ts +1 -0
  34. package/lib/npm-modules.d.ts.map +1 -0
  35. package/lib/npm-modules.js +8 -9
  36. package/lib/npm-modules.js.map +1 -0
  37. package/lib/packaging.d.ts +1 -0
  38. package/lib/packaging.d.ts.map +1 -0
  39. package/lib/packaging.js +3 -4
  40. package/lib/packaging.js.map +1 -0
  41. package/lib/target.d.ts +1 -0
  42. package/lib/target.d.ts.map +1 -0
  43. package/lib/target.js +5 -7
  44. package/lib/target.js.map +1 -0
  45. package/lib/targets/_utils.d.ts +1 -0
  46. package/lib/targets/_utils.d.ts.map +1 -0
  47. package/lib/targets/_utils.js +4 -5
  48. package/lib/targets/_utils.js.map +1 -0
  49. package/lib/targets/dotnet/dotnetdocgenerator.d.ts +1 -0
  50. package/lib/targets/dotnet/dotnetdocgenerator.d.ts.map +1 -0
  51. package/lib/targets/dotnet/dotnetdocgenerator.js +8 -10
  52. package/lib/targets/dotnet/dotnetdocgenerator.js.map +1 -0
  53. package/lib/targets/dotnet/dotnetgenerator.d.ts +1 -0
  54. package/lib/targets/dotnet/dotnetgenerator.d.ts.map +1 -0
  55. package/lib/targets/dotnet/dotnetgenerator.js +11 -19
  56. package/lib/targets/dotnet/dotnetgenerator.js.map +1 -0
  57. package/lib/targets/dotnet/dotnetruntimegenerator.d.ts +1 -0
  58. package/lib/targets/dotnet/dotnetruntimegenerator.d.ts.map +1 -0
  59. package/lib/targets/dotnet/dotnetruntimegenerator.js +2 -3
  60. package/lib/targets/dotnet/dotnetruntimegenerator.js.map +1 -0
  61. package/lib/targets/dotnet/dotnettyperesolver.d.ts +1 -0
  62. package/lib/targets/dotnet/dotnettyperesolver.d.ts.map +1 -0
  63. package/lib/targets/dotnet/dotnettyperesolver.js +10 -14
  64. package/lib/targets/dotnet/dotnettyperesolver.js.map +1 -0
  65. package/lib/targets/dotnet/filegenerator.d.ts +1 -0
  66. package/lib/targets/dotnet/filegenerator.d.ts.map +1 -0
  67. package/lib/targets/dotnet/filegenerator.js +5 -5
  68. package/lib/targets/dotnet/filegenerator.js.map +1 -0
  69. package/lib/targets/dotnet/nameutils.d.ts +1 -0
  70. package/lib/targets/dotnet/nameutils.d.ts.map +1 -0
  71. package/lib/targets/dotnet/nameutils.js +3 -3
  72. package/lib/targets/dotnet/nameutils.js.map +1 -0
  73. package/lib/targets/dotnet.d.ts +1 -0
  74. package/lib/targets/dotnet.d.ts.map +1 -0
  75. package/lib/targets/dotnet.js +8 -8
  76. package/lib/targets/dotnet.js.map +1 -0
  77. package/lib/targets/go/comparators.d.ts +1 -0
  78. package/lib/targets/go/comparators.d.ts.map +1 -0
  79. package/lib/targets/go/comparators.js +1 -1
  80. package/lib/targets/go/comparators.js.map +1 -0
  81. package/lib/targets/go/dependencies.d.ts +1 -0
  82. package/lib/targets/go/dependencies.d.ts.map +1 -0
  83. package/lib/targets/go/dependencies.js +1 -1
  84. package/lib/targets/go/dependencies.js.map +1 -0
  85. package/lib/targets/go/documentation.d.ts +2 -0
  86. package/lib/targets/go/documentation.d.ts.map +1 -0
  87. package/lib/targets/go/documentation.js +10 -1
  88. package/lib/targets/go/documentation.js.map +1 -0
  89. package/lib/targets/go/emit-context.d.ts +1 -0
  90. package/lib/targets/go/emit-context.d.ts.map +1 -0
  91. package/lib/targets/go/emit-context.js +1 -1
  92. package/lib/targets/go/emit-context.js.map +1 -0
  93. package/lib/targets/go/package.d.ts +5 -5
  94. package/lib/targets/go/package.d.ts.map +1 -0
  95. package/lib/targets/go/package.js +26 -28
  96. package/lib/targets/go/package.js.map +1 -0
  97. package/lib/targets/go/readme-file.d.ts +4 -2
  98. package/lib/targets/go/readme-file.d.ts.map +1 -0
  99. package/lib/targets/go/readme-file.js +7 -13
  100. package/lib/targets/go/readme-file.js.map +1 -0
  101. package/lib/targets/go/runtime/class-constructor.d.ts +1 -0
  102. package/lib/targets/go/runtime/class-constructor.d.ts.map +1 -0
  103. package/lib/targets/go/runtime/class-constructor.js +6 -6
  104. package/lib/targets/go/runtime/class-constructor.js.map +1 -0
  105. package/lib/targets/go/runtime/constants.d.ts +1 -0
  106. package/lib/targets/go/runtime/constants.d.ts.map +1 -0
  107. package/lib/targets/go/runtime/constants.js +1 -1
  108. package/lib/targets/go/runtime/constants.js.map +1 -0
  109. package/lib/targets/go/runtime/emit-arguments.d.ts +1 -0
  110. package/lib/targets/go/runtime/emit-arguments.d.ts.map +1 -0
  111. package/lib/targets/go/runtime/emit-arguments.js +3 -3
  112. package/lib/targets/go/runtime/emit-arguments.js.map +1 -0
  113. package/lib/targets/go/runtime/function-call.d.ts +1 -0
  114. package/lib/targets/go/runtime/function-call.d.ts.map +1 -0
  115. package/lib/targets/go/runtime/function-call.js +2 -3
  116. package/lib/targets/go/runtime/function-call.js.map +1 -0
  117. package/lib/targets/go/runtime/index.d.ts +1 -0
  118. package/lib/targets/go/runtime/index.d.ts.map +1 -0
  119. package/lib/targets/go/runtime/index.js +7 -3
  120. package/lib/targets/go/runtime/index.js.map +1 -0
  121. package/lib/targets/go/runtime/method-call.d.ts +1 -0
  122. package/lib/targets/go/runtime/method-call.d.ts.map +1 -0
  123. package/lib/targets/go/runtime/method-call.js +5 -5
  124. package/lib/targets/go/runtime/method-call.js.map +1 -0
  125. package/lib/targets/go/runtime/property-access.d.ts +1 -0
  126. package/lib/targets/go/runtime/property-access.d.ts.map +1 -0
  127. package/lib/targets/go/runtime/property-access.js +5 -5
  128. package/lib/targets/go/runtime/property-access.js.map +1 -0
  129. package/lib/targets/go/runtime/util.d.ts +1 -0
  130. package/lib/targets/go/runtime/util.d.ts.map +1 -0
  131. package/lib/targets/go/runtime/util.js +1 -1
  132. package/lib/targets/go/runtime/util.js.map +1 -0
  133. package/lib/targets/go/types/class.d.ts +1 -0
  134. package/lib/targets/go/types/class.d.ts.map +1 -0
  135. package/lib/targets/go/types/class.js +11 -17
  136. package/lib/targets/go/types/class.js.map +1 -0
  137. package/lib/targets/go/types/enum.d.ts +1 -0
  138. package/lib/targets/go/types/enum.d.ts.map +1 -0
  139. package/lib/targets/go/types/enum.js +1 -1
  140. package/lib/targets/go/types/enum.js.map +1 -0
  141. package/lib/targets/go/types/go-type-reference.d.ts +1 -0
  142. package/lib/targets/go/types/go-type-reference.d.ts.map +1 -0
  143. package/lib/targets/go/types/go-type-reference.js +10 -14
  144. package/lib/targets/go/types/go-type-reference.js.map +1 -0
  145. package/lib/targets/go/types/go-type.d.ts +1 -0
  146. package/lib/targets/go/types/go-type.d.ts.map +1 -0
  147. package/lib/targets/go/types/go-type.js +1 -1
  148. package/lib/targets/go/types/go-type.js.map +1 -0
  149. package/lib/targets/go/types/index.d.ts +1 -0
  150. package/lib/targets/go/types/index.d.ts.map +1 -0
  151. package/lib/targets/go/types/index.js +7 -3
  152. package/lib/targets/go/types/index.js.map +1 -0
  153. package/lib/targets/go/types/interface.d.ts +1 -0
  154. package/lib/targets/go/types/interface.d.ts.map +1 -0
  155. package/lib/targets/go/types/interface.js +8 -11
  156. package/lib/targets/go/types/interface.js.map +1 -0
  157. package/lib/targets/go/types/struct.d.ts +1 -0
  158. package/lib/targets/go/types/struct.d.ts.map +1 -0
  159. package/lib/targets/go/types/struct.js +2 -2
  160. package/lib/targets/go/types/struct.js.map +1 -0
  161. package/lib/targets/go/types/type-member.d.ts +1 -0
  162. package/lib/targets/go/types/type-member.d.ts.map +1 -0
  163. package/lib/targets/go/types/type-member.js +13 -15
  164. package/lib/targets/go/types/type-member.js.map +1 -0
  165. package/lib/targets/go/util.d.ts +1 -0
  166. package/lib/targets/go/util.d.ts.map +1 -0
  167. package/lib/targets/go/util.js +5 -8
  168. package/lib/targets/go/util.js.map +1 -0
  169. package/lib/targets/go/version-file.d.ts +1 -0
  170. package/lib/targets/go/version-file.d.ts.map +1 -0
  171. package/lib/targets/go/version-file.js +1 -1
  172. package/lib/targets/go/version-file.js.map +1 -0
  173. package/lib/targets/go.d.ts +1 -0
  174. package/lib/targets/go.d.ts.map +1 -0
  175. package/lib/targets/go.js +4 -4
  176. package/lib/targets/go.js.map +1 -0
  177. package/lib/targets/index.d.ts +1 -0
  178. package/lib/targets/index.d.ts.map +1 -0
  179. package/lib/targets/index.js +3 -3
  180. package/lib/targets/index.js.map +1 -0
  181. package/lib/targets/java.d.ts +1 -0
  182. package/lib/targets/java.d.ts.map +1 -0
  183. package/lib/targets/java.js +70 -84
  184. package/lib/targets/java.js.map +1 -0
  185. package/lib/targets/js.d.ts +1 -0
  186. package/lib/targets/js.d.ts.map +1 -0
  187. package/lib/targets/js.js +2 -2
  188. package/lib/targets/js.js.map +1 -0
  189. package/lib/targets/python/requirements-dev.txt +2 -3
  190. package/lib/targets/python/type-name.d.ts +1 -0
  191. package/lib/targets/python/type-name.d.ts.map +1 -0
  192. package/lib/targets/python/type-name.js +63 -62
  193. package/lib/targets/python/type-name.js.map +1 -0
  194. package/lib/targets/python/util.d.ts +1 -0
  195. package/lib/targets/python/util.d.ts.map +1 -0
  196. package/lib/targets/python/util.js +1 -1
  197. package/lib/targets/python/util.js.map +1 -0
  198. package/lib/targets/python.d.ts +1 -0
  199. package/lib/targets/python.d.ts.map +1 -0
  200. package/lib/targets/python.js +108 -108
  201. package/lib/targets/python.js.map +1 -0
  202. package/lib/targets/version-utils.d.ts +1 -0
  203. package/lib/targets/version-utils.d.ts.map +1 -0
  204. package/lib/targets/version-utils.js +6 -7
  205. package/lib/targets/version-utils.js.map +1 -0
  206. package/lib/timer.d.ts +1 -0
  207. package/lib/timer.d.ts.map +1 -0
  208. package/lib/timer.js +1 -1
  209. package/lib/timer.js.map +1 -0
  210. package/lib/toposort.d.ts +1 -0
  211. package/lib/toposort.d.ts.map +1 -0
  212. package/lib/toposort.js +1 -1
  213. package/lib/toposort.js.map +1 -0
  214. package/lib/util.d.ts +1 -0
  215. package/lib/util.d.ts.map +1 -0
  216. package/lib/util.js +15 -18
  217. package/lib/util.js.map +1 -0
  218. package/lib/version.d.ts +3 -2
  219. package/lib/version.d.ts.map +1 -0
  220. package/lib/version.js +4 -4
  221. package/lib/version.js.map +1 -0
  222. package/package.json +16 -23
@@ -1,13 +1,12 @@
1
1
  import { CodeMaker } from 'codemaker';
2
- import { Assembly, Type, Submodule as JsiiSubmodule } from 'jsii-reflect';
2
+ import { Assembly, ModuleLike as JsiiModuleLike, Submodule as JsiiSubmodule } from 'jsii-reflect';
3
3
  import { SpecialDependencies } from './dependencies';
4
4
  import { EmitContext } from './emit-context';
5
5
  import { GoClass, GoType, GoInterface, GoTypeRef } from './types';
6
6
  export declare const GOMOD_FILENAME = "go.mod";
7
7
  export declare const GO_VERSION = "1.16";
8
8
  export declare abstract class Package {
9
- private readonly typeSpec;
10
- private readonly submoduleSpec;
9
+ private readonly jsiiModule;
11
10
  readonly packageName: string;
12
11
  readonly filePath: string;
13
12
  readonly moduleName: string;
@@ -18,7 +17,8 @@ export declare abstract class Package {
18
17
  readonly submodules: InternalPackage[];
19
18
  readonly types: GoType[];
20
19
  private readonly embeddedTypes;
21
- constructor(typeSpec: readonly Type[], submoduleSpec: readonly JsiiSubmodule[], packageName: string, filePath: string, moduleName: string, version: string, root?: Package);
20
+ private readonly readmeFile?;
21
+ constructor(jsiiModule: JsiiModuleLike, packageName: string, filePath: string, moduleName: string, version: string, root?: Package);
22
22
  get dependencies(): Package[];
23
23
  get goModuleName(): string;
24
24
  get dependencyImports(): Set<string>;
@@ -56,7 +56,6 @@ export declare abstract class Package {
56
56
  export declare class RootPackage extends Package {
57
57
  readonly assembly: Assembly;
58
58
  readonly version: string;
59
- private readonly readme?;
60
59
  private readonly versionFile;
61
60
  private readonly rootPackageCache;
62
61
  constructor(assembly: Assembly, rootPackageCache?: Map<string, RootPackage>);
@@ -94,3 +93,4 @@ interface EmbeddedType {
94
93
  readonly foriegnTypeName?: string;
95
94
  }
96
95
  export {};
96
+ //# sourceMappingURL=package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.d.ts","sourceRoot":"","sources":["package.ts"],"names":[],"mappings":"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"}
@@ -18,11 +18,10 @@ const INTERNAL_PACKAGE_NAME = 'internal';
18
18
  * Package represents a single `.go` source file within a package. This can be the root package file or a submodule
19
19
  */
20
20
  class Package {
21
- constructor(typeSpec, submoduleSpec, packageName, filePath, moduleName, version,
21
+ constructor(jsiiModule, packageName, filePath, moduleName, version,
22
22
  // If no root is provided, this module is the root
23
23
  root) {
24
- this.typeSpec = typeSpec;
25
- this.submoduleSpec = submoduleSpec;
24
+ this.jsiiModule = jsiiModule;
26
25
  this.packageName = packageName;
27
26
  this.filePath = filePath;
28
27
  this.moduleName = moduleName;
@@ -30,9 +29,9 @@ class Package {
30
29
  this.embeddedTypes = new Map();
31
30
  this.directory = filePath;
32
31
  this.file = `${this.directory}/${packageName}.go`;
33
- this.root = root !== null && root !== void 0 ? root : this;
34
- this.submodules = this.submoduleSpec.map((sm) => new InternalPackage(this.root, this, sm));
35
- this.types = this.typeSpec.map((type) => {
32
+ this.root = root ?? this;
33
+ this.submodules = this.jsiiModule.submodules.map((sm) => new InternalPackage(this.root, this, sm));
34
+ this.types = this.jsiiModule.types.map((type) => {
36
35
  if (type.isInterfaceType() && type.datatype) {
37
36
  return new types_1.Struct(this, type);
38
37
  }
@@ -47,12 +46,15 @@ class Package {
47
46
  }
48
47
  throw new Error(`Type: ${type.name} with kind ${type.kind} is not a supported type`);
49
48
  });
49
+ if (this.jsiiModule.readme?.markdown) {
50
+ this.readmeFile = new readme_file_1.ReadmeFile(this.jsiiModule.fqn, this.jsiiModule.readme.markdown, this.directory);
51
+ }
50
52
  }
51
53
  /*
52
54
  * Packages within this module
53
55
  */
54
56
  get dependencies() {
55
- return util_1.flatMap(this.types, (t) => t.dependencies).filter((mod) => mod.packageName !== this.packageName);
57
+ return (0, util_1.flatMap)(this.types, (t) => t.dependencies).filter((mod) => mod.packageName !== this.packageName);
56
58
  }
57
59
  /*
58
60
  * goModuleName returns the full path to the module name.
@@ -76,7 +78,7 @@ class Package {
76
78
  * Search for a type with a `fqn` within this. Searches all Children modules as well.
77
79
  */
78
80
  findType(fqn) {
79
- return util_1.findTypeInTree(this, fqn);
81
+ return (0, util_1.findTypeInTree)(this, fqn);
80
82
  }
81
83
  emit(context) {
82
84
  const { code } = context;
@@ -85,6 +87,7 @@ class Package {
85
87
  this.emitImports(code);
86
88
  this.emitTypes(context);
87
89
  code.closeFile(this.file);
90
+ this.readmeFile?.emit(context);
88
91
  this.emitGoInitFunction(context);
89
92
  this.emitSubmodules(context);
90
93
  this.emitInternal(context);
@@ -160,7 +163,7 @@ class Package {
160
163
  // form. It also saves us from "imported but unused" errors that would arise
161
164
  // as a consequence.
162
165
  if (this.types.length > 0) {
163
- const initFile = path_1.join(path_1.dirname(this.file), `${path_1.basename(this.file, '.go')}.init.go`);
166
+ const initFile = (0, path_1.join)((0, path_1.dirname)(this.file), `${(0, path_1.basename)(this.file, '.go')}.init.go`);
164
167
  code.openFile(initFile);
165
168
  code.line(`package ${this.packageName}`);
166
169
  code.line();
@@ -213,7 +216,7 @@ class Package {
213
216
  return;
214
217
  }
215
218
  const code = context.code;
216
- const fileName = path_1.join(this.directory, INTERNAL_PACKAGE_NAME, 'types.go');
219
+ const fileName = (0, path_1.join)(this.directory, INTERNAL_PACKAGE_NAME, 'types.go');
217
220
  code.openFile(fileName);
218
221
  code.line(`package ${INTERNAL_PACKAGE_NAME}`);
219
222
  const imports = new Set();
@@ -244,27 +247,21 @@ exports.Package = Package;
244
247
  */
245
248
  class RootPackage extends Package {
246
249
  constructor(assembly, rootPackageCache = new Map()) {
247
- var _a, _b, _c, _d, _e;
248
- const goConfig = (_b = (_a = assembly.targets) === null || _a === void 0 ? void 0 : _a.go) !== null && _b !== void 0 ? _b : {};
249
- const packageName = util_1.goPackageNameForAssembly(assembly);
250
+ const goConfig = assembly.targets?.go ?? {};
251
+ const packageName = (0, util_1.goPackageNameForAssembly)(assembly);
250
252
  const filePath = '';
251
- const moduleName = (_c = goConfig.moduleName) !== null && _c !== void 0 ? _c : '';
252
- const version = `${assembly.version}${(_d = goConfig.versionSuffix) !== null && _d !== void 0 ? _d : ''}`;
253
- super(assembly.types, assembly.submodules, packageName, filePath, moduleName, version);
253
+ const moduleName = goConfig.moduleName ?? '';
254
+ const version = `${assembly.version}${goConfig.versionSuffix ?? ''}`;
255
+ super(assembly, packageName, filePath, moduleName, version);
254
256
  this.rootPackageCache = rootPackageCache;
255
257
  this.rootPackageCache.set(assembly.name, this);
256
258
  this.assembly = assembly;
257
259
  this.version = version;
258
260
  this.versionFile = new version_file_1.VersionFile(this.version);
259
- if ((_e = this.assembly.readme) === null || _e === void 0 ? void 0 : _e.markdown) {
260
- this.readme = new readme_file_1.ReadmeFile(this.packageName, this.assembly.readme.markdown);
261
- }
262
261
  }
263
262
  emit(context) {
264
- var _a;
265
263
  super.emit(context);
266
264
  this.emitJsiiPackage(context);
267
- (_a = this.readme) === null || _a === void 0 ? void 0 : _a.emit(context);
268
265
  this.emitGomod(context.code);
269
266
  this.versionFile.emit(context.code);
270
267
  }
@@ -319,7 +316,8 @@ class RootPackage extends Package {
319
316
  * Get all JSII module dependencies of the package being generated
320
317
  */
321
318
  get packageDependencies() {
322
- return this.assembly.dependencies.map((dep) => { var _a; return (_a = this.rootPackageCache.get(dep.assembly.name)) !== null && _a !== void 0 ? _a : new RootPackage(dep.assembly, this.rootPackageCache); });
319
+ return this.assembly.dependencies.map((dep) => this.rootPackageCache.get(dep.assembly.name) ??
320
+ new RootPackage(dep.assembly, this.rootPackageCache));
323
321
  }
324
322
  emitHeader(code) {
325
323
  if (this.assembly.description !== '') {
@@ -330,7 +328,7 @@ class RootPackage extends Package {
330
328
  }
331
329
  emitJsiiPackage({ code }) {
332
330
  const dependencies = this.packageDependencies.sort((l, r) => l.moduleName.localeCompare(r.moduleName));
333
- const file = path_1.join(runtime_1.JSII_INIT_PACKAGE, `${runtime_1.JSII_INIT_PACKAGE}.go`);
331
+ const file = (0, path_1.join)(runtime_1.JSII_INIT_PACKAGE, `${runtime_1.JSII_INIT_PACKAGE}.go`);
334
332
  code.openFile(file);
335
333
  code.line(`// Package ${runtime_1.JSII_INIT_PACKAGE} contains the functionaility needed for jsii packages to`);
336
334
  code.line('// initialize their dependencies and themselves. Users should never need to use this package');
@@ -352,7 +350,7 @@ class RootPackage extends Package {
352
350
  }
353
351
  importGoModules(code, toImport);
354
352
  code.line();
355
- code.line(`//go:embed ${util_1.tarballName(this.assembly)}`);
353
+ code.line(`//go:embed ${(0, util_1.tarballName)(this.assembly)}`);
356
354
  code.line('var tarball []byte');
357
355
  code.line();
358
356
  code.line(`// ${runtime_1.JSII_INIT_FUNC} loads the necessary packages in the @jsii/kernel to support the enclosing module.`);
@@ -377,9 +375,9 @@ exports.RootPackage = RootPackage;
377
375
  */
378
376
  class InternalPackage extends Package {
379
377
  constructor(root, parent, assembly) {
380
- const packageName = util_1.goPackageNameForAssembly(assembly);
378
+ const packageName = (0, util_1.goPackageNameForAssembly)(assembly);
381
379
  const filePath = parent === root ? packageName : `${parent.filePath}/${packageName}`;
382
- super(assembly.types, assembly.submodules, packageName, filePath, root.moduleName, root.version, root);
380
+ super(assembly, packageName, filePath, root.moduleName, root.version, root);
383
381
  this.parent = parent;
384
382
  }
385
383
  }
@@ -418,7 +416,7 @@ function importGoModules(code, modules) {
418
416
  if (modules.length === 0) {
419
417
  return;
420
418
  }
421
- const aliasSize = Math.max(...modules.map((mod) => { var _a, _b; return (_b = (_a = mod.alias) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0; }));
419
+ const aliasSize = Math.max(...modules.map((mod) => mod.alias?.length ?? 0));
422
420
  code.open('import (');
423
421
  const sortedModules = Array.from(modules).sort(compareImportedModules);
424
422
  for (let i = 0; i < sortedModules.length; i++) {
@@ -470,4 +468,4 @@ function importGoModules(code, modules) {
470
468
  return mod.alias === runtime_1.JSII_RT_ALIAS || mod.alias === runtime_1.JSII_INIT_ALIAS;
471
469
  }
472
470
  }
473
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFja2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInBhY2thZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsK0JBQStDO0FBQy9DLGlDQUFpQztBQUVqQywyQ0FBd0M7QUFHeEMsK0NBQTJDO0FBQzNDLHVDQU9tQjtBQUNuQixtQ0FBZ0Y7QUFDaEYsaUNBS2dCO0FBQ2hCLGlEQUE2QztBQUVoQyxRQUFBLGNBQWMsR0FBRyxRQUFRLENBQUM7QUFDMUIsUUFBQSxVQUFVLEdBQUcsTUFBTSxDQUFDO0FBRWpDLDZFQUE2RTtBQUM3RSxrQ0FBa0M7QUFDbEMsTUFBTSxxQkFBcUIsR0FBRyxVQUFVLENBQUM7QUFFekM7O0dBRUc7QUFDSCxNQUFzQixPQUFPO0lBUzNCLFlBQ21CLFFBQXlCLEVBQ3pCLGFBQXVDLEVBQ3hDLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFVBQWtCLEVBQ2xCLE9BQWU7SUFDL0Isa0RBQWtEO0lBQ2xELElBQWM7UUFQRyxhQUFRLEdBQVIsUUFBUSxDQUFpQjtRQUN6QixrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFDeEMsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtRQUNoQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFSaEIsa0JBQWEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztRQVkvRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsSUFBSSxXQUFXLEtBQUssQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksYUFBSixJQUFJLGNBQUosSUFBSSxHQUFJLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUN0QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQ2pELENBQUM7UUFFRixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBVSxFQUFVLEVBQUU7WUFDcEQsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDM0MsT0FBTyxJQUFJLGNBQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDL0I7aUJBQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUU7Z0JBQ2pDLE9BQU8sSUFBSSxtQkFBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNwQztpQkFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDN0IsT0FBTyxJQUFJLGVBQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDaEM7aUJBQU0sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQzVCLE9BQU8sSUFBSSxZQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQzdCO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FDYixTQUFTLElBQUksQ0FBQyxJQUFJLGNBQWMsSUFBSSxDQUFDLElBQUksMEJBQTBCLENBQ3BFLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsWUFBWTtRQUNyQixPQUFPLGNBQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBUyxFQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUN6RSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsS0FBSyxJQUFJLENBQUMsV0FBVyxDQUM5QyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQVcsWUFBWTtRQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxVQUFVLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDekQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDOUMsTUFBTSxhQUFhLEdBQUcsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELE9BQU8sR0FBRyxNQUFNLEdBQUcsZUFBZSxHQUFHLGFBQWEsR0FBRyxNQUFNLEVBQUUsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGlCQUFpQjtRQUMxQixPQUFPLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRLENBQUMsR0FBVztRQUN6QixPQUFPLHFCQUFjLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxJQUFJLENBQUMsT0FBb0I7UUFDOUIsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUV6QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFTSxjQUFjLENBQUMsT0FBb0I7UUFDeEMsS0FBSyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3ZDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjLENBQUMsSUFBMkI7UUFDL0MsT0FBTyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksbUJBQW1CLENBQUMsSUFBMkI7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsT0FBTztnQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzthQUMxQixDQUFDO1NBQ0g7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEQsSUFBSSxNQUFNLEVBQUU7WUFDVixPQUFPLE1BQU0sQ0FBQztTQUNmO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5RCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFFbEMsTUFBTSxZQUFZLEdBQWlCO1lBQ2pDLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLFdBQVcsRUFBRSxPQUFPO1lBQ3BCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLEtBQUssRUFBRSxHQUFHLHFCQUFxQixJQUFJLFNBQVMsRUFBRTtTQUMvQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUUvQyxPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRVMsVUFBVSxDQUFDLElBQWU7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFjLG1CQUFtQjtRQUMvQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUM7YUFDakMsTUFBTSxDQUNMLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNiLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxPQUFPO1lBQ25DLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJO1lBQzFCLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxJQUFJLEdBQUcsQ0FBQyxRQUFRO1lBQ3RDLElBQUksRUFBRSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxJQUFJO1NBQzNCLENBQUMsRUFDRixFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FDOUQsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLGtCQUFrQixDQUFDLEVBQUUsSUFBSSxFQUFlO1FBQzlDLDBFQUEwRTtRQUMxRSx5RUFBeUU7UUFDekUsNEVBQTRFO1FBQzVFLG9CQUFvQjtRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QixNQUFNLFFBQVEsR0FBRyxXQUFJLENBQ25CLGNBQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQ2xCLEdBQUcsZUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDeEMsQ0FBQztZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlCLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO2FBQzdCO1lBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBRU8sV0FBVyxDQUFDLElBQWU7UUFDakMsTUFBTSxRQUFRLEdBQUcsSUFBSSxLQUFLLEVBQWtCLENBQUM7UUFFN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBRTdDLElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7U0FDbkM7UUFFRCxJQUFJLFdBQVcsQ0FBQyxPQUFPLEVBQUU7WUFDdkIsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztTQUMvQjtRQUVELElBQUksV0FBVyxDQUFDLElBQUksRUFBRTtZQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUNaLEtBQUssRUFBRSx5QkFBZTtnQkFDdEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksMkJBQWlCLEVBQUU7YUFDekQsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUU7WUFDeEIsUUFBUSxDQUFDLElBQUksQ0FBQztnQkFDWixNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLHFCQUFxQixFQUFFO2FBQ3hELENBQUMsQ0FBQztTQUNKO1FBRUQsS0FBSyxNQUFNLFdBQVcsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDaEQsNkZBQTZGO1lBQzdGLElBQUksV0FBVyxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ3BDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQzthQUN4QztTQUNGO1FBRUQsZUFBZSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRU8sU0FBUyxDQUFDLE9BQW9CO1FBQ3BDLEtBQUssTUFBTSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFvQjtRQUN2QyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNqQyxPQUFPO1NBQ1I7UUFFRCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRTFCLE1BQU0sUUFBUSxHQUFHLFdBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUU5QyxNQUFNLE9BQU8sR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO1FBRWxDLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRTtnQkFDdEIsU0FBUzthQUNWO1lBRUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRTtnQkFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDL0I7U0FDRjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLEVBQUU7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWhCLEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLFNBQVMsTUFBTSxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztTQUNqRTtRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0IsQ0FBQztDQUNGO0FBbFJELDBCQWtSQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFhLFdBQVksU0FBUSxPQUFPO0lBU3RDLFlBQ0UsUUFBa0IsRUFDbEIsbUJBQW1CLElBQUksR0FBRyxFQUF1Qjs7UUFFakQsTUFBTSxRQUFRLGVBQUcsUUFBUSxDQUFDLE9BQU8sMENBQUUsRUFBRSxtQ0FBSSxFQUFFLENBQUM7UUFDNUMsTUFBTSxXQUFXLEdBQUcsK0JBQXdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLE1BQU0sVUFBVSxTQUFHLFFBQVEsQ0FBQyxVQUFVLG1DQUFJLEVBQUUsQ0FBQztRQUM3QyxNQUFNLE9BQU8sR0FBRyxHQUFHLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBQSxRQUFRLENBQUMsYUFBYSxtQ0FBSSxFQUFFLEVBQUUsQ0FBQztRQUVyRSxLQUFLLENBQ0gsUUFBUSxDQUFDLEtBQUssRUFDZCxRQUFRLENBQUMsVUFBVSxFQUNuQixXQUFXLEVBQ1gsUUFBUSxFQUNSLFVBQVUsRUFDVixPQUFPLENBQ1IsQ0FBQztRQUVGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFL0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLDBCQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWpELFVBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLDBDQUFFLFFBQVEsRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksd0JBQVUsQ0FDMUIsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUM5QixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRU0sSUFBSSxDQUFDLE9BQW9COztRQUM5QixLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDOUIsTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1FBRTNCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU8sU0FBUyxDQUFDLElBQWU7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxzQkFBYyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxrQkFBVSxFQUFFLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3ZCLGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsNkJBQW1CLEtBQUssaUJBQU8sRUFBRSxDQUFDLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQzlDLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsWUFBWSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO1FBQ0Qsb0JBQW9CLENBQ2xCLFlBQVksRUFDWixJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FDckQsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBYyxDQUFDLENBQUM7UUFFL0I7OztXQUdHO1FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsSUFBbUIsRUFDbkIsY0FBMkI7WUFFM0IsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLEVBQUU7b0JBQ3RCLElBQUksY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUU7d0JBQ3hDLFNBQVM7cUJBQ1Y7b0JBQ0QsY0FBYyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsWUFBWSxLQUFLLEdBQUcsQ0FBQyxPQUFPLGNBQWMsQ0FBQyxDQUFDO2lCQUM5RDtnQkFDRCxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRLENBQUMsR0FBVztRQUN6QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQ3BDLENBQUMsS0FBeUIsRUFBRSxPQUFvQixFQUFFLEVBQUU7WUFDbEQsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsT0FBTyxLQUFLLENBQUM7YUFDZDtZQUNELE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixDQUFDLEVBQ0QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUNuQyxDQUFDLEdBQUcsRUFBRSxFQUFFLHdCQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUNBQzVDLElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUEsQ0FDdkQsQ0FBQztJQUNKLENBQUM7SUFFUyxVQUFVLENBQUMsSUFBZTtRQUNsQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQWU7UUFDM0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUMxRCxDQUFDLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQ3pDLENBQUM7UUFFRixNQUFNLElBQUksR0FBRyxXQUFJLENBQUMsMkJBQWlCLEVBQUUsR0FBRywyQkFBaUIsS0FBSyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsSUFBSSxDQUNQLGNBQWMsMkJBQWlCLDBEQUEwRCxDQUMxRixDQUFDO1FBQ0YsSUFBSSxDQUFDLElBQUksQ0FDUCw4RkFBOEYsQ0FDL0YsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsK0RBQStELENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLGtEQUFrRCxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLDJCQUFpQixFQUFFLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWixNQUFNLFFBQVEsR0FBcUI7WUFDakMsY0FBYztZQUNkLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFO1NBQ2hDLENBQUM7UUFDRixJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLEtBQUssTUFBTSxHQUFHLElBQUksWUFBWSxFQUFFO2dCQUM5QixRQUFRLENBQUMsSUFBSSxDQUFDO29CQUNaLEtBQUssRUFBRSxHQUFHLENBQUMsV0FBVztvQkFDdEIsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksMkJBQWlCLEVBQUU7aUJBQ3hELENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFDRCxlQUFlLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWhDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNaLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxrQkFBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVaLElBQUksQ0FBQyxJQUFJLENBQ1AsTUFBTSx3QkFBYyxvRkFBb0YsQ0FDekcsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQ1Asa0ZBQWtGLENBQ25GLENBQUM7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsd0JBQWMsTUFBTSxDQUFDLENBQUM7UUFDeEMsSUFBSSxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7WUFDeEQsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUMsV0FBVyxJQUFJLHdCQUFjLElBQUksQ0FBQyxDQUFDO2FBQ3JEO1lBQ0QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLHNDQUFzQyxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FDUCxHQUFHLHVCQUFhLFVBQVUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLGFBQWEsQ0FDdEYsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUE3TEQsa0NBNkxDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsT0FBTztJQUcxQyxZQUFtQixJQUFhLEVBQUUsTUFBZSxFQUFFLFFBQXVCO1FBQ3hFLE1BQU0sV0FBVyxHQUFHLCtCQUF3QixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZELE1BQU0sUUFBUSxHQUNaLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBRXRFLEtBQUssQ0FDSCxRQUFRLENBQUMsS0FBSyxFQUNkLFFBQVEsQ0FBQyxVQUFVLEVBQ25CLFdBQVcsRUFDWCxRQUFRLEVBQ1IsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsT0FBTyxFQUNaLElBQUksQ0FDTCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBcEJELDBDQW9CQztBQUVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxTQUFTLDJCQUEyQixDQUFDLE9BQWU7SUFDbEQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQ1AsTUFBTSxJQUFJLEtBQUssQ0FDYiw0QkFBNEIsT0FBTyx5QkFBeUIsQ0FDN0QsQ0FBQztLQUNIO0lBRUQsMENBQTBDO0lBQzFDLElBQUksRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUU7UUFDakIsT0FBTyxFQUFFLENBQUM7S0FDWDtJQUVELE9BQU8sS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDekIsQ0FBQztBQU9ELE1BQU0sY0FBYyxHQUFtQjtJQUNyQyxLQUFLLEVBQUUsdUJBQWE7SUFDcEIsTUFBTSxFQUFFLDhCQUFvQjtDQUM3QixDQUFDO0FBQ0YsTUFBTSxVQUFVLEdBQW1CLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBRXpELFNBQVMsZUFBZSxDQUFDLElBQWUsRUFBRSxPQUFrQztJQUMxRSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ3hCLE9BQU87S0FDUjtJQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsa0NBQUMsR0FBRyxDQUFDLEtBQUssMENBQUUsTUFBTSxtQ0FBSSxDQUFDLEdBQUEsQ0FBQyxDQUFDLENBQUM7SUFDNUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN0QixNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3ZFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzdDLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM3Qix3RUFBd0U7UUFDeEUsSUFDRSxDQUFDLEdBQUcsQ0FBQztZQUNMLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNyRDtZQUNBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxHQUFHLENBQUMsS0FBSyxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNsRTthQUFNO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQzlCO0tBQ0Y7SUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRWhCOzs7O09BSUc7SUFDSCxTQUFTLHNCQUFzQixDQUM3QixDQUFpQixFQUNqQixDQUFpQjtRQUVqQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksUUFBUSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDWDtRQUNELElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxFQUFFO1lBQ3pCLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsU0FBUyxTQUFTLENBQUMsR0FBbUI7UUFDcEMseUVBQXlFO1FBQ3pFLG9FQUFvRTtRQUNwRSxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVMsU0FBUyxDQUFDLEdBQW1CO1FBQ3BDLE9BQU8sR0FBRyxDQUFDLEtBQUssS0FBSyx1QkFBYSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEtBQUsseUJBQWUsQ0FBQztJQUN0RSxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5pbXBvcnQgeyBBc3NlbWJseSwgVHlwZSwgU3VibW9kdWxlIGFzIEpzaWlTdWJtb2R1bGUgfSBmcm9tICdqc2lpLXJlZmxlY3QnO1xuaW1wb3J0IHsgYmFzZW5hbWUsIGRpcm5hbWUsIGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuXG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnLi4vLi4vdmVyc2lvbic7XG5pbXBvcnQgeyBTcGVjaWFsRGVwZW5kZW5jaWVzIH0gZnJvbSAnLi9kZXBlbmRlbmNpZXMnO1xuaW1wb3J0IHsgRW1pdENvbnRleHQgfSBmcm9tICcuL2VtaXQtY29udGV4dCc7XG5pbXBvcnQgeyBSZWFkbWVGaWxlIH0gZnJvbSAnLi9yZWFkbWUtZmlsZSc7XG5pbXBvcnQge1xuICBKU0lJX1JUX0FMSUFTLFxuICBKU0lJX1JUX01PRFVMRV9OQU1FLFxuICBKU0lJX1JUX1BBQ0tBR0VfTkFNRSxcbiAgSlNJSV9JTklUX1BBQ0tBR0UsXG4gIEpTSUlfSU5JVF9GVU5DLFxuICBKU0lJX0lOSVRfQUxJQVMsXG59IGZyb20gJy4vcnVudGltZSc7XG5pbXBvcnQgeyBHb0NsYXNzLCBHb1R5cGUsIEVudW0sIEdvSW50ZXJmYWNlLCBTdHJ1Y3QsIEdvVHlwZVJlZiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgZmluZFR5cGVJblRyZWUsXG4gIGdvUGFja2FnZU5hbWVGb3JBc3NlbWJseSxcbiAgZmxhdE1hcCxcbiAgdGFyYmFsbE5hbWUsXG59IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBWZXJzaW9uRmlsZSB9IGZyb20gJy4vdmVyc2lvbi1maWxlJztcblxuZXhwb3J0IGNvbnN0IEdPTU9EX0ZJTEVOQU1FID0gJ2dvLm1vZCc7XG5leHBvcnQgY29uc3QgR09fVkVSU0lPTiA9ICcxLjE2JztcblxuLy8gdGhlIG5hbWUgb2YgYSBzdWItcGFja2FnZSB0aGF0IGluY2x1ZGVzIGludGVybmFsIHR5cGUgYWxpYXNlcyBpdCBoYXMgdG8gYmVcbi8vIFwiaW50ZXJuYWxcIiBzbyBpdCBub3QgcHVibGlzaGVkLlxuY29uc3QgSU5URVJOQUxfUEFDS0FHRV9OQU1FID0gJ2ludGVybmFsJztcblxuLypcbiAqIFBhY2thZ2UgcmVwcmVzZW50cyBhIHNpbmdsZSBgLmdvYCBzb3VyY2UgZmlsZSB3aXRoaW4gYSBwYWNrYWdlLiBUaGlzIGNhbiBiZSB0aGUgcm9vdCBwYWNrYWdlIGZpbGUgb3IgYSBzdWJtb2R1bGVcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhY2thZ2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcm9vdDogUGFja2FnZTtcbiAgcHVibGljIHJlYWRvbmx5IGZpbGU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGRpcmVjdG9yeTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VibW9kdWxlczogSW50ZXJuYWxQYWNrYWdlW107XG4gIHB1YmxpYyByZWFkb25seSB0eXBlczogR29UeXBlW107XG5cbiAgcHJpdmF0ZSByZWFkb25seSBlbWJlZGRlZFR5cGVzID0gbmV3IE1hcDxzdHJpbmcsIEVtYmVkZGVkVHlwZT4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0eXBlU3BlYzogcmVhZG9ubHkgVHlwZVtdLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3VibW9kdWxlU3BlYzogcmVhZG9ubHkgSnNpaVN1Ym1vZHVsZVtdLFxuICAgIHB1YmxpYyByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBmaWxlUGF0aDogc3RyaW5nLFxuICAgIHB1YmxpYyByZWFkb25seSBtb2R1bGVOYW1lOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZyxcbiAgICAvLyBJZiBubyByb290IGlzIHByb3ZpZGVkLCB0aGlzIG1vZHVsZSBpcyB0aGUgcm9vdFxuICAgIHJvb3Q/OiBQYWNrYWdlLFxuICApIHtcbiAgICB0aGlzLmRpcmVjdG9yeSA9IGZpbGVQYXRoO1xuICAgIHRoaXMuZmlsZSA9IGAke3RoaXMuZGlyZWN0b3J5fS8ke3BhY2thZ2VOYW1lfS5nb2A7XG4gICAgdGhpcy5yb290ID0gcm9vdCA/PyB0aGlzO1xuICAgIHRoaXMuc3VibW9kdWxlcyA9IHRoaXMuc3VibW9kdWxlU3BlYy5tYXAoXG4gICAgICAoc20pID0+IG5ldyBJbnRlcm5hbFBhY2thZ2UodGhpcy5yb290LCB0aGlzLCBzbSksXG4gICAgKTtcblxuICAgIHRoaXMudHlwZXMgPSB0aGlzLnR5cGVTcGVjLm1hcCgodHlwZTogVHlwZSk6IEdvVHlwZSA9PiB7XG4gICAgICBpZiAodHlwZS5pc0ludGVyZmFjZVR5cGUoKSAmJiB0eXBlLmRhdGF0eXBlKSB7XG4gICAgICAgIHJldHVybiBuZXcgU3RydWN0KHRoaXMsIHR5cGUpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlLmlzSW50ZXJmYWNlVHlwZSgpKSB7XG4gICAgICAgIHJldHVybiBuZXcgR29JbnRlcmZhY2UodGhpcywgdHlwZSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUuaXNDbGFzc1R5cGUoKSkge1xuICAgICAgICByZXR1cm4gbmV3IEdvQ2xhc3ModGhpcywgdHlwZSk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGUuaXNFbnVtVHlwZSgpKSB7XG4gICAgICAgIHJldHVybiBuZXcgRW51bSh0aGlzLCB0eXBlKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFR5cGU6ICR7dHlwZS5uYW1lfSB3aXRoIGtpbmQgJHt0eXBlLmtpbmR9IGlzIG5vdCBhIHN1cHBvcnRlZCB0eXBlYCxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICAvKlxuICAgKiBQYWNrYWdlcyB3aXRoaW4gdGhpcyBtb2R1bGVcbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jaWVzKCk6IFBhY2thZ2VbXSB7XG4gICAgcmV0dXJuIGZsYXRNYXAodGhpcy50eXBlcywgKHQ6IEdvVHlwZSk6IFBhY2thZ2VbXSA9PiB0LmRlcGVuZGVuY2llcykuZmlsdGVyKFxuICAgICAgKG1vZCkgPT4gbW9kLnBhY2thZ2VOYW1lICE9PSB0aGlzLnBhY2thZ2VOYW1lLFxuICAgICk7XG4gIH1cblxuICAvKlxuICAgKiBnb01vZHVsZU5hbWUgcmV0dXJucyB0aGUgZnVsbCBwYXRoIHRvIHRoZSBtb2R1bGUgbmFtZS5cbiAgICogVXNlZCBmb3IgaW1wb3J0IHN0YXRlbWVudHMgYW5kIGdvLm1vZCBnZW5lcmF0aW9uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGdvTW9kdWxlTmFtZSgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSB0aGlzLnJvb3QubW9kdWxlTmFtZTtcbiAgICBjb25zdCBwcmVmaXggPSBtb2R1bGVOYW1lICE9PSAnJyA/IGAke21vZHVsZU5hbWV9L2AgOiAnJztcbiAgICBjb25zdCByb290UGFja2FnZU5hbWUgPSB0aGlzLnJvb3QucGFja2FnZU5hbWU7XG4gICAgY29uc3QgdmVyc2lvblN1ZmZpeCA9IGRldGVybWluZU1ham9yVmVyc2lvblN1ZmZpeCh0aGlzLnZlcnNpb24pO1xuICAgIGNvbnN0IHN1ZmZpeCA9IHRoaXMuZmlsZVBhdGggIT09ICcnID8gYC8ke3RoaXMuZmlsZVBhdGh9YCA6IGBgO1xuICAgIHJldHVybiBgJHtwcmVmaXh9JHtyb290UGFja2FnZU5hbWV9JHt2ZXJzaW9uU3VmZml4fSR7c3VmZml4fWA7XG4gIH1cblxuICAvKlxuICAgKiBUaGUgbW9kdWxlIG5hbWVzIG9mIHRoaXMgbW9kdWxlJ3MgZGVwZW5kZW5jaWVzLiBVc2VkIGZvciBpbXBvcnQgc3RhdGVtZW50cy5cbiAgICovXG4gIHB1YmxpYyBnZXQgZGVwZW5kZW5jeUltcG9ydHMoKTogU2V0PHN0cmluZz4ge1xuICAgIHJldHVybiBuZXcgU2V0KHRoaXMuZGVwZW5kZW5jaWVzLm1hcCgocGtnKSA9PiBwa2cuZ29Nb2R1bGVOYW1lKSk7XG4gIH1cblxuICAvKlxuICAgKiBTZWFyY2ggZm9yIGEgdHlwZSB3aXRoIGEgYGZxbmAgd2l0aGluIHRoaXMuIFNlYXJjaGVzIGFsbCBDaGlsZHJlbiBtb2R1bGVzIGFzIHdlbGwuXG4gICAqL1xuICBwdWJsaWMgZmluZFR5cGUoZnFuOiBzdHJpbmcpOiBHb1R5cGUgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiBmaW5kVHlwZUluVHJlZSh0aGlzLCBmcW4pO1xuICB9XG5cbiAgcHVibGljIGVtaXQoY29udGV4dDogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCB7IGNvZGUgfSA9IGNvbnRleHQ7XG5cbiAgICBjb2RlLm9wZW5GaWxlKHRoaXMuZmlsZSk7XG4gICAgdGhpcy5lbWl0SGVhZGVyKGNvZGUpO1xuICAgIHRoaXMuZW1pdEltcG9ydHMoY29kZSk7XG4gICAgdGhpcy5lbWl0VHlwZXMoY29udGV4dCk7XG4gICAgY29kZS5jbG9zZUZpbGUodGhpcy5maWxlKTtcblxuICAgIHRoaXMuZW1pdEdvSW5pdEZ1bmN0aW9uKGNvbnRleHQpO1xuICAgIHRoaXMuZW1pdFN1Ym1vZHVsZXMoY29udGV4dCk7XG5cbiAgICB0aGlzLmVtaXRJbnRlcm5hbChjb250ZXh0KTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0U3VibW9kdWxlcyhjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGZvciAoY29uc3Qgc3VibW9kdWxlIG9mIHRoaXMuc3VibW9kdWxlcykge1xuICAgICAgc3VibW9kdWxlLmVtaXQoY29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgYHR5cGVgIGNvbWVzIGZyb20gYSBmb3JlaWduIHBhY2thZ2UuXG4gICAqL1xuICBwdWJsaWMgaXNFeHRlcm5hbFR5cGUodHlwZTogR29DbGFzcyB8IEdvSW50ZXJmYWNlKSB7XG4gICAgcmV0dXJuIHR5cGUucGtnICE9PSB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGVtYmVkIGZpZWxkIHVzZWQgdG8gZW1iZWQgYSBiYXNlIGNsYXNzL2ludGVyZmFjZSBpbiBhXG4gICAqIHN0cnVjdC5cbiAgICpcbiAgICogQHJldHVybnMgSWYgdGhlIGJhc2UgaXMgaW4gdGhlIHNhbWUgcGFja2FnZSwgcmV0dXJucyB0aGUgcHJveHkgbmFtZSBvZiB0aGVcbiAgICogYmFzZSB1bmRlciBgZW1iZWRgLCBvdGhlcndpc2UgcmV0dXJucyBhIHVuaXF1ZSBzeW1ib2wgdW5kZXIgYGVtYmVkYCBhbmQgdGhlXG4gICAqIG9yaWdpbmFsIGludGVyZmFjZSByZWZlcmVuY2UgdW5kZXIgYG9yaWdpbmFsYC5cbiAgICpcbiAgICogQHBhcmFtIHR5cGUgVGhlIGJhc2UgdHlwZSB3ZSB3YW50IHRvIGVtYmVkXG4gICAqL1xuICBwdWJsaWMgcmVzb2x2ZUVtYmVkZGVkVHlwZSh0eXBlOiBHb0NsYXNzIHwgR29JbnRlcmZhY2UpOiBFbWJlZGRlZFR5cGUge1xuICAgIGlmICghdGhpcy5pc0V4dGVybmFsVHlwZSh0eXBlKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZW1iZWQ6IHR5cGUucHJveHlOYW1lLFxuICAgICAgICBmaWVsZE5hbWU6IHR5cGUucHJveHlOYW1lLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBleGlzdHMgPSB0aGlzLmVtYmVkZGVkVHlwZXMuZ2V0KHR5cGUuZnFuKTtcbiAgICBpZiAoZXhpc3RzKSB7XG4gICAgICByZXR1cm4gZXhpc3RzO1xuICAgIH1cblxuICAgIGNvbnN0IHR5cGVyZWYgPSBuZXcgR29UeXBlUmVmKHRoaXMucm9vdCwgdHlwZS50eXBlLnJlZmVyZW5jZSk7XG4gICAgY29uc3Qgb3JpZ2luYWwgPSB0eXBlcmVmLnNjb3BlZE5hbWUodGhpcyk7XG5cbiAgICBjb25zdCBzbHVnID0gb3JpZ2luYWwucmVwbGFjZSgvW15BLVphLXowLTldL2csICcnKTtcbiAgICBjb25zdCBhbGlhc05hbWUgPSBgVHlwZV9fJHtzbHVnfWA7XG5cbiAgICBjb25zdCBlbWJlZGRlZFR5cGU6IEVtYmVkZGVkVHlwZSA9IHtcbiAgICAgIGZvcmllZ25UeXBlTmFtZTogb3JpZ2luYWwsXG4gICAgICBmb3JpZWduVHlwZTogdHlwZXJlZixcbiAgICAgIGZpZWxkTmFtZTogYWxpYXNOYW1lLFxuICAgICAgZW1iZWQ6IGAke0lOVEVSTkFMX1BBQ0tBR0VfTkFNRX0uJHthbGlhc05hbWV9YCxcbiAgICB9O1xuICAgIHRoaXMuZW1iZWRkZWRUeXBlcy5zZXQodHlwZS5mcW4sIGVtYmVkZGVkVHlwZSk7XG5cbiAgICByZXR1cm4gZW1iZWRkZWRUeXBlO1xuICB9XG5cbiAgcHJvdGVjdGVkIGVtaXRIZWFkZXIoY29kZTogQ29kZU1ha2VyKSB7XG4gICAgY29kZS5saW5lKGBwYWNrYWdlICR7dGhpcy5wYWNrYWdlTmFtZX1gKTtcbiAgICBjb2RlLmxpbmUoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgc3BlY2lhbERlcGVuZGVuY2llcygpOiBTcGVjaWFsRGVwZW5kZW5jaWVzIHtcbiAgICByZXR1cm4gdGhpcy50eXBlc1xuICAgICAgLm1hcCgodCkgPT4gdC5zcGVjaWFsRGVwZW5kZW5jaWVzKVxuICAgICAgLnJlZHVjZShcbiAgICAgICAgKGFjYywgZWx0KSA9PiAoe1xuICAgICAgICAgIHJ1bnRpbWU6IGFjYy5ydW50aW1lIHx8IGVsdC5ydW50aW1lLFxuICAgICAgICAgIGluaXQ6IGFjYy5pbml0IHx8IGVsdC5pbml0LFxuICAgICAgICAgIGludGVybmFsOiBhY2MuaW50ZXJuYWwgfHwgZWx0LmludGVybmFsLFxuICAgICAgICAgIHRpbWU6IGFjYy50aW1lIHx8IGVsdC50aW1lLFxuICAgICAgICB9KSxcbiAgICAgICAgeyBydW50aW1lOiBmYWxzZSwgaW5pdDogZmFsc2UsIGludGVybmFsOiBmYWxzZSwgdGltZTogZmFsc2UgfSxcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogRW1pdHMgYSBgZnVuYyBpbml0KCkgeyAuLi4gfWAgaW4gYSBkZWRpY2F0ZWQgZmlsZSAoc28gd2UgZG9uJ3QgaGF2ZSB0b1xuICAgKiB3b3JyeSBhYm91dCB3aGF0IG5lZWRzIHRvIGJlIGltcG9ydGVkIGFuZCB3aGF0bm90KS4gVGhpcyBmdW5jdGlvbiBpc1xuICAgKiByZXNwb25zaWJsZSBmb3IgY29ycmVjdGx5IGluaXRpYWxpemluZyB0aGUgbW9kdWxlLCBpbmNsdWRpbmcgcmVnaXN0ZXJpbmdcbiAgICogdGhlIGRlY2xhcmVkIHR5cGVzIHdpdGggdGhlIGpzaWkgcnVudGltZSBmb3IgZ28uXG4gICAqL1xuICBwcml2YXRlIGVtaXRHb0luaXRGdW5jdGlvbih7IGNvZGUgfTogRW1pdENvbnRleHQpOiB2b2lkIHtcbiAgICAvLyBXZSBkb24ndCBlbWl0IGFueXRoaW5nIGlmIHRoZXJlIGFyZSBub3QgdHlwZXMgaW4gdGhpcyAoc3ViKW1vZHVsZS4gVGhpc1xuICAgIC8vIGF2b2lkcyByZWdpc3RlcmluZyBhbiBgaW5pdGAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdGhpbmcsIHdoaWNoIGlzIHBvb3JcbiAgICAvLyBmb3JtLiBJdCBhbHNvIHNhdmVzIHVzIGZyb20gXCJpbXBvcnRlZCBidXQgdW51c2VkXCIgZXJyb3JzIHRoYXQgd291bGQgYXJpc2VcbiAgICAvLyBhcyBhIGNvbnNlcXVlbmNlLlxuICAgIGlmICh0aGlzLnR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IGluaXRGaWxlID0gam9pbihcbiAgICAgICAgZGlybmFtZSh0aGlzLmZpbGUpLFxuICAgICAgICBgJHtiYXNlbmFtZSh0aGlzLmZpbGUsICcuZ28nKX0uaW5pdC5nb2AsXG4gICAgICApO1xuICAgICAgY29kZS5vcGVuRmlsZShpbml0RmlsZSk7XG4gICAgICBjb2RlLmxpbmUoYHBhY2thZ2UgJHt0aGlzLnBhY2thZ2VOYW1lfWApO1xuICAgICAgY29kZS5saW5lKCk7XG4gICAgICBpbXBvcnRHb01vZHVsZXMoY29kZSwgW0dPX1JFRkxFQ1QsIEpTSUlfUlRfTU9EVUxFXSk7XG4gICAgICBjb2RlLmxpbmUoKTtcbiAgICAgIGNvZGUub3BlbkJsb2NrKCdmdW5jIGluaXQoKScpO1xuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIHRoaXMudHlwZXMpIHtcbiAgICAgICAgdHlwZS5lbWl0UmVnaXN0cmF0aW9uKGNvZGUpO1xuICAgICAgfVxuICAgICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgICBjb2RlLmNsb3NlRmlsZShpbml0RmlsZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW1wb3J0cyhjb2RlOiBDb2RlTWFrZXIpIHtcbiAgICBjb25zdCB0b0ltcG9ydCA9IG5ldyBBcnJheTxJbXBvcnRlZE1vZHVsZT4oKTtcblxuICAgIGNvbnN0IHNwZWNpYWxEZXBzID0gdGhpcy5zcGVjaWFsRGVwZW5kZW5jaWVzO1xuXG4gICAgaWYgKHNwZWNpYWxEZXBzLnRpbWUpIHtcbiAgICAgIHRvSW1wb3J0LnB1c2goeyBtb2R1bGU6ICd0aW1lJyB9KTtcbiAgICB9XG5cbiAgICBpZiAoc3BlY2lhbERlcHMucnVudGltZSkge1xuICAgICAgdG9JbXBvcnQucHVzaChKU0lJX1JUX01PRFVMRSk7XG4gICAgfVxuXG4gICAgaWYgKHNwZWNpYWxEZXBzLmluaXQpIHtcbiAgICAgIHRvSW1wb3J0LnB1c2goe1xuICAgICAgICBhbGlhczogSlNJSV9JTklUX0FMSUFTLFxuICAgICAgICBtb2R1bGU6IGAke3RoaXMucm9vdC5nb01vZHVsZU5hbWV9LyR7SlNJSV9JTklUX1BBQ0tBR0V9YCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmIChzcGVjaWFsRGVwcy5pbnRlcm5hbCkge1xuICAgICAgdG9JbXBvcnQucHVzaCh7XG4gICAgICAgIG1vZHVsZTogYCR7dGhpcy5nb01vZHVsZU5hbWV9LyR7SU5URVJOQUxfUEFDS0FHRV9OQU1FfWAsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHBhY2thZ2VOYW1lIG9mIHRoaXMuZGVwZW5kZW5jeUltcG9ydHMpIHtcbiAgICAgIC8vIElmIHRoZSBtb2R1bGUgaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgb25lIGJlaW5nIHdyaXR0ZW4sIGRvbid0IGVtaXQgYW4gaW1wb3J0IHN0YXRlbWVudFxuICAgICAgaWYgKHBhY2thZ2VOYW1lICE9PSB0aGlzLnBhY2thZ2VOYW1lKSB7XG4gICAgICAgIHRvSW1wb3J0LnB1c2goeyBtb2R1bGU6IHBhY2thZ2VOYW1lIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltcG9ydEdvTW9kdWxlcyhjb2RlLCB0b0ltcG9ydCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRUeXBlcyhjb250ZXh0OiBFbWl0Q29udGV4dCkge1xuICAgIGZvciAoY29uc3QgdHlwZSBvZiB0aGlzLnR5cGVzKSB7XG4gICAgICB0eXBlLmVtaXQoY29udGV4dCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBlbWl0SW50ZXJuYWwoY29udGV4dDogRW1pdENvbnRleHQpIHtcbiAgICBpZiAodGhpcy5lbWJlZGRlZFR5cGVzLnNpemUgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjb2RlID0gY29udGV4dC5jb2RlO1xuXG4gICAgY29uc3QgZmlsZU5hbWUgPSBqb2luKHRoaXMuZGlyZWN0b3J5LCBJTlRFUk5BTF9QQUNLQUdFX05BTUUsICd0eXBlcy5nbycpO1xuICAgIGNvZGUub3BlbkZpbGUoZmlsZU5hbWUpO1xuXG4gICAgY29kZS5saW5lKGBwYWNrYWdlICR7SU5URVJOQUxfUEFDS0FHRV9OQU1FfWApO1xuXG4gICAgY29uc3QgaW1wb3J0cyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gICAgZm9yIChjb25zdCBhbGlhcyBvZiB0aGlzLmVtYmVkZGVkVHlwZXMudmFsdWVzKCkpIHtcbiAgICAgIGlmICghYWxpYXMuZm9yaWVnblR5cGUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgcGtnIG9mIGFsaWFzLmZvcmllZ25UeXBlLmRlcGVuZGVuY2llcykge1xuICAgICAgICBpbXBvcnRzLmFkZChwa2cuZ29Nb2R1bGVOYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb2RlLm9wZW4oJ2ltcG9ydCAoJyk7XG4gICAgZm9yIChjb25zdCBpbXBydCBvZiBpbXBvcnRzKSB7XG4gICAgICBjb2RlLmxpbmUoYFwiJHtpbXBydH1cImApO1xuICAgIH1cbiAgICBjb2RlLmNsb3NlKCcpJyk7XG5cbiAgICBmb3IgKGNvbnN0IGFsaWFzIG9mIHRoaXMuZW1iZWRkZWRUeXBlcy52YWx1ZXMoKSkge1xuICAgICAgY29kZS5saW5lKGB0eXBlICR7YWxpYXMuZmllbGROYW1lfSA9ICR7YWxpYXMuZm9yaWVnblR5cGVOYW1lfWApO1xuICAgIH1cblxuICAgIGNvZGUuY2xvc2VGaWxlKGZpbGVOYW1lKTtcbiAgfVxufVxuXG4vKlxuICogUm9vdFBhY2thZ2UgY29ycmVzcG9uZHMgdG8gSlNJSSBtb2R1bGUuXG4gKlxuICogRXh0ZW5kcyBgUGFja2FnZWAgZm9yIHJvb3Qgc291cmNlIHBhY2thZ2UgZW1pdCBsb2dpY1xuICovXG5leHBvcnQgY2xhc3MgUm9vdFBhY2thZ2UgZXh0ZW5kcyBQYWNrYWdlIHtcbiAgcHVibGljIHJlYWRvbmx5IGFzc2VtYmx5OiBBc3NlbWJseTtcbiAgcHVibGljIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZWFkbWU/OiBSZWFkbWVGaWxlO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb25GaWxlOiBWZXJzaW9uRmlsZTtcblxuICAvLyBUaGlzIGNhY2hlIG9mIHJvb3QgcGFja2FnZXMgaXMgc2hhcmVkIGFjcm9zcyBhbGwgcm9vdCBwYWNrYWdlcyBkZXJpdmVkIGNyZWF0ZWQgYnkgdGhpcyBvbmUgKHZpYSBkZXBlbmRlbmNpZXMpLlxuICBwcml2YXRlIHJlYWRvbmx5IHJvb3RQYWNrYWdlQ2FjaGU6IE1hcDxzdHJpbmcsIFJvb3RQYWNrYWdlPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgYXNzZW1ibHk6IEFzc2VtYmx5LFxuICAgIHJvb3RQYWNrYWdlQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgUm9vdFBhY2thZ2U+KCksXG4gICkge1xuICAgIGNvbnN0IGdvQ29uZmlnID0gYXNzZW1ibHkudGFyZ2V0cz8uZ28gPz8ge307XG4gICAgY29uc3QgcGFja2FnZU5hbWUgPSBnb1BhY2thZ2VOYW1lRm9yQXNzZW1ibHkoYXNzZW1ibHkpO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gJyc7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGdvQ29uZmlnLm1vZHVsZU5hbWUgPz8gJyc7XG4gICAgY29uc3QgdmVyc2lvbiA9IGAke2Fzc2VtYmx5LnZlcnNpb259JHtnb0NvbmZpZy52ZXJzaW9uU3VmZml4ID8/ICcnfWA7XG5cbiAgICBzdXBlcihcbiAgICAgIGFzc2VtYmx5LnR5cGVzLFxuICAgICAgYXNzZW1ibHkuc3VibW9kdWxlcyxcbiAgICAgIHBhY2thZ2VOYW1lLFxuICAgICAgZmlsZVBhdGgsXG4gICAgICBtb2R1bGVOYW1lLFxuICAgICAgdmVyc2lvbixcbiAgICApO1xuXG4gICAgdGhpcy5yb290UGFja2FnZUNhY2hlID0gcm9vdFBhY2thZ2VDYWNoZTtcbiAgICB0aGlzLnJvb3RQYWNrYWdlQ2FjaGUuc2V0KGFzc2VtYmx5Lm5hbWUsIHRoaXMpO1xuXG4gICAgdGhpcy5hc3NlbWJseSA9IGFzc2VtYmx5O1xuICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgdGhpcy52ZXJzaW9uRmlsZSA9IG5ldyBWZXJzaW9uRmlsZSh0aGlzLnZlcnNpb24pO1xuXG4gICAgaWYgKHRoaXMuYXNzZW1ibHkucmVhZG1lPy5tYXJrZG93bikge1xuICAgICAgdGhpcy5yZWFkbWUgPSBuZXcgUmVhZG1lRmlsZShcbiAgICAgICAgdGhpcy5wYWNrYWdlTmFtZSxcbiAgICAgICAgdGhpcy5hc3NlbWJseS5yZWFkbWUubWFya2Rvd24sXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBlbWl0KGNvbnRleHQ6IEVtaXRDb250ZXh0KTogdm9pZCB7XG4gICAgc3VwZXIuZW1pdChjb250ZXh0KTtcbiAgICB0aGlzLmVtaXRKc2lpUGFja2FnZShjb250ZXh0KTtcbiAgICB0aGlzLnJlYWRtZT8uZW1pdChjb250ZXh0KTtcblxuICAgIHRoaXMuZW1pdEdvbW9kKGNvbnRleHQuY29kZSk7XG4gICAgdGhpcy52ZXJzaW9uRmlsZS5lbWl0KGNvbnRleHQuY29kZSk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRHb21vZChjb2RlOiBDb2RlTWFrZXIpIHtcbiAgICBjb2RlLm9wZW5GaWxlKEdPTU9EX0ZJTEVOQU1FKTtcbiAgICBjb2RlLmxpbmUoYG1vZHVsZSAke3RoaXMuZ29Nb2R1bGVOYW1lfWApO1xuICAgIGNvZGUubGluZSgpO1xuICAgIGNvZGUubGluZShgZ28gJHtHT19WRVJTSU9OfWApO1xuICAgIGNvZGUubGluZSgpO1xuICAgIGNvZGUub3BlbigncmVxdWlyZSAoJyk7XG4gICAgLy8gU3RyaXAgXCIgKGJ1aWxkIGFiY2RlZilcIiBmcm9tIHRoZSBqc2lpIHZlcnNpb25cbiAgICBjb2RlLmxpbmUoYCR7SlNJSV9SVF9NT0RVTEVfTkFNRX0gdiR7VkVSU0lPTn1gKTtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0aGlzLnBhY2thZ2VEZXBlbmRlbmNpZXM7XG4gICAgZm9yIChjb25zdCBkZXAgb2YgZGVwZW5kZW5jaWVzKSB7XG4gICAgICBjb2RlLmxpbmUoYCR7ZGVwLmdvTW9kdWxlTmFtZX0gdiR7ZGVwLnZlcnNpb259YCk7XG4gICAgfVxuICAgIGluZGlyZWN0RGVwZW5kZW5jaWVzKFxuICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgbmV3IFNldChkZXBlbmRlbmNpZXMubWFwKChkZXApID0+IGRlcC5nb01vZHVsZU5hbWUpKSxcbiAgICApO1xuICAgIGNvZGUuY2xvc2UoJyknKTtcbiAgICBjb2RlLmNsb3NlRmlsZShHT01PRF9GSUxFTkFNRSk7XG5cbiAgICAvKipcbiAgICAgKiBFbWl0cyBpbmRpcmVjdCBkZXBlbmRlbmN5IGRlY2xhcmF0aW9ucywgd2hpY2ggYXJlIGhlbHBmdWwgdG8gbWFrZSBJREVzIGF0XG4gICAgICogZWFzZSB3aXRoIHRoZSBjb2RlYmFzZS5cbiAgICAgKi9cbiAgICBmdW5jdGlvbiBpbmRpcmVjdERlcGVuZGVuY2llcyhcbiAgICAgIHBrZ3M6IFJvb3RQYWNrYWdlW10sXG4gICAgICBhbHJlYWR5RW1pdHRlZDogU2V0PHN0cmluZz4sXG4gICAgKTogdm9pZCB7XG4gICAgICBmb3IgKGNvbnN0IHBrZyBvZiBwa2dzKSB7XG4gICAgICAgIGNvbnN0IGRlcHMgPSBwa2cucGFja2FnZURlcGVuZGVuY2llcztcbiAgICAgICAgZm9yIChjb25zdCBkZXAgb2YgZGVwcykge1xuICAgICAgICAgIGlmIChhbHJlYWR5RW1pdHRlZC5oYXMoZGVwLmdvTW9kdWxlTmFtZSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhbHJlYWR5RW1pdHRlZC5hZGQoZGVwLmdvTW9kdWxlTmFtZSk7XG4gICAgICAgICAgY29kZS5saW5lKGAke2RlcC5nb01vZHVsZU5hbWV9IHYke2RlcC52ZXJzaW9ufSAvLyBpbmRpcmVjdGApO1xuICAgICAgICB9XG4gICAgICAgIGluZGlyZWN0RGVwZW5kZW5jaWVzKGRlcHMsIGFscmVhZHlFbWl0dGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKlxuICAgKiBPdmVycmlkZSBwYWNrYWdlIGZpbmRUeXBlIGZvciByb290IFBhY2thZ2UuXG4gICAqXG4gICAqIFRoaXMgYWxsb3dzIHJlc29sdmluZyB0eXBlIHJlZmVyZW5jZXMgZnJvbSBvdGhlciBKU0lJIG1vZHVsZXNcbiAgICovXG4gIHB1YmxpYyBmaW5kVHlwZShmcW46IHN0cmluZyk6IEdvVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMucGFja2FnZURlcGVuZGVuY2llcy5yZWR1Y2UoXG4gICAgICAoYWNjdW06IEdvVHlwZSB8IHVuZGVmaW5lZCwgY3VycmVudDogUm9vdFBhY2thZ2UpID0+IHtcbiAgICAgICAgaWYgKGFjY3VtKSB7XG4gICAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjdXJyZW50LmZpbmRUeXBlKGZxbik7XG4gICAgICB9LFxuICAgICAgc3VwZXIuZmluZFR5cGUoZnFuKSxcbiAgICApO1xuICB9XG5cbiAgLypcbiAgICogR2V0IGFsbCBKU0lJIG1vZHVsZSBkZXBlbmRlbmNpZXMgb2YgdGhlIHBhY2thZ2UgYmVpbmcgZ2VuZXJhdGVkXG4gICAqL1xuICBwdWJsaWMgZ2V0IHBhY2thZ2VEZXBlbmRlbmNpZXMoKTogUm9vdFBhY2thZ2VbXSB7XG4gICAgcmV0dXJuIHRoaXMuYXNzZW1ibHkuZGVwZW5kZW5jaWVzLm1hcChcbiAgICAgIChkZXApID0+XG4gICAgICAgIHRoaXMucm9vdFBhY2thZ2VDYWNoZS5nZXQoZGVwLmFzc2VtYmx5Lm5hbWUpID8/XG4gICAgICAgIG5ldyBSb290UGFja2FnZShkZXAuYXNzZW1ibHksIHRoaXMucm9vdFBhY2thZ2VDYWNoZSksXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0SGVhZGVyKGNvZGU6IENvZGVNYWtlcikge1xuICAgIGlmICh0aGlzLmFzc2VtYmx5LmRlc2NyaXB0aW9uICE9PSAnJykge1xuICAgICAgY29kZS5saW5lKGAvLyAke3RoaXMuYXNzZW1ibHkuZGVzY3JpcHRpb259YCk7XG4gICAgfVxuICAgIGNvZGUubGluZShgcGFja2FnZSAke3RoaXMucGFja2FnZU5hbWV9YCk7XG4gICAgY29kZS5saW5lKCk7XG4gIH1cblxuICBwcml2YXRlIGVtaXRKc2lpUGFja2FnZSh7IGNvZGUgfTogRW1pdENvbnRleHQpIHtcbiAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0aGlzLnBhY2thZ2VEZXBlbmRlbmNpZXMuc29ydCgobCwgcikgPT5cbiAgICAgIGwubW9kdWxlTmFtZS5sb2NhbGVDb21wYXJlKHIubW9kdWxlTmFtZSksXG4gICAgKTtcblxuICAgIGNvbnN0IGZpbGUgPSBqb2luKEpTSUlfSU5JVF9QQUNLQUdFLCBgJHtKU0lJX0lOSVRfUEFDS0FHRX0uZ29gKTtcbiAgICBjb2RlLm9wZW5GaWxlKGZpbGUpO1xuICAgIGNvZGUubGluZShcbiAgICAgIGAvLyBQYWNrYWdlICR7SlNJSV9JTklUX1BBQ0tBR0V9IGNvbnRhaW5zIHRoZSBmdW5jdGlvbmFpbGl0eSBuZWVkZWQgZm9yIGpzaWkgcGFja2FnZXMgdG9gLFxuICAgICk7XG4gICAgY29kZS5saW5lKFxuICAgICAgJy8vIGluaXRpYWxpemUgdGhlaXIgZGVwZW5kZW5jaWVzIGFuZCB0aGVtc2VsdmVzLiBVc2VycyBzaG91bGQgbmV2ZXIgbmVlZCB0byB1c2UgdGhpcyBwYWNrYWdlJyxcbiAgICApO1xuICAgIGNvZGUubGluZSgnLy8gZGlyZWN0bHkuIElmIHlvdSBmaW5kIHlvdSBuZWVkIHRvIC0gcGxlYXNlIHJlcG9ydCBhIGJ1ZyBhdCcpO1xuICAgIGNvZGUubGluZSgnLy8gaHR0cHM6Ly9naXRodWIuY29tL2F3cy9qc2lpL2lzc3Vlcy9uZXcvY2hvb3NlJyk7XG4gICAgY29kZS5saW5lKGBwYWNrYWdlICR7SlNJSV9JTklUX1BBQ0tBR0V9YCk7XG4gICAgY29kZS5saW5lKCk7XG5cbiAgICBjb25zdCB0b0ltcG9ydDogSW1wb3J0ZWRNb2R1bGVbXSA9IFtcbiAgICAgIEpTSUlfUlRfTU9EVUxFLFxuICAgICAgeyBtb2R1bGU6ICdlbWJlZCcsIGFsaWFzOiAnXycgfSxcbiAgICBdO1xuICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgICAgZm9yIChjb25zdCBwa2cgb2YgZGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIHRvSW1wb3J0LnB1c2goe1xuICAgICAgICAgIGFsaWFzOiBwa2cucGFja2FnZU5hbWUsXG4gICAgICAgICAgbW9kdWxlOiBgJHtwa2cucm9vdC5nb01vZHVsZU5hbWV9LyR7SlNJSV9JTklUX1BBQ0tBR0V9YCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGltcG9ydEdvTW9kdWxlcyhjb2RlLCB0b0ltcG9ydCk7XG5cbiAgICBjb2RlLmxpbmUoKTtcbiAgICBjb2RlLmxpbmUoYC8vZ286ZW1iZWQgJHt0YXJiYWxsTmFtZSh0aGlzLmFzc2VtYmx5KX1gKTtcbiAgICBjb2RlLmxpbmUoJ3ZhciB0YXJiYWxsIFtdYnl0ZScpO1xuICAgIGNvZGUubGluZSgpO1xuXG4gICAgY29kZS5saW5lKFxuICAgICAgYC8vICR7SlNJSV9JTklUX0ZVTkN9IGxvYWRzIHRoZSBuZWNlc3NhcnkgcGFja2FnZXMgaW4gdGhlIEBqc2lpL2tlcm5lbCB0byBzdXBwb3J0IHRoZSBlbmNsb3NpbmcgbW9kdWxlLmAsXG4gICAgKTtcbiAgICBjb2RlLmxpbmUoXG4gICAgICAnLy8gVGhlIGltcGxlbWVudGF0aW9uIGlzIGlkZW1wb3RlbnQgKGFuZCBoZW5jZSBzYWZlIHRvIGJlIGNhbGxlZCBvdmVyIGFuZCBvdmVyKS4nLFxuICAgICk7XG4gICAgY29kZS5vcGVuKGBmdW5jICR7SlNJSV9JTklUX0ZVTkN9KCkge2ApO1xuICAgIGlmIChkZXBlbmRlbmNpZXMubGVuZ3RoID4gMCkge1xuICAgICAgY29kZS5saW5lKCcvLyBFbnN1cmUgYWxsIGRlcGVuZGVuY2llcyBhcmUgaW5pdGlhbGl6ZWQnKTtcbiAgICAgIGZvciAoY29uc3QgcGtnIG9mIHRoaXMucGFja2FnZURlcGVuZGVuY2llcykge1xuICAgICAgICBjb2RlLmxpbmUoYCR7cGtnLnBhY2thZ2VOYW1lfS4ke0pTSUlfSU5JVF9GVU5DfSgpYCk7XG4gICAgICB9XG4gICAgICBjb2RlLmxpbmUoKTtcbiAgICB9XG4gICAgY29kZS5saW5lKCcvLyBMb2FkIHRoaXMgbGlicmFyeSBpbnRvIHRoZSBrZXJuZWwnKTtcbiAgICBjb2RlLmxpbmUoXG4gICAgICBgJHtKU0lJX1JUX0FMSUFTfS5Mb2FkKFwiJHt0aGlzLmFzc2VtYmx5Lm5hbWV9XCIsIFwiJHt0aGlzLmFzc2VtYmx5LnZlcnNpb259XCIsIHRhcmJhbGwpYCxcbiAgICApO1xuICAgIGNvZGUuY2xvc2UoJ30nKTtcblxuICAgIGNvZGUuY2xvc2VGaWxlKGZpbGUpO1xuICB9XG59XG5cbi8qXG4gKiBJbnRlcm5hbFBhY2thZ2UgcmVmZXJzIHRvIGFueSBnbyBwYWNrYWdlIHdpdGhpbiBhIGdpdmVuIEpTSUkgbW9kdWxlLlxuICovXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxQYWNrYWdlIGV4dGVuZHMgUGFja2FnZSB7XG4gIHB1YmxpYyByZWFkb25seSBwYXJlbnQ6IFBhY2thZ2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHJvb3Q6IFBhY2thZ2UsIHBhcmVudDogUGFja2FnZSwgYXNzZW1ibHk6IEpzaWlTdWJtb2R1bGUpIHtcbiAgICBjb25zdCBwYWNrYWdlTmFtZSA9IGdvUGFja2FnZU5hbWVGb3JBc3NlbWJseShhc3NlbWJseSk7XG4gICAgY29uc3QgZmlsZVBhdGggPVxuICAgICAgcGFyZW50ID09PSByb290ID8gcGFja2FnZU5hbWUgOiBgJHtwYXJlbnQuZmlsZVBhdGh9LyR7cGFja2FnZU5hbWV9YDtcblxuICAgIHN1cGVyKFxuICAgICAgYXNzZW1ibHkudHlwZXMsXG4gICAgICBhc3NlbWJseS5zdWJtb2R1bGVzLFxuICAgICAgcGFja2FnZU5hbWUsXG4gICAgICBmaWxlUGF0aCxcbiAgICAgIHJvb3QubW9kdWxlTmFtZSxcbiAgICAgIHJvb3QudmVyc2lvbixcbiAgICAgIHJvb3QsXG4gICAgKTtcblxuICAgIHRoaXMucGFyZW50ID0gcGFyZW50O1xuICB9XG59XG5cbi8qKlxuICogR28gcmVxdWlyZXMgdGhhdCB3aGVuIGEgbW9kdWxlIG1ham9yIHZlcnNpb24gaXMgdjIuMCBhbmQgYWJvdmUsIHRoZSBtb2R1bGVcbiAqIG5hbWUgd2lsbCBoYXZlIGEgYC92Tk5gIHN1ZmZpeCAod2hlcmUgYE5OYCBpcyB0aGUgbWFqb3IgdmVyc2lvbikuXG4gKlxuICogPiBTdGFydGluZyB3aXRoIG1ham9yIHZlcnNpb24gMiwgbW9kdWxlIHBhdGhzIG11c3QgaGF2ZSBhIG1ham9yIHZlcnNpb25cbiAqID4gc3VmZml4IGxpa2UgL3YyIHRoYXQgbWF0Y2hlcyB0aGUgbWFqb3IgdmVyc2lvbi4gRm9yIGV4YW1wbGUsIGlmIGEgbW9kdWxlXG4gKiA+IGhhcyB0aGUgcGF0aCBleGFtcGxlLmNvbS9tb2QgYXQgdjEuMC4wLCBpdCBtdXN0IGhhdmUgdGhlIHBhdGhcbiAqID4gZXhhbXBsZS5jb20vbW9kL3YyIGF0IHZlcnNpb24gdjIuMC4wLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9nb2xhbmcub3JnL3JlZi9tb2QjbWFqb3ItdmVyc2lvbi1zdWZmaXhlc1xuICogQHBhcmFtIHZlcnNpb24gVGhlIG1vZHVsZSB2ZXJzaW9uIChlLmcuIGAyLjMuMGApXG4gKiBAcmV0dXJucyBhIHN1ZmZpeCB0byBhcHBlbmQgdG8gdGhlIG1vZHVsZSBuYW1lIGluIHRoZSBmb3JtIChgL3ZOTmApLiBJZiB0aGVcbiAqIG1vZHVsZSB2ZXJzaW9uIGlzIGAwLnhgIG9yIGAxLnhgLCByZXR1cm5zIGFuIGVtcHR5IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gZGV0ZXJtaW5lTWFqb3JWZXJzaW9uU3VmZml4KHZlcnNpb246IHN0cmluZykge1xuICBjb25zdCBzdiA9IHNlbXZlci5wYXJzZSh2ZXJzaW9uKTtcbiAgaWYgKCFzdikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBVbmFibGUgdG8gcGFyc2UgdmVyc2lvbiBcIiR7dmVyc2lvbn1cIiBhcyBhIHNlbWFudGljIHZlcnNpb25gLFxuICAgICk7XG4gIH1cblxuICAvLyBzdWZmaXggaXMgb25seSBuZWVkZWQgZm9yIDIuMCBhbmQgYWJvdmVcbiAgaWYgKHN2Lm1ham9yIDw9IDEpIHtcbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICByZXR1cm4gYC92JHtzdi5tYWpvcn1gO1xufVxuXG5pbnRlcmZhY2UgSW1wb3J0ZWRNb2R1bGUge1xuICByZWFkb25seSBhbGlhcz86IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kdWxlOiBzdHJpbmc7XG59XG5cbmNvbnN0IEpTSUlfUlRfTU9EVUxFOiBJbXBvcnRlZE1vZHVsZSA9IHtcbiAgYWxpYXM6IEpTSUlfUlRfQUxJQVMsXG4gIG1vZHVsZTogSlNJSV9SVF9QQUNLQUdFX05BTUUsXG59O1xuY29uc3QgR09fUkVGTEVDVDogSW1wb3J0ZWRNb2R1bGUgPSB7IG1vZHVsZTogJ3JlZmxlY3QnIH07XG5cbmZ1bmN0aW9uIGltcG9ydEdvTW9kdWxlcyhjb2RlOiBDb2RlTWFrZXIsIG1vZHVsZXM6IHJlYWRvbmx5IEltcG9ydGVkTW9kdWxlW10pIHtcbiAgaWYgKG1vZHVsZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgYWxpYXNTaXplID0gTWF0aC5tYXgoLi4ubW9kdWxlcy5tYXAoKG1vZCkgPT4gbW9kLmFsaWFzPy5sZW5ndGggPz8gMCkpO1xuICBjb2RlLm9wZW4oJ2ltcG9ydCAoJyk7XG4gIGNvbnN0IHNvcnRlZE1vZHVsZXMgPSBBcnJheS5mcm9tKG1vZHVsZXMpLnNvcnQoY29tcGFyZUltcG9ydGVkTW9kdWxlcyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgc29ydGVkTW9kdWxlcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG1vZCA9IHNvcnRlZE1vZHVsZXNbaV07XG4gICAgLy8gU2VwYXJhdGUgbW9kdWxlIGNhdGVnb3JpZXMgZnJvbSBlYWNoIG90aGVyIG1vZHVsZXMgd2l0aCBhIGJsYW5rIGxpbmUuXG4gICAgaWYgKFxuICAgICAgaSA+IDAgJiZcbiAgICAgIChpc0J1aWx0SW4obW9kKSAhPT0gaXNCdWlsdEluKHNvcnRlZE1vZHVsZXNbaSAtIDFdKSB8fFxuICAgICAgICBpc1NwZWNpYWwobW9kKSAhPT0gaXNTcGVjaWFsKHNvcnRlZE1vZHVsZXNbaSAtIDFdKSlcbiAgICApIHtcbiAgICAgIGNvZGUubGluZSgpO1xuICAgIH1cbiAgICBpZiAobW9kLmFsaWFzKSB7XG4gICAgICBjb2RlLmxpbmUoYCR7bW9kLmFsaWFzLnBhZEVuZChhbGlhc1NpemUsICcgJyl9IFwiJHttb2QubW9kdWxlfVwiYCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvZGUubGluZShgXCIke21vZC5tb2R1bGV9XCJgKTtcbiAgICB9XG4gIH1cbiAgY29kZS5jbG9zZSgnKScpO1xuXG4gIC8qKlxuICAgKiBBIGNvbXBhcmF0b3IgZm9yIGBJbXBvcnRlZE1vZHVsZWAgaW5zdGFuY2VzIHN1Y2ggdGhhdCBidWlsdC1pbiBtb2R1bGVzXG4gICAqIGFsd2F5cyBhcHBlYXIgZmlyc3QsIGZvbGxvd2VkIGJ5IHRoZSByZXN0LiBUaGVuIHdpdGhpbiB0aGVzZSB0d28gZ3JvdXBzLFxuICAgKiBhbGlhc2VkIGltcG9ydHMgYXBwZWFyIGZpcnN0LCBmb2xsb3dlZCBieSB0aGUgcmVzdC5cbiAgICovXG4gIGZ1bmN0aW9uIGNvbXBhcmVJbXBvcnRlZE1vZHVsZXMoXG4gICAgbDogSW1wb3J0ZWRNb2R1bGUsXG4gICAgcjogSW1wb3J0ZWRNb2R1bGUsXG4gICk6IG51bWJlciB7XG4gICAgY29uc3QgbEJ1aWx0SW4gPSBpc0J1aWx0SW4obCk7XG4gICAgY29uc3QgckJ1aWx0SW4gPSBpc0J1aWx0SW4ocik7XG4gICAgaWYgKGxCdWlsdEluICYmICFyQnVpbHRJbikge1xuICAgICAgcmV0dXJuIC0xO1xuICAgIH1cbiAgICBpZiAoIWxCdWlsdEluICYmIHJCdWlsdEluKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG5cbiAgICBjb25zdCBsU3BlY2lhbCA9IGlzU3BlY2lhbChsKTtcbiAgICBjb25zdCByU3BlY2lhbCA9IGlzU3BlY2lhbChyKTtcbiAgICBpZiAobFNwZWNpYWwgJiYgIXJTcGVjaWFsKSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIGlmICghbFNwZWNpYWwgJiYgclNwZWNpYWwpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cblxuICAgIHJldHVybiBsLm1vZHVsZS5sb2NhbGVDb21wYXJlKHIubW9kdWxlKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGlzQnVpbHRJbihtb2Q6IEltcG9ydGVkTW9kdWxlKTogYm9vbGVhbiB7XG4gICAgLy8gU3RhbmRhcmQgbGlicmFyeSBtb2R1bGVzIGRvbid0IGhhdmUgYW55IFwiLlwiIGluIHRoZWlyIHBhdGgsIHdoZXJlYXMgYW55XG4gICAgLy8gb3RoZXIgbW9kdWxlIGhhcyBhIEROUyBwb3J0aW9uIGluIHRoZW0sIHdoaWNoIG11c3QgaW5jbHVkZSBhIFwiLlwiLlxuICAgIHJldHVybiAhbW9kLm1vZHVsZS5pbmNsdWRlcygnLicpO1xuICB9XG5cbiAgZnVuY3Rpb24gaXNTcGVjaWFsKG1vZDogSW1wb3J0ZWRNb2R1bGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gbW9kLmFsaWFzID09PSBKU0lJX1JUX0FMSUFTIHx8IG1vZC5hbGlhcyA9PT0gSlNJSV9JTklUX0FMSUFTO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBlbWJlZGRlZCBHbyB0eXBlLlxuICovXG5pbnRlcmZhY2UgRW1iZWRkZWRUeXBlIHtcbiAgLyoqXG4gICAqIFRoZSBmaWVsZCBuYW1lIGZvciB0aGUgZW1iZWRkZWQgdHlwZS5cbiAgICovXG4gIHJlYWRvbmx5IGZpZWxkTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZW1iZWRkZWQgdHlwZSBuYW1lIHRvIHVzZS4gQ291bGQgYmUgZWl0aGVyIGEgc3RydWN0IHByb3h5IChpZiB0aGUgYmFzZVxuICAgKiB0eXBlIGlzIGluIHRoZSBzYW1lIHBhY2thZ2UpIG9yIGFuIGludGVybmFsIGFsaWFzIGZvciBhIGZvcmllZ24gdHlwZSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgZW1iZWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmVmZXJuY2UgdG8gdGhlIGZvcmVpZ24gdHlwZSAoaWYgdGhpcyBpcyBhIGZvcmllZ24gdHlwZSlcbiAgICovXG4gIHJlYWRvbmx5IGZvcmllZ25UeXBlPzogR29UeXBlUmVmO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZm9yaWVnbiB0eXBlLlxuICAgKi9cbiAgcmVhZG9ubHkgZm9yaWVnblR5cGVOYW1lPzogc3RyaW5nO1xufVxuIl19
471
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["package.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import { EmitContext } from './emit-context';
2
2
  export declare class ReadmeFile {
3
3
  private readonly packageName;
4
4
  private readonly document;
5
- constructor(packageName: string, document: string);
6
- emit({ code }: EmitContext): void;
5
+ private readonly directory;
6
+ constructor(packageName: string, document: string, directory: string);
7
+ emit({ documenter }: EmitContext): void;
7
8
  }
9
+ //# sourceMappingURL=readme-file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readme-file.d.ts","sourceRoot":"","sources":["readme-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,qBAAa,UAAU;IAEnB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAFT,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM;IAG7B,IAAI,CAAC,EAAE,UAAU,EAAE,EAAE,WAAW;CAMxC"}
@@ -1,24 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ReadmeFile = void 0;
4
- const path_1 = require("path");
5
- // import { Translation } from 'jsii-rosetta';
6
- // import { INCOMPLETE_DISCLAIMER_COMPILING, INCOMPLETE_DISCLAIMER_NONCOMPILING } from '..';
7
4
  class ReadmeFile {
8
- constructor(packageName, document) {
5
+ constructor(packageName, document, directory) {
9
6
  this.packageName = packageName;
10
7
  this.document = document;
8
+ this.directory = directory;
11
9
  }
12
- emit({ code /*, rosetta */ }) {
13
- const nameParts = this.packageName.split('.');
14
- const file = path_1.join(...nameParts.slice(0, nameParts.length - 11), 'README.md');
15
- code.openFile(file);
16
- const translated = this.document; // rosetta.translateSnippetsInMarkdown(this.document, 'go', prependDisclaimer);
17
- for (const line of translated.split('\n')) {
18
- code.line(line);
10
+ emit({ documenter }) {
11
+ if (!this.document) {
12
+ return;
19
13
  }
20
- code.closeFile(file);
14
+ documenter.emitReadme(this.packageName, this.document, this.directory);
21
15
  }
22
16
  }
23
17
  exports.ReadmeFile = ReadmeFile;
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG1lLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWFkbWUtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQkFBNEI7QUFHNUIsOENBQThDO0FBQzlDLDRGQUE0RjtBQUU1RixNQUFhLFVBQVU7SUFDckIsWUFDbUIsV0FBbUIsRUFDbkIsUUFBZ0I7UUFEaEIsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBUTtJQUNoQyxDQUFDO0lBRUcsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBZTtRQUM5QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5QyxNQUFNLElBQUksR0FBRyxXQUFJLENBQ2YsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxFQUM1QyxXQUFXLENBQ1osQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLCtFQUErRTtRQUNqSCxLQUFLLE1BQU0sSUFBSSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNqQjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQWtCRjtBQXJDRCxnQ0FxQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5cbmltcG9ydCB7IEVtaXRDb250ZXh0IH0gZnJvbSAnLi9lbWl0LWNvbnRleHQnO1xuLy8gaW1wb3J0IHsgVHJhbnNsYXRpb24gfSBmcm9tICdqc2lpLXJvc2V0dGEnO1xuLy8gaW1wb3J0IHsgSU5DT01QTEVURV9ESVNDTEFJTUVSX0NPTVBJTElORywgSU5DT01QTEVURV9ESVNDTEFJTUVSX05PTkNPTVBJTElORyB9IGZyb20gJy4uJztcblxuZXhwb3J0IGNsYXNzIFJlYWRtZUZpbGUge1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IHN0cmluZyxcbiAgKSB7fVxuXG4gIHB1YmxpYyBlbWl0KHsgY29kZSAvKiwgcm9zZXR0YSAqLyB9OiBFbWl0Q29udGV4dCkge1xuICAgIGNvbnN0IG5hbWVQYXJ0cyA9IHRoaXMucGFja2FnZU5hbWUuc3BsaXQoJy4nKTtcbiAgICBjb25zdCBmaWxlID0gam9pbihcbiAgICAgIC4uLm5hbWVQYXJ0cy5zbGljZSgwLCBuYW1lUGFydHMubGVuZ3RoIC0gMTEpLFxuICAgICAgJ1JFQURNRS5tZCcsXG4gICAgKTtcblxuICAgIGNvZGUub3BlbkZpbGUoZmlsZSk7XG4gICAgY29uc3QgdHJhbnNsYXRlZCA9IHRoaXMuZG9jdW1lbnQ7IC8vIHJvc2V0dGEudHJhbnNsYXRlU25pcHBldHNJbk1hcmtkb3duKHRoaXMuZG9jdW1lbnQsICdnbycsIHByZXBlbmREaXNjbGFpbWVyKTtcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgdHJhbnNsYXRlZC5zcGxpdCgnXFxuJykpIHtcbiAgICAgIGNvZGUubGluZShsaW5lKTtcbiAgICB9XG4gICAgY29kZS5jbG9zZUZpbGUoZmlsZSk7XG4gIH1cblxuICAvKlxuICBmdW5jdGlvbiBwcmVwZW5kRGlzY2xhaW1lcih0cmFuc2xhdGlvbjogVHJhbnNsYXRpb24pIHtcbiAgICBjb25zdCBzb3VyY2UgPSBhZGREaXNjbGFpbWVySWZOZWVkZWQoKTtcbiAgICByZXR1cm4geyBsYW5ndWFnZTogdHJhbnNsYXRpb24ubGFuZ3VhZ2UsIHNvdXJjZSB9O1xuXG4gICAgZnVuY3Rpb24gYWRkRGlzY2xhaW1lcklmTmVlZGVkKCk6IHN0cmluZyB7XG4gICAgICBpZiAodHJhbnNsYXRpb24uZGlkQ29tcGlsZSAmJiBJTkNPTVBMRVRFX0RJU0NMQUlNRVJfQ09NUElMSU5HKSB7XG4gICAgICAgIHJldHVybiBgLy8gJHtJTkNPTVBMRVRFX0RJU0NMQUlNRVJfQ09NUElMSU5HfVxcblxcbiR7dHJhbnNsYXRpb24uc291cmNlfWA7XG4gICAgICB9XG4gICAgICBpZiAoIXRyYW5zbGF0aW9uLmRpZENvbXBpbGUgJiYgSU5DT01QTEVURV9ESVNDTEFJTUVSX05PTkNPTVBJTElORykge1xuICAgICAgICByZXR1cm4gYC8vICR7SU5DT01QTEVURV9ESVNDTEFJTUVSX05PTkNPTVBJTElOR31cXG5cXG4ke3RyYW5zbGF0aW9uLnNvdXJjZX1gO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRyYW5zbGF0aW9uLnNvdXJjZTtcbiAgICB9XG4gIH1cbiAgKi9cbn1cbiJdfQ==
18
+ //# sourceMappingURL=readme-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readme-file.js","sourceRoot":"","sources":["readme-file.ts"],"names":[],"mappings":";;;AAEA,MAAa,UAAU;IACrB,YACmB,WAAmB,EACnB,QAAgB,EAChB,SAAiB;QAFjB,gBAAW,GAAX,WAAW,CAAQ;QACnB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,cAAS,GAAT,SAAS,CAAQ;IACjC,CAAC;IAEG,IAAI,CAAC,EAAE,UAAU,EAAe;QACrC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,OAAO;SACR;QACD,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;CACF;AAbD,gCAaC"}
@@ -6,3 +6,4 @@ export declare class ClassConstructor {
6
6
  emit(code: CodeMaker): void;
7
7
  emitOverride(code: CodeMaker, instanceVar: string): void;
8
8
  }
9
+ //# sourceMappingURL=class-constructor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-constructor.d.ts","sourceRoot":"","sources":["class-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAK9C,qBAAa,gBAAgB;aACQ,MAAM,EAAE,kBAAkB;gBAA1B,MAAM,EAAE,kBAAkB;IAEtD,IAAI,CAAC,IAAI,EAAE,SAAS;IA0BpB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM;CAYzD"}
@@ -9,10 +9,10 @@ class ClassConstructor {
9
9
  this.parent = parent;
10
10
  }
11
11
  emit(code) {
12
- util_1.emitInitialization(code);
12
+ (0, util_1.emitInitialization)(code);
13
13
  code.line();
14
- const resultVar = util_1.slugify(this.parent.parent.proxyName[0], this.parent.parameters.map((p) => p.name));
15
- const args = emit_arguments_1.emitArguments(code, this.parent.parameters, resultVar);
14
+ const resultVar = (0, util_1.slugify)(this.parent.parent.proxyName[0], this.parent.parameters.map((p) => p.name));
15
+ const args = (0, emit_arguments_1.emitArguments)(code, this.parent.parameters, resultVar);
16
16
  code.line(`${resultVar} := ${this.parent.parent.proxyName}{}`);
17
17
  code.line();
18
18
  code.open(`${constants_1.JSII_CREATE_FUNC}(`);
@@ -24,9 +24,9 @@ class ClassConstructor {
24
24
  code.line(`return &${resultVar}`);
25
25
  }
26
26
  emitOverride(code, instanceVar) {
27
- util_1.emitInitialization(code);
27
+ (0, util_1.emitInitialization)(code);
28
28
  code.line();
29
- const args = emit_arguments_1.emitArguments(code, this.parent.parameters, instanceVar);
29
+ const args = (0, emit_arguments_1.emitArguments)(code, this.parent.parameters, instanceVar);
30
30
  code.open(`${constants_1.JSII_CREATE_FUNC}(`);
31
31
  code.line(`"${this.parent.parent.fqn}",`);
32
32
  code.line(args ? `${args},` : 'nil, // no parameters');
@@ -35,4 +35,4 @@ class ClassConstructor {
35
35
  }
36
36
  }
37
37
  exports.ClassConstructor = ClassConstructor;
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MtY29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbGFzcy1jb25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSwyQ0FBK0M7QUFDL0MscURBQWlEO0FBQ2pELGlDQUFxRDtBQUVyRCxNQUFhLGdCQUFnQjtJQUMzQixZQUFtQyxNQUEwQjtRQUExQixXQUFNLEdBQU4sTUFBTSxDQUFvQjtJQUFHLENBQUM7SUFFMUQsSUFBSSxDQUFDLElBQWU7UUFDekIseUJBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRVosTUFBTSxTQUFTLEdBQUcsY0FBTyxDQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUMxQyxDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsOEJBQWEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFFcEUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUVaLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyw0QkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVoQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQWUsRUFBRSxXQUFtQjtRQUN0RCx5QkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFWixNQUFNLElBQUksR0FBRyw4QkFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsNEJBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEIsQ0FBQztDQUNGO0FBekNELDRDQXlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvZGVNYWtlciB9IGZyb20gJ2NvZGVtYWtlcic7XG5cbmltcG9ydCB7IEdvQ2xhc3NDb25zdHJ1Y3RvciB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEpTSUlfQ1JFQVRFX0ZVTkMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBlbWl0QXJndW1lbnRzIH0gZnJvbSAnLi9lbWl0LWFyZ3VtZW50cyc7XG5pbXBvcnQgeyBzbHVnaWZ5LCBlbWl0SW5pdGlhbGl6YXRpb24gfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgY2xhc3MgQ2xhc3NDb25zdHJ1Y3RvciB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGFyZW50OiBHb0NsYXNzQ29uc3RydWN0b3IpIHt9XG5cbiAgcHVibGljIGVtaXQoY29kZTogQ29kZU1ha2VyKSB7XG4gICAgZW1pdEluaXRpYWxpemF0aW9uKGNvZGUpO1xuICAgIGNvZGUubGluZSgpO1xuXG4gICAgY29uc3QgcmVzdWx0VmFyID0gc2x1Z2lmeShcbiAgICAgIHRoaXMucGFyZW50LnBhcmVudC5wcm94eU5hbWVbMF0sXG4gICAgICB0aGlzLnBhcmVudC5wYXJhbWV0ZXJzLm1hcCgocCkgPT4gcC5uYW1lKSxcbiAgICApO1xuXG4gICAgY29uc3QgYXJncyA9IGVtaXRBcmd1bWVudHMoY29kZSwgdGhpcy5wYXJlbnQucGFyYW1ldGVycywgcmVzdWx0VmFyKTtcblxuICAgIGNvZGUubGluZShgJHtyZXN1bHRWYXJ9IDo9ICR7dGhpcy5wYXJlbnQucGFyZW50LnByb3h5TmFtZX17fWApO1xuICAgIGNvZGUubGluZSgpO1xuXG4gICAgY29kZS5vcGVuKGAke0pTSUlfQ1JFQVRFX0ZVTkN9KGApO1xuXG4gICAgY29kZS5saW5lKGBcIiR7dGhpcy5wYXJlbnQucGFyZW50LmZxbn1cIixgKTtcbiAgICBjb2RlLmxpbmUoYXJncyA/IGAke2FyZ3N9LGAgOiAnbmlsLCAvLyBubyBwYXJhbWV0ZXJzJyk7XG4gICAgY29kZS5saW5lKGAmJHtyZXN1bHRWYXJ9LGApO1xuXG4gICAgY29kZS5jbG9zZShgKWApO1xuXG4gICAgY29kZS5saW5lKCk7XG4gICAgY29kZS5saW5lKGByZXR1cm4gJiR7cmVzdWx0VmFyfWApO1xuICB9XG5cbiAgcHVibGljIGVtaXRPdmVycmlkZShjb2RlOiBDb2RlTWFrZXIsIGluc3RhbmNlVmFyOiBzdHJpbmcpIHtcbiAgICBlbWl0SW5pdGlhbGl6YXRpb24oY29kZSk7XG4gICAgY29kZS5saW5lKCk7XG5cbiAgICBjb25zdCBhcmdzID0gZW1pdEFyZ3VtZW50cyhjb2RlLCB0aGlzLnBhcmVudC5wYXJhbWV0ZXJzLCBpbnN0YW5jZVZhcik7XG5cbiAgICBjb2RlLm9wZW4oYCR7SlNJSV9DUkVBVEVfRlVOQ30oYCk7XG4gICAgY29kZS5saW5lKGBcIiR7dGhpcy5wYXJlbnQucGFyZW50LmZxbn1cIixgKTtcbiAgICBjb2RlLmxpbmUoYXJncyA/IGAke2FyZ3N9LGAgOiAnbmlsLCAvLyBubyBwYXJhbWV0ZXJzJyk7XG4gICAgY29kZS5saW5lKGAke2luc3RhbmNlVmFyfSxgKTtcbiAgICBjb2RlLmNsb3NlKCcpJyk7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=class-constructor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"class-constructor.js","sourceRoot":"","sources":["class-constructor.ts"],"names":[],"mappings":";;;AAGA,2CAA+C;AAC/C,qDAAiD;AACjD,iCAAqD;AAErD,MAAa,gBAAgB;IAC3B,YAAmC,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE1D,IAAI,CAAC,IAAe;QACzB,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,SAAS,GAAG,IAAA,cAAO,EACvB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAC/B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC1C,CAAC;QAEF,MAAM,IAAI,GAAG,IAAA,8BAAa,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEpE,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,IAAI,CAAC,IAAI,CAAC,GAAG,4BAAgB,GAAG,CAAC,CAAC;QAElC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,CAAC;QAE5B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,IAAI,CAAC,WAAW,SAAS,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,YAAY,CAAC,IAAe,EAAE,WAAmB;QACtD,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,IAAI,EAAE,CAAC;QAEZ,MAAM,IAAI,GAAG,IAAA,8BAAa,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,CAAC,GAAG,4BAAgB,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAzCD,4CAyCC"}
@@ -16,3 +16,4 @@ export declare const JSII_SSET_FUNC: string;
16
16
  export declare const JSII_OVERRIDE: string;
17
17
  export declare const JSII_ANY: string;
18
18
  export declare const JSII_FQN: string;
19
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,mBAAmB,mCAAmC,CAAC;AACpE,eAAO,MAAM,oBAAoB,QAAmC,CAAC;AACrE,eAAO,MAAM,aAAa,WAAW,CAAC;AAGtC,eAAO,MAAM,iBAAiB,SAAS,CAAC;AAExC,eAAO,MAAM,cAAc,eAAe,CAAC;AAE3C,eAAO,MAAM,eAAe,WAAW,CAAC;AAGxC,eAAO,MAAM,gBAAgB,QAA4B,CAAC;AAE1D,eAAO,MAAM,gBAAgB,QAA4B,CAAC;AAC1D,eAAO,MAAM,qBAAqB,QAAgC,CAAC;AAEnE,eAAO,MAAM,iBAAiB,QAAkC,CAAC;AACjE,eAAO,MAAM,sBAAsB,QAAsC,CAAC;AAG1E,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,cAAc,QAA+B,CAAC;AAG3D,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,cAAc,QAA+B,CAAC;AAI3D,eAAO,MAAM,aAAa,QAA8B,CAAC;AAEzD,eAAO,MAAM,QAAQ,QAAyB,CAAC;AAE/C,eAAO,MAAM,QAAQ,QAAyB,CAAC"}
@@ -34,4 +34,4 @@ exports.JSII_OVERRIDE = `${exports.JSII_RT_ALIAS}.Override`;
34
34
  exports.JSII_ANY = `${exports.JSII_RT_ALIAS}.Any`;
35
35
  // Jsii FQN type
36
36
  exports.JSII_FQN = `${exports.JSII_RT_ALIAS}.FQN`;
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDhCQUE4QjtBQUNqQixRQUFBLG1CQUFtQixHQUFHLGdDQUFnQyxDQUFDO0FBQ3ZELFFBQUEsb0JBQW9CLEdBQUcsR0FBRywyQkFBbUIsVUFBVSxDQUFDO0FBQ3hELFFBQUEsYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUV0QyxnQ0FBZ0M7QUFDbkIsUUFBQSxpQkFBaUIsR0FBRyxNQUFNLENBQUM7QUFDeEMsaURBQWlEO0FBQ3BDLFFBQUEsY0FBYyxHQUFHLFlBQVksQ0FBQztBQUMzQywrQkFBK0I7QUFDbEIsUUFBQSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBRXhDLGtDQUFrQztBQUNyQixRQUFBLGdCQUFnQixHQUFHLEdBQUcscUJBQWEsU0FBUyxDQUFDO0FBQzFELHNCQUFzQjtBQUNULFFBQUEsZ0JBQWdCLEdBQUcsR0FBRyxxQkFBYSxTQUFTLENBQUM7QUFDN0MsUUFBQSxxQkFBcUIsR0FBRyxHQUFHLHFCQUFhLGFBQWEsQ0FBQztBQUNuRSxxQkFBcUI7QUFDUixRQUFBLGlCQUFpQixHQUFHLEdBQUcscUJBQWEsZUFBZSxDQUFDO0FBQ3BELFFBQUEsc0JBQXNCLEdBQUcsR0FBRyxxQkFBYSxtQkFBbUIsQ0FBQztBQUUxRSxtQkFBbUI7QUFDTixRQUFBLGFBQWEsR0FBRyxHQUFHLHFCQUFhLE1BQU0sQ0FBQztBQUVwRCwwQkFBMEI7QUFDYixRQUFBLGNBQWMsR0FBRyxHQUFHLHFCQUFhLFlBQVksQ0FBQztBQUUzRCxtQkFBbUI7QUFDTixRQUFBLGFBQWEsR0FBRyxHQUFHLHFCQUFhLE1BQU0sQ0FBQztBQUVwRCwwQkFBMEI7QUFDYixRQUFBLGNBQWMsR0FBRyxHQUFHLHFCQUFhLFlBQVksQ0FBQztBQUUzRCx5QkFBeUI7QUFDekIsNEJBQTRCO0FBQ2YsUUFBQSxhQUFhLEdBQUcsR0FBRyxxQkFBYSxXQUFXLENBQUM7QUFDekQsZ0JBQWdCO0FBQ0gsUUFBQSxRQUFRLEdBQUcsR0FBRyxxQkFBYSxNQUFNLENBQUM7QUFDL0MsZ0JBQWdCO0FBQ0gsUUFBQSxRQUFRLEdBQUcsR0FBRyxxQkFBYSxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBKU0lJIGdvIHJ1bnRpbWUgbW9kdWxlIG5hbWVcbmV4cG9ydCBjb25zdCBKU0lJX1JUX01PRFVMRV9OQU1FID0gJ2dpdGh1Yi5jb20vYXdzL2pzaWktcnVudGltZS1nbyc7XG5leHBvcnQgY29uc3QgSlNJSV9SVF9QQUNLQUdFX05BTUUgPSBgJHtKU0lJX1JUX01PRFVMRV9OQU1FfS9ydW50aW1lYDtcbmV4cG9ydCBjb25zdCBKU0lJX1JUX0FMSUFTID0gJ19qc2lpXyc7XG5cbi8vIEpzaWkgaW5pdGlhbGl6ZXIgcGFja2FnZSBuYW1lXG5leHBvcnQgY29uc3QgSlNJSV9JTklUX1BBQ0tBR0UgPSAnanNpaSc7XG4vLyBGdW5jdGlvbiB0byBpbml0aWFsaXplIGEganNpaS1nZW5lcmF0ZWQgbW9kdWxlXG5leHBvcnQgY29uc3QgSlNJSV9JTklUX0ZVTkMgPSAnSW5pdGlhbGl6ZSc7XG4vLyBBbGlhcyB1c2VkIGZvciB0aGUganNpaSBpbml0XG5leHBvcnQgY29uc3QgSlNJSV9JTklUX0FMSUFTID0gJ19pbml0Xyc7XG5cbi8vIEZ1bmN0aW9uIHRvIG1ha2UgY3JlYXRlIHJlcXVlc3RcbmV4cG9ydCBjb25zdCBKU0lJX0NSRUFURV9GVU5DID0gYCR7SlNJSV9SVF9BTElBU30uQ3JlYXRlYDtcbi8vIEpTSUkgaW52b2tlIHJlcXVlc3RcbmV4cG9ydCBjb25zdCBKU0lJX0lOVk9LRV9GVU5DID0gYCR7SlNJSV9SVF9BTElBU30uSW52b2tlYDtcbmV4cG9ydCBjb25zdCBKU0lJX0lOVk9LRV9WT0lEX0ZVTkMgPSBgJHtKU0lJX1JUX0FMSUFTfS5JbnZva2VWb2lkYDtcbi8vIEpTSUkgc3RhdGljIGludm9rZVxuZXhwb3J0IGNvbnN0IEpTSUlfU0lOVk9LRV9GVU5DID0gYCR7SlNJSV9SVF9BTElBU30uU3RhdGljSW52b2tlYDtcbmV4cG9ydCBjb25zdCBKU0lJX1NJTlZPS0VfVk9JRF9GVU5DID0gYCR7SlNJSV9SVF9BTElBU30uU3RhdGljSW52b2tlVm9pZGA7XG5cbi8vIEpTSUkgZ2V0IHJlcXVlc3RcbmV4cG9ydCBjb25zdCBKU0lJX0dFVF9GVU5DID0gYCR7SlNJSV9SVF9BTElBU30uR2V0YDtcblxuLy8gSlNJSSBzdGF0aWMgZ2V0IHJlcXVlc3RcbmV4cG9ydCBjb25zdCBKU0lJX1NHRVRfRlVOQyA9IGAke0pTSUlfUlRfQUxJQVN9LlN0YXRpY0dldGA7XG5cbi8vIEpTSUkgc2V0IHJlcXVlc3RcbmV4cG9ydCBjb25zdCBKU0lJX1NFVF9GVU5DID0gYCR7SlNJSV9SVF9BTElBU30uU2V0YDtcblxuLy8gSlNJSSBzdGF0aWMgc2V0IHJlcXVlc3RcbmV4cG9ydCBjb25zdCBKU0lJX1NTRVRfRlVOQyA9IGAke0pTSUlfUlRfQUxJQVN9LlN0YXRpY1NldGA7XG5cbi8vIE1JU0MgdHlwZXMgJiBmdW5jdGlvbnNcbi8vIEpzaWkgb3ZlcnJpZGUgc3RydWN0IHR5cGVcbmV4cG9ydCBjb25zdCBKU0lJX09WRVJSSURFID0gYCR7SlNJSV9SVF9BTElBU30uT3ZlcnJpZGVgO1xuLy8gSnNpaSBBbnkgbW9ja1xuZXhwb3J0IGNvbnN0IEpTSUlfQU5ZID0gYCR7SlNJSV9SVF9BTElBU30uQW55YDtcbi8vIEpzaWkgRlFOIHR5cGVcbmV4cG9ydCBjb25zdCBKU0lJX0ZRTiA9IGAke0pTSUlfUlRfQUxJQVN9LkZRTmA7XG4iXX0=
37
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["constants.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AACjB,QAAA,mBAAmB,GAAG,gCAAgC,CAAC;AACvD,QAAA,oBAAoB,GAAG,GAAG,2BAAmB,UAAU,CAAC;AACxD,QAAA,aAAa,GAAG,QAAQ,CAAC;AAEtC,gCAAgC;AACnB,QAAA,iBAAiB,GAAG,MAAM,CAAC;AACxC,iDAAiD;AACpC,QAAA,cAAc,GAAG,YAAY,CAAC;AAC3C,+BAA+B;AAClB,QAAA,eAAe,GAAG,QAAQ,CAAC;AAExC,kCAAkC;AACrB,QAAA,gBAAgB,GAAG,GAAG,qBAAa,SAAS,CAAC;AAC1D,sBAAsB;AACT,QAAA,gBAAgB,GAAG,GAAG,qBAAa,SAAS,CAAC;AAC7C,QAAA,qBAAqB,GAAG,GAAG,qBAAa,aAAa,CAAC;AACnE,qBAAqB;AACR,QAAA,iBAAiB,GAAG,GAAG,qBAAa,eAAe,CAAC;AACpD,QAAA,sBAAsB,GAAG,GAAG,qBAAa,mBAAmB,CAAC;AAE1E,mBAAmB;AACN,QAAA,aAAa,GAAG,GAAG,qBAAa,MAAM,CAAC;AAEpD,0BAA0B;AACb,QAAA,cAAc,GAAG,GAAG,qBAAa,YAAY,CAAC;AAE3D,mBAAmB;AACN,QAAA,aAAa,GAAG,GAAG,qBAAa,MAAM,CAAC;AAEpD,0BAA0B;AACb,QAAA,cAAc,GAAG,GAAG,qBAAa,YAAY,CAAC;AAE3D,yBAAyB;AACzB,4BAA4B;AACf,QAAA,aAAa,GAAG,GAAG,qBAAa,WAAW,CAAC;AACzD,gBAAgB;AACH,QAAA,QAAQ,GAAG,GAAG,qBAAa,MAAM,CAAC;AAC/C,gBAAgB;AACH,QAAA,QAAQ,GAAG,GAAG,qBAAa,MAAM,CAAC"}
@@ -8,3 +8,4 @@ import { GoParameter } from '../types';
8
8
  * runtime library call.
9
9
  */
10
10
  export declare function emitArguments(code: CodeMaker, parameters: readonly GoParameter[], returnVarName: string): string | undefined;
11
+ //# sourceMappingURL=emit-arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-arguments.d.ts","sourceRoot":"","sources":["emit-arguments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,SAAS,WAAW,EAAE,EAClC,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS,CAsBpB"}
@@ -20,8 +20,8 @@ function emitArguments(code, parameters, returnVarName) {
20
20
  // the variadic argument as a splat to the append function...
21
21
  const head = argsList.slice(0, argsList.length - 1);
22
22
  const tail = argsList[argsList.length - 1];
23
- const variable = util_1.slugify('args', [...argsList, returnVarName]);
24
- const elt = util_1.slugify('a', [variable]);
23
+ const variable = (0, util_1.slugify)('args', [...argsList, returnVarName]);
24
+ const elt = (0, util_1.slugify)('a', [variable]);
25
25
  code.line(`${variable} := []interface{}{${head.join(', ')}}`);
26
26
  code.openBlock(`for _, ${elt} := range ${tail}`);
27
27
  code.line(`${variable} = append(${variable}, ${elt})`);
@@ -32,4 +32,4 @@ function emitArguments(code, parameters, returnVarName) {
32
32
  return `[]interface{}{${argsList.join(', ')}}`;
33
33
  }
34
34
  exports.emitArguments = emitArguments;
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1pdC1hcmd1bWVudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbWl0LWFyZ3VtZW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxpQ0FBaUM7QUFFakM7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsYUFBYSxDQUMzQixJQUFlLEVBQ2YsVUFBa0MsRUFDbEMsYUFBcUI7SUFFckIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDekIsT0FBTyxTQUFTLENBQUM7S0FDbEI7SUFDRCxJQUFJLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRTtRQUNoRCwwRUFBMEU7UUFDMUUsdUVBQXVFO1FBQ3ZFLDZEQUE2RDtRQUM3RCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTNDLE1BQU0sUUFBUSxHQUFHLGNBQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sR0FBRyxHQUFHLGNBQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxRQUFRLHFCQUFxQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxhQUFhLElBQUksRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsYUFBYSxRQUFRLEtBQUssR0FBRyxHQUFHLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1osT0FBTyxRQUFRLENBQUM7S0FDakI7SUFDRCxPQUFPLGlCQUFpQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7QUFDakQsQ0FBQztBQTFCRCxzQ0EwQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2RlTWFrZXIgfSBmcm9tICdjb2RlbWFrZXInO1xuXG5pbXBvcnQgeyBHb1BhcmFtZXRlciB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHNsdWdpZnkgfSBmcm9tICcuL3V0aWwnO1xuXG4vKipcbiAqIFBhY2thZ2VzIGFyZ3VtZW50cyBzdWNoIHRoYXQgdGhleSBjYW4gYmUgc2VudCBjb3JyZWN0bHkgdG8gdGhlIGpzaWkgcnVudGltZVxuICogbGlicmFyeS5cbiAqXG4gKiBAcmV0dXJucyB0aGUgZXhwcmVzc2lvbiB0byB1c2UgaW4gcGxhY2Ugb2YgdGhlIGFyZ3VtZW50cyBmb3IgdGhlIGpzaWlcbiAqICAgICAgICAgIHJ1bnRpbWUgbGlicmFyeSBjYWxsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZW1pdEFyZ3VtZW50cyhcbiAgY29kZTogQ29kZU1ha2VyLFxuICBwYXJhbWV0ZXJzOiByZWFkb25seSBHb1BhcmFtZXRlcltdLFxuICByZXR1cm5WYXJOYW1lOiBzdHJpbmcsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBhcmdzTGlzdCA9IHBhcmFtZXRlcnMubWFwKChwYXJhbSkgPT4gcGFyYW0ubmFtZSk7XG4gIGlmIChhcmdzTGlzdC5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIGlmIChwYXJhbWV0ZXJzW3BhcmFtZXRlcnMubGVuZ3RoIC0gMV0uaXNWYXJpYWRpYykge1xuICAgIC8vIEZvciB2YXJpYWRpYyBtZXRob2RzLCB3ZSBtdXN0IGJ1aWxkIHVwIHRoZSBbXWludGVyZmFjZXt9IHNsaWNlIGJ5IGhhbmQsXG4gICAgLy8gYXMgdGhlcmUgd291bGQgbm90IGJlIGFueSBpbXBsaWNpdCBjb252ZXJzaW9uIGhhcHBlbmluZyB3aGVuIHBhc3NpbmdcbiAgICAvLyB0aGUgdmFyaWFkaWMgYXJndW1lbnQgYXMgYSBzcGxhdCB0byB0aGUgYXBwZW5kIGZ1bmN0aW9uLi4uXG4gICAgY29uc3QgaGVhZCA9IGFyZ3NMaXN0LnNsaWNlKDAsIGFyZ3NMaXN0Lmxlbmd0aCAtIDEpO1xuICAgIGNvbnN0IHRhaWwgPSBhcmdzTGlzdFthcmdzTGlzdC5sZW5ndGggLSAxXTtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gc2x1Z2lmeSgnYXJncycsIFsuLi5hcmdzTGlzdCwgcmV0dXJuVmFyTmFtZV0pO1xuICAgIGNvbnN0IGVsdCA9IHNsdWdpZnkoJ2EnLCBbdmFyaWFibGVdKTtcbiAgICBjb2RlLmxpbmUoYCR7dmFyaWFibGV9IDo9IFtdaW50ZXJmYWNle317JHtoZWFkLmpvaW4oJywgJyl9fWApO1xuICAgIGNvZGUub3BlbkJsb2NrKGBmb3IgXywgJHtlbHR9IDo9IHJhbmdlICR7dGFpbH1gKTtcbiAgICBjb2RlLmxpbmUoYCR7dmFyaWFibGV9ID0gYXBwZW5kKCR7dmFyaWFibGV9LCAke2VsdH0pYCk7XG4gICAgY29kZS5jbG9zZUJsb2NrKCk7XG4gICAgY29kZS5saW5lKCk7XG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG4gIHJldHVybiBgW11pbnRlcmZhY2V7fXske2FyZ3NMaXN0LmpvaW4oJywgJyl9fWA7XG59XG4iXX0=
35
+ //# sourceMappingURL=emit-arguments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emit-arguments.js","sourceRoot":"","sources":["emit-arguments.ts"],"names":[],"mappings":";;;AAGA,iCAAiC;AAEjC;;;;;;GAMG;AACH,SAAgB,aAAa,CAC3B,IAAe,EACf,UAAkC,EAClC,aAAqB;IAErB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;QACzB,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE;QAChD,0EAA0E;QAC1E,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE3C,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,MAAM,EAAE,CAAC,GAAG,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,qBAAqB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,aAAa,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,aAAa,QAAQ,KAAK,GAAG,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC;KACjB;IACD,OAAO,iBAAiB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC;AA1BD,sCA0BC"}
@@ -5,3 +5,4 @@ export declare abstract class FunctionCall {
5
5
  protected get returnsVal(): boolean;
6
6
  protected get returnType(): string;
7
7
  }
8
+ //# sourceMappingURL=function-call.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-call.d.ts","sourceRoot":"","sources":["function-call.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,8BAAsB,YAAY;aACG,MAAM,EAAE,YAAY;gBAApB,MAAM,EAAE,YAAY;IAEvD,SAAS,KAAK,UAAU,IAAI,OAAO,CAElC;IAED,SAAS,KAAK,UAAU,IAAI,MAAM,CAEjC;CACF"}
@@ -6,12 +6,11 @@ class FunctionCall {
6
6
  this.parent = parent;
7
7
  }
8
8
  get returnsVal() {
9
- var _a;
10
- return !((_a = this.parent.reference) === null || _a === void 0 ? void 0 : _a.void);
9
+ return !this.parent.reference?.void;
11
10
  }
12
11
  get returnType() {
13
12
  return this.parent.returnType || 'interface{}';
14
13
  }
15
14
  }
16
15
  exports.FunctionCall = FunctionCall;
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tY2FsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZ1bmN0aW9uLWNhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBc0IsWUFBWTtJQUNoQyxZQUFtQyxNQUFvQjtRQUFwQixXQUFNLEdBQU4sTUFBTSxDQUFjO0lBQUcsQ0FBQztJQUUzRCxJQUFjLFVBQVU7O1FBQ3RCLE9BQU8sUUFBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsMENBQUUsSUFBSSxDQUFBLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQWMsVUFBVTtRQUN0QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLGFBQWEsQ0FBQztJQUNqRCxDQUFDO0NBQ0Y7QUFWRCxvQ0FVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdvVHlwZU1lbWJlciB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZ1bmN0aW9uQ2FsbCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGFyZW50OiBHb1R5cGVNZW1iZXIpIHt9XG5cbiAgcHJvdGVjdGVkIGdldCByZXR1cm5zVmFsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5wYXJlbnQucmVmZXJlbmNlPy52b2lkO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCByZXR1cm5UeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucGFyZW50LnJldHVyblR5cGUgfHwgJ2ludGVyZmFjZXt9JztcbiAgfVxufVxuIl19
16
+ //# sourceMappingURL=function-call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-call.js","sourceRoot":"","sources":["function-call.ts"],"names":[],"mappings":";;;AAEA,MAAsB,YAAY;IAChC,YAAmC,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAE3D,IAAc,UAAU;QACtB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;IACtC,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC;IACjD,CAAC;CACF;AAVD,oCAUC"}
@@ -3,3 +3,4 @@ export * from './class-constructor';
3
3
  export * from './method-call';
4
4
  export * from './property-access';
5
5
  export * from './util';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC"}
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./constants"), exports);
@@ -15,4 +19,4 @@ __exportStar(require("./class-constructor"), exports);
15
19
  __exportStar(require("./method-call"), exports);
16
20
  __exportStar(require("./property-access"), exports);
17
21
  __exportStar(require("./util"), exports);
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSw4Q0FBNEI7QUFDNUIsc0RBQW9DO0FBQ3BDLGdEQUE4QjtBQUM5QixvREFBa0M7QUFDbEMseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0ICogZnJvbSAnLi9jbGFzcy1jb25zdHJ1Y3Rvcic7XG5leHBvcnQgKiBmcm9tICcuL21ldGhvZC1jYWxsJztcbmV4cG9ydCAqIGZyb20gJy4vcHJvcGVydHktYWNjZXNzJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG4iXX0=
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,sDAAoC;AACpC,gDAA8B;AAC9B,oDAAkC;AAClC,yCAAuB"}