@aerokit/sdk 12.78.0 → 12.80.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 (84) hide show
  1. package/dist/cjs/bpm/process.js +4 -1
  2. package/dist/cjs/bpm/tasks.js +3 -1
  3. package/dist/cjs/bpm/tracer.js +3 -1
  4. package/dist/cjs/cms/cmis.js +105 -177
  5. package/dist/cjs/db/database.js +5 -1
  6. package/dist/cjs/db/query.js +19 -1
  7. package/dist/cjs/db/repository.js +2 -1
  8. package/dist/cjs/db/sql.js +5 -2
  9. package/dist/cjs/etcd/client.js +4 -1
  10. package/dist/cjs/http/errors/ForbiddenError.js +9 -9
  11. package/dist/cjs/http/errors/ValidationError.js +9 -9
  12. package/dist/cjs/http/request.js +2 -1
  13. package/dist/cjs/http/response.js +102 -188
  14. package/dist/cjs/http/rs/resource-http-controller.js +4 -1
  15. package/dist/cjs/http/rs/resource-mappings.js +6 -3
  16. package/dist/cjs/http/rs/resource-method.js +10 -1
  17. package/dist/cjs/http/rs/resource.js +11 -1
  18. package/dist/cjs/http/upload.js +3 -1
  19. package/dist/cjs/io/files.js +5 -7
  20. package/dist/cjs/io/streams.js +5 -1
  21. package/dist/cjs/io/zip.js +4 -1
  22. package/dist/cjs/job/scheduler.js +4 -1
  23. package/dist/cjs/kafka/consumer.js +3 -2
  24. package/dist/cjs/kafka/producer.js +3 -1
  25. package/dist/cjs/log/logging.js +2 -1
  26. package/dist/cjs/mail/client.js +2 -1
  27. package/dist/cjs/messaging/consumer.js +3 -1
  28. package/dist/cjs/messaging/producer.js +3 -1
  29. package/dist/cjs/mongodb/client.js +26 -1
  30. package/dist/cjs/mongodb/dao.js +3 -1
  31. package/dist/cjs/net/soap.js +15 -1
  32. package/dist/cjs/net/websockets.js +5 -1
  33. package/dist/cjs/platform/engines.js +2 -1
  34. package/dist/cjs/platform/os.js +7 -9
  35. package/dist/cjs/platform/problems.js +7 -13
  36. package/dist/cjs/platform/registry.js +4 -1
  37. package/dist/cjs/platform/repository.js +4 -1
  38. package/dist/cjs/platform/workspace.js +8 -1
  39. package/dist/cjs/redis/client.js +2 -1
  40. package/dist/cjs/security/oauth.js +2 -1
  41. package/dist/cjs/template/engines.js +6 -1
  42. package/dist/dts/db/query.d.ts +10 -0
  43. package/dist/esm/bpm/process.mjs +4 -1
  44. package/dist/esm/bpm/tasks.mjs +3 -1
  45. package/dist/esm/bpm/tracer.mjs +3 -1
  46. package/dist/esm/cms/cmis.mjs +105 -177
  47. package/dist/esm/db/database.mjs +5 -1
  48. package/dist/esm/db/query.mjs +19 -1
  49. package/dist/esm/db/repository.mjs +2 -1
  50. package/dist/esm/db/sql.mjs +5 -2
  51. package/dist/esm/etcd/client.mjs +4 -1
  52. package/dist/esm/http/errors/ForbiddenError.mjs +9 -9
  53. package/dist/esm/http/errors/ValidationError.mjs +9 -9
  54. package/dist/esm/http/request.mjs +2 -1
  55. package/dist/esm/http/response.mjs +102 -188
  56. package/dist/esm/http/rs/resource-http-controller.mjs +4 -1
  57. package/dist/esm/http/rs/resource-mappings.mjs +6 -3
  58. package/dist/esm/http/rs/resource-method.mjs +10 -1
  59. package/dist/esm/http/rs/resource.mjs +11 -1
  60. package/dist/esm/http/upload.mjs +3 -1
  61. package/dist/esm/io/files.mjs +5 -7
  62. package/dist/esm/io/streams.mjs +5 -1
  63. package/dist/esm/io/zip.mjs +4 -1
  64. package/dist/esm/job/scheduler.mjs +4 -1
  65. package/dist/esm/kafka/consumer.mjs +3 -2
  66. package/dist/esm/kafka/producer.mjs +3 -1
  67. package/dist/esm/log/logging.mjs +2 -1
  68. package/dist/esm/mail/client.mjs +2 -1
  69. package/dist/esm/messaging/consumer.mjs +3 -1
  70. package/dist/esm/messaging/producer.mjs +3 -1
  71. package/dist/esm/mongodb/client.mjs +26 -1
  72. package/dist/esm/mongodb/dao.mjs +3 -1
  73. package/dist/esm/net/soap.mjs +15 -1
  74. package/dist/esm/net/websockets.mjs +5 -1
  75. package/dist/esm/platform/engines.mjs +2 -1
  76. package/dist/esm/platform/os.mjs +7 -9
  77. package/dist/esm/platform/problems.mjs +7 -13
  78. package/dist/esm/platform/registry.mjs +4 -1
  79. package/dist/esm/platform/repository.mjs +4 -1
  80. package/dist/esm/platform/workspace.mjs +8 -1
  81. package/dist/esm/redis/client.mjs +2 -1
  82. package/dist/esm/security/oauth.mjs +2 -1
  83. package/dist/esm/template/engines.mjs +6 -1
  84. package/package.json +1 -1
