velocious 1.0.445 → 1.0.447

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 (89) hide show
  1. package/README.md +1 -1
  2. package/build/configuration-types.js +2 -2
  3. package/build/database/pool/async-tracked-multi-connection.js +3 -1
  4. package/build/database/record/index.js +38 -38
  5. package/build/environment-handlers/node/cli/commands/generate/base-models.js +67 -1
  6. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +169 -0
  7. package/build/frontend-model-controller.js +44 -12
  8. package/build/frontend-model-resource/base-resource.js +519 -129
  9. package/build/frontend-models/base.js +417 -203
  10. package/build/frontend-models/preloader.js +7 -7
  11. package/build/frontend-models/query.js +18 -18
  12. package/build/frontend-models/use-created-event.js +1 -1
  13. package/build/frontend-models/use-destroyed-event.js +1 -1
  14. package/build/frontend-models/use-model-class-event.js +1 -1
  15. package/build/frontend-models/use-updated-event.js +1 -1
  16. package/build/frontend-models/websocket-channel.js +39 -3
  17. package/build/routes/resolver.js +17 -14
  18. package/build/src/configuration-types.d.ts +6 -6
  19. package/build/src/configuration-types.js +3 -3
  20. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  21. package/build/src/database/pool/async-tracked-multi-connection.js +5 -2
  22. package/build/src/database/record/index.d.ts +38 -38
  23. package/build/src/database/record/index.d.ts.map +1 -1
  24. package/build/src/database/record/index.js +39 -39
  25. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +13 -0
  26. package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
  27. package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +59 -2
  28. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +74 -0
  29. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  30. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +155 -1
  31. package/build/src/frontend-model-controller.d.ts +2 -1
  32. package/build/src/frontend-model-controller.d.ts.map +1 -1
  33. package/build/src/frontend-model-controller.js +38 -14
  34. package/build/src/frontend-model-resource/base-resource.d.ts +196 -21
  35. package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
  36. package/build/src/frontend-model-resource/base-resource.js +467 -112
  37. package/build/src/frontend-models/base.d.ts +232 -149
  38. package/build/src/frontend-models/base.d.ts.map +1 -1
  39. package/build/src/frontend-models/base.js +371 -201
  40. package/build/src/frontend-models/preloader.d.ts +10 -10
  41. package/build/src/frontend-models/preloader.d.ts.map +1 -1
  42. package/build/src/frontend-models/preloader.js +8 -8
  43. package/build/src/frontend-models/query.d.ts +8 -8
  44. package/build/src/frontend-models/query.d.ts.map +1 -1
  45. package/build/src/frontend-models/query.js +19 -19
  46. package/build/src/frontend-models/use-created-event.d.ts +2 -2
  47. package/build/src/frontend-models/use-created-event.d.ts.map +1 -1
  48. package/build/src/frontend-models/use-created-event.js +2 -2
  49. package/build/src/frontend-models/use-destroyed-event.d.ts +1 -1
  50. package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
  51. package/build/src/frontend-models/use-destroyed-event.js +2 -2
  52. package/build/src/frontend-models/use-model-class-event.d.ts +1 -1
  53. package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
  54. package/build/src/frontend-models/use-model-class-event.js +2 -2
  55. package/build/src/frontend-models/use-updated-event.d.ts +1 -1
  56. package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
  57. package/build/src/frontend-models/use-updated-event.js +2 -2
  58. package/build/src/frontend-models/websocket-channel.d.ts +8 -0
  59. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  60. package/build/src/frontend-models/websocket-channel.js +35 -4
  61. package/build/src/routes/resolver.d.ts.map +1 -1
  62. package/build/src/routes/resolver.js +7 -4
  63. package/build/src/utils/model-scope.d.ts +4 -4
  64. package/build/src/utils/model-scope.d.ts.map +1 -1
  65. package/build/src/utils/model-scope.js +3 -3
  66. package/build/src/utils/ransack.d.ts +1 -1
  67. package/build/src/utils/ransack.d.ts.map +1 -1
  68. package/build/src/utils/ransack.js +2 -2
  69. package/build/utils/model-scope.js +2 -2
  70. package/build/utils/ransack.js +1 -1
  71. package/package.json +1 -1
  72. package/src/configuration-types.js +2 -2
  73. package/src/database/pool/async-tracked-multi-connection.js +3 -1
  74. package/src/database/record/index.js +38 -38
  75. package/src/environment-handlers/node/cli/commands/generate/base-models.js +67 -1
  76. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +169 -0
  77. package/src/frontend-model-controller.js +44 -12
  78. package/src/frontend-model-resource/base-resource.js +519 -129
  79. package/src/frontend-models/base.js +417 -203
  80. package/src/frontend-models/preloader.js +7 -7
  81. package/src/frontend-models/query.js +18 -18
  82. package/src/frontend-models/use-created-event.js +1 -1
  83. package/src/frontend-models/use-destroyed-event.js +1 -1
  84. package/src/frontend-models/use-model-class-event.js +1 -1
  85. package/src/frontend-models/use-updated-event.js +1 -1
  86. package/src/frontend-models/websocket-channel.js +39 -3
  87. package/src/routes/resolver.js +17 -14
  88. package/src/utils/model-scope.js +2 -2
  89. package/src/utils/ransack.js +1 -1
@@ -13,28 +13,28 @@ export default class FrontendModelPreloader {
13
13
  /**
14
14
  * Runs preload.
15
15
  * @param {Array<import("./base.js").default>} models - Frontend model instances to preload onto.
16
- * @param {import("./query.js").default<typeof import("./base.js").default> | import("../database/query/index.js").NestedPreloadRecord | string | Array<string | import("../database/query/index.js").NestedPreloadRecord>} queryOrSpec - A query built via `Model.preload(...).select(...)`, or a raw preload spec.
16
+ * @param {import("./query.js").default<import("./base.js").FrontendModelClass> | import("../database/query/index.js").NestedPreloadRecord | string | Array<string | import("../database/query/index.js").NestedPreloadRecord>} queryOrSpec - A query built via `Model.preload(...).select(...)`, or a raw preload spec.
17
17
  * @param {{force?: boolean}} [options] - Options.
18
18
  * @returns {Promise<void>} - Resolves when preloading completes.
19
19
  */
20
- static preload(models: Array<import("./base.js").default>, queryOrSpec: import("./query.js").default<typeof import("./base.js").default> | import("../database/query/index.js").NestedPreloadRecord | string | Array<string | import("../database/query/index.js").NestedPreloadRecord>, { force }?: {
20
+ static preload(models: Array<import("./base.js").default>, queryOrSpec: import("./query.js").default<import("./base.js").FrontendModelClass> | import("../database/query/index.js").NestedPreloadRecord | string | Array<string | import("../database/query/index.js").NestedPreloadRecord>, { force }?: {
21
21
  force?: boolean;
22
22
  }): Promise<void>;
23
23
  /**
24
24
  * Runs model needs reload.
25
25
  * @param {object} args - Options object.
26
- * @param {typeof import("./base.js").default} args.modelClass - Model class the preload graph is rooted at.
26
+ * @param {import("./base.js").FrontendModelClass} args.modelClass - Model class the preload graph is rooted at.
27
27
  * @param {import("./base.js").default} args.model - Model instance.
28
28
  * @param {import("../database/query/index.js").NestedPreloadRecord} args.preload - Preload sub-graph to satisfy.
29
- * @param {import("./query.js").default<typeof import("./base.js").default>} args.query - Source query carrying select/selectsExtra.
29
+ * @param {import("./query.js").default<import("./base.js").FrontendModelClass>} args.query - Source query carrying select/selectsExtra.
30
30
  * @param {boolean} args.force - Whether to reload regardless of cached state.
31
31
  * @returns {boolean} - Whether the model needs a reload request.
32
32
  */
33
33
  static _modelNeedsReload({ modelClass, model, preload, query, force }: {
34
- modelClass: typeof import("./base.js").default;
34
+ modelClass: import("./base.js").FrontendModelClass;
35
35
  model: import("./base.js").default;
36
36
  preload: import("../database/query/index.js").NestedPreloadRecord;
37
- query: import("./query.js").default<typeof import("./base.js").default>;
37
+ query: import("./query.js").default<import("./base.js").FrontendModelClass>;
38
38
  force: boolean;
39
39
  }): boolean;
40
40
  /**
@@ -45,19 +45,19 @@ export default class FrontendModelPreloader {
45
45
  * client-unknown default attributes plus the extras), so it always reloads.
46
46
  * With no select and no nested preload, being preloaded is enough.
47
47
  * @param {object} args - Options object.
48
- * @param {typeof import("./base.js").default} args.modelClass - Model class owning the relationship.
48
+ * @param {import("./base.js").FrontendModelClass} args.modelClass - Model class owning the relationship.
49
49
  * @param {import("./base.js").default} args.model - Model instance.
50
50
  * @param {string} args.relationshipName - Relationship name.
51
51
  * @param {import("../database/query/index.js").NestedPreloadRecord[string]} args.subPreload - Preload value for this relationship (`true` or a nested record).
52
- * @param {import("./query.js").default<typeof import("./base.js").default>} args.query - Source query carrying select/selectsExtra.
52
+ * @param {import("./query.js").default<import("./base.js").FrontendModelClass>} args.query - Source query carrying select/selectsExtra.
53
53
  * @returns {boolean} - Whether the relationship is already satisfied.
54
54
  */
55
55
  static _relationshipSatisfied({ modelClass, model, relationshipName, subPreload, query }: {
56
- modelClass: typeof import("./base.js").default;
56
+ modelClass: import("./base.js").FrontendModelClass;
57
57
  model: import("./base.js").default;
58
58
  relationshipName: string;
59
59
  subPreload: import("../database/query/index.js").NestedPreloadRecord[string];
60
- query: import("./query.js").default<typeof import("./base.js").default>;
60
+ query: import("./query.js").default<import("./base.js").FrontendModelClass>;
61
61
  }): boolean;
62
62
  /**
63
63
  * Runs nested preload record.
@@ -1 +1 @@
1
- {"version":3,"file":"preloader.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/preloader.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH;IACE;;;;;;OAMG;IACH,uBALW,KAAK,CAAC,OAAO,WAAW,EAAE,OAAO,CAAC,eAClC,OAAO,YAAY,EAAE,OAAO,CAAC,cAAc,WAAW,EAAE,OAAO,CAAC,GAAG,OAAO,4BAA4B,EAAE,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,4BAA4B,EAAE,mBAAmB,CAAC,cAC/M;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,GACf,OAAO,CAAC,IAAI,CAAC,CA+DzB;IAED;;;;;;;;;OASG;IACH,uEAPG;QAAiD,UAAU,EAAnD,cAAc,WAAW,EAAE,OAAO;QACA,KAAK,EAAvC,OAAO,WAAW,EAAE,OAAO;QACoC,OAAO,EAAtE,OAAO,4BAA4B,EAAE,mBAAmB;QACe,KAAK,EAA5E,OAAO,YAAY,EAAE,OAAO,CAAC,cAAc,WAAW,EAAE,OAAO,CAAC;QAClD,KAAK,EAAnB,OAAO;KACf,GAAU,OAAO,CAUnB;IAED;;;;;;;;;;;;;;OAcG;IACH,0FAPG;QAAiD,UAAU,EAAnD,cAAc,WAAW,EAAE,OAAO;QACA,KAAK,EAAvC,OAAO,WAAW,EAAE,OAAO;QACd,gBAAgB,EAA7B,MAAM;QACiE,UAAU,EAAjF,OAAO,4BAA4B,EAAE,mBAAmB,CAAC,MAAM,CAAC;QACO,KAAK,EAA5E,OAAO,YAAY,EAAE,OAAO,CAAC,cAAc,WAAW,EAAE,OAAO,CAAC;KACxE,GAAU,OAAO,CAsCnB;IAED;;;;OAIG;IACH,wCAHW,OAAO,4BAA4B,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAC9D,OAAO,4BAA4B,EAAE,mBAAmB,GAAG,IAAI,CAO3E;CACF"}
1
+ {"version":3,"file":"preloader.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/preloader.js"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH;IACE;;;;;;OAMG;IACH,uBALW,KAAK,CAAC,OAAO,WAAW,EAAE,OAAO,CAAC,eAClC,OAAO,YAAY,EAAE,OAAO,CAAC,OAAO,WAAW,EAAE,kBAAkB,CAAC,GAAG,OAAO,4BAA4B,EAAE,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,OAAO,4BAA4B,EAAE,mBAAmB,CAAC,cACnN;QAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAC,GACf,OAAO,CAAC,IAAI,CAAC,CA+DzB;IAED;;;;;;;;;OASG;IACH,uEAPG;QAAqD,UAAU,EAAvD,OAAO,WAAW,EAAE,kBAAkB;QACJ,KAAK,EAAvC,OAAO,WAAW,EAAE,OAAO;QACoC,OAAO,EAAtE,OAAO,4BAA4B,EAAE,mBAAmB;QACmB,KAAK,EAAhF,OAAO,YAAY,EAAE,OAAO,CAAC,OAAO,WAAW,EAAE,kBAAkB,CAAC;QACtD,KAAK,EAAnB,OAAO;KACf,GAAU,OAAO,CAUnB;IAED;;;;;;;;;;;;;;OAcG;IACH,0FAPG;QAAqD,UAAU,EAAvD,OAAO,WAAW,EAAE,kBAAkB;QACJ,KAAK,EAAvC,OAAO,WAAW,EAAE,OAAO;QACd,gBAAgB,EAA7B,MAAM;QACiE,UAAU,EAAjF,OAAO,4BAA4B,EAAE,mBAAmB,CAAC,MAAM,CAAC;QACW,KAAK,EAAhF,OAAO,YAAY,EAAE,OAAO,CAAC,OAAO,WAAW,EAAE,kBAAkB,CAAC;KAC5E,GAAU,OAAO,CAsCnB;IAED;;;;OAIG;IACH,wCAHW,OAAO,4BAA4B,EAAE,mBAAmB,CAAC,MAAM,CAAC,GAC9D,OAAO,4BAA4B,EAAE,mBAAmB,GAAG,IAAI,CAO3E;CACF"}
@@ -14,7 +14,7 @@ export default class FrontendModelPreloader {
14
14
  /**
15
15
  * Runs preload.
16
16
  * @param {Array<import("./base.js").default>} models - Frontend model instances to preload onto.
17
- * @param {import("./query.js").default<typeof import("./base.js").default> | import("../database/query/index.js").NestedPreloadRecord | string | Array<string | import("../database/query/index.js").NestedPreloadRecord>} queryOrSpec - A query built via `Model.preload(...).select(...)`, or a raw preload spec.
17
+ * @param {import("./query.js").default<import("./base.js").FrontendModelClass> | import("../database/query/index.js").NestedPreloadRecord | string | Array<string | import("../database/query/index.js").NestedPreloadRecord>} queryOrSpec - A query built via `Model.preload(...).select(...)`, or a raw preload spec.
18
18
  * @param {{force?: boolean}} [options] - Options.
19
19
  * @returns {Promise<void>} - Resolves when preloading completes.
20
20
  */
@@ -23,12 +23,12 @@ export default class FrontendModelPreloader {
23
23
  return;
24
24
  const modelClass = /**
25
25
  * Narrows the runtime value to the documented type.
26
- @type {typeof import("./base.js").default} */ (models[0].constructor);
26
+ @type {import("./base.js").FrontendModelClass} */ (models[0].constructor);
27
27
  const isQuery = Boolean(queryOrSpec) && typeof queryOrSpec === "object" && "_preload" in queryOrSpec;
28
28
  const query = isQuery
29
29
  ? /**
30
30
  * Narrows the runtime value to the documented type.
31
- @type {import("./query.js").default<typeof import("./base.js").default>} */
31
+ @type {import("./query.js").default<import("./base.js").FrontendModelClass>} */
32
32
  (queryOrSpec)
33
33
  : modelClass.preload(/**
34
34
  * Narrows the runtime value to the documented type.
@@ -73,10 +73,10 @@ export default class FrontendModelPreloader {
73
73
  /**
74
74
  * Runs model needs reload.
75
75
  * @param {object} args - Options object.
76
- * @param {typeof import("./base.js").default} args.modelClass - Model class the preload graph is rooted at.
76
+ * @param {import("./base.js").FrontendModelClass} args.modelClass - Model class the preload graph is rooted at.
77
77
  * @param {import("./base.js").default} args.model - Model instance.
78
78
  * @param {import("../database/query/index.js").NestedPreloadRecord} args.preload - Preload sub-graph to satisfy.
79
- * @param {import("./query.js").default<typeof import("./base.js").default>} args.query - Source query carrying select/selectsExtra.
79
+ * @param {import("./query.js").default<import("./base.js").FrontendModelClass>} args.query - Source query carrying select/selectsExtra.
80
80
  * @param {boolean} args.force - Whether to reload regardless of cached state.
81
81
  * @returns {boolean} - Whether the model needs a reload request.
82
82
  */
@@ -97,11 +97,11 @@ export default class FrontendModelPreloader {
97
97
  * client-unknown default attributes plus the extras), so it always reloads.
98
98
  * With no select and no nested preload, being preloaded is enough.
99
99
  * @param {object} args - Options object.
100
- * @param {typeof import("./base.js").default} args.modelClass - Model class owning the relationship.
100
+ * @param {import("./base.js").FrontendModelClass} args.modelClass - Model class owning the relationship.
101
101
  * @param {import("./base.js").default} args.model - Model instance.
102
102
  * @param {string} args.relationshipName - Relationship name.
103
103
  * @param {import("../database/query/index.js").NestedPreloadRecord[string]} args.subPreload - Preload value for this relationship (`true` or a nested record).
104
- * @param {import("./query.js").default<typeof import("./base.js").default>} args.query - Source query carrying select/selectsExtra.
104
+ * @param {import("./query.js").default<import("./base.js").FrontendModelClass>} args.query - Source query carrying select/selectsExtra.
105
105
  * @returns {boolean} - Whether the relationship is already satisfied.
106
106
  */
107
107
  static _relationshipSatisfied({ modelClass, model, relationshipName, subPreload, query }) {
@@ -148,4 +148,4 @@ export default class FrontendModelPreloader {
148
148
  return /** Narrows the runtime value to the documented type. @type {import("../database/query/index.js").NestedPreloadRecord} */ (subPreload);
149
149
  }
150
150
  }
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zyb250ZW5kLW1vZGVscy9wcmVsb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLHNCQUFzQjtJQUN6Qzs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBQyxHQUFHLEVBQUU7UUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFNO1FBRTFDLE1BQU0sVUFBVSxHQUFHOzswRUFFK0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUMxRixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLFVBQVUsSUFBSSxXQUFXLENBQUE7UUFDcEcsTUFBTSxLQUFLLEdBQUcsT0FBTztZQUNuQixDQUFDLENBQUM7OzJGQUU2RTtnQkFBQyxDQUFDLFdBQVcsQ0FBQztZQUM3RixDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQzs7K0NBRWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFFcEQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV6RCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTTtRQUU5QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFF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QUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUM3QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZILE9BQU8sS0FBSyxDQUFBO2dCQUNkLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVTtRQUNwQyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUM5RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVyRCxPQUFPLHlIQUF5SCxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDL0ksQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUHJlbG9hZHMgcmVsYXRpb25zaGlwcyBvbnRvIGFscmVhZHktbG9hZGVkIGZyb250ZW5kIG1vZGVsIGluc3RhbmNlcy5cbiAqXG4gKiBVbmxpa2UgdGhlIGJhY2tlbmQgT1JNIHByZWxvYWRlciAod2hpY2ggcXVlcmllcyByZWxhdGlvbnNoaXAgdGFibGVzXG4gKiBkaXJlY3RseSksIHRoZSBmcm9udGVuZCByZS1mZXRjaGVzIHRoZSBwYXJlbnQgcmVjb3JkcyB0aHJvdWdoIHRoZWlyXG4gKiBgaW5kZXhgIGVuZHBvaW50IHdpdGggdGhlIHByZWxvYWQvc2VsZWN0IHBhcmFtcywgdGhlbiBjb3BpZXMgdGhlIHJlc3VsdGluZ1xuICogdG9wLWxldmVsIHByZWxvYWRlZCByZWxhdGlvbnNoaXBzIG9udG8gdGhlIGV4aXN0aW5nIGluc3RhbmNlcy4gUmVsYXRpb25zaGlwc1xuICogdGhhdCBhcmUgYWxyZWFkeSBwcmVsb2FkZWQgd2l0aCB0aGUgcmVxdWlyZWQgY29sdW1ucyBwcmVzZW50IGFyZSBza2lwcGVkLFxuICogc28gcmVwZWF0ZWQgY2FsbHMgcmV1c2UgdGhlIHJlbGF0aW9uc2hpcCBjYWNoZSBpbnN0ZWFkIG9mIGlzc3VpbmcgZHVwbGljYXRlXG4gKiByZXF1ZXN0cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnJvbnRlbmRNb2RlbFByZWxvYWRlciB7XG4gIC8qKlxuICAgKiBSdW5zIHByZWxvYWQuXG4gICAqIEBwYXJhbSB7QXJyYXk8aW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBtb2RlbHMgLSBGcm9udGVuZCBtb2RlbCBpbnN0YW5jZXMgdG8gcHJlbG9hZCBvbnRvLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcXVlcnkuanNcIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHQ+IHwgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvaW5kZXguanNcIikuTmVzdGVkUHJlbG9hZFJlY29yZCB8IHN0cmluZyB8IEFycmF5PHN0cmluZyB8IGltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmQ+fSBxdWVyeU9yU3BlYyAtIEEgcXVlcnkgYnVpbHQgdmlhIGBNb2RlbC5wcmVsb2FkKC4uLikuc2VsZWN0KC4uLilgLCBvciBhIHJhdyBwcmVsb2FkIHNwZWMuXG4gICAqIEBwYXJhbSB7e2ZvcmNlPzogYm9vbGVhbn19IFtvcHRpb25zXSAtIE9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gcHJlbG9hZGluZyBjb21wbGV0ZXMuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcHJlbG9hZChtb2RlbHMsIHF1ZXJ5T3JTcGVjLCB7Zm9yY2UgPSBmYWxzZX0gPSB7fSkge1xuICAgIGlmICghbW9kZWxzIHx8IG1vZGVscy5sZW5ndGggPT09IDApIHJldHVyblxuXG4gICAgY29uc3QgbW9kZWxDbGFzcyA9IC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgQHR5cGUge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdH0gKi8gKG1vZGVsc1swXS5jb25zdHJ1Y3RvcilcbiAgICBjb25zdCBpc1F1ZXJ5ID0gQm9vbGVhbihxdWVyeU9yU3BlYykgJiYgdHlwZW9mIHF1ZXJ5T3JTcGVjID09PSBcIm9iamVjdFwiICYmIFwiX3ByZWxvYWRcIiBpbiBxdWVyeU9yU3BlY1xuICAgIGNvbnN0IHF1ZXJ5ID0gaXNRdWVyeVxuICAgICAgPyAvKipcbiAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgIEB0eXBlIHtpbXBvcnQoXCIuL3F1ZXJ5LmpzXCIpLmRlZmF1bHQ8dHlwZW9mIGltcG9ydChcIi4vYmFzZS5qc1wiKS5kZWZhdWx0Pn0gKi8gKHF1ZXJ5T3JTcGVjKVxuICAgICAgOiBtb2RlbENsYXNzLnByZWxvYWQoLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB0eXBlIHs/fSAqLyAocXVlcnlPclNwZWMpKVxuXG4gICAgY29uc3QgdG9wTGV2ZWxSZWxhdGlvbnNoaXBzID0gT2JqZWN0LmtleXMocXVlcnkuX3ByZWxvYWQpXG5cbiAgICBpZiAodG9wTGV2ZWxSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG5cbiAgICBjb25zdCBtb2RlbHNUb0xvYWQgPSBtb2RlbHMuZmlsdGVyKChtb2RlbCkgPT4gdGhpcy5fbW9kZWxOZWVkc1JlbG9hZCh7bW9kZWxDbGFzcywgbW9kZWwsIHByZWxvYWQ6IHF1ZXJ5Ll9wcmVsb2FkLCBxdWVyeSwgZm9yY2V9KSlcblxuICAgIGlmIChtb2RlbHNUb0xvYWQubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICAgIGNvbnN0IHByaW1hcnlLZXkgPSBtb2RlbENsYXNzLnByaW1hcnlLZXkoKVxuICAgIGNvbnN0IGlkcyA9IG1vZGVsc1RvTG9hZC5tYXAoKG1vZGVsKSA9PiBtb2RlbC5wcmltYXJ5S2V5VmFsdWUoKSlcblxuICAgIC8vIFJlYnVpbGQgYSBmcmVzaCBxdWVyeSBjYXJyeWluZyBvbmx5IHRoZSBwcm9qZWN0aW9uLXJlbGV2YW50IHN0YXRlIHNvIGFcbiAgICAvLyB1c2VyLXN1cHBsaWVkIGxpbWl0L3NvcnQvd2hlcmUgb24gdGhlIHNvdXJjZSBxdWVyeSBkb2Vzbid0IGxlYWsgaW4uXG4gICAgY29uc3QgcmVsb2FkUXVlcnkgPSBtb2RlbENsYXNzLnByZWxvYWQocXVlcnkuX3ByZWxvYWQpXG5cbiAgICByZWxvYWRRdWVyeS5fc2VsZWN0ID0gcXVlcnkuX3NlbGVjdFxuICAgIHJlbG9hZFF1ZXJ5Ll9zZWxlY3RzRXh0cmEgPSBxdWVyeS5fc2VsZWN0c0V4dHJhXG4gICAgcmVsb2FkUXVlcnkuX3dpdGhDb3VudCA9IHF1ZXJ5Ll93aXRoQ291bnRcbiAgICByZWxvYWRRdWVyeS5fYWJpbGl0aWVzID0gcXVlcnkuX2FiaWxpdGllc1xuICAgIHJlbG9hZFF1ZXJ5Ll9xdWVyeURhdGEgPSBxdWVyeS5fcXVlcnlEYXRhXG4gICAgcmVsb2FkUXVlcnkud2hlcmUoe1twcmltYXJ5S2V5XTogaWRzfSlcblxuICAgIGNvbnN0IHJlbG9hZGVkID0gYXdhaXQgcmVsb2FkUXVlcnkudG9BcnJheSgpXG5cbiAgICAvKipcbiAgICAgKiBSZWxvYWRlZCBieSBpZC5cbiAgICAgIEB0eXBlIHtNYXA8c3RyaW5nLCBpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdD59ICovXG4gICAgY29uc3QgcmVsb2FkZWRCeUlkID0gbmV3IE1hcCgpXG5cbiAgICBmb3IgKGNvbnN0IHJlbG9hZGVkTW9kZWwgb2YgcmVsb2FkZWQpIHtcbiAgICAgIHJlbG9hZGVkQnlJZC5zZXQoU3RyaW5nKHJlbG9hZGVkTW9kZWwucHJpbWFyeUtleVZhbHVlKCkpLCByZWxvYWRlZE1vZGVsKVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzVG9Mb2FkKSB7XG4gICAgICBjb25zdCByZWxvYWRlZE1vZGVsID0gcmVsb2FkZWRCeUlkLmdldChTdHJpbmcobW9kZWwucHJpbWFyeUtleVZhbHVlKCkpKVxuXG4gICAgICAvLyBUaGUgcmVjb3JkIG1heSBoYXZlIGJlZW4gZGVsZXRlZC9maWx0ZXJlZCBiZXR3ZWVuIHRoZSBvcmlnaW5hbCBsb2FkIGFuZFxuICAgICAgLy8gdGhpcyBwcmVsb2FkIOKAlCBza2lwIGl0IHJhdGhlciB0aGFuIGNyYXNoaW5nIG9uIGEgbWlzc2luZyByZWxvYWQuXG4gICAgICBpZiAoIXJlbG9hZGVkTW9kZWwpIGNvbnRpbnVlXG5cbiAgICAgIGZvciAoY29uc3QgcmVsYXRpb25zaGlwTmFtZSBvZiB0b3BMZXZlbFJlbGF0aW9uc2hpcHMpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZWxvYWRlZE1vZGVsLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShyZWxhdGlvbnNoaXBOYW1lKS5sb2FkZWQoKVxuXG4gICAgICAgIG1vZGVsLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShyZWxhdGlvbnNoaXBOYW1lKS5zZXRMb2FkZWQodmFsdWUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbW9kZWwgbmVlZHMgcmVsb2FkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gTW9kZWwgY2xhc3MgdGhlIHByZWxvYWQgZ3JhcGggaXMgcm9vdGVkIGF0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5kZWZhdWx0fSBhcmdzLm1vZGVsIC0gTW9kZWwgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvaW5kZXguanNcIikuTmVzdGVkUHJlbG9hZFJlY29yZH0gYXJncy5wcmVsb2FkIC0gUHJlbG9hZCBzdWItZ3JhcGggdG8gc2F0aXNmeS5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3F1ZXJ5LmpzXCIpLmRlZmF1bHQ8dHlwZW9mIGltcG9ydChcIi4vYmFzZS5qc1wiKS5kZWZhdWx0Pn0gYXJncy5xdWVyeSAtIFNvdXJjZSBxdWVyeSBjYXJyeWluZyBzZWxlY3Qvc2VsZWN0c0V4dHJhLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGFyZ3MuZm9yY2UgLSBXaGV0aGVyIHRvIHJlbG9hZCByZWdhcmRsZXNzIG9mIGNhY2hlZCBzdGF0ZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB0aGUgbW9kZWwgbmVlZHMgYSByZWxvYWQgcmVxdWVzdC5cbiAgICovXG4gIHN0YXRpYyBfbW9kZWxOZWVkc1JlbG9hZCh7bW9kZWxDbGFzcywgbW9kZWwsIHByZWxvYWQsIHF1ZXJ5LCBmb3JjZX0pIHtcbiAgICBpZiAoZm9yY2UpIHJldHVybiB0cnVlXG5cbiAgICBmb3IgKGNvbnN0IHJlbGF0aW9uc2hpcE5hbWUgb2YgT2JqZWN0LmtleXMocHJlbG9hZCkpIHtcbiAgICAgIGlmICghdGhpcy5fcmVsYXRpb25zaGlwU2F0aXNmaWVkKHttb2RlbENsYXNzLCBtb2RlbCwgcmVsYXRpb25zaGlwTmFtZSwgc3ViUHJlbG9hZDogcHJlbG9hZFtyZWxhdGlvbnNoaXBOYW1lXSwgcXVlcnl9KSkgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHJlbGF0aW9uc2hpcCBpcyBzYXRpc2ZpZWQgd2hlbiBpdCBpcyBhbHJlYWR5IHByZWxvYWRlZCwgZXZlcnkgcmVxdWlyZWRcbiAgICogYHNlbGVjdGAgYXR0cmlidXRlIGlzIHByZXNlbnQgb24gZWFjaCBsb2FkZWQgdGFyZ2V0LCBhbmQgYW55IG5lc3RlZCBwcmVsb2FkXG4gICAqIHN1Yi1ncmFwaCBpcyByZWN1cnNpdmVseSBzYXRpc2ZpZWQgb24gdGhvc2UgdGFyZ2V0cy4gYHNlbGVjdHNFeHRyYWAgY2FuXG4gICAqIG5ldmVyIGJlIHByb3ZlbiBzYXRpc2ZpZWQgZnJvbSB0aGUgY2FjaGUgKHRoZSBiYWNrZW5kIHNlcmlhbGl6ZXMgdGhlXG4gICAqIGNsaWVudC11bmtub3duIGRlZmF1bHQgYXR0cmlidXRlcyBwbHVzIHRoZSBleHRyYXMpLCBzbyBpdCBhbHdheXMgcmVsb2Fkcy5cbiAgICogV2l0aCBubyBzZWxlY3QgYW5kIG5vIG5lc3RlZCBwcmVsb2FkLCBiZWluZyBwcmVsb2FkZWQgaXMgZW5vdWdoLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge3R5cGVvZiBpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbENsYXNzIC0gTW9kZWwgY2xhc3Mgb3duaW5nIHRoZSByZWxhdGlvbnNoaXAuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHR9IGFyZ3MubW9kZWwgLSBNb2RlbCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucmVsYXRpb25zaGlwTmFtZSAtIFJlbGF0aW9uc2hpcCBuYW1lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmRbc3RyaW5nXX0gYXJncy5zdWJQcmVsb2FkIC0gUHJlbG9hZCB2YWx1ZSBmb3IgdGhpcyByZWxhdGlvbnNoaXAgKGB0cnVlYCBvciBhIG5lc3RlZCByZWNvcmQpLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcXVlcnkuanNcIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBhcmdzLnF1ZXJ5IC0gU291cmNlIHF1ZXJ5IGNhcnJ5aW5nIHNlbGVjdC9zZWxlY3RzRXh0cmEuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdGhlIHJlbGF0aW9uc2hpcCBpcyBhbHJlYWR5IHNhdGlzZmllZC5cbiAgICovXG4gIHN0YXRpYyBfcmVsYXRpb25zaGlwU2F0aXNmaWVkKHttb2RlbENsYXNzLCBtb2RlbCwgcmVsYXRpb25zaGlwTmFtZSwgc3ViUHJlbG9hZCwgcXVlcnl9KSB7XG4gICAgY29uc3QgcmVsYXRpb25zaGlwID0gbW9kZWwuZ2V0UmVsYXRpb25zaGlwQnlOYW1lKHJlbGF0aW9uc2hpcE5hbWUpXG5cbiAgICBpZiAoIXJlbGF0aW9uc2hpcC5nZXRQcmVsb2FkZWQoKSkgcmV0dXJuIGZhbHNlXG5cbiAgICBjb25zdCB0YXJnZXRNb2RlbENsYXNzID0gbW9kZWxDbGFzcy5yZWxhdGlvbnNoaXBNb2RlbENsYXNzKHJlbGF0aW9uc2hpcE5hbWUpXG4gICAgY29uc3QgbG9hZGVkID0gcmVsYXRpb25zaGlwLmxvYWRlZCgpXG4gICAgY29uc3QgdGFyZ2V0cyA9IGxvYWRlZCA9PSBudWxsID8gW10gOiAoQXJyYXkuaXNBcnJheShsb2FkZWQpID8gbG9hZGVkIDogW2xvYWRlZF0pXG5cbiAgICBpZiAodGFyZ2V0TW9kZWxDbGFzcykge1xuICAgICAgY29uc3QgdGFyZ2V0TW9kZWxOYW1lID0gdGFyZ2V0TW9kZWxDbGFzcy5nZXRNb2RlbE5hbWUoKVxuXG4gICAgICAvLyBgc2VsZWN0c0V4dHJhYCBzZXJpYWxpemVzIHRoZSBkZWZhdWx0IGF0dHJpYnV0ZXMgKHVua25vd24gdG8gdGhlIGNsaWVudClcbiAgICAgIC8vIHBsdXMgdGhlIGV4dHJhcywgc28gYSBjYWNoZWQgdGFyZ2V0IGNhbid0IGJlIHByb3ZlbiBjb21wbGV0ZS5cbiAgICAgIGlmIChxdWVyeS5fc2VsZWN0c0V4dHJhW3RhcmdldE1vZGVsTmFtZV0pIHJldHVybiBmYWxzZVxuXG4gICAgICBjb25zdCByZXF1aXJlZCA9IHF1ZXJ5Ll9zZWxlY3RbdGFyZ2V0TW9kZWxOYW1lXSB8fCBbXVxuXG4gICAgICBmb3IgKGNvbnN0IHRhcmdldCBvZiB0YXJnZXRzKSB7XG4gICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlTmFtZSBvZiByZXF1aXJlZCkge1xuICAgICAgICAgIGlmICghdGFyZ2V0Lmhhc0xvYWRlZEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSkgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBuZXN0ZWRQcmVsb2FkID0gdGhpcy5fbmVzdGVkUHJlbG9hZFJlY29yZChzdWJQcmVsb2FkKVxuXG4gICAgaWYgKG5lc3RlZFByZWxvYWQgJiYgdGFyZ2V0TW9kZWxDbGFzcykge1xuICAgICAgZm9yIChjb25zdCB0YXJnZXQgb2YgdGFyZ2V0cykge1xuICAgICAgICBpZiAodGhpcy5fbW9kZWxOZWVkc1JlbG9hZCh7bW9kZWxDbGFzczogdGFyZ2V0TW9kZWxDbGFzcywgbW9kZWw6IHRhcmdldCwgcHJlbG9hZDogbmVzdGVkUHJlbG9hZCwgcXVlcnksIGZvcmNlOiBmYWxzZX0pKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbmVzdGVkIHByZWxvYWQgcmVjb3JkLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmRbc3RyaW5nXX0gc3ViUHJlbG9hZCAtIFByZWxvYWQgdmFsdWUgZm9yIGEgcmVsYXRpb25zaGlwLlxuICAgKiBAcmV0dXJucyB7aW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvaW5kZXguanNcIikuTmVzdGVkUHJlbG9hZFJlY29yZCB8IG51bGx9IC0gTmVzdGVkIHByZWxvYWQgcmVjb3JkLCBvciBudWxsIHdoZW4gdGhlcmUgaXMgbm8gZGVlcGVyIGdyYXBoLlxuICAgKi9cbiAgc3RhdGljIF9uZXN0ZWRQcmVsb2FkUmVjb3JkKHN1YlByZWxvYWQpIHtcbiAgICBpZiAoIXN1YlByZWxvYWQgfHwgdHlwZW9mIHN1YlByZWxvYWQgIT09IFwib2JqZWN0XCIpIHJldHVybiBudWxsXG4gICAgaWYgKE9iamVjdC5rZXlzKHN1YlByZWxvYWQpLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGxcblxuICAgIHJldHVybiAvKiogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLiBAdHlwZSB7aW1wb3J0KFwiLi4vZGF0YWJhc2UvcXVlcnkvaW5kZXguanNcIikuTmVzdGVkUHJlbG9hZFJlY29yZH0gKi8gKHN1YlByZWxvYWQpXG4gIH1cbn1cbiJdfQ==
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Zyb250ZW5kLW1vZGVscy9wcmVsb2FkZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLHNCQUFzQjtJQUN6Qzs7Ozs7O09BTUc7SUFDSCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUMsS0FBSyxHQUFHLEtBQUssRUFBQyxHQUFHLEVBQUU7UUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFNO1FBRTFDLE1BQU0sVUFBVSxHQUFHOzs4RUFFbUQsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM5RixNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksT0FBTyxXQUFXLEtBQUssUUFBUSxJQUFJLFVBQVUsSUFBSSxXQUFXLENBQUE7UUFDcEcsTUFBTSxLQUFLLEdBQUcsT0FBTztZQUNuQixDQUFDLENBQUM7OytGQUVpRjtnQkFBQyxDQUFDLFdBQVcsQ0FBQztZQUNqRyxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQzs7K0NBRWMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFFcEQsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV6RCxJQUFJLHFCQUFxQixDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQUUsT0FBTTtRQUU5QyxNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBQyxVQUFVLEVBQUUsS0FBSyxFQUFF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QUFLLE1BQU0sTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUM3QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxFQUFDLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ3ZILE9BQU8sS0FBSyxDQUFBO2dCQUNkLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsVUFBVTtRQUNwQyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sVUFBVSxLQUFLLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUM5RCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUM7WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVyRCxPQUFPLHlIQUF5SCxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDL0ksQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUHJlbG9hZHMgcmVsYXRpb25zaGlwcyBvbnRvIGFscmVhZHktbG9hZGVkIGZyb250ZW5kIG1vZGVsIGluc3RhbmNlcy5cbiAqXG4gKiBVbmxpa2UgdGhlIGJhY2tlbmQgT1JNIHByZWxvYWRlciAod2hpY2ggcXVlcmllcyByZWxhdGlvbnNoaXAgdGFibGVzXG4gKiBkaXJlY3RseSksIHRoZSBmcm9udGVuZCByZS1mZXRjaGVzIHRoZSBwYXJlbnQgcmVjb3JkcyB0aHJvdWdoIHRoZWlyXG4gKiBgaW5kZXhgIGVuZHBvaW50IHdpdGggdGhlIHByZWxvYWQvc2VsZWN0IHBhcmFtcywgdGhlbiBjb3BpZXMgdGhlIHJlc3VsdGluZ1xuICogdG9wLWxldmVsIHByZWxvYWRlZCByZWxhdGlvbnNoaXBzIG9udG8gdGhlIGV4aXN0aW5nIGluc3RhbmNlcy4gUmVsYXRpb25zaGlwc1xuICogdGhhdCBhcmUgYWxyZWFkeSBwcmVsb2FkZWQgd2l0aCB0aGUgcmVxdWlyZWQgY29sdW1ucyBwcmVzZW50IGFyZSBza2lwcGVkLFxuICogc28gcmVwZWF0ZWQgY2FsbHMgcmV1c2UgdGhlIHJlbGF0aW9uc2hpcCBjYWNoZSBpbnN0ZWFkIG9mIGlzc3VpbmcgZHVwbGljYXRlXG4gKiByZXF1ZXN0cy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRnJvbnRlbmRNb2RlbFByZWxvYWRlciB7XG4gIC8qKlxuICAgKiBSdW5zIHByZWxvYWQuXG4gICAqIEBwYXJhbSB7QXJyYXk8aW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHQ+fSBtb2RlbHMgLSBGcm9udGVuZCBtb2RlbCBpbnN0YW5jZXMgdG8gcHJlbG9hZCBvbnRvLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcXVlcnkuanNcIikuZGVmYXVsdDxpbXBvcnQoXCIuL2Jhc2UuanNcIikuRnJvbnRlbmRNb2RlbENsYXNzPiB8IGltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmQgfCBzdHJpbmcgfCBBcnJheTxzdHJpbmcgfCBpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9pbmRleC5qc1wiKS5OZXN0ZWRQcmVsb2FkUmVjb3JkPn0gcXVlcnlPclNwZWMgLSBBIHF1ZXJ5IGJ1aWx0IHZpYSBgTW9kZWwucHJlbG9hZCguLi4pLnNlbGVjdCguLi4pYCwgb3IgYSByYXcgcHJlbG9hZCBzcGVjLlxuICAgKiBAcGFyYW0ge3tmb3JjZT86IGJvb2xlYW59fSBbb3B0aW9uc10gLSBPcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIHByZWxvYWRpbmcgY29tcGxldGVzLlxuICAgKi9cbiAgc3RhdGljIGFzeW5jIHByZWxvYWQobW9kZWxzLCBxdWVyeU9yU3BlYywge2ZvcmNlID0gZmFsc2V9ID0ge30pIHtcbiAgICBpZiAoIW1vZGVscyB8fCBtb2RlbHMubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSAvKipcbiAgICAgICAgICAgICAgICAgICAgICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAgICAgICAgICAgICAgICAgICAgIEB0eXBlIHtpbXBvcnQoXCIuL2Jhc2UuanNcIikuRnJvbnRlbmRNb2RlbENsYXNzfSAqLyAobW9kZWxzWzBdLmNvbnN0cnVjdG9yKVxuICAgIGNvbnN0IGlzUXVlcnkgPSBCb29sZWFuKHF1ZXJ5T3JTcGVjKSAmJiB0eXBlb2YgcXVlcnlPclNwZWMgPT09IFwib2JqZWN0XCIgJiYgXCJfcHJlbG9hZFwiIGluIHF1ZXJ5T3JTcGVjXG4gICAgY29uc3QgcXVlcnkgPSBpc1F1ZXJ5XG4gICAgICA/IC8qKlxuICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgQHR5cGUge2ltcG9ydChcIi4vcXVlcnkuanNcIikuZGVmYXVsdDxpbXBvcnQoXCIuL2Jhc2UuanNcIikuRnJvbnRlbmRNb2RlbENsYXNzPn0gKi8gKHF1ZXJ5T3JTcGVjKVxuICAgICAgOiBtb2RlbENsYXNzLnByZWxvYWQoLyoqXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEB0eXBlIHs/fSAqLyAocXVlcnlPclNwZWMpKVxuXG4gICAgY29uc3QgdG9wTGV2ZWxSZWxhdGlvbnNoaXBzID0gT2JqZWN0LmtleXMocXVlcnkuX3ByZWxvYWQpXG5cbiAgICBpZiAodG9wTGV2ZWxSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG5cbiAgICBjb25zdCBtb2RlbHNUb0xvYWQgPSBtb2RlbHMuZmlsdGVyKChtb2RlbCkgPT4gdGhpcy5fbW9kZWxOZWVkc1JlbG9hZCh7bW9kZWxDbGFzcywgbW9kZWwsIHByZWxvYWQ6IHF1ZXJ5Ll9wcmVsb2FkLCBxdWVyeSwgZm9yY2V9KSlcblxuICAgIGlmIChtb2RlbHNUb0xvYWQubGVuZ3RoID09PSAwKSByZXR1cm5cblxuICAgIGNvbnN0IHByaW1hcnlLZXkgPSBtb2RlbENsYXNzLnByaW1hcnlLZXkoKVxuICAgIGNvbnN0IGlkcyA9IG1vZGVsc1RvTG9hZC5tYXAoKG1vZGVsKSA9PiBtb2RlbC5wcmltYXJ5S2V5VmFsdWUoKSlcblxuICAgIC8vIFJlYnVpbGQgYSBmcmVzaCBxdWVyeSBjYXJyeWluZyBvbmx5IHRoZSBwcm9qZWN0aW9uLXJlbGV2YW50IHN0YXRlIHNvIGFcbiAgICAvLyB1c2VyLXN1cHBsaWVkIGxpbWl0L3NvcnQvd2hlcmUgb24gdGhlIHNvdXJjZSBxdWVyeSBkb2Vzbid0IGxlYWsgaW4uXG4gICAgY29uc3QgcmVsb2FkUXVlcnkgPSBtb2RlbENsYXNzLnByZWxvYWQocXVlcnkuX3ByZWxvYWQpXG5cbiAgICByZWxvYWRRdWVyeS5fc2VsZWN0ID0gcXVlcnkuX3NlbGVjdFxuICAgIHJlbG9hZFF1ZXJ5Ll9zZWxlY3RzRXh0cmEgPSBxdWVyeS5fc2VsZWN0c0V4dHJhXG4gICAgcmVsb2FkUXVlcnkuX3dpdGhDb3VudCA9IHF1ZXJ5Ll93aXRoQ291bnRcbiAgICByZWxvYWRRdWVyeS5fYWJpbGl0aWVzID0gcXVlcnkuX2FiaWxpdGllc1xuICAgIHJlbG9hZFF1ZXJ5Ll9xdWVyeURhdGEgPSBxdWVyeS5fcXVlcnlEYXRhXG4gICAgcmVsb2FkUXVlcnkud2hlcmUoe1twcmltYXJ5S2V5XTogaWRzfSlcblxuICAgIGNvbnN0IHJlbG9hZGVkID0gYXdhaXQgcmVsb2FkUXVlcnkudG9BcnJheSgpXG5cbiAgICAvKipcbiAgICAgKiBSZWxvYWRlZCBieSBpZC5cbiAgICAgIEB0eXBlIHtNYXA8c3RyaW5nLCBpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdD59ICovXG4gICAgY29uc3QgcmVsb2FkZWRCeUlkID0gbmV3IE1hcCgpXG5cbiAgICBmb3IgKGNvbnN0IHJlbG9hZGVkTW9kZWwgb2YgcmVsb2FkZWQpIHtcbiAgICAgIHJlbG9hZGVkQnlJZC5zZXQoU3RyaW5nKHJlbG9hZGVkTW9kZWwucHJpbWFyeUtleVZhbHVlKCkpLCByZWxvYWRlZE1vZGVsKVxuICAgIH1cblxuICAgIGZvciAoY29uc3QgbW9kZWwgb2YgbW9kZWxzVG9Mb2FkKSB7XG4gICAgICBjb25zdCByZWxvYWRlZE1vZGVsID0gcmVsb2FkZWRCeUlkLmdldChTdHJpbmcobW9kZWwucHJpbWFyeUtleVZhbHVlKCkpKVxuXG4gICAgICAvLyBUaGUgcmVjb3JkIG1heSBoYXZlIGJlZW4gZGVsZXRlZC9maWx0ZXJlZCBiZXR3ZWVuIHRoZSBvcmlnaW5hbCBsb2FkIGFuZFxuICAgICAgLy8gdGhpcyBwcmVsb2FkIOKAlCBza2lwIGl0IHJhdGhlciB0aGFuIGNyYXNoaW5nIG9uIGEgbWlzc2luZyByZWxvYWQuXG4gICAgICBpZiAoIXJlbG9hZGVkTW9kZWwpIGNvbnRpbnVlXG5cbiAgICAgIGZvciAoY29uc3QgcmVsYXRpb25zaGlwTmFtZSBvZiB0b3BMZXZlbFJlbGF0aW9uc2hpcHMpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSByZWxvYWRlZE1vZGVsLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShyZWxhdGlvbnNoaXBOYW1lKS5sb2FkZWQoKVxuXG4gICAgICAgIG1vZGVsLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShyZWxhdGlvbnNoaXBOYW1lKS5zZXRMb2FkZWQodmFsdWUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgbW9kZWwgbmVlZHMgcmVsb2FkLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vYmFzZS5qc1wiKS5Gcm9udGVuZE1vZGVsQ2xhc3N9IGFyZ3MubW9kZWxDbGFzcyAtIE1vZGVsIGNsYXNzIHRoZSBwcmVsb2FkIGdyYXBoIGlzIHJvb3RlZCBhdC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2Jhc2UuanNcIikuZGVmYXVsdH0gYXJncy5tb2RlbCAtIE1vZGVsIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmR9IGFyZ3MucHJlbG9hZCAtIFByZWxvYWQgc3ViLWdyYXBoIHRvIHNhdGlzZnkuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9xdWVyeS5qc1wiKS5kZWZhdWx0PGltcG9ydChcIi4vYmFzZS5qc1wiKS5Gcm9udGVuZE1vZGVsQ2xhc3M+fSBhcmdzLnF1ZXJ5IC0gU291cmNlIHF1ZXJ5IGNhcnJ5aW5nIHNlbGVjdC9zZWxlY3RzRXh0cmEuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXJncy5mb3JjZSAtIFdoZXRoZXIgdG8gcmVsb2FkIHJlZ2FyZGxlc3Mgb2YgY2FjaGVkIHN0YXRlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSBtb2RlbCBuZWVkcyBhIHJlbG9hZCByZXF1ZXN0LlxuICAgKi9cbiAgc3RhdGljIF9tb2RlbE5lZWRzUmVsb2FkKHttb2RlbENsYXNzLCBtb2RlbCwgcHJlbG9hZCwgcXVlcnksIGZvcmNlfSkge1xuICAgIGlmIChmb3JjZSkgcmV0dXJuIHRydWVcblxuICAgIGZvciAoY29uc3QgcmVsYXRpb25zaGlwTmFtZSBvZiBPYmplY3Qua2V5cyhwcmVsb2FkKSkge1xuICAgICAgaWYgKCF0aGlzLl9yZWxhdGlvbnNoaXBTYXRpc2ZpZWQoe21vZGVsQ2xhc3MsIG1vZGVsLCByZWxhdGlvbnNoaXBOYW1lLCBzdWJQcmVsb2FkOiBwcmVsb2FkW3JlbGF0aW9uc2hpcE5hbWVdLCBxdWVyeX0pKSByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIEEgcmVsYXRpb25zaGlwIGlzIHNhdGlzZmllZCB3aGVuIGl0IGlzIGFscmVhZHkgcHJlbG9hZGVkLCBldmVyeSByZXF1aXJlZFxuICAgKiBgc2VsZWN0YCBhdHRyaWJ1dGUgaXMgcHJlc2VudCBvbiBlYWNoIGxvYWRlZCB0YXJnZXQsIGFuZCBhbnkgbmVzdGVkIHByZWxvYWRcbiAgICogc3ViLWdyYXBoIGlzIHJlY3Vyc2l2ZWx5IHNhdGlzZmllZCBvbiB0aG9zZSB0YXJnZXRzLiBgc2VsZWN0c0V4dHJhYCBjYW5cbiAgICogbmV2ZXIgYmUgcHJvdmVuIHNhdGlzZmllZCBmcm9tIHRoZSBjYWNoZSAodGhlIGJhY2tlbmQgc2VyaWFsaXplcyB0aGVcbiAgICogY2xpZW50LXVua25vd24gZGVmYXVsdCBhdHRyaWJ1dGVzIHBsdXMgdGhlIGV4dHJhcyksIHNvIGl0IGFsd2F5cyByZWxvYWRzLlxuICAgKiBXaXRoIG5vIHNlbGVjdCBhbmQgbm8gbmVzdGVkIHByZWxvYWQsIGJlaW5nIHByZWxvYWRlZCBpcyBlbm91Z2guXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucyBvYmplY3QuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLkZyb250ZW5kTW9kZWxDbGFzc30gYXJncy5tb2RlbENsYXNzIC0gTW9kZWwgY2xhc3Mgb3duaW5nIHRoZSByZWxhdGlvbnNoaXAuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9iYXNlLmpzXCIpLmRlZmF1bHR9IGFyZ3MubW9kZWwgLSBNb2RlbCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3MucmVsYXRpb25zaGlwTmFtZSAtIFJlbGF0aW9uc2hpcCBuYW1lLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmRbc3RyaW5nXX0gYXJncy5zdWJQcmVsb2FkIC0gUHJlbG9hZCB2YWx1ZSBmb3IgdGhpcyByZWxhdGlvbnNoaXAgKGB0cnVlYCBvciBhIG5lc3RlZCByZWNvcmQpLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vcXVlcnkuanNcIikuZGVmYXVsdDxpbXBvcnQoXCIuL2Jhc2UuanNcIikuRnJvbnRlbmRNb2RlbENsYXNzPn0gYXJncy5xdWVyeSAtIFNvdXJjZSBxdWVyeSBjYXJyeWluZyBzZWxlY3Qvc2VsZWN0c0V4dHJhLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHRoZSByZWxhdGlvbnNoaXAgaXMgYWxyZWFkeSBzYXRpc2ZpZWQuXG4gICAqL1xuICBzdGF0aWMgX3JlbGF0aW9uc2hpcFNhdGlzZmllZCh7bW9kZWxDbGFzcywgbW9kZWwsIHJlbGF0aW9uc2hpcE5hbWUsIHN1YlByZWxvYWQsIHF1ZXJ5fSkge1xuICAgIGNvbnN0IHJlbGF0aW9uc2hpcCA9IG1vZGVsLmdldFJlbGF0aW9uc2hpcEJ5TmFtZShyZWxhdGlvbnNoaXBOYW1lKVxuXG4gICAgaWYgKCFyZWxhdGlvbnNoaXAuZ2V0UHJlbG9hZGVkKCkpIHJldHVybiBmYWxzZVxuXG4gICAgY29uc3QgdGFyZ2V0TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3MucmVsYXRpb25zaGlwTW9kZWxDbGFzcyhyZWxhdGlvbnNoaXBOYW1lKVxuICAgIGNvbnN0IGxvYWRlZCA9IHJlbGF0aW9uc2hpcC5sb2FkZWQoKVxuICAgIGNvbnN0IHRhcmdldHMgPSBsb2FkZWQgPT0gbnVsbCA/IFtdIDogKEFycmF5LmlzQXJyYXkobG9hZGVkKSA/IGxvYWRlZCA6IFtsb2FkZWRdKVxuXG4gICAgaWYgKHRhcmdldE1vZGVsQ2xhc3MpIHtcbiAgICAgIGNvbnN0IHRhcmdldE1vZGVsTmFtZSA9IHRhcmdldE1vZGVsQ2xhc3MuZ2V0TW9kZWxOYW1lKClcblxuICAgICAgLy8gYHNlbGVjdHNFeHRyYWAgc2VyaWFsaXplcyB0aGUgZGVmYXVsdCBhdHRyaWJ1dGVzICh1bmtub3duIHRvIHRoZSBjbGllbnQpXG4gICAgICAvLyBwbHVzIHRoZSBleHRyYXMsIHNvIGEgY2FjaGVkIHRhcmdldCBjYW4ndCBiZSBwcm92ZW4gY29tcGxldGUuXG4gICAgICBpZiAocXVlcnkuX3NlbGVjdHNFeHRyYVt0YXJnZXRNb2RlbE5hbWVdKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgcmVxdWlyZWQgPSBxdWVyeS5fc2VsZWN0W3RhcmdldE1vZGVsTmFtZV0gfHwgW11cblxuICAgICAgZm9yIChjb25zdCB0YXJnZXQgb2YgdGFyZ2V0cykge1xuICAgICAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZU5hbWUgb2YgcmVxdWlyZWQpIHtcbiAgICAgICAgICBpZiAoIXRhcmdldC5oYXNMb2FkZWRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgbmVzdGVkUHJlbG9hZCA9IHRoaXMuX25lc3RlZFByZWxvYWRSZWNvcmQoc3ViUHJlbG9hZClcblxuICAgIGlmIChuZXN0ZWRQcmVsb2FkICYmIHRhcmdldE1vZGVsQ2xhc3MpIHtcbiAgICAgIGZvciAoY29uc3QgdGFyZ2V0IG9mIHRhcmdldHMpIHtcbiAgICAgICAgaWYgKHRoaXMuX21vZGVsTmVlZHNSZWxvYWQoe21vZGVsQ2xhc3M6IHRhcmdldE1vZGVsQ2xhc3MsIG1vZGVsOiB0YXJnZXQsIHByZWxvYWQ6IG5lc3RlZFByZWxvYWQsIHF1ZXJ5LCBmb3JjZTogZmFsc2V9KSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIG5lc3RlZCBwcmVsb2FkIHJlY29yZC5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9kYXRhYmFzZS9xdWVyeS9pbmRleC5qc1wiKS5OZXN0ZWRQcmVsb2FkUmVjb3JkW3N0cmluZ119IHN1YlByZWxvYWQgLSBQcmVsb2FkIHZhbHVlIGZvciBhIHJlbGF0aW9uc2hpcC5cbiAgICogQHJldHVybnMge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmQgfCBudWxsfSAtIE5lc3RlZCBwcmVsb2FkIHJlY29yZCwgb3IgbnVsbCB3aGVuIHRoZXJlIGlzIG5vIGRlZXBlciBncmFwaC5cbiAgICovXG4gIHN0YXRpYyBfbmVzdGVkUHJlbG9hZFJlY29yZChzdWJQcmVsb2FkKSB7XG4gICAgaWYgKCFzdWJQcmVsb2FkIHx8IHR5cGVvZiBzdWJQcmVsb2FkICE9PSBcIm9iamVjdFwiKSByZXR1cm4gbnVsbFxuICAgIGlmIChPYmplY3Qua2V5cyhzdWJQcmVsb2FkKS5sZW5ndGggPT09IDApIHJldHVybiBudWxsXG5cbiAgICByZXR1cm4gLyoqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS4gQHR5cGUge2ltcG9ydChcIi4uL2RhdGFiYXNlL3F1ZXJ5L2luZGV4LmpzXCIpLk5lc3RlZFByZWxvYWRSZWNvcmR9ICovIChzdWJQcmVsb2FkKVxuICB9XG59XG4iXX0=
@@ -30,11 +30,11 @@
30
30
  */
31
31
  /**
32
32
  * Defines this typedef.
33
- * @typedef {FrontendModelProjectionOptions & {query?: FrontendModelQuery<typeof import("./base.js").default>}} FrontendModelEventOptionsObject
33
+ * @typedef {FrontendModelProjectionOptions & {query?: FrontendModelQuery<import("./base.js").FrontendModelClass>}} FrontendModelEventOptionsObject
34
34
  */
35
35
  /**
36
36
  * FrontendModelEventOptions type.
37
- * @typedef {FrontendModelEventOptionsObject | FrontendModelQuery<typeof import("./base.js").default>} FrontendModelEventOptions
37
+ * @typedef {FrontendModelEventOptionsObject | FrontendModelQuery<import("./base.js").FrontendModelClass>} FrontendModelEventOptions
38
38
  */
39
39
  /**
40
40
  * FrontendModelProjectionPayload type.
@@ -102,16 +102,16 @@ export function normalizeGroup(group: unknown): FrontendModelGroup[];
102
102
  export function normalizePluck(pluck: unknown): FrontendModelPluck[];
103
103
  /**
104
104
  * Runs the frontendModelEventOptionsPayload helper.
105
- * @param {typeof import("./base.js").default} modelClass - Frontend model class.
105
+ * @param {import("./base.js").FrontendModelClass} modelClass - Frontend model class.
106
106
  * @param {FrontendModelEventOptions} [options] - Event query or projection options.
107
107
  * @returns {FrontendModelEventOptionsPayload} - Normalized event subscription payload.
108
108
  */
109
- export function frontendModelEventOptionsPayload(modelClass: typeof import("./base.js").default, options?: FrontendModelEventOptions): FrontendModelEventOptionsPayload;
109
+ export function frontendModelEventOptionsPayload(modelClass: import("./base.js").FrontendModelClass, options?: FrontendModelEventOptions): FrontendModelEventOptionsPayload;
110
110
  /**
111
111
  * Query wrapper for frontend model commands.
112
- * @template {typeof import("./base.js").default} T
112
+ * @template {import("./base.js").FrontendModelClass} T
113
113
  */
114
- export default class FrontendModelQuery<T extends typeof import("./base.js").default> {
114
+ export default class FrontendModelQuery<T extends import("./base.js").FrontendModelClass> {
115
115
  /**
116
116
  * Runs constructor.
117
117
  * @param {object} args - Constructor args.
@@ -599,12 +599,12 @@ export type FrontendModelProjectionOptions = {
599
599
  * Defines this typedef.
600
600
  */
601
601
  export type FrontendModelEventOptionsObject = FrontendModelProjectionOptions & {
602
- query?: FrontendModelQuery<typeof import("./base.js").default>;
602
+ query?: FrontendModelQuery<import("./base.js").FrontendModelClass>;
603
603
  };
604
604
  /**
605
605
  * FrontendModelEventOptions type.
606
606
  */
607
- export type FrontendModelEventOptions = FrontendModelEventOptionsObject | FrontendModelQuery<typeof import("./base.js").default>;
607
+ export type FrontendModelEventOptions = FrontendModelEventOptionsObject | FrontendModelQuery<import("./base.js").FrontendModelClass>;
608
608
  /**
609
609
  * FrontendModelProjectionPayload type.
610
610
  */
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/query.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/query.js"],"names":[],"mappings":"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"}