@@ -69,6 +69,7 @@ class Workspace {
69
69
  static deleteWorkspace(name) {
70
70
  WorkspaceFacade.deleteWorkspace(name);
71
71
  }
72
+ native;
72
73
  /**
73
74
  * @constructor
74
75
  * @param {any} native The native Java object instance representing the workspace.
@@ -159,6 +160,7 @@ class Workspace {
159
160
  }
160
161
  }
161
162
  class Projects {
163
+ native;
162
164
  /**
163
165
  * @constructor
164
166
  * @param {any} native The native Java object representing the list of projects.
@@ -184,6 +186,7 @@ class Projects {
184
186
  }
185
187
  }
186
188
  class Project {
189
+ native;
187
190
  /**
188
191
  * @constructor
189
192
  * @param {any} native The native Java object instance representing the project.
@@ -311,6 +314,7 @@ class Project {
311
314
  }
312
315
  }
313
316
  class Folders {
317
+ native;
314
318
  /**
315
319
  * @constructor
316
320
  * @param {any} native The native Java object representing the list of folders.
@@ -336,6 +340,7 @@ class Folders {
336
340
  }
337
341
  }
338
342
  class Files {
343
+ native;
339
344
  /**
340
345
  * @constructor
341
346
  * @param {any} native The native Java object representing the list of files.
@@ -361,6 +366,7 @@ class Files {
361
366
  }
362
367
  }
363
368
  class Folder {
369
+ native;
364
370
  /**
365
371
  * @constructor
366
372
  * @param {any} native The native Java object instance representing the folder.
@@ -488,6 +494,7 @@ class Folder {
488
494
  }
489
495
  }
490
496
  class File {
497
+ native;
491
498
  /**
492
499
  * @constructor
493
500
  * @param {any} native The native Java object instance representing the file.
@@ -571,4 +578,4 @@ class File {
571
578
  if (typeof module !== "undefined") {
572
579
  module.exports = Workspace;
573
580
  }
574
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3dvcmtzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBQcm92aWRlcyBhIHdyYXBwZXIgZm9yIHRoZSBwbGF0Zm9ybSdzIFdvcmtzcGFjZUZhY2FkZSB0byBtYW5hZ2UgV29ya3NwYWNlcyxcbiAqIFByb2plY3RzLCBGb2xkZXJzLCBhbmQgRmlsZXMuXG4gKi9cbmltcG9ydCB7IEJ5dGVzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9pby9ieXRlc1wiO1xuXG5jb25zdCBXb3Jrc3BhY2VGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uV29ya3NwYWNlRmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBXb3Jrc3BhY2VcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgbG9naWNhbCBjb250YWluZXIgZm9yIHByb2plY3RzLCBwcm92aWRpbmcgc3RhdGljIG1ldGhvZHMgZm9yXG4gKiBoaWdoLWxldmVsIHdvcmtzcGFjZSBtYW5hZ2VtZW50IGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBwcm9qZWN0IG1hbmFnZW1lbnQgd2l0aGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2Uge1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHdvcmtzcGFjZSB3aXRoIHRoZSBnaXZlbiBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIGNyZWF0ZS5cblx0ICogQHJldHVybnMge1dvcmtzcGFjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgV29ya3NwYWNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogV29ya3NwYWNlIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXb3Jrc3BhY2VGYWNhZGUuY3JlYXRlV29ya3NwYWNlKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgV29ya3NwYWNlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGFuIGV4aXN0aW5nIHdvcmtzcGFjZSBieSBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7V29ya3NwYWNlfSBUaGUgV29ya3NwYWNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogV29ya3NwYWNlIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXb3Jrc3BhY2VGYWNhZGUuZ2V0V29ya3NwYWNlKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgV29ya3NwYWNlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBuYW1lcyBvZiBhbGwgZXhpc3Rpbmcgd29ya3NwYWNlcy5cblx0ICpcblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiB3b3Jrc3BhY2UgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFdvcmtzcGFjZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3Qgd29ya3NwYWNlc05hbWVzID0gV29ya3NwYWNlRmFjYWRlLmdldFdvcmtzcGFjZXNOYW1lcygpO1xuXHRcdGlmICh3b3Jrc3BhY2VzTmFtZXMpIHtcblx0XHRcdC8vIFRoZSBuYXRpdmUgbWV0aG9kIHJldHVybnMgYSBKU09OIHN0cmluZyBhcnJheSB0aGF0IG5lZWRzIHRvIGJlIHBhcnNlZC5cblx0XHRcdHJldHVybiBKU09OLnBhcnNlKHdvcmtzcGFjZXNOYW1lcyk7XG5cdFx0fVxuXHRcdC8vIElmIG51bGwgb3IgdW5kZWZpbmVkIGlzIHJldHVybmVkLCByZXR1cm4gdGhlIHJhdyB2YWx1ZSAod2hpY2ggd2lsbCBiZSBudWxsL3VuZGVmaW5lZCkuXG5cdFx0cmV0dXJuIHdvcmtzcGFjZXNOYW1lcztcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoZSB3b3Jrc3BhY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3b3Jrc3BhY2UgdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWxldGVXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0V29ya3NwYWNlRmFjYWRlLmRlbGV0ZVdvcmtzcGFjZShuYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSB3b3Jrc3BhY2UuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgYSBjb2xsZWN0aW9uIG9mIGFsbCBwcm9qZWN0cyB3aXRoaW4gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0c30gQSBQcm9qZWN0cyBjb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldFByb2plY3RzKCk6IFByb2plY3RzIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRQcm9qZWN0cygpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdHMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHByb2plY3Qgd2l0aGluIHRoaXMgd29ya3NwYWNlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCB0byBjcmVhdGUuXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0fSBUaGUgbmV3bHkgY3JlYXRlZCBQcm9qZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZVByb2plY3QobmFtZTogc3RyaW5nKTogUHJvamVjdCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlUHJvamVjdChuYW1lKTtcblx0XHRyZXR1cm4gbmV3IFByb2plY3QobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYW4gZXhpc3RpbmcgcHJvamVjdCBieSBuYW1lIGZyb20gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7UHJvamVjdH0gVGhlIFByb2plY3QgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UHJvamVjdChuYW1lOiBzdHJpbmcpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRQcm9qZWN0KG5hbWUpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdChuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBwcm9qZWN0IGZyb20gdGhpcyB3b3Jrc3BhY2UgYnkgbmFtZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZVByb2plY3QobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlUHJvamVjdChuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIHdvcmtzcGFjZSBjdXJyZW50bHkgZXhpc3RzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgd29ya3NwYWNlIGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIGEgc3BlY2lmaWMgZm9sZGVyIHBhdGggZXhpc3RzIHdpdGhpbiB0aGUgd29ya3NwYWNlJ3MgZmlsZXN5c3RlbSBzdHJ1Y3R1cmUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmb2xkZXIgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZvbGRlcihwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoZSB3b3Jrc3BhY2UncyBmaWxlc3lzdGVtIHN0cnVjdHVyZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvcGllcyBhIHByb2plY3QgZnJvbSBhIHNvdXJjZSBuYW1lIHRvIGEgdGFyZ2V0IG5hbWUgd2l0aGluIHRoZSB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gY29weS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBUaGUgbmFtZSBvZiB0aGUgbmV3IHByb2plY3QgY29weS5cblx0ICovXG5cdHB1YmxpYyBjb3B5UHJvamVjdChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5jb3B5UHJvamVjdChzb3VyY2UsIHRhcmdldCk7XG5cdH1cblxuXHQvKipcblx0ICogTW92ZXMgYSBwcm9qZWN0IGZyb20gYSBzb3VyY2UgbmFtZSB0byBhIHRhcmdldCBuYW1lIChyZW5hbWluZyBpdCkuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIGN1cnJlbnQgbmFtZSBvZiB0aGUgcHJvamVjdC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBUaGUgbmV3IG5hbWUvcGF0aCBvZiB0aGUgcHJvamVjdC5cblx0ICovXG5cdHB1YmxpYyBtb3ZlUHJvamVjdChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5tb3ZlUHJvamVjdChzb3VyY2UsIHRhcmdldCk7XG5cdH1cblxufVxuXG4vKipcbiAqIEBjbGFzcyBQcm9qZWN0c1xuICogQGRlc2NyaXB0aW9uIEEgY29sbGVjdGlvbi9saXN0IG9mIHByb2plY3RzIHdpdGhpbiBhIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plY3RzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgcHJvamVjdHMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBwcm9qZWN0cyBpbiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5zaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIFByb2plY3QgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgcHJvamVjdC5cblx0ICogQHJldHVybnMge1Byb2plY3R9IFRoZSBQcm9qZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogUHJvamVjdCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IFByb2plY3QobmF0aXZlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIFByb2plY3RcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgUHJvamVjdCB3aXRoaW4gYSB3b3Jrc3BhY2UuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIG1hbmFnaW5nXG4gKiBmb2xkZXJzIGFuZCBmaWxlcyB3aXRoaW4gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZWN0IHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHByb2plY3QuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBwcm9qZWN0IG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBwcm9qZWN0LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcHJvamVjdCBwYXRoIChyZWxhdGl2ZSB0byB0aGUgcmVwb3NpdG9yeS93b3Jrc3BhY2Ugcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZvbGRlciB3aXRoaW4gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlIChyZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290KS5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIG5ld2x5IGNyZWF0ZWQgRm9sZGVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZvbGRlcihwYXRoOiBzdHJpbmcpOiBGb2xkZXIge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZvbGRlcihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgcHJvamVjdCBpdHNlbGYgZXhpc3RzLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvamVjdCBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmb2xkZXIgcGF0aCBleGlzdHMgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGb2xkZXIocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBmb2xkZXIgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZvbGRlcnMgYXQgYSBzcGVjaWZpYyBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmb2xkZXJzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyc30gVGhlIEZvbGRlcnMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJzKHBhdGg6IHN0cmluZyk6IEZvbGRlcnMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcnMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXJzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIGZvbGRlciBmcm9tIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZUZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBbaW5wdXQ9W11dIE9wdGlvbmFsIGluaXRpYWwgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkuXG5cdCAqIEByZXR1cm5zIHtGaWxlfSBUaGUgbmV3bHkgY3JlYXRlZCBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZpbGUocGF0aDogc3RyaW5nLCBpbnB1dDogYW55W10gPSBbXSk6IEZpbGUge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZpbGUocGF0aCwgaW5wdXQpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZpbGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZpbGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgZmlsZSBieSBpdHMgcGF0aCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZpbGUocGF0aDogc3RyaW5nKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZShwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZpbGVzIGF0IGEgc3BlY2lmaWMgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggY29udGFpbmluZyB0aGUgZmlsZXMgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtGaWxlc30gVGhlIEZpbGVzIGNvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZXMocGF0aDogc3RyaW5nKTogRmlsZXMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZpbGVzKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZXMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIGEgZmlsZSBmcm9tIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBkZWxldGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZvbGRlcnNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbGxlY3Rpb24vbGlzdCBvZiBmb2xkZXJzLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVycyB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBsaXN0IG9mIGZvbGRlcnMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBmb2xkZXJzIGluIHRoZSBjb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICovXG5cdHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLnNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgRm9sZGVyIGluc3RhbmNlIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG5cdCAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgRmlsZXNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbGxlY3Rpb24vbGlzdCBvZiBmaWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgZmlsZXMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBmaWxlcyBpbiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5zaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIEZpbGUgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZvbGRlclxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBkaXJlY3Rvcnkgb3IgZm9sZGVyIHdpdGhpbiBhIHByb2plY3QsIHByb3ZpZGluZyBtZXRob2RzIGZvclxuICogbWFuYWdpbmcgc3ViLWZvbGRlcnMgYW5kIGZpbGVzLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVyIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGZvbGRlci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZm9sZGVyIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fTtcblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCBwYXRoIG9mIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmb2xkZXIgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgc3ViLWZvbGRlciB3aXRoaW4gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBzdWItZm9sZGVyIHRvIGNyZWF0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgbmV3bHkgY3JlYXRlZCBGb2xkZXIgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlRm9sZGVyKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRm9sZGVyKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmb2xkZXIgaXRzZWxmIGV4aXN0cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZvbGRlciBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBzdWItZm9sZGVyIHBhdGggZXhpc3RzIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHN1Yi1mb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBzdWItZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGb2xkZXIocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzdWItZm9sZGVyIGJ5IGl0cyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgc3ViLWZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZvbGRlcnMgYXQgYSBzcGVjaWZpYyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmb2xkZXJzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyc30gVGhlIEZvbGRlcnMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJzKHBhdGg6IHN0cmluZyk6IEZvbGRlcnMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcnMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXJzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIHN1Yi1mb2xkZXIgZnJvbSB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHN1Yi1mb2xkZXIgdG8gZGVsZXRlIChyZWxhdGl2ZSB0byB0aGlzIGZvbGRlcikuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZUZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZpbGUgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyKS5cblx0ICogQHBhcmFtIHthbnlbXX0gW2lucHV0PVtdXSBPcHRpb25hbCBpbml0aWFsIGNvbnRlbnQgYXMgYSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIG5ld2x5IGNyZWF0ZWQgRmlsZSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlKHBhdGg6IHN0cmluZywgaW5wdXQ6IGFueVtdID0gW10pOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVGaWxlKHBhdGgsIGlucHV0KTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmaWxlIHBhdGggZXhpc3RzIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGZpbGUgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIEZpbGUgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZShwYXRoOiBzdHJpbmcpOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGaWxlKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgZmlsZXMgYXQgYSBzcGVjaWZpYyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmaWxlcyB0byByZXRyaWV2ZS5cblx0ICogQHJldHVybnMge0ZpbGVzfSBUaGUgRmlsZXMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGaWxlcyhwYXRoOiBzdHJpbmcpOiBGaWxlcyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZXMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGaWxlcyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBmaWxlIGZyb20gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZpbGVcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZmlsZSAocmVzb3VyY2UpIHdpdGhpbiB0aGUgd29ya3NwYWNlLCBwcm92aWRpbmcgbWV0aG9kcyBmb3JcbiAqIGNvbnRlbnQgYWNjZXNzIGFuZCBtYW5pcHVsYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGZpbGUuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaWxlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHBhdGggb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaWxlIHBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IHR5cGUgKE1JTUUgdHlwZSkgb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb250ZW50IHR5cGUgc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnRUeXBlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbnRlbnRUeXBlKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIGNvbnRlbnQgaXMgZGV0ZXJtaW5lZCB0byBiZSBiaW5hcnkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGJpbmFyeSwgZmFsc2UgaWYgdGV4dC5cblx0ICovXG5cdHB1YmxpYyBpc0JpbmFyeSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNCaW5hcnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBmaWxlIGFzIGEgSmF2YVNjcmlwdC1mcmllbmRseSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnQoKTogYW55W10ge1xuXHRcdGNvbnN0IG91dHB1dCA9IFdvcmtzcGFjZUZhY2FkZS5nZXRDb250ZW50KHRoaXMubmF0aXZlKTtcblx0XHRpZiAob3V0cHV0KSB7XG5cdFx0XHQvLyBFbnN1cmUgaXQncyByZXR1cm5lZCBpZiBpdCBleGlzdHNcblx0XHRcdHJldHVybiBvdXRwdXQ7XG5cdFx0fVxuXHRcdHJldHVybiBvdXRwdXQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCBvZiB0aGUgZmlsZSBhcyBhIHRleHQgc3RyaW5nLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcblx0XHRjb25zdCBieXRlc091dHB1dCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXHRcdHJldHVybiBCeXRlcy5ieXRlQXJyYXlUb1RleHQoYnl0ZXNPdXRwdXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgdXNpbmcgYSBieXRlIGFycmF5LlxuXHQgKiBAcGFyYW0ge2FueVtdfSBpbnB1dCBUaGUgbmV3IGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q29udGVudChpbnB1dDogYW55W10pOiB2b2lkIHtcblx0XHRXb3Jrc3BhY2VGYWNhZGUuc2V0Q29udGVudCh0aGlzLm5hdGl2ZSwgaW5wdXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgdXNpbmcgYSB0ZXh0IHN0cmluZy5cblx0ICogVGhlIHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSBieXRlIGFycmF5IGJlZm9yZSBzYXZpbmcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCBUaGUgbmV3IHRleHQgY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBzZXRUZXh0KGlucHV0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBieXRlc0lucHV0ID0gQnl0ZXMudGV4dFRvQnl0ZUFycmF5KGlucHV0KTtcblx0XHR0aGlzLnNldENvbnRlbnQoYnl0ZXNJbnB1dCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBXb3Jrc3BhY2U7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxtQkFBc0I7QUFFdEIsTUFBTSxrQkFBa0IsS0FBSyxLQUFLLCtEQUErRDtBQU8xRixNQUFNLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF0QixPQUFjLGdCQUFnQixNQUF5QjtBQUN0RCxVQUFNLFNBQVMsZ0JBQWdCLGdCQUFnQixJQUFJO0FBQ25ELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLE1BQXlCO0FBQ25ELFVBQU0sU0FBUyxnQkFBZ0IsYUFBYSxJQUFJO0FBQ2hELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMscUJBQStC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
581
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsYXRmb3JtL3dvcmtzcGFjZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBQcm92aWRlcyBhIHdyYXBwZXIgZm9yIHRoZSBwbGF0Zm9ybSdzIFdvcmtzcGFjZUZhY2FkZSB0byBtYW5hZ2UgV29ya3NwYWNlcyxcbiAqIFByb2plY3RzLCBGb2xkZXJzLCBhbmQgRmlsZXMuXG4gKi9cbmltcG9ydCB7IEJ5dGVzIH0gZnJvbSBcIkBhZXJva2l0L3Nkay9pby9ieXRlc1wiO1xuXG5jb25zdCBXb3Jrc3BhY2VGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucGxhdGZvcm0uV29ya3NwYWNlRmFjYWRlXCIpO1xuXG4vKipcbiAqIEBjbGFzcyBXb3Jrc3BhY2VcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgbG9naWNhbCBjb250YWluZXIgZm9yIHByb2plY3RzLCBwcm92aWRpbmcgc3RhdGljIG1ldGhvZHMgZm9yXG4gKiBoaWdoLWxldmVsIHdvcmtzcGFjZSBtYW5hZ2VtZW50IGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBwcm9qZWN0IG1hbmFnZW1lbnQgd2l0aGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3Jrc3BhY2Uge1xuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHdvcmtzcGFjZSB3aXRoIHRoZSBnaXZlbiBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIGNyZWF0ZS5cblx0ICogQHJldHVybnMge1dvcmtzcGFjZX0gVGhlIG5ld2x5IGNyZWF0ZWQgV29ya3NwYWNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBjcmVhdGVXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogV29ya3NwYWNlIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXb3Jrc3BhY2VGYWNhZGUuY3JlYXRlV29ya3NwYWNlKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgV29ya3NwYWNlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGFuIGV4aXN0aW5nIHdvcmtzcGFjZSBieSBuYW1lLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgd29ya3NwYWNlIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7V29ya3NwYWNlfSBUaGUgV29ya3NwYWNlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBnZXRXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogV29ya3NwYWNlIHtcblx0XHRjb25zdCBuYXRpdmUgPSBXb3Jrc3BhY2VGYWNhZGUuZ2V0V29ya3NwYWNlKG5hbWUpO1xuXHRcdHJldHVybiBuZXcgV29ya3NwYWNlKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIHRoZSBuYW1lcyBvZiBhbGwgZXhpc3Rpbmcgd29ya3NwYWNlcy5cblx0ICpcblx0ICogQHJldHVybnMge3N0cmluZ1tdfSBBbiBhcnJheSBvZiB3b3Jrc3BhY2UgbmFtZXMuXG5cdCAqL1xuXHRwdWJsaWMgc3RhdGljIGdldFdvcmtzcGFjZXNOYW1lcygpOiBzdHJpbmdbXSB7XG5cdFx0Y29uc3Qgd29ya3NwYWNlc05hbWVzID0gV29ya3NwYWNlRmFjYWRlLmdldFdvcmtzcGFjZXNOYW1lcygpO1xuXHRcdGlmICh3b3Jrc3BhY2VzTmFtZXMpIHtcblx0XHRcdC8vIFRoZSBuYXRpdmUgbWV0aG9kIHJldHVybnMgYSBKU09OIHN0cmluZyBhcnJheSB0aGF0IG5lZWRzIHRvIGJlIHBhcnNlZC5cblx0XHRcdHJldHVybiBKU09OLnBhcnNlKHdvcmtzcGFjZXNOYW1lcyk7XG5cdFx0fVxuXHRcdC8vIElmIG51bGwgb3IgdW5kZWZpbmVkIGlzIHJldHVybmVkLCByZXR1cm4gdGhlIHJhdyB2YWx1ZSAod2hpY2ggd2lsbCBiZSBudWxsL3VuZGVmaW5lZCkuXG5cdFx0cmV0dXJuIHdvcmtzcGFjZXNOYW1lcztcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIHRoZSB3b3Jrc3BhY2Ugd2l0aCB0aGUgc3BlY2lmaWVkIG5hbWUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSB3b3Jrc3BhY2UgdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZWxldGVXb3Jrc3BhY2UobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0V29ya3NwYWNlRmFjYWRlLmRlbGV0ZVdvcmtzcGFjZShuYW1lKTtcblx0fVxuXG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgaW5zdGFuY2UgcmVwcmVzZW50aW5nIHRoZSB3b3Jrc3BhY2UuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgYSBjb2xsZWN0aW9uIG9mIGFsbCBwcm9qZWN0cyB3aXRoaW4gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0c30gQSBQcm9qZWN0cyBjb2xsZWN0aW9uIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldFByb2plY3RzKCk6IFByb2plY3RzIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRQcm9qZWN0cygpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdHMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IHByb2plY3Qgd2l0aGluIHRoaXMgd29ya3NwYWNlLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gbmFtZSBUaGUgbmFtZSBvZiB0aGUgcHJvamVjdCB0byBjcmVhdGUuXG5cdCAqIEByZXR1cm5zIHtQcm9qZWN0fSBUaGUgbmV3bHkgY3JlYXRlZCBQcm9qZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZVByb2plY3QobmFtZTogc3RyaW5nKTogUHJvamVjdCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlUHJvamVjdChuYW1lKTtcblx0XHRyZXR1cm4gbmV3IFByb2plY3QobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYW4gZXhpc3RpbmcgcHJvamVjdCBieSBuYW1lIGZyb20gdGhpcyB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0IHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7UHJvamVjdH0gVGhlIFByb2plY3QgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UHJvamVjdChuYW1lOiBzdHJpbmcpOiBQcm9qZWN0IHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRQcm9qZWN0KG5hbWUpO1xuXHRcdHJldHVybiBuZXcgUHJvamVjdChuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBwcm9qZWN0IGZyb20gdGhpcyB3b3Jrc3BhY2UgYnkgbmFtZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gZGVsZXRlLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZVByb2plY3QobmFtZTogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlUHJvamVjdChuYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgdGhlIHdvcmtzcGFjZSBjdXJyZW50bHkgZXhpc3RzLlxuXHQgKlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgd29ya3NwYWNlIGV4aXN0cywgZmFsc2Ugb3RoZXJ3aXNlLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIGEgc3BlY2lmaWMgZm9sZGVyIHBhdGggZXhpc3RzIHdpdGhpbiB0aGUgd29ya3NwYWNlJ3MgZmlsZXN5c3RlbSBzdHJ1Y3R1cmUuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmb2xkZXIgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZvbGRlcihwYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzRm9sZGVyKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoZSB3b3Jrc3BhY2UncyBmaWxlc3lzdGVtIHN0cnVjdHVyZS5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvcGllcyBhIHByb2plY3QgZnJvbSBhIHNvdXJjZSBuYW1lIHRvIGEgdGFyZ2V0IG5hbWUgd2l0aGluIHRoZSB3b3Jrc3BhY2UuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIG5hbWUgb2YgdGhlIHByb2plY3QgdG8gY29weS5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBUaGUgbmFtZSBvZiB0aGUgbmV3IHByb2plY3QgY29weS5cblx0ICovXG5cdHB1YmxpYyBjb3B5UHJvamVjdChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5jb3B5UHJvamVjdChzb3VyY2UsIHRhcmdldCk7XG5cdH1cblxuXHQvKipcblx0ICogTW92ZXMgYSBwcm9qZWN0IGZyb20gYSBzb3VyY2UgbmFtZSB0byBhIHRhcmdldCBuYW1lIChyZW5hbWluZyBpdCkuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBzb3VyY2UgVGhlIGN1cnJlbnQgbmFtZSBvZiB0aGUgcHJvamVjdC5cblx0ICogQHBhcmFtIHtzdHJpbmd9IHRhcmdldCBUaGUgbmV3IG5hbWUvcGF0aCBvZiB0aGUgcHJvamVjdC5cblx0ICovXG5cdHB1YmxpYyBtb3ZlUHJvamVjdChzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHR0aGlzLm5hdGl2ZS5tb3ZlUHJvamVjdChzb3VyY2UsIHRhcmdldCk7XG5cdH1cblxufVxuXG4vKipcbiAqIEBjbGFzcyBQcm9qZWN0c1xuICogQGRlc2NyaXB0aW9uIEEgY29sbGVjdGlvbi9saXN0IG9mIHByb2plY3RzIHdpdGhpbiBhIHdvcmtzcGFjZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb2plY3RzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgcHJvamVjdHMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBwcm9qZWN0cyBpbiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5zaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIFByb2plY3QgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgcHJvamVjdC5cblx0ICogQHJldHVybnMge1Byb2plY3R9IFRoZSBQcm9qZWN0IGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogUHJvamVjdCB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IFByb2plY3QobmF0aXZlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIFByb2plY3RcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgUHJvamVjdCB3aXRoaW4gYSB3b3Jrc3BhY2UuIEl0IHByb3ZpZGVzIG1ldGhvZHMgZm9yIG1hbmFnaW5nXG4gKiBmb2xkZXJzIGFuZCBmaWxlcyB3aXRoaW4gdGhlIHByb2plY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9qZWN0IHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIHByb2plY3QuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIHByb2plY3QuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBwcm9qZWN0IG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBwYXRoIG9mIHRoZSBwcm9qZWN0LlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgcHJvamVjdCBwYXRoIChyZWxhdGl2ZSB0byB0aGUgcmVwb3NpdG9yeS93b3Jrc3BhY2Ugcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZvbGRlciB3aXRoaW4gdGhlIHByb2plY3QuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlIChyZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290KS5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIG5ld2x5IGNyZWF0ZWQgRm9sZGVyIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZvbGRlcihwYXRoOiBzdHJpbmcpOiBGb2xkZXIge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZvbGRlcihwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiB0aGUgcHJvamVjdCBpdHNlbGYgZXhpc3RzLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgcHJvamVjdCBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmb2xkZXIgcGF0aCBleGlzdHMgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGb2xkZXIocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBmb2xkZXIgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZvbGRlcnMgYXQgYSBzcGVjaWZpYyBwYXRoLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmb2xkZXJzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyc30gVGhlIEZvbGRlcnMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJzKHBhdGg6IHN0cmluZyk6IEZvbGRlcnMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcnMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXJzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIGZvbGRlciBmcm9tIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdCkuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZUZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZpbGUgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKiBAcGFyYW0ge2FueVtdfSBbaW5wdXQ9W11dIE9wdGlvbmFsIGluaXRpYWwgY29udGVudCBhcyBhIGJ5dGUgYXJyYXkuXG5cdCAqIEByZXR1cm5zIHtGaWxlfSBUaGUgbmV3bHkgY3JlYXRlZCBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGNyZWF0ZUZpbGUocGF0aDogc3RyaW5nLCBpbnB1dDogYW55W10gPSBbXSk6IEZpbGUge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmNyZWF0ZUZpbGUocGF0aCwgaW5wdXQpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENoZWNrcyBpZiBhIHNwZWNpZmljIGZpbGUgcGF0aCBleGlzdHMgd2l0aGluIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0c0ZpbGUocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZpbGUocGF0aCk7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmVzIGEgZmlsZSBieSBpdHMgcGF0aCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldEZpbGUocGF0aDogc3RyaW5nKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZShwYXRoKTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZpbGVzIGF0IGEgc3BlY2lmaWMgcGF0aC5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggY29udGFpbmluZyB0aGUgZmlsZXMgdG8gcmV0cmlldmUuXG5cdCAqIEByZXR1cm5zIHtGaWxlc30gVGhlIEZpbGVzIGNvbGxlY3Rpb24gaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZXMocGF0aDogc3RyaW5nKTogRmlsZXMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZpbGVzKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZXMobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBEZWxldGVzIGEgZmlsZSBmcm9tIHRoZSBwcm9qZWN0LlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBkZWxldGUgKHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QpLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZvbGRlcnNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbGxlY3Rpb24vbGlzdCBvZiBmb2xkZXJzLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVycyB7XG5cdHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cblx0LyoqXG5cdCAqIEBjb25zdHJ1Y3RvclxuXHQgKiBAcGFyYW0ge2FueX0gbmF0aXZlIFRoZSBuYXRpdmUgSmF2YSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBsaXN0IG9mIGZvbGRlcnMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBmb2xkZXJzIGluIHRoZSBjb2xsZWN0aW9uLlxuXHQgKiBAcmV0dXJucyB7bnVtYmVyfSBUaGUgc2l6ZSBvZiB0aGUgY29sbGVjdGlvbi5cblx0ICovXG5cdHB1YmxpYyBzaXplKCk6IG51bWJlciB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLnNpemUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIGEgRm9sZGVyIGluc3RhbmNlIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXguXG5cdCAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXQoaW5kZXg6IG51bWJlcik6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IEZvbGRlcihuYXRpdmUpO1xuXHR9XG5cbn1cblxuLyoqXG4gKiBAY2xhc3MgRmlsZXNcbiAqIEBkZXNjcmlwdGlvbiBBIGNvbGxlY3Rpb24vbGlzdCBvZiBmaWxlcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEZpbGVzIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIGxpc3Qgb2YgZmlsZXMuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG51bWJlciBvZiBmaWxlcyBpbiB0aGUgY29sbGVjdGlvbi5cblx0ICogQHJldHVybnMge251bWJlcn0gVGhlIHNpemUgb2YgdGhlIGNvbGxlY3Rpb24uXG5cdCAqL1xuXHRwdWJsaWMgc2l6ZSgpOiBudW1iZXIge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5zaXplKCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyBhIEZpbGUgaW5zdGFuY2UgYXQgdGhlIHNwZWNpZmllZCBpbmRleC5cblx0ICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IFRoZSBpbmRleCBvZiB0aGUgZmlsZS5cblx0ICogQHJldHVybnMge0ZpbGV9IFRoZSBGaWxlIGluc3RhbmNlLlxuXHQgKi9cblx0cHVibGljIGdldChpbmRleDogbnVtYmVyKTogRmlsZSB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0KGluZGV4KTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZvbGRlclxuICogQGRlc2NyaXB0aW9uIFJlcHJlc2VudHMgYSBkaXJlY3Rvcnkgb3IgZm9sZGVyIHdpdGhpbiBhIHByb2plY3QsIHByb3ZpZGluZyBtZXRob2RzIGZvclxuICogbWFuYWdpbmcgc3ViLWZvbGRlcnMgYW5kIGZpbGVzLlxuICovXG5leHBvcnQgY2xhc3MgRm9sZGVyIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGZvbGRlci5cblx0ICovXG5cdGNvbnN0cnVjdG9yKG5hdGl2ZTogYW55KSB7XG5cdFx0dGhpcy5uYXRpdmUgPSBuYXRpdmU7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbmFtZSBvZiB0aGUgZm9sZGVyLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgZm9sZGVyIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fTtcblxuXHQvKipcblx0ICogR2V0cyB0aGUgZnVsbCBwYXRoIG9mIHRoZSBmb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmb2xkZXIgcGF0aC5cblx0ICovXG5cdHB1YmxpYyBnZXRQYXRoKCk6IHN0cmluZyB7XG5cdFx0Y29uc3QgY29sbGVjdGlvbiA9IHRoaXMubmF0aXZlLmdldEludGVybmFsKCk7XG5cdFx0cmV0dXJuIGNvbGxlY3Rpb24uZ2V0UGF0aCgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENyZWF0ZXMgYSBuZXcgc3ViLWZvbGRlciB3aXRoaW4gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBzdWItZm9sZGVyIHRvIGNyZWF0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyfSBUaGUgbmV3bHkgY3JlYXRlZCBGb2xkZXIgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgY3JlYXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IEZvbGRlciB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuY3JlYXRlRm9sZGVyKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRm9sZGVyKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmb2xkZXIgaXRzZWxmIGV4aXN0cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZvbGRlciBleGlzdHMuXG5cdCAqL1xuXHRwdWJsaWMgZXhpc3RzKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHMoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBzdWItZm9sZGVyIHBhdGggZXhpc3RzIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIHN1Yi1mb2xkZXIuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBzdWItZm9sZGVyIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGb2xkZXIocGF0aDogc3RyaW5nKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmV4aXN0c0ZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBzdWItZm9sZGVyIGJ5IGl0cyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcmVsYXRpdmUgcGF0aCB0byB0aGUgc3ViLWZvbGRlci5cblx0ICogQHJldHVybnMge0ZvbGRlcn0gVGhlIEZvbGRlciBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXIocGF0aDogc3RyaW5nKTogRm9sZGVyIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGb2xkZXIocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXIobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXRyaWV2ZXMgYSBjb2xsZWN0aW9uIG9mIGZvbGRlcnMgYXQgYSBzcGVjaWZpYyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmb2xkZXJzIHRvIHJldHJpZXZlLlxuXHQgKiBAcmV0dXJucyB7Rm9sZGVyc30gVGhlIEZvbGRlcnMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGb2xkZXJzKHBhdGg6IHN0cmluZyk6IEZvbGRlcnMge1xuXHRcdGNvbnN0IG5hdGl2ZSA9IHRoaXMubmF0aXZlLmdldEZvbGRlcnMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGb2xkZXJzKG5hdGl2ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRGVsZXRlcyBhIHN1Yi1mb2xkZXIgZnJvbSB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHN1Yi1mb2xkZXIgdG8gZGVsZXRlIChyZWxhdGl2ZSB0byB0aGlzIGZvbGRlcikuXG5cdCAqL1xuXHRwdWJsaWMgZGVsZXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IHZvaWQge1xuXHRcdHRoaXMubmF0aXZlLmRlbGV0ZUZvbGRlcihwYXRoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDcmVhdGVzIGEgbmV3IGZpbGUgd2l0aGluIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyKS5cblx0ICogQHBhcmFtIHthbnlbXX0gW2lucHV0PVtdXSBPcHRpb25hbCBpbml0aWFsIGNvbnRlbnQgYXMgYSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIG5ld2x5IGNyZWF0ZWQgRmlsZSBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBjcmVhdGVGaWxlKHBhdGg6IHN0cmluZywgaW5wdXQ6IGFueVtdID0gW10pOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5jcmVhdGVGaWxlKHBhdGgsIGlucHV0KTtcblx0XHRyZXR1cm4gbmV3IEZpbGUobmF0aXZlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDaGVja3MgaWYgYSBzcGVjaWZpYyBmaWxlIHBhdGggZXhpc3RzIHdpdGhpbiB0aGlzIGZvbGRlci5cblx0ICpcblx0ICogQHBhcmFtIHtzdHJpbmd9IHBhdGggVGhlIHJlbGF0aXZlIHBhdGggdG8gdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICovXG5cdHB1YmxpYyBleGlzdHNGaWxlKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLm5hdGl2ZS5leGlzdHNGaWxlKHBhdGgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGZpbGUgYnkgaXRzIHBhdGggcmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSByZWxhdGl2ZSBwYXRoIHRvIHRoZSBmaWxlLlxuXHQgKiBAcmV0dXJucyB7RmlsZX0gVGhlIEZpbGUgaW5zdGFuY2UuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0RmlsZShwYXRoOiBzdHJpbmcpOiBGaWxlIHtcblx0XHRjb25zdCBuYXRpdmUgPSB0aGlzLm5hdGl2ZS5nZXRGaWxlKHBhdGgpO1xuXHRcdHJldHVybiBuZXcgRmlsZShuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlcyBhIGNvbGxlY3Rpb24gb2YgZmlsZXMgYXQgYSBzcGVjaWZpYyBwYXRoIHJlbGF0aXZlIHRvIHRoaXMgZm9sZGVyLlxuXHQgKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gcGF0aCBUaGUgcGF0aCBjb250YWluaW5nIHRoZSBmaWxlcyB0byByZXRyaWV2ZS5cblx0ICogQHJldHVybnMge0ZpbGVzfSBUaGUgRmlsZXMgY29sbGVjdGlvbiBpbnN0YW5jZS5cblx0ICovXG5cdHB1YmxpYyBnZXRGaWxlcyhwYXRoOiBzdHJpbmcpOiBGaWxlcyB7XG5cdFx0Y29uc3QgbmF0aXZlID0gdGhpcy5uYXRpdmUuZ2V0RmlsZXMocGF0aCk7XG5cdFx0cmV0dXJuIG5ldyBGaWxlcyhuYXRpdmUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlbGV0ZXMgYSBmaWxlIGZyb20gdGhpcyBmb2xkZXIuXG5cdCAqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGRlbGV0ZSAocmVsYXRpdmUgdG8gdGhpcyBmb2xkZXIpLlxuXHQgKi9cblx0cHVibGljIGRlbGV0ZUZpbGUocGF0aDogc3RyaW5nKTogdm9pZCB7XG5cdFx0dGhpcy5uYXRpdmUuZGVsZXRlRmlsZShwYXRoKTtcblx0fVxuXG59XG5cbi8qKlxuICogQGNsYXNzIEZpbGVcbiAqIEBkZXNjcmlwdGlvbiBSZXByZXNlbnRzIGEgZmlsZSAocmVzb3VyY2UpIHdpdGhpbiB0aGUgd29ya3NwYWNlLCBwcm92aWRpbmcgbWV0aG9kcyBmb3JcbiAqIGNvbnRlbnQgYWNjZXNzIGFuZCBtYW5pcHVsYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWxlIHtcblx0cHJpdmF0ZSByZWFkb25seSBuYXRpdmU6IGFueTtcblxuXHQvKipcblx0ICogQGNvbnN0cnVjdG9yXG5cdCAqIEBwYXJhbSB7YW55fSBuYXRpdmUgVGhlIG5hdGl2ZSBKYXZhIG9iamVjdCBpbnN0YW5jZSByZXByZXNlbnRpbmcgdGhlIGZpbGUuXG5cdCAqL1xuXHRjb25zdHJ1Y3RvcihuYXRpdmU6IGFueSkge1xuXHRcdHRoaXMubmF0aXZlID0gbmF0aXZlO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG5hbWUgb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaWxlIG5hbWUuXG5cdCAqL1xuXHRwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldE5hbWUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBmdWxsIHBhdGggb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBmaWxlIHBhdGguXG5cdCAqL1xuXHRwdWJsaWMgZ2V0UGF0aCgpOiBzdHJpbmcge1xuXHRcdGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLm5hdGl2ZS5nZXRJbnRlcm5hbCgpO1xuXHRcdHJldHVybiBjb2xsZWN0aW9uLmdldFBhdGgoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IHR5cGUgKE1JTUUgdHlwZSkgb2YgdGhlIGZpbGUuXG5cdCAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBjb250ZW50IHR5cGUgc3RyaW5nLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnRUeXBlKCk6IHN0cmluZyB7XG5cdFx0cmV0dXJuIHRoaXMubmF0aXZlLmdldENvbnRlbnRUeXBlKCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIGNvbnRlbnQgaXMgZGV0ZXJtaW5lZCB0byBiZSBiaW5hcnkuXG5cdCAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIGJpbmFyeSwgZmFsc2UgaWYgdGV4dC5cblx0ICovXG5cdHB1YmxpYyBpc0JpbmFyeSgpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuaXNCaW5hcnkoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBjb250ZW50IG9mIHRoZSBmaWxlIGFzIGEgSmF2YVNjcmlwdC1mcmllbmRseSBieXRlIGFycmF5LlxuXHQgKiBAcmV0dXJucyB7YW55W119IFRoZSBjb250ZW50IGJ5dGVzLlxuXHQgKi9cblx0cHVibGljIGdldENvbnRlbnQoKTogYW55W10ge1xuXHRcdGNvbnN0IG91dHB1dCA9IFdvcmtzcGFjZUZhY2FkZS5nZXRDb250ZW50KHRoaXMubmF0aXZlKTtcblx0XHRpZiAob3V0cHV0KSB7XG5cdFx0XHQvLyBFbnN1cmUgaXQncyByZXR1cm5lZCBpZiBpdCBleGlzdHNcblx0XHRcdHJldHVybiBvdXRwdXQ7XG5cdFx0fVxuXHRcdHJldHVybiBvdXRwdXQ7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgY29udGVudCBvZiB0aGUgZmlsZSBhcyBhIHRleHQgc3RyaW5nLlxuXHQgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdGV4dCBjb250ZW50LlxuXHQgKi9cblx0cHVibGljIGdldFRleHQoKTogc3RyaW5nIHtcblx0XHRjb25zdCBieXRlc091dHB1dCA9IHRoaXMuZ2V0Q29udGVudCgpO1xuXHRcdHJldHVybiBCeXRlcy5ieXRlQXJyYXlUb1RleHQoYnl0ZXNPdXRwdXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgdXNpbmcgYSBieXRlIGFycmF5LlxuXHQgKiBAcGFyYW0ge2FueVtdfSBpbnB1dCBUaGUgbmV3IGNvbnRlbnQgYnl0ZXMuXG5cdCAqL1xuXHRwdWJsaWMgc2V0Q29udGVudChpbnB1dDogYW55W10pOiB2b2lkIHtcblx0XHRXb3Jrc3BhY2VGYWNhZGUuc2V0Q29udGVudCh0aGlzLm5hdGl2ZSwgaW5wdXQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvbnRlbnQgb2YgdGhlIGZpbGUgdXNpbmcgYSB0ZXh0IHN0cmluZy5cblx0ICogVGhlIHN0cmluZyBpcyBjb252ZXJ0ZWQgdG8gYSBieXRlIGFycmF5IGJlZm9yZSBzYXZpbmcuXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBpbnB1dCBUaGUgbmV3IHRleHQgY29udGVudC5cblx0ICovXG5cdHB1YmxpYyBzZXRUZXh0KGlucHV0OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBieXRlc0lucHV0ID0gQnl0ZXMudGV4dFRvQnl0ZUFycmF5KGlucHV0KTtcblx0XHR0aGlzLnNldENvbnRlbnQoYnl0ZXNJbnB1dCk7XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBmaWxlIGV4aXN0cy5cblx0ICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIGZpbGUgZXhpc3RzLlxuXHQgKi9cblx0cHVibGljIGV4aXN0cygpOiBib29sZWFuIHtcblx0XHRyZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKCk7XG5cdH1cbn1cblxuLy8gQHRzLWlnbm9yZVxuaWYgKHR5cGVvZiBtb2R1bGUgIT09ICd1bmRlZmluZWQnKSB7XG5cdC8vIEB0cy1pZ25vcmVcblx0bW9kdWxlLmV4cG9ydHMgPSBXb3Jrc3BhY2U7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxtQkFBc0I7QUFFdEIsTUFBTSxrQkFBa0IsS0FBSyxLQUFLLCtEQUErRDtBQU8xRixNQUFNLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVF0QixPQUFjLGdCQUFnQixNQUF5QjtBQUN0RCxVQUFNLFNBQVMsZ0JBQWdCLGdCQUFnQixJQUFJO0FBQ25ELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsT0FBYyxhQUFhLE1BQXlCO0FBQ25ELFVBQU0sU0FBUyxnQkFBZ0IsYUFBYSxJQUFJO0FBQ2hELFdBQU8sSUFBSSxVQUFVLE1BQU07QUFBQSxFQUM1QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE9BQWMscUJBQStC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
@@ -22,6 +22,7 @@ __export(client_exports, {
22
22
  module.exports = __toCommonJS(client_exports);
23
23
  const RedisFacade = Java.type("org.eclipse.dirigible.components.api.redis.RedisFacade");
24
24
  class Client {
25
+ native;
25
26
  /**
26
27
  * Initializes the Redis Client and retrieves the native client instance
27
28
  * from the Redis Facade.
@@ -187,4 +188,4 @@ class Client {
187
188
  if (typeof module !== "undefined") {
188
189
  module.exports = Client;
189
190
  }
190
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2NsaWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBSZWRpcyBDbGllbnRcbiAqXG4gKiBUaGlzIGNsYXNzIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgY29tbW9uIFJlZGlzIG9wZXJhdGlvbnMsIHByb3ZpZGluZyBhIGNvbnZlbmllbnRcbiAqIEphdmFTY3JpcHQgaW50ZXJmYWNlIHRoYXQgd3JhcHMgdGhlIHVuZGVybHlpbmcgSmF2YSBSZWRpcyBjbGllbnQgaW1wbGVtZW50YXRpb24uXG4gKi9cblxuY29uc3QgUmVkaXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmVkaXMuUmVkaXNGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgUmVkaXMgQ2xpZW50IGFuZCByZXRyaWV2ZXMgdGhlIG5hdGl2ZSBjbGllbnQgaW5zdGFuY2VcbiAgICAgKiBmcm9tIHRoZSBSZWRpcyBGYWNhZGUuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gUmVkaXNGYWNhZGUuZ2V0Q2xpZW50KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tIEtleS1WYWx1ZSBhbmQgR2VuZXJhbCBPcGVyYXRpb25zIC0tLVxuXG4gICAgLyoqXG4gICAgICogQXBwZW5kcyBhIHZhbHVlIHRvIHRoZSB2YWx1ZSBvZiBhIGtleS4gSWYgdGhlIGtleSBkb2VzIG5vdCBleGlzdCxcbiAgICAgKiBpdCBpcyBjcmVhdGVkIGFuZCBzZXQgdG8gdGhlIGluaXRpYWwgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gYXBwZW5kIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgc3RyaW5nIHRvIGFwcGVuZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgYWZ0ZXIgdGhlIGFwcGVuZCBvcGVyYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGFwcGVuZChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ291bnRzIHRoZSBudW1iZXIgb2Ygc2V0IGJpdHMgKDFzKSBpbiB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHBlcmZvcm0gdGhlIGJpdGNvdW50IG9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygc2V0IGJpdHMuXG4gICAgICovXG4gICAgcHVibGljIGJpdGNvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmJpdGNvdW50KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgZGVjcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmRlY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGRlbGV0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGtleXMgdGhhdCB3ZXJlIHJlbW92ZWQgKDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UpLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWwoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVsKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQga2V5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGV4aXN0cyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cbiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGtleSwgb3IgbnVsbCBpZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5jcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgaW5jcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmluY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbGwga2V5cyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0dGVybi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIG1hdGNoIGtleXMgYWdhaW5zdCAoZS5nLiwgXCJ1c2VyOipcIikuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcga2V5cy5cbiAgICAgKi9cbiAgICBwdWJsaWMga2V5cyhwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5rZXlzKHBhdHRlcm4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZXQuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gYXNzaWduIHRvIHRoZSBrZXkuXG4gICAgICogQHJldHVybnMgJ09LJyBvbiBzdWNjZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIC0tLSBMaXN0IE9wZXJhdGlvbnMgLS0tXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIGVsZW1lbnQgZnJvbSBhIGxpc3QgYnkgaXRzIHplcm8tYmFzZWQgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSB6ZXJvLWJhc2VkIGluZGV4ICgwIGlzIHRoZSBmaXJzdCBlbGVtZW50LCAtMSBpcyB0aGUgbGFzdCkuXG4gICAgICogQHJldHVybnMgVGhlIGVsZW1lbnQgYXQgdGhlIHNwZWNpZmllZCBpbmRleCwgb3IgbnVsbCBpZiB0aGUgaW5kZXggaXMgb3V0IG9mIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5kZXgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubGluZGV4KGtleSwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBsaXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBsbGVuKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxsZW4oa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChMZWZ0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QsIG9yIG51bGwgd2hlbiB0aGUgbGlzdCBpcyBlbXB0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbHBvcChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5scG9wKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBhbGwgc3BlY2lmaWVkIHZhbHVlcyBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleSAoTGVmdCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIHByZXBlbmQgdG8gdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBsZW5ndGggb2YgdGhlIGxpc3QuXG4gICAgICovXG4gICAgcHVibGljIGxwdXNoKGtleTogc3RyaW5nLCAuLi52YWx1ZTogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxwdXNoKGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNwZWNpZmllZCBlbGVtZW50cyBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gc3RhcnQgVGhlIHN0YXJ0aW5nIHplcm8tYmFzZWQgb2Zmc2V0LlxuICAgICAqIEBwYXJhbSBzdG9wIFRoZSBzdG9wcGluZyB6ZXJvLWJhc2VkIG9mZnNldC5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBlbGVtZW50cyBpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBscmFuZ2Uoa2V5OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIHN0b3A6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxyYW5nZShrZXksIHN0YXJ0LCBzdG9wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RvcmVkIGF0IHRoZSBrZXkgKFJpZ2h0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgbGlzdCwgb3IgbnVsbCB3aGVuIHRoZSBsaXN0IGlzIGVtcHR5LlxuICAgICAqL1xuICAgIHB1YmxpYyBycG9wKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnJwb3Aoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGFsbCBzcGVjaWZpZWQgdmFsdWVzIGF0IHRoZSB0YWlsIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChSaWdodCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIGFwcGVuZCB0byB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcnB1c2goa2V5OiBzdHJpbmcsIC4uLnZhbHVlOiBzdHJpbmdbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5ycHVzaChrZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE9BQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2hCLGNBQWM7QUFDVixTQUFLLFNBQVMsWUFBWSxVQUFVO0FBQUEsRUFDeEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVlPLE9BQU8sS0FBYSxPQUF1QjtBQUM5QyxXQUFPLEtBQUssT0FBTyxPQUFPLEtBQUssS0FBSztBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxTQUFTLEtBQXFCO0FBQ2pDLFdBQU8sS0FBSyxPQUFPLFNBQVMsR0FBRztBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQXFCO0FBQzdCLFdBQU8sS0FBSyxPQUFPLEtBQUssR0FBRztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxJQUFJLEtBQXFCO0FBQzVCLFdBQU8sS0FBSyxPQUFPLElBQUksR0FBRztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxPQUFPLEtBQXNCO0FBQ2hDLFdBQU8sS0FBSyxPQUFPLE9BQU8sR0FBRztBQUFBLEVBQ2pDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxJQUFJLEtBQXFCO0FBQzVCLFdBQU8sS0FBSyxPQUFPLElBQUksR0FBRztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQXFCO0FBQzdCLFdBQU8sS0FBSyxPQUFPLEtBQUssR0FBRztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLFNBQTJCO0FBQ25DLFdBQU8sS0FBSyxPQUFPLEtBQUssT0FBTztBQUFBLEVBQ25DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLElBQUksS0FBYSxPQUF1QjtBQUMzQyxXQUFPLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSztBQUFBLEVBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV08sT0FBTyxLQUFhLE9BQXVCO0FBQzlDLFdBQU8sS0FBSyxPQUFPLE9BQU8sS0FBSyxLQUFLO0FBQUEsRUFDeEM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssS0FBcUI7QUFDN0IsV0FBTyxLQUFLLE9BQU8sS0FBSyxHQUFHO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFPLEtBQUssS0FBcUI7QUFDN0IsV0FBTyxLQUFLLE9BQU8sS0FBSyxHQUFHO0FBQUEsRUFDL0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU08sTUFBTSxRQUFnQixPQUFpQjtBQUMxQyxXQUFPLEtBQUssT0FBTyxNQUFNLEtBQUssS0FBSztBQUFBLEVBQ3ZDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVU8sT0FBTyxLQUFhLE9BQWUsTUFBd0I7QUFDOUQsV0FBTyxLQUFLLE9BQU8sT0FBTyxLQUFLLE9BQU8sSUFBSTtBQUFBLEVBQzlDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxLQUFLLEtBQXFCO0FBQzdCLFdBQU8sS0FBSyxPQUFPLEtBQUssR0FBRztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLE1BQU0sUUFBZ0IsT0FBeUI7QUFDbEQsV0FBTyxLQUFLLE9BQU8sTUFBTSxLQUFLLEtBQUs7QUFBQSxFQUN2QztBQUNKO0FBR0EsSUFBSSxPQUFPLFdBQVcsYUFBYTtBQUUvQixTQUFPLFVBQVU7QUFDckI7IiwKICAibmFtZXMiOiBbXQp9Cg==
191
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlZGlzL2NsaWVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBSZWRpcyBDbGllbnRcbiAqXG4gKiBUaGlzIGNsYXNzIHNlcnZlcyBhcyBhIGZhY2FkZSBmb3IgY29tbW9uIFJlZGlzIG9wZXJhdGlvbnMsIHByb3ZpZGluZyBhIGNvbnZlbmllbnRcbiAqIEphdmFTY3JpcHQgaW50ZXJmYWNlIHRoYXQgd3JhcHMgdGhlIHVuZGVybHlpbmcgSmF2YSBSZWRpcyBjbGllbnQgaW1wbGVtZW50YXRpb24uXG4gKi9cblxuY29uc3QgUmVkaXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkucmVkaXMuUmVkaXNGYWNhZGVcIik7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmF0aXZlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgUmVkaXMgQ2xpZW50IGFuZCByZXRyaWV2ZXMgdGhlIG5hdGl2ZSBjbGllbnQgaW5zdGFuY2VcbiAgICAgKiBmcm9tIHRoZSBSZWRpcyBGYWNhZGUuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubmF0aXZlID0gUmVkaXNGYWNhZGUuZ2V0Q2xpZW50KCk7XG4gICAgfVxuXG4gICAgLy8gLS0tIEtleS1WYWx1ZSBhbmQgR2VuZXJhbCBPcGVyYXRpb25zIC0tLVxuXG4gICAgLyoqXG4gICAgICogQXBwZW5kcyBhIHZhbHVlIHRvIHRoZSB2YWx1ZSBvZiBhIGtleS4gSWYgdGhlIGtleSBkb2VzIG5vdCBleGlzdCxcbiAgICAgKiBpdCBpcyBjcmVhdGVkIGFuZCBzZXQgdG8gdGhlIGluaXRpYWwgdmFsdWUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gYXBwZW5kIHRvLlxuICAgICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgc3RyaW5nIHRvIGFwcGVuZC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgYWZ0ZXIgdGhlIGFwcGVuZCBvcGVyYXRpb24uXG4gICAgICovXG4gICAgcHVibGljIGFwcGVuZChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5hcHBlbmQoa2V5LCB2YWx1ZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ291bnRzIHRoZSBudW1iZXIgb2Ygc2V0IGJpdHMgKDFzKSBpbiB0aGUgc3RyaW5nIHZhbHVlIG9mIGEga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIHBlcmZvcm0gdGhlIGJpdGNvdW50IG9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2Ygc2V0IGJpdHMuXG4gICAgICovXG4gICAgcHVibGljIGJpdGNvdW50KGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmJpdGNvdW50KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogRGVjcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgZGVjcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmRlY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBEZWxldGVzIHRoZSBzcGVjaWZpZWQga2V5LlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IHRvIGRlbGV0ZS5cbiAgICAgKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGtleXMgdGhhdCB3ZXJlIHJlbW92ZWQgKDEgaWYgc3VjY2Vzc2Z1bCwgMCBvdGhlcndpc2UpLlxuICAgICAqL1xuICAgIHB1YmxpYyBkZWwoa2V5OiBzdHJpbmcpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZGVsKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBzcGVjaWZpZWQga2V5IGV4aXN0cy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBjaGVjay5cbiAgICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2UuXG4gICAgICovXG4gICAgcHVibGljIGV4aXN0cyhrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZXhpc3RzKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCBrZXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHZhbHVlIGZvci5cbiAgICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGtleSwgb3IgbnVsbCBpZiB0aGUga2V5IGRvZXMgbm90IGV4aXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQoa2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuZ2V0KGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5jcmVtZW50cyB0aGUgbnVtYmVyIHN0b3JlZCBhdCBrZXkgYnkgb25lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IGhvbGRpbmcgdGhlIG51bWVyaWMgdmFsdWUuXG4gICAgICogQHJldHVybnMgVGhlIHZhbHVlIG9mIGtleSBhZnRlciB0aGUgaW5jcmVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBpbmNyKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmluY3Ioa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGaW5kcyBhbGwga2V5cyBtYXRjaGluZyB0aGUgZ2l2ZW4gcGF0dGVybi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIG1hdGNoIGtleXMgYWdhaW5zdCAoZS5nLiwgXCJ1c2VyOipcIikuXG4gICAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgbWF0Y2hpbmcga2V5cy5cbiAgICAgKi9cbiAgICBwdWJsaWMga2V5cyhwYXR0ZXJuOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5rZXlzKHBhdHRlcm4pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgdGhlIHN0cmluZyB2YWx1ZSBvZiBhIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSB0byBzZXQuXG4gICAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gYXNzaWduIHRvIHRoZSBrZXkuXG4gICAgICogQHJldHVybnMgJ09LJyBvbiBzdWNjZXNzLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUuc2V0KGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIC0tLSBMaXN0IE9wZXJhdGlvbnMgLS0tXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGFuIGVsZW1lbnQgZnJvbSBhIGxpc3QgYnkgaXRzIHplcm8tYmFzZWQgaW5kZXguXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHBhcmFtIGluZGV4IFRoZSB6ZXJvLWJhc2VkIGluZGV4ICgwIGlzIHRoZSBmaXJzdCBlbGVtZW50LCAtMSBpcyB0aGUgbGFzdCkuXG4gICAgICogQHJldHVybnMgVGhlIGVsZW1lbnQgYXQgdGhlIHNwZWNpZmllZCBpbmRleCwgb3IgbnVsbCBpZiB0aGUgaW5kZXggaXMgb3V0IG9mIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBsaW5kZXgoa2V5OiBzdHJpbmcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5uYXRpdmUubGluZGV4KGtleSwgaW5kZXgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGxlbmd0aCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbGVuZ3RoIG9mIHRoZSBsaXN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBsbGVuKGtleTogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxsZW4oa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChMZWZ0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGxpc3QsIG9yIG51bGwgd2hlbiB0aGUgbGlzdCBpcyBlbXB0eS5cbiAgICAgKi9cbiAgICBwdWJsaWMgbHBvcChrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5scG9wKGtleSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW5zZXJ0cyBhbGwgc3BlY2lmaWVkIHZhbHVlcyBhdCB0aGUgaGVhZCBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleSAoTGVmdCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIHByZXBlbmQgdG8gdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIG5ldyBsZW5ndGggb2YgdGhlIGxpc3QuXG4gICAgICovXG4gICAgcHVibGljIGxwdXNoKGtleTogc3RyaW5nLCAuLi52YWx1ZTogc3RyaW5nW10pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxwdXNoKGtleSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIHNwZWNpZmllZCBlbGVtZW50cyBvZiB0aGUgbGlzdCBzdG9yZWQgYXQgdGhlIGtleS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gc3RhcnQgVGhlIHN0YXJ0aW5nIHplcm8tYmFzZWQgb2Zmc2V0LlxuICAgICAqIEBwYXJhbSBzdG9wIFRoZSBzdG9wcGluZyB6ZXJvLWJhc2VkIG9mZnNldC5cbiAgICAgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBlbGVtZW50cyBpbiB0aGUgc3BlY2lmaWVkIHJhbmdlLlxuICAgICAqL1xuICAgIHB1YmxpYyBscmFuZ2Uoa2V5OiBzdHJpbmcsIHN0YXJ0OiBudW1iZXIsIHN0b3A6IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLmxyYW5nZShrZXksIHN0YXJ0LCBzdG9wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGFuZCByZXR1cm5zIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGxpc3Qgc3RvcmVkIGF0IHRoZSBrZXkgKFJpZ2h0IFBPUCkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgb2YgdGhlIGxpc3QuXG4gICAgICogQHJldHVybnMgVGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgbGlzdCwgb3IgbnVsbCB3aGVuIHRoZSBsaXN0IGlzIGVtcHR5LlxuICAgICAqL1xuICAgIHB1YmxpYyBycG9wKGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmF0aXZlLnJwb3Aoa2V5KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnNlcnRzIGFsbCBzcGVjaWZpZWQgdmFsdWVzIGF0IHRoZSB0YWlsIG9mIHRoZSBsaXN0IHN0b3JlZCBhdCB0aGUga2V5IChSaWdodCBQVVNIKS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgVGhlIGtleSBvZiB0aGUgbGlzdC5cbiAgICAgKiBAcGFyYW0gdmFsdWUgT25lIG9yIG1vcmUgdmFsdWVzIHRvIGFwcGVuZCB0byB0aGUgbGlzdC5cbiAgICAgKiBAcmV0dXJucyBUaGUgbmV3IGxlbmd0aCBvZiB0aGUgbGlzdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgcnB1c2goa2V5OiBzdHJpbmcsIC4uLnZhbHVlOiBzdHJpbmdbXSk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hdGl2ZS5ycHVzaChrZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBtb2R1bGUuZXhwb3J0cyA9IENsaWVudDtcbn0iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFPQSxNQUFNLGNBQWMsS0FBSyxLQUFLLHdEQUF3RDtBQUUvRSxNQUFNLE9BQU87QUFBQSxFQUNDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1qQixjQUFjO0FBQ1YsU0FBSyxTQUFTLFlBQVksVUFBVTtBQUFBLEVBQ3hDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFZTyxPQUFPLEtBQWEsT0FBdUI7QUFDOUMsV0FB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
@@ -23,6 +23,7 @@ module.exports = __toCommonJS(oauth_exports);
23
23
  var import_http = require("@aerokit/sdk/http");
24
24
  var import_utils = require("@aerokit/sdk/utils");
25
25
  class OAuthClient {
26
+ config;
26
27
  /**
27
28
  * Initializes the OAuthClient with the required configuration.
28
29
  * Sets 'client_credentials' as the default grant type if none is provided.
@@ -72,4 +73,4 @@ class OAuthClient {
72
73
  return JSON.parse(oauthResponse.text);
73
74
  }
74
75
  }
75
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L29hdXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBjbGllbnQgYXMgaHR0cENsaWVudH0gZnJvbSBcIkBhZXJva2l0L3Nkay9odHRwXCJcbmltcG9ydCB7IHVybCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHNcIlxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGZvciB0aGUgT0F1dGggY2xpZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoQ2xpZW50Q29uZmlnIHtcbiAgICAvKiogVGhlIFVSTCBlbmRwb2ludCBmb3IgdGhlIE9BdXRoIHRva2VuIHNlcnZpY2UgKGUuZy4sICcvb2F1dGgvdG9rZW4nKS4gKi9cbiAgICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBJRCBmb3IgYXV0aGVudGljYXRpb24uICovXG4gICAgcmVhZG9ubHkgY2xpZW50SWQ6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBzZWNyZXQgZm9yIGF1dGhlbnRpY2F0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFNlY3JldDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZ3JhbnQgdHlwZSB0byBiZSB1c2VkLiBEZWZhdWx0cyB0byAnY2xpZW50X2NyZWRlbnRpYWxzJy4gKi9cbiAgICByZWFkb25seSBncmFudFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjbGllbnQgY2xhc3MgZm9yIGZldGNoaW5nIE9BdXRoIGFjY2VzcyB0b2tlbnMuXG4gKlxuICogSXQgdXNlcyB0aGUgSFRUUCBjbGllbnQgdG8gc2VuZCBhIFBPU1QgcmVxdWVzdCB3aXRoIGNsaWVudCBjcmVkZW50aWFsc1xuICogdG8gdGhlIHNwZWNpZmllZCB0b2tlbiBlbmRwb2ludC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9BdXRoQ2xpZW50IHtcbiAgICBwcml2YXRlIGNvbmZpZzogT0F1dGhDbGllbnRDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgT0F1dGhDbGllbnQgd2l0aCB0aGUgcmVxdWlyZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBTZXRzICdjbGllbnRfY3JlZGVudGlhbHMnIGFzIHRoZSBkZWZhdWx0IGdyYW50IHR5cGUgaWYgbm9uZSBpcyBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgVVJMLCBjbGllbnQgSUQsIGFuZCBzZWNyZXQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBPQXV0aENsaWVudENvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgaWYgKCFjb25maWcuZ3JhbnRUeXBlKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25maWcuZ3JhbnRUeXBlID0gXCJjbGllbnRfY3JlZGVudGlhbHNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBPQXV0aCB0b2tlbiByZXF1ZXN0IGFuZCByZXR1cm5zIHRoZSBwYXJzZWQgcmVzcG9uc2UuXG4gICAgICpcbiAgICAgKiBUaGUgcmVxdWVzdCB1c2VzIHRoZSBjbGllbnQgY3JlZGVudGlhbHMgZ3JhbnQgdHlwZSAoZGVmYXVsdCkgYW5kXG4gICAgICogc2VuZHMgY3JlZGVudGlhbHMgYXMgVVJMLWVuY29kZWQgcGFyYW1ldGVycyBpbiB0aGUgYm9keS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgcGFyc2VkIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIE9BdXRoIHRva2VuIChlLmcuLCB7IGFjY2Vzc190b2tlbjogc3RyaW5nLCBleHBpcmVzX2luOiBudW1iZXIsIC4uLiB9KS5cbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIEhUVFAgc3RhdHVzIGNvZGUgaXMgbm90IDIwMC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKSB7XG4gICAgICAgIC8vIFByZXBhcmUgdGhlIHJlcXVlc3QgYm9keSBwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFt7XG4gICAgICAgICAgICBuYW1lOiBcImdyYW50X3R5cGVcIixcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5ncmFudFR5cGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogXCJjbGllbnRfaWRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgSUQgaXMgVVJMLWVuY29kZWRcbiAgICAgICAgICAgIHZhbHVlOiB1cmwuZW5jb2RlKHRoaXMuY29uZmlnLmNsaWVudElkKVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lOiBcImNsaWVudF9zZWNyZXRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgc2VjcmV0IGlzIFVSTC1lbmNvZGVkXG4gICAgICAgICAgICB2YWx1ZTogdXJsLmVuY29kZSh0aGlzLmNvbmZpZy5jbGllbnRTZWNyZXQpXG4gICAgICAgIH1dO1xuXG4gICAgICAgIGNvbnN0IG9hdXRoUmVzcG9uc2UgPSBodHRwQ2xpZW50LnBvc3QodGhpcy5jb25maWcudXJsLCB7XG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIGhlYWRlcnM6IFt7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb250ZW50LVR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgICAgICAgfV1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKG9hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZSAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBPQXV0aCB0b2tlbi4gU3RhdHVzIGNvZGU6IFske29hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZX1dLCB0ZXh0OiBbJHtvYXV0aFJlc3BvbnNlLnRleHR9XWA7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhcnNlIGFuZCByZXR1cm4gdGhlIHRva2VuIHJlc3BvbnNlXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKG9hdXRoUmVzcG9uc2UudGV4dCk7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0JBQW9DO0FBQ3BDLG1CQUFvQjtBQXNCYixNQUFNLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNyQixZQUFZLFFBQTJCO0FBQ25DLFNBQUssU0FBUztBQUNkLFFBQUksQ0FBQyxPQUFPLFdBQVc7QUFFbkIsYUFBTyxZQUFZO0FBQUEsSUFDdkI7QUFBQSxFQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXTyxXQUFXO0FBRWQsVUFBTSxTQUFTLENBQUM7QUFBQSxNQUNaLE1BQU07QUFBQSxNQUNOLE9BQU8sS0FBSyxPQUFPO0FBQUEsSUFDdkIsR0FBRztBQUFBLE1BQ0MsTUFBTTtBQUFBO0FBQUEsTUFFTixPQUFPLGlCQUFJLE9BQU8sS0FBSyxPQUFPLFFBQVE7QUFBQSxJQUMxQyxHQUFHO0FBQUEsTUFDQyxNQUFNO0FBQUE7QUFBQSxNQUVOLE9BQU8saUJBQUksT0FBTyxLQUFLLE9BQU8sWUFBWTtBQUFBLElBQzlDLENBQUM7QUFFRCxVQUFNLGdCQUFnQixZQUFBQSxPQUFXLEtBQUssS0FBSyxPQUFPLEtBQUs7QUFBQSxNQUNuRDtBQUFBLE1BQ0EsU0FBUyxDQUFDO0FBQUEsUUFDTixNQUFNO0FBQUEsUUFDTixPQUFPO0FBQUEsTUFDWCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBRUQsUUFBSSxjQUFjLGVBQWUsS0FBSztBQUNsQyxZQUFNLGVBQWUsOERBQThELGNBQWMsVUFBVSxhQUFhLGNBQWMsSUFBSTtBQUMxSSxjQUFRLE1BQU0sWUFBWTtBQUMxQixZQUFNLElBQUksTUFBTSxZQUFZO0FBQUEsSUFDaEM7QUFHQSxXQUFPLEtBQUssTUFBTSxjQUFjLElBQUk7QUFBQSxFQUN4QztBQUNKOyIsCiAgIm5hbWVzIjogWyJodHRwQ2xpZW50Il0KfQo=
76
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3NlY3VyaXR5L29hdXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBjbGllbnQgYXMgaHR0cENsaWVudH0gZnJvbSBcIkBhZXJva2l0L3Nkay9odHRwXCJcbmltcG9ydCB7IHVybCB9IGZyb20gXCJAYWVyb2tpdC9zZGsvdXRpbHNcIlxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gc3RydWN0dXJlIGZvciB0aGUgT0F1dGggY2xpZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoQ2xpZW50Q29uZmlnIHtcbiAgICAvKiogVGhlIFVSTCBlbmRwb2ludCBmb3IgdGhlIE9BdXRoIHRva2VuIHNlcnZpY2UgKGUuZy4sICcvb2F1dGgvdG9rZW4nKS4gKi9cbiAgICByZWFkb25seSB1cmw6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBJRCBmb3IgYXV0aGVudGljYXRpb24uICovXG4gICAgcmVhZG9ubHkgY2xpZW50SWQ6IHN0cmluZztcbiAgICAvKiogVGhlIGNsaWVudCBzZWNyZXQgZm9yIGF1dGhlbnRpY2F0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFNlY3JldDogc3RyaW5nO1xuICAgIC8qKiBUaGUgZ3JhbnQgdHlwZSB0byBiZSB1c2VkLiBEZWZhdWx0cyB0byAnY2xpZW50X2NyZWRlbnRpYWxzJy4gKi9cbiAgICByZWFkb25seSBncmFudFR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjbGllbnQgY2xhc3MgZm9yIGZldGNoaW5nIE9BdXRoIGFjY2VzcyB0b2tlbnMuXG4gKlxuICogSXQgdXNlcyB0aGUgSFRUUCBjbGllbnQgdG8gc2VuZCBhIFBPU1QgcmVxdWVzdCB3aXRoIGNsaWVudCBjcmVkZW50aWFsc1xuICogdG8gdGhlIHNwZWNpZmllZCB0b2tlbiBlbmRwb2ludC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9BdXRoQ2xpZW50IHtcbiAgICBwcml2YXRlIGNvbmZpZzogT0F1dGhDbGllbnRDb25maWc7XG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplcyB0aGUgT0F1dGhDbGllbnQgd2l0aCB0aGUgcmVxdWlyZWQgY29uZmlndXJhdGlvbi5cbiAgICAgKiBTZXRzICdjbGllbnRfY3JlZGVudGlhbHMnIGFzIHRoZSBkZWZhdWx0IGdyYW50IHR5cGUgaWYgbm9uZSBpcyBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGNvbnRhaW5pbmcgVVJMLCBjbGllbnQgSUQsIGFuZCBzZWNyZXQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoY29uZmlnOiBPQXV0aENsaWVudENvbmZpZykge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgaWYgKCFjb25maWcuZ3JhbnRUeXBlKSB7XG4gICAgICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgICAgICBjb25maWcuZ3JhbnRUeXBlID0gXCJjbGllbnRfY3JlZGVudGlhbHNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEV4ZWN1dGVzIHRoZSBPQXV0aCB0b2tlbiByZXF1ZXN0IGFuZCByZXR1cm5zIHRoZSBwYXJzZWQgcmVzcG9uc2UuXG4gICAgICpcbiAgICAgKiBUaGUgcmVxdWVzdCB1c2VzIHRoZSBjbGllbnQgY3JlZGVudGlhbHMgZ3JhbnQgdHlwZSAoZGVmYXVsdCkgYW5kXG4gICAgICogc2VuZHMgY3JlZGVudGlhbHMgYXMgVVJMLWVuY29kZWQgcGFyYW1ldGVycyBpbiB0aGUgYm9keS5cbiAgICAgKlxuICAgICAqIEByZXR1cm5zIEEgcGFyc2VkIEpTT04gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIE9BdXRoIHRva2VuIChlLmcuLCB7IGFjY2Vzc190b2tlbjogc3RyaW5nLCBleHBpcmVzX2luOiBudW1iZXIsIC4uLiB9KS5cbiAgICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIEhUVFAgc3RhdHVzIGNvZGUgaXMgbm90IDIwMC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKSB7XG4gICAgICAgIC8vIFByZXBhcmUgdGhlIHJlcXVlc3QgYm9keSBwYXJhbWV0ZXJzXG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IFt7XG4gICAgICAgICAgICBuYW1lOiBcImdyYW50X3R5cGVcIixcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLmNvbmZpZy5ncmFudFR5cGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAgbmFtZTogXCJjbGllbnRfaWRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgSUQgaXMgVVJMLWVuY29kZWRcbiAgICAgICAgICAgIHZhbHVlOiB1cmwuZW5jb2RlKHRoaXMuY29uZmlnLmNsaWVudElkKVxuICAgICAgICB9LCB7XG4gICAgICAgICAgICBuYW1lOiBcImNsaWVudF9zZWNyZXRcIixcbiAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgc2VjcmV0IGlzIFVSTC1lbmNvZGVkXG4gICAgICAgICAgICB2YWx1ZTogdXJsLmVuY29kZSh0aGlzLmNvbmZpZy5jbGllbnRTZWNyZXQpXG4gICAgICAgIH1dO1xuXG4gICAgICAgIGNvbnN0IG9hdXRoUmVzcG9uc2UgPSBodHRwQ2xpZW50LnBvc3QodGhpcy5jb25maWcudXJsLCB7XG4gICAgICAgICAgICBwYXJhbXM6IHBhcmFtcyxcbiAgICAgICAgICAgIGhlYWRlcnM6IFt7XG4gICAgICAgICAgICAgICAgbmFtZTogXCJDb250ZW50LVR5cGVcIixcbiAgICAgICAgICAgICAgICB2YWx1ZTogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgICAgICAgfV1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKG9hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZSAhPT0gMjAwKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRXJyb3Igb2NjdXJyZWQgd2hpbGUgcmV0cmlldmluZyBPQXV0aCB0b2tlbi4gU3RhdHVzIGNvZGU6IFske29hdXRoUmVzcG9uc2Uuc3RhdHVzQ29kZX1dLCB0ZXh0OiBbJHtvYXV0aFJlc3BvbnNlLnRleHR9XWA7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yTWVzc2FnZSk7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFBhcnNlIGFuZCByZXR1cm4gdGhlIHRva2VuIHJlc3BvbnNlXG4gICAgICAgIHJldHVybiBKU09OLnBhcnNlKG9hdXRoUmVzcG9uc2UudGV4dCk7XG4gICAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsa0JBQW9DO0FBQ3BDLG1CQUFvQjtBQXNCYixNQUFNLFlBQVk7QUFBQSxFQUNiO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRUixZQUFZLFFBQTJCO0FBQ25DLFNBQUssU0FBUztBQUNkLFFBQUksQ0FBQyxPQUFPLFdBQVc7QUFFbkIsYUFBTyxZQUFZO0FBQUEsSUFDdkI7QUFBQSxFQUNKO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXTyxXQUFXO0FBRWQsVUFBTSxTQUFTLENBQUM7QUFBQSxNQUNaLE1BQU07QUFBQSxNQUNOLE9BQU8sS0FBSyxPQUFPO0FBQUEsSUFDdkIsR0FBRztBQUFBLE1BQ0MsTUFBTTtBQUFBO0FBQUEsTUFFTixPQUFPLGlCQUFJLE9BQU8sS0FBSyxPQUFPLFFBQVE7QUFBQSxJQUMxQyxHQUFHO0FBQUEsTUFDQyxNQUFNO0FBQUE7QUFBQSxNQUVOLE9BQU8saUJBQUksT0FBTyxLQUFLLE9BQU8sWUFBWTtBQUFBLElBQzlDLENBQUM7QUFFRCxVQUFNLGdCQUFnQixZQUFBQSxPQUFXLEtBQUssS0FBSyxPQUFPLEtBQUs7QUFBQSxNQUNuRDtBQUFBLE1BQ0EsU0FBUyxDQUFDO0FBQUEsUUFDTixNQUFNO0FBQUEsUUFDTixPQUFPO0FBQUEsTUFDWCxDQUFDO0FBQUEsSUFDTCxDQUFDO0FBRUQsUUFBSSxjQUFjLGVBQWUsS0FBSztBQUNsQyxZQUFNLGVBQWUsOERBQThELGNBQWMsVUFBVSxhQUFhLGNBQWMsSUFBSTtBQUMxSSxjQUFRLE1BQU0sWUFBWTtBQUMxQixZQUFNLElBQUksTUFBTSxZQUFZO0FBQUEsSUFDaEM7QUFHQSxXQUFPLEtBQUssTUFBTSxjQUFjLElBQUk7QUFBQSxFQUN4QztBQUNKOyIsCiAgIm5hbWVzIjogWyJodHRwQ2xpZW50Il0KfQo=
@@ -25,6 +25,11 @@ const REGISTRY_PUBLIC = "/registry/public/";
25
25
  const MUSTACHE_FILE_EXTENSION = ".mustache";
26
26
  const TemplateEnginesFacade = Java.type("org.eclipse.dirigible.components.api.templates.TemplateEnginesFacade");
27
27
  class TemplateEngine {
28
+ engine;
29
+ /** The start marker string (e.g., '{{' for Mustache). */
30
+ sm;
31
+ /** The end marker string (e.g., '}}' for Mustache). */
32
+ em;
28
33
  /**
29
34
  * Creates an instance of TemplateEngine.
30
35
  *
@@ -136,4 +141,4 @@ class TemplateEngines {
136
141
  if (typeof module !== "undefined") {
137
142
  module.exports = TemplateEngines;
138
143
  }
139
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3BsYXRmb3JtL3JlcG9zaXRvcnlcIjtcblxuY29uc3QgUkVHSVNUUllfUFVCTElDID0gXCIvcmVnaXN0cnkvcHVibGljL1wiO1xuY29uc3QgTVVTVEFDSEVfRklMRV9FWFRFTlNJT04gPSBcIi5tdXN0YWNoZVwiO1xuXG5jb25zdCBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkudGVtcGxhdGVzLlRlbXBsYXRlRW5naW5lc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCB3cmFwcGVyIGNsYXNzIHRoYXQgYWRhcHRzIGEgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBpbXBsZW1lbnRhdGlvbi5cbiAqIEl0IG1hbmFnZXMgdGhlIGVuZ2luZSBpbnN0YW5jZSBhbmQgb3B0aW9uYWwgY3VzdG9tIHN0YXJ0L2VuZCBtYXJrZXJzLlxuICovXG5jbGFzcyBUZW1wbGF0ZUVuZ2luZSB7XG5cbiAgICBwcml2YXRlIGVuZ2luZTogYW55O1xuICAgIC8qKiBUaGUgc3RhcnQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ3t7JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgc206IHN0cmluZyB8IG51bGw7XG4gICAgLyoqIFRoZSBlbmQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ319JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgZW06IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFRlbXBsYXRlRW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVuZ2luZSBUaGUgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBvYmplY3QgZnJvbSB0aGUgRmFjYWRlLlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBlbmdpbmUgKCdtdXN0YWNoZScsICd2ZWxvY2l0eScsICdqYXZhc2NyaXB0JykuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZW5naW5lOiBhbnksIHR5cGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVuZ2luZSA9IGVuZ2luZTtcbiAgICAgICAgLy8gRGVmYXVsdCBtYXJrZXJzIGZvciBNdXN0YWNoZSBlbmdpbmVcbiAgICAgICAgdGhpcy5zbSA9IHR5cGUgPT09IFwibXVzdGFjaGVcIiA/IFwie3tcIiA6IG51bGw7XG4gICAgICAgIHRoaXMuZW0gPSB0eXBlID09PSBcIm11c3RhY2hlXCIgPyBcIn19XCIgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyB0aGUgZmluYWwgb3V0cHV0IGJ5IGV4ZWN1dGluZyB0aGUgdGVtcGxhdGUgd2l0aCB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAgICAgKiBOb3RlOiBQYXJhbWV0ZXJzIGFyZSBpbnRlcm5hbGx5IHNlcmlhbGl6ZWQgdG8gSlNPTiBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBuYXRpdmUgZW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSB0ZW1wbGF0ZSAodXNlZCBmb3IgZXJyb3IgcmVwb3J0aW5nL2NhY2hpbmcsIG9mdGVuIGEgZmlsZSBwYXRoKS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGhlIHJhdyB0ZW1wbGF0ZSBzdHJpbmcgY29udGVudCB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZXh0IGRhdGEgdG8gYmUgdXNlZCBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZShsb2NhdGlvbjogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycyksIHRoaXMuc20sIHRoaXMuZW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSBjdXN0b20gc3RhcnQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNtIFRoZSBuZXcgc3RhcnQgbWFya2VyIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U20oc206IGFueSkge1xuICAgICAgICB0aGlzLnNtID0gc207XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGN1c3RvbSBlbmQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVtIFRoZSBuZXcgZW5kIG1hcmtlciBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHNldEVtKGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lbSA9IGVtO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdmFyaW91cyBzZXJ2ZXItc2lkZSB0ZW1wbGF0ZSBlbmdpbmVzIChWZWxvY2l0eSwgTXVzdGFjaGUsIEphdmFTY3JpcHQpLlxuICogSXQgb2ZmZXJzIHV0aWxpdHkgbWV0aG9kcyBmb3IgZ2VuZXJhdGluZyBjb250ZW50IGZyb20gdGVtcGxhdGVzIGRpcmVjdGx5IG9yIGZyb20gZmlsZXNcbiAqIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUVuZ2luZXMge1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGVuZ2luZSwgd2hpY2ggaXMgY3VycmVudGx5IHRoZSBWZWxvY2l0eSBlbmdpbmUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXREZWZhdWx0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmVsb2NpdHlFbmdpbmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIE11c3RhY2hlIHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKiBNdXN0YWNoZSBpcyBvZnRlbiB1c2VkIGZvciBsb2dpYy1sZXNzIHRlbXBsYXRpbmcgYW5kIHVzZXMgJ3t7JyBhbmQgJ319JyBhcyBkZWZhdWx0IG1hcmtlcnMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgTXVzdGFjaGUgdGVtcGxhdGUgZW5naW5lIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TXVzdGFjaGVFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUuZ2V0TXVzdGFjaGVFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwibXVzdGFjaGVcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBWZWxvY2l0eSB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICogVmVsb2NpdHkgaXMgb2Z0ZW4gdXNlZCBmb3IgY29tcGxleCB0ZW1wbGF0aW5nIHdpdGggZGlyZWN0aXZlcyAoZS5nLiwgI3NldCwgI2ZvcmVhY2gpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIFZlbG9jaXR5IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFZlbG9jaXR5RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldFZlbG9jaXR5RW5naW5lKCk7XG4gICAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVFbmdpbmUoZW5naW5lLCBcInZlbG9jaXR5XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UgKHVzdWFsbHkgdXNlZCBmb3Igc2VydmVyLXNpZGUgZXZhbHVhdGlvbikuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRKYXZhc2NyaXB0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldEphdmFzY3JpcHRFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwiamF2YXNjcmlwdFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgb3V0cHV0IGJ5IHByb2Nlc3NpbmcgYSByYXcgdGVtcGxhdGUgc3RyaW5nIHVzaW5nIHRoZSAqKmRlZmF1bHQgdGVtcGxhdGUgZW5naW5lIChWZWxvY2l0eSkqKi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2NhdGlvbiBBIHN0cmluZyBpZGVudGlmeWluZyB0aGUgdGVtcGxhdGUgKHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZy9jYWNoaW5nLCBvZnRlbiBhIGZpbGUgcGF0aCkuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRoZSByYXcgdGVtcGxhdGUgc3RyaW5nIGNvbnRlbnQgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGUobG9jYXRpb246IHN0cmluZywgdGVtcGxhdGU6IHN0cmluZywgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRFbmdpbmUoKS5nZW5lcmF0ZShsb2NhdGlvbiwgdGVtcGxhdGUsIHBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGEgdGVtcGxhdGUgZnJvbSB0aGUgcHVibGljIHJlZ2lzdHJ5LCBzZWxlY3RzIGFuIGFwcHJvcHJpYXRlIGVuZ2luZSwgYW5kIGdlbmVyYXRlcyBvdXRwdXQuXG4gICAgICogSXQgdXNlcyB0aGUgKipNdXN0YWNoZSBlbmdpbmUqKiBpZiB0aGUgZmlsZSBleHRlbnNpb24gaXMgYC5tdXN0YWNoZWAsIG90aGVyd2lzZSBpdCB1c2VzIHRoZSAqKmRlZmF1bHQgKFZlbG9jaXR5KSoqLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIFRoZSBwYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlIHdpdGhpbiB0aGUgYC9yZWdpc3RyeS9wdWJsaWMvYCBkaXJlY3RvcnkgKGUuZy4sICd0ZW1wbGF0ZXMvZW1haWwubXVzdGFjaGUnKS5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUZyb21GaWxlKGxvY2F0aW9uOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCByZXNvdXJjZSA9IFJlcG9zaXRvcnkuZ2V0UmVzb3VyY2UoUkVHSVNUUllfUFVCTElDICsgbG9jYXRpb24pO1xuICAgICAgICBpZiAocmVzb3VyY2UuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVzdGFjaGVUZW1wbGF0ZSA9IGxvY2F0aW9uLmVuZHNXaXRoKE1VU1RBQ0hFX0ZJTEVfRVhURU5TSU9OKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZSA9IGlzTXVzdGFjaGVUZW1wbGF0ZSA/IHRoaXMuZ2V0TXVzdGFjaGVFbmdpbmUoKSA6IHRoaXMuZ2V0RGVmYXVsdEVuZ2luZSgpO1xuICAgICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSByZXNvdXJjZS5nZXRUZXh0KCk7XG4gICAgICAgICAgICByZXR1cm4gZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgcGFyYW1ldGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gVGVtcGxhdGVFbmdpbmVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBQTJCO0FBRTNCLE1BQU0sa0JBQWtCO0FBQ3hC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
144
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3RlbXBsYXRlL2VuZ2luZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiQGFlcm9raXQvc2RrL3BsYXRmb3JtL3JlcG9zaXRvcnlcIjtcblxuY29uc3QgUkVHSVNUUllfUFVCTElDID0gXCIvcmVnaXN0cnkvcHVibGljL1wiO1xuY29uc3QgTVVTVEFDSEVfRklMRV9FWFRFTlNJT04gPSBcIi5tdXN0YWNoZVwiO1xuXG5jb25zdCBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUgPSBKYXZhLnR5cGUoXCJvcmcuZWNsaXBzZS5kaXJpZ2libGUuY29tcG9uZW50cy5hcGkudGVtcGxhdGVzLlRlbXBsYXRlRW5naW5lc0ZhY2FkZVwiKTtcblxuLyoqXG4gKiBBbiBpbnRlcm5hbCB3cmFwcGVyIGNsYXNzIHRoYXQgYWRhcHRzIGEgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBpbXBsZW1lbnRhdGlvbi5cbiAqIEl0IG1hbmFnZXMgdGhlIGVuZ2luZSBpbnN0YW5jZSBhbmQgb3B0aW9uYWwgY3VzdG9tIHN0YXJ0L2VuZCBtYXJrZXJzLlxuICovXG5jbGFzcyBUZW1wbGF0ZUVuZ2luZSB7XG5cbiAgICBwcml2YXRlIGVuZ2luZTogYW55O1xuICAgIC8qKiBUaGUgc3RhcnQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ3t7JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgc206IHN0cmluZyB8IG51bGw7XG4gICAgLyoqIFRoZSBlbmQgbWFya2VyIHN0cmluZyAoZS5nLiwgJ319JyBmb3IgTXVzdGFjaGUpLiAqL1xuICAgIHByaXZhdGUgZW06IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIFRlbXBsYXRlRW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVuZ2luZSBUaGUgbmF0aXZlIHRlbXBsYXRlIGVuZ2luZSBvYmplY3QgZnJvbSB0aGUgRmFjYWRlLlxuICAgICAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBlbmdpbmUgKCdtdXN0YWNoZScsICd2ZWxvY2l0eScsICdqYXZhc2NyaXB0JykuXG4gICAgICovXG4gICAgY29uc3RydWN0b3IoZW5naW5lOiBhbnksIHR5cGU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVuZ2luZSA9IGVuZ2luZTtcbiAgICAgICAgLy8gRGVmYXVsdCBtYXJrZXJzIGZvciBNdXN0YWNoZSBlbmdpbmVcbiAgICAgICAgdGhpcy5zbSA9IHR5cGUgPT09IFwibXVzdGFjaGVcIiA/IFwie3tcIiA6IG51bGw7XG4gICAgICAgIHRoaXMuZW0gPSB0eXBlID09PSBcIm11c3RhY2hlXCIgPyBcIn19XCIgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlcyB0aGUgZmluYWwgb3V0cHV0IGJ5IGV4ZWN1dGluZyB0aGUgdGVtcGxhdGUgd2l0aCB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycy5cbiAgICAgKiBOb3RlOiBQYXJhbWV0ZXJzIGFyZSBpbnRlcm5hbGx5IHNlcmlhbGl6ZWQgdG8gSlNPTiBiZWZvcmUgYmVpbmcgcGFzc2VkIHRvIHRoZSBuYXRpdmUgZW5naW5lLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHRoZSB0ZW1wbGF0ZSAodXNlZCBmb3IgZXJyb3IgcmVwb3J0aW5nL2NhY2hpbmcsIG9mdGVuIGEgZmlsZSBwYXRoKS5cbiAgICAgKiBAcGFyYW0gdGVtcGxhdGUgVGhlIHJhdyB0ZW1wbGF0ZSBzdHJpbmcgY29udGVudCB0byBwcm9jZXNzLlxuICAgICAqIEBwYXJhbSBwYXJhbWV0ZXJzIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjb250ZXh0IGRhdGEgdG8gYmUgdXNlZCBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZW5lcmF0ZShsb2NhdGlvbjogc3RyaW5nLCB0ZW1wbGF0ZTogc3RyaW5nLCBwYXJhbWV0ZXJzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgSlNPTi5zdHJpbmdpZnkocGFyYW1ldGVycyksIHRoaXMuc20sIHRoaXMuZW0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldHMgYSBjdXN0b20gc3RhcnQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHNtIFRoZSBuZXcgc3RhcnQgbWFya2VyIHN0cmluZy5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U20oc206IGFueSkge1xuICAgICAgICB0aGlzLnNtID0gc207XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0cyBhIGN1c3RvbSBlbmQgbWFya2VyIGZvciB0aGUgdGVtcGxhdGUgZW5naW5lLiBUaGlzIGlzIHByaW1hcmlseSB1c2VmdWwgZm9yIE11c3RhY2hlLlxuICAgICAqXG4gICAgICogQHBhcmFtIGVtIFRoZSBuZXcgZW5kIG1hcmtlciBzdHJpbmcuXG4gICAgICovXG4gICAgcHVibGljIHNldEVtKGVtOiBhbnkpIHtcbiAgICAgICAgdGhpcy5lbSA9IGVtO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQcm92aWRlcyBhY2Nlc3MgdG8gdmFyaW91cyBzZXJ2ZXItc2lkZSB0ZW1wbGF0ZSBlbmdpbmVzIChWZWxvY2l0eSwgTXVzdGFjaGUsIEphdmFTY3JpcHQpLlxuICogSXQgb2ZmZXJzIHV0aWxpdHkgbWV0aG9kcyBmb3IgZ2VuZXJhdGluZyBjb250ZW50IGZyb20gdGVtcGxhdGVzIGRpcmVjdGx5IG9yIGZyb20gZmlsZXNcbiAqIHN0b3JlZCBpbiB0aGUgcmVnaXN0cnkuXG4gKi9cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZUVuZ2luZXMge1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBkZWZhdWx0IHRlbXBsYXRlIGVuZ2luZSwgd2hpY2ggaXMgY3VycmVudGx5IHRoZSBWZWxvY2l0eSBlbmdpbmUuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXREZWZhdWx0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmVsb2NpdHlFbmdpbmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRyaWV2ZXMgdGhlIE11c3RhY2hlIHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKiBNdXN0YWNoZSBpcyBvZnRlbiB1c2VkIGZvciBsb2dpYy1sZXNzIHRlbXBsYXRpbmcgYW5kIHVzZXMgJ3t7JyBhbmQgJ319JyBhcyBkZWZhdWx0IG1hcmtlcnMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgTXVzdGFjaGUgdGVtcGxhdGUgZW5naW5lIGluc3RhbmNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2V0TXVzdGFjaGVFbmdpbmUoKTogVGVtcGxhdGVFbmdpbmUge1xuICAgICAgICBjb25zdCBlbmdpbmUgPSBUZW1wbGF0ZUVuZ2luZXNGYWNhZGUuZ2V0TXVzdGFjaGVFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwibXVzdGFjaGVcIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBWZWxvY2l0eSB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICogVmVsb2NpdHkgaXMgb2Z0ZW4gdXNlZCBmb3IgY29tcGxleCB0ZW1wbGF0aW5nIHdpdGggZGlyZWN0aXZlcyAoZS5nLiwgI3NldCwgI2ZvcmVhY2gpLlxuICAgICAqXG4gICAgICogQHJldHVybnMgVGhlIFZlbG9jaXR5IHRlbXBsYXRlIGVuZ2luZSBpbnN0YW5jZS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGdldFZlbG9jaXR5RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldFZlbG9jaXR5RW5naW5lKCk7XG4gICAgICAgIHJldHVybiBuZXcgVGVtcGxhdGVFbmdpbmUoZW5naW5lLCBcInZlbG9jaXR5XCIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyB0aGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UgKHVzdWFsbHkgdXNlZCBmb3Igc2VydmVyLXNpZGUgZXZhbHVhdGlvbikuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBUaGUgSmF2YVNjcmlwdCB0ZW1wbGF0ZSBlbmdpbmUgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXRKYXZhc2NyaXB0RW5naW5lKCk6IFRlbXBsYXRlRW5naW5lIHtcbiAgICAgICAgY29uc3QgZW5naW5lID0gVGVtcGxhdGVFbmdpbmVzRmFjYWRlLmdldEphdmFzY3JpcHRFbmdpbmUoKTtcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wbGF0ZUVuZ2luZShlbmdpbmUsIFwiamF2YXNjcmlwdFwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZXMgb3V0cHV0IGJ5IHByb2Nlc3NpbmcgYSByYXcgdGVtcGxhdGUgc3RyaW5nIHVzaW5nIHRoZSAqKmRlZmF1bHQgdGVtcGxhdGUgZW5naW5lIChWZWxvY2l0eSkqKi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsb2NhdGlvbiBBIHN0cmluZyBpZGVudGlmeWluZyB0aGUgdGVtcGxhdGUgKHVzZWQgZm9yIGVycm9yIHJlcG9ydGluZy9jYWNoaW5nLCBvZnRlbiBhIGZpbGUgcGF0aCkuXG4gICAgICogQHBhcmFtIHRlbXBsYXRlIFRoZSByYXcgdGVtcGxhdGUgc3RyaW5nIGNvbnRlbnQgdG8gcHJvY2Vzcy5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLlxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGUobG9jYXRpb246IHN0cmluZywgdGVtcGxhdGU6IHN0cmluZywgcGFyYW1ldGVyczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRFbmdpbmUoKS5nZW5lcmF0ZShsb2NhdGlvbiwgdGVtcGxhdGUsIHBhcmFtZXRlcnMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGEgdGVtcGxhdGUgZnJvbSB0aGUgcHVibGljIHJlZ2lzdHJ5LCBzZWxlY3RzIGFuIGFwcHJvcHJpYXRlIGVuZ2luZSwgYW5kIGdlbmVyYXRlcyBvdXRwdXQuXG4gICAgICogSXQgdXNlcyB0aGUgKipNdXN0YWNoZSBlbmdpbmUqKiBpZiB0aGUgZmlsZSBleHRlbnNpb24gaXMgYC5tdXN0YWNoZWAsIG90aGVyd2lzZSBpdCB1c2VzIHRoZSAqKmRlZmF1bHQgKFZlbG9jaXR5KSoqLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxvY2F0aW9uIFRoZSBwYXRoIHRvIHRoZSB0ZW1wbGF0ZSBmaWxlIHdpdGhpbiB0aGUgYC9yZWdpc3RyeS9wdWJsaWMvYCBkaXJlY3RvcnkgKGUuZy4sICd0ZW1wbGF0ZXMvZW1haWwubXVzdGFjaGUnKS5cbiAgICAgKiBAcGFyYW0gcGFyYW1ldGVycyBBbiBvYmplY3QgY29udGFpbmluZyBrZXktdmFsdWUgcGFpcnMgdG8gYmUgdXNlZCBhcyBjb250ZXh0IHZhcmlhYmxlcyBpbiB0aGUgdGVtcGxhdGUuXG4gICAgICogQHJldHVybnMgVGhlIHByb2Nlc3NlZCBvdXRwdXQgc3RyaW5nLCBvciBgdW5kZWZpbmVkYCBpZiB0aGUgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUZyb21GaWxlKGxvY2F0aW9uOiBzdHJpbmcsIHBhcmFtZXRlcnM6IHsgW2tleTogc3RyaW5nXTogYW55IH0pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgICAgICBjb25zdCByZXNvdXJjZSA9IFJlcG9zaXRvcnkuZ2V0UmVzb3VyY2UoUkVHSVNUUllfUFVCTElDICsgbG9jYXRpb24pO1xuICAgICAgICBpZiAocmVzb3VyY2UuZXhpc3RzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IGlzTXVzdGFjaGVUZW1wbGF0ZSA9IGxvY2F0aW9uLmVuZHNXaXRoKE1VU1RBQ0hFX0ZJTEVfRVhURU5TSU9OKTtcbiAgICAgICAgICAgIGNvbnN0IGVuZ2luZSA9IGlzTXVzdGFjaGVUZW1wbGF0ZSA/IHRoaXMuZ2V0TXVzdGFjaGVFbmdpbmUoKSA6IHRoaXMuZ2V0RGVmYXVsdEVuZ2luZSgpO1xuICAgICAgICAgICAgY29uc3QgdGVtcGxhdGUgPSByZXNvdXJjZS5nZXRUZXh0KCk7XG4gICAgICAgICAgICByZXR1cm4gZW5naW5lLmdlbmVyYXRlKGxvY2F0aW9uLCB0ZW1wbGF0ZSwgcGFyYW1ldGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbi8vIEB0cy1pZ25vcmVcbmlmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykge1xuXHQvLyBAdHMtaWdub3JlXG5cdG1vZHVsZS5leHBvcnRzID0gVGVtcGxhdGVFbmdpbmVzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBQTJCO0FBRTNCLE1BQU0sa0JBQWtCO0FBQ3hC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
@@ -46,4 +46,14 @@ export declare class Query {
46
46
  * @returns An array of records representing the query results.
47
47
  */
48
48
  static executeNamed(sql: string, parameters?: NamedQueryParameter[], datasourceName?: string): any[];
49
+ /**
50
+ * Exports a SQL query with named parameters (e.g., ":name", ":id").
51
+ *
52
+ * @param sql The SQL query to execute.
53
+ * @param parameters An optional array of NamedQueryParameter objects.
54
+ * @param datasourceName The name of the database connection to use (optional).
55
+ * @param fileName The file name pattern.
56
+ * @returns An array of records representing the query results.
57
+ */
58
+ static exportCsv(sql: string, parameters?: NamedQueryParameter[], datasourceName?: string, fileName?: string): void;
49
59
  }