kwikid-forms 0.6.42 → 0.6.44

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 (60) hide show
  1. package/bundles/kwikid-forms.umd.js +1446 -957
  2. package/bundles/kwikid-forms.umd.js.map +1 -1
  3. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.component.js +22 -32
  4. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.definitions.js +2 -1
  5. package/esm2015/lib/builder/builder-form-editor/builder-form-editor.helper.js +2 -4
  6. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.constants.js +5 -5
  7. package/esm2015/lib/builder/builder-form-editor/builder.form-editor.service.js +6 -5
  8. package/esm2015/lib/builder/builder-form-list/builder-forms-list.component.js +4 -6
  9. package/esm2015/lib/builder/builder.component.js +43 -53
  10. package/esm2015/lib/builder/builder.helper.js +11 -13
  11. package/esm2015/lib/renderer/config-converter/config-converter.constants.js +22 -7
  12. package/esm2015/lib/renderer/config-converter/config-converter.helper.js +9 -10
  13. package/esm2015/lib/renderer/config-converter/config-converter.js +90 -68
  14. package/esm2015/lib/renderer/form-view/definitions/form-view.actions.definition.js +3 -1
  15. package/esm2015/lib/renderer/form-view/definitions/form-view.apis.definition.js +1 -1
  16. package/esm2015/lib/renderer/form-view/definitions/form-view.commons.definition.js +2 -1
  17. package/esm2015/lib/renderer/form-view/definitions/form-view.fields.definition.js +2 -1
  18. package/esm2015/lib/renderer/form-view/definitions/form-view.logs.definition.js +2 -1
  19. package/esm2015/lib/renderer/form-view/form-view.api.service.js +25 -24
  20. package/esm2015/lib/renderer/form-view/form-view.component.js +527 -270
  21. package/esm2015/lib/renderer/form-view/form-view.constants.js +17 -0
  22. package/esm2015/lib/renderer/form-view/form-view.module.js +15 -3
  23. package/esm2015/lib/renderer/form-view/form-view.service.js +6 -7
  24. package/esm2015/lib/renderer/form-view/helpers/form-view.apis.helper.js +46 -60
  25. package/esm2015/lib/renderer/form-view/helpers/form-view.camera.helper.js +16 -20
  26. package/esm2015/lib/renderer/form-view/helpers/form-view.defaults.helper.js +65 -85
  27. package/esm2015/lib/renderer/form-view/helpers/form-view.fields.helper.js +101 -93
  28. package/esm2015/lib/renderer/form-view/helpers/form-view.form-validations.helper.js +23 -22
  29. package/esm2015/lib/renderer/form-view/helpers/form-view.tasks.helper.js +5 -5
  30. package/esm2015/lib/renderer/form-view/pipes/filter-image-url-or-base64-from-object.pipe.js +34 -0
  31. package/esm2015/lib/renderer/form-view/pipes/filter-video-url-or-base64-from-object.pipe.js +30 -0
  32. package/esm2015/lib/renderer/forms-list/forms-list.component.js +31 -39
  33. package/esm2015/lib/renderer/forms-list/forms-list.definitions.js +2 -1
  34. package/esm2015/lib/renderer/renderer.actions.definitions.js +1 -1
  35. package/esm2015/lib/renderer/renderer.component.js +88 -114
  36. package/esm2015/lib/renderer/renderer.definitions.js +2 -1
  37. package/esm2015/lib/renderer/renderer.helper.js +2 -4
  38. package/fesm2015/kwikid-forms.js +1213 -933
  39. package/fesm2015/kwikid-forms.js.map +1 -1
  40. package/lib/builder/builder-form-editor/builder-form-editor.component.d.ts +4 -5
  41. package/lib/builder/builder-form-editor/builder.form-editor.service.d.ts +0 -1
  42. package/lib/builder/builder-form-list/builder-forms-list.component.d.ts +3 -5
  43. package/lib/renderer/config-converter/config-converter.constants.d.ts +21 -6
  44. package/lib/renderer/config-converter/config-converter.helper.d.ts +1 -0
  45. package/lib/renderer/form-view/definitions/form-view.actions.definition.d.ts +2 -0
  46. package/lib/renderer/form-view/definitions/form-view.fields.definition.d.ts +52 -28
  47. package/lib/renderer/form-view/form-view.api.service.d.ts +0 -1
  48. package/lib/renderer/form-view/form-view.component.d.ts +23 -18
  49. package/lib/renderer/form-view/form-view.constants.d.ts +16 -0
  50. package/lib/renderer/form-view/form-view.module.d.ts +10 -8
  51. package/lib/renderer/form-view/form-view.service.d.ts +1 -2
  52. package/lib/renderer/form-view/helpers/form-view.camera.helper.d.ts +5 -7
  53. package/lib/renderer/form-view/helpers/form-view.defaults.helper.d.ts +4 -6
  54. package/lib/renderer/form-view/helpers/form-view.fields.helper.d.ts +1 -1
  55. package/lib/renderer/form-view/helpers/form-view.form-validations.helper.d.ts +1 -2
  56. package/lib/renderer/form-view/helpers/form-view.tasks.helper.d.ts +1 -1
  57. package/lib/renderer/form-view/pipes/filter-image-url-or-base64-from-object.pipe.d.ts +7 -0
  58. package/lib/renderer/form-view/pipes/filter-video-url-or-base64-from-object.pipe.d.ts +7 -0
  59. package/lib/renderer/forms-list/forms-list.component.d.ts +1 -2
  60. package/package.json +1 -1
@@ -1,37 +1,33 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
2
  import { checkObjectKeyExists, logMethod, Source } from "kwikid-toolkit";
3
3
  export class CameraHelper {
4
- constructor(field, formFields, allFormsData, formData, previousFormData, extraData) {
5
- this.cameraData = {};
4
+ constructor(field, object) {
5
+ this.activeCameraData = {};
6
6
  this._field = field;
7
- this._formFields = formFields;
8
- this._allFormsData = allFormsData;
9
- this._formData = formData;
10
- this._previousFormData = previousFormData;
11
- this._extraData = extraData;
7
+ this._object = object;
8
+ }
9
+ get object() {
10
+ return this._object;
11
+ }
12
+ set object(value) {
13
+ this._object = value;
12
14
  }
13
15
  getCameraWatermarkData() {
16
+ var _a, _b;
14
17
  return __awaiter(this, void 0, void 0, function* () {
15
- const sources = this._field.properties["watermarkDataSources"];
16
- for (let source of sources) {
17
- const sources = new Source({
18
- FIELD_CONFIG: this._field,
19
- FORM_FIELDS: this._formFields,
20
- FORM_DATA: this._formData,
21
- PREVIOUS_FORM_DATA: this._previousFormData,
22
- ALL_FORMS_DATA: this._allFormsData,
23
- EXTRA_DATA: this._extraData
24
- });
18
+ const sources = (_b = (_a = this._field.properties.features) === null || _a === void 0 ? void 0 : _a.watermark) === null || _b === void 0 ? void 0 : _b.sources;
19
+ for (const source of sources) {
20
+ const sources = new Source(Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field }));
25
21
  const value = yield sources.getValueFromSource(source);
26
22
  if (checkObjectKeyExists(source, "id")) {
27
- this.cameraData[source.id] = value;
23
+ this.activeCameraData[source.id] = value;
28
24
  }
29
25
  }
30
- return this.cameraData;
26
+ return this.activeCameraData;
31
27
  });
32
28
  }
33
29
  }
34
30
  __decorate([
35
31
  logMethod
36
32
  ], CameraHelper.prototype, "getCameraWatermarkData", null);
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmNhbWVyYS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuY2FtZXJhLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU16RSxNQUFNLE9BQU8sWUFBWTtJQVN2QixZQUNFLEtBQW9CLEVBQ3BCLFVBQWlCLEVBQ2pCLFlBQWlCLEVBQ2pCLFFBQWEsRUFDYixnQkFBcUIsRUFDckIsU0FBYztRQVJSLGVBQVUsR0FBUSxFQUFFLENBQUM7UUFVM0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxZQUFZLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFHSyxzQkFBc0I7O1lBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLHNCQUFzQixDQUFDLENBQUM7WUFFL0QsS0FBSyxJQUFJLE1BQU0sSUFBSSxPQUFPLEVBQUU7Z0JBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFDO29CQUN6QixZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU07b0JBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztvQkFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO29CQUN6QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCO29CQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWE7b0JBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtpQkFDNUIsQ0FBQyxDQUFDO2dCQUNILE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUV2RCxJQUFJLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtvQkFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNwQzthQUNGO1lBRUQsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3pCLENBQUM7S0FBQTtDQUNGO0FBckJDO0lBREMsU0FBUzswREFxQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjaGVja09iamVjdEtleUV4aXN0cywgbG9nTWV0aG9kLCBTb3VyY2UgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCB7XG4gIFRGaWVsZCxcbiAgVEZpZWxkQ2FwdHVyZVxufSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvZm9ybS12aWV3LmZpZWxkcy5kZWZpbml0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBDYW1lcmFIZWxwZXIge1xuICBwcml2YXRlIF9hbGxGb3Jtc0RhdGE6IGFueTtcbiAgcHJpdmF0ZSBfZmllbGQ6IFRGaWVsZDtcbiAgcHJpdmF0ZSBfZm9ybUZpZWxkczogYW55W107XG4gIHByaXZhdGUgX2Zvcm1EYXRhOiBhbnk7XG4gIHByaXZhdGUgX3ByZXZpb3VzRm9ybURhdGE6IGFueTtcbiAgcHJpdmF0ZSBfZXh0cmFEYXRhOiBhbnk7XG4gIHByaXZhdGUgY2FtZXJhRGF0YTogYW55ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZmllbGQ6IFRGaWVsZENhcHR1cmUsXG4gICAgZm9ybUZpZWxkczogYW55W10sXG4gICAgYWxsRm9ybXNEYXRhOiBhbnksXG4gICAgZm9ybURhdGE6IGFueSxcbiAgICBwcmV2aW91c0Zvcm1EYXRhOiBhbnksXG4gICAgZXh0cmFEYXRhOiBhbnlcbiAgKSB7XG4gICAgdGhpcy5fZmllbGQgPSBmaWVsZDtcbiAgICB0aGlzLl9mb3JtRmllbGRzID0gZm9ybUZpZWxkcztcbiAgICB0aGlzLl9hbGxGb3Jtc0RhdGEgPSBhbGxGb3Jtc0RhdGE7XG4gICAgdGhpcy5fZm9ybURhdGEgPSBmb3JtRGF0YTtcbiAgICB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhID0gcHJldmlvdXNGb3JtRGF0YTtcbiAgICB0aGlzLl9leHRyYURhdGEgPSBleHRyYURhdGE7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGFzeW5jIGdldENhbWVyYVdhdGVybWFya0RhdGEoKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBzb3VyY2VzID0gdGhpcy5fZmllbGQucHJvcGVydGllc1tcIndhdGVybWFya0RhdGFTb3VyY2VzXCJdO1xuXG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IHNvdXJjZXMgPSBuZXcgU291cmNlKHtcbiAgICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZCxcbiAgICAgICAgRk9STV9GSUVMRFM6IHRoaXMuX2Zvcm1GaWVsZHMsXG4gICAgICAgIEZPUk1fREFUQTogdGhpcy5fZm9ybURhdGEsXG4gICAgICAgIFBSRVZJT1VTX0ZPUk1fREFUQTogdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcbiAgICAgICAgQUxMX0ZPUk1TX0RBVEE6IHRoaXMuX2FsbEZvcm1zRGF0YSxcbiAgICAgICAgRVhUUkFfREFUQTogdGhpcy5fZXh0cmFEYXRhXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHZhbHVlID0gYXdhaXQgc291cmNlcy5nZXRWYWx1ZUZyb21Tb3VyY2Uoc291cmNlKTtcblxuICAgICAgaWYgKGNoZWNrT2JqZWN0S2V5RXhpc3RzKHNvdXJjZSwgXCJpZFwiKSkge1xuICAgICAgICB0aGlzLmNhbWVyYURhdGFbc291cmNlLmlkXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmNhbWVyYURhdGE7XG4gIH1cbn1cbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmNhbWVyYS5oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtZm9ybXMvc3JjL2xpYi9yZW5kZXJlci9mb3JtLXZpZXcvaGVscGVycy9mb3JtLXZpZXcuY2FtZXJhLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd6RSxNQUFNLE9BQU8sWUFBWTtJQWV2QixZQUFZLEtBQW9CLEVBQUUsTUFBVztRQUZyQyxxQkFBZ0IsR0FBUSxFQUFFLENBQUM7UUFHakMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEIsQ0FBQztJQWZELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBWUssc0JBQXNCOzs7WUFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBQSxNQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBa0IsQ0FBQyxRQUFRLDBDQUFFLFNBQVMsMENBQy9ELE9BQU8sQ0FBQztZQUVaLEtBQUssTUFBTSxNQUFNLElBQUksT0FBTyxFQUFFO2dCQUM1QixNQUFNLE9BQU8sR0FBRyxJQUFJLE1BQU0saUNBQ3JCLElBQUksQ0FBQyxPQUFPLEtBQ2YsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLElBQ3pCLENBQUM7Z0JBQ0gsTUFBTSxLQUFLLEdBQUcsTUFBTSxPQUFPLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7Z0JBRXZELElBQUksb0JBQW9CLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFO29CQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztpQkFDMUM7YUFDRjtZQUVELE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDOztLQUM5QjtDQUNGO0FBbEJDO0lBREMsU0FBUzswREFrQlQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjaGVja09iamVjdEtleUV4aXN0cywgbG9nTWV0aG9kLCBTb3VyY2UgfSBmcm9tIFwia3dpa2lkLXRvb2xraXRcIjtcbmltcG9ydCB7IFRGaWVsZENhcHR1cmUgfSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvZm9ybS12aWV3LmZpZWxkcy5kZWZpbml0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBDYW1lcmFIZWxwZXIge1xuICBwcml2YXRlIF9vYmplY3Q6IGFueTtcblxuICBnZXQgb2JqZWN0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX29iamVjdDtcbiAgfVxuXG4gIHNldCBvYmplY3QodmFsdWU6IGFueSkge1xuICAgIHRoaXMuX29iamVjdCA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmllbGQ6IGFueTtcblxuICBwcml2YXRlIGFjdGl2ZUNhbWVyYURhdGE6IGFueSA9IHt9O1xuXG4gIGNvbnN0cnVjdG9yKGZpZWxkOiBURmllbGRDYXB0dXJlLCBvYmplY3Q6IGFueSkge1xuICAgIHRoaXMuX2ZpZWxkID0gZmllbGQ7XG4gICAgdGhpcy5fb2JqZWN0ID0gb2JqZWN0O1xuICB9XG5cbiAgQGxvZ01ldGhvZFxuICBhc3luYyBnZXRDYW1lcmFXYXRlcm1hcmtEYXRhKCk6IFByb21pc2U8YW55PiB7XG4gICAgY29uc3Qgc291cmNlcyA9ICh0aGlzLl9maWVsZC5wcm9wZXJ0aWVzIGFzIGFueSkuZmVhdHVyZXM/LndhdGVybWFya1xuICAgICAgPy5zb3VyY2VzO1xuXG4gICAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgICAgY29uc3Qgc291cmNlcyA9IG5ldyBTb3VyY2Uoe1xuICAgICAgICAuLi50aGlzLl9vYmplY3QsXG4gICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGRcbiAgICAgIH0pO1xuICAgICAgY29uc3QgdmFsdWUgPSBhd2FpdCBzb3VyY2VzLmdldFZhbHVlRnJvbVNvdXJjZShzb3VyY2UpO1xuXG4gICAgICBpZiAoY2hlY2tPYmplY3RLZXlFeGlzdHMoc291cmNlLCBcImlkXCIpKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlQ2FtZXJhRGF0YVtzb3VyY2UuaWRdID0gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlQ2FtZXJhRGF0YTtcbiAgfVxufVxuIl19
@@ -1,64 +1,72 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
- import { Action, Condition, isEmptyValue, logMethod, Rule, setValueToObjectPath, Source } from "kwikid-toolkit";
2
+ /* eslint-disable no-unused-vars */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ import { Action, Condition, Rule, Source, checkObjectKeyExists, isEmptyValue, isNotEmptyValue, logMethod, setValueToObjectPath } from "kwikid-toolkit";
3
5
  import { convertFormFieldEmptyValueToKwikUIFormat } from "./form-view.fields.helper";
4
6
  export class Defaults {
5
- constructor(field, formFields, allFormsData, formData, previousFormData, extraData, takeAction) {
7
+ constructor(field, object, takeAction) {
6
8
  this._field = field;
7
- this._formFields = formFields;
8
- this._allFormsData = allFormsData;
9
- this._formData = formData;
10
- this._previousFormData = previousFormData;
11
- this._extraData = extraData;
9
+ this._object = object;
12
10
  this._takeAction = takeAction;
13
11
  }
12
+ get object() {
13
+ return this._object;
14
+ }
15
+ set object(value) {
16
+ this._object = value;
17
+ }
14
18
  getFormFieldValue() {
15
19
  return __awaiter(this, void 0, void 0, function* () {
16
20
  let defaultValue;
17
- const sources = this._field.default.value.sources;
18
- let sourceIndex = 0;
19
- for (let source of sources) {
20
- const sources = new Source({
21
- FIELD_CONFIG: this._field,
22
- FORM_FIELDS: this._formFields,
23
- FORM_DATA: this._formData,
24
- PREVIOUS_FORM_DATA: this._previousFormData,
25
- ALL_FORMS_DATA: this._allFormsData,
26
- EXTRA_DATA: this._extraData
27
- });
28
- const value = sources.getValueFromSource(source);
29
- // Set the Value of current source.
30
- this._field = setValueToObjectPath(this._field, `default.value.sources.[${sourceIndex}].value`, value);
31
- const validation = source.validation;
32
- const triggers = validation.triggers;
33
- const rules = validation.rules;
34
- const actions = validation.actions;
35
- const rulesMapping = new Rule(rules, {
36
- FIELD_CONFIG: this._field,
37
- FORM_FIELDS: this._formFields,
38
- FORM_DATA: this._formData,
39
- PREVIOUS_FORM_DATA: this._previousFormData,
40
- ALL_FORMS_DATA: this._allFormsData,
41
- EXTRA_DATA: this._extraData
42
- }).mapping();
43
- for (let action of actions) {
21
+ if (checkObjectKeyExists(this._field.default.value, "value") &&
22
+ isNotEmptyValue(this._field.default.value.value)) {
23
+ defaultValue = this._field.default.value.value;
24
+ if (isEmptyValue(defaultValue)) {
25
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
26
+ }
27
+ }
28
+ else if (!checkObjectKeyExists(this._field.default.value, "sources")) {
29
+ const engine = this._field.default.value;
30
+ const { triggers, rules, actions } = engine;
31
+ const rulesMapping = new Rule(rules, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field })).mapping();
32
+ for (const action of actions) {
44
33
  const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
45
34
  if (conditionEvaluation) {
46
- const actions = new Action(action, rulesMapping, {
47
- FIELD_CONFIG: this._field,
48
- FORM_FIELDS: this._formFields,
49
- FORM_DATA: this._formData,
50
- PREVIOUS_FORM_DATA: this._previousFormData,
51
- ALL_FORMS_DATA: this._allFormsData,
52
- EXTRA_DATA: this._extraData
53
- }, this._takeAction);
35
+ const actions = new Action(action, rulesMapping, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field }), this._takeAction);
54
36
  yield actions.execute();
55
37
  }
56
38
  }
57
- sourceIndex++;
39
+ defaultValue = this._field.default.value.value;
40
+ if (isEmptyValue(defaultValue)) {
41
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
42
+ }
58
43
  }
59
- defaultValue = this._field.default.value.value;
60
- if (isEmptyValue(defaultValue)) {
61
- defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
44
+ else {
45
+ const { sources } = this._field.default.value;
46
+ let sourceIndex = 0;
47
+ for (const source of sources) {
48
+ const sources = new Source(Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field }));
49
+ const value = sources.getValueFromSource(source);
50
+ // Set the Value of current source.
51
+ this._field = setValueToObjectPath(this._field, `default.value.sources.[${sourceIndex}].value`, value);
52
+ const { validation } = source;
53
+ const { triggers } = validation;
54
+ const { rules } = validation;
55
+ const { actions } = validation;
56
+ const rulesMapping = new Rule(rules, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field })).mapping();
57
+ for (const action of actions) {
58
+ const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
59
+ if (conditionEvaluation) {
60
+ const actions = new Action(action, rulesMapping, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field }), this._takeAction);
61
+ yield actions.execute();
62
+ }
63
+ }
64
+ sourceIndex += 1;
65
+ }
66
+ defaultValue = this._field.default.value.value;
67
+ if (isEmptyValue(defaultValue)) {
68
+ defaultValue = convertFormFieldEmptyValueToKwikUIFormat(this._field);
69
+ }
62
70
  }
63
71
  return defaultValue;
64
72
  });
@@ -66,27 +74,13 @@ export class Defaults {
66
74
  getFormFieldApiValue() {
67
75
  return __awaiter(this, void 0, void 0, function* () {
68
76
  const apiConfig = this._field.default.api;
69
- const rules = apiConfig.rules;
70
- const actions = apiConfig.actions;
71
- const rulesMapping = new Rule(rules, {
72
- FIELD_CONFIG: this._field,
73
- FORM_FIELDS: this._formFields,
74
- FORM_DATA: this._formData,
75
- PREVIOUS_FORM_DATA: this._previousFormData,
76
- ALL_FORMS_DATA: this._allFormsData,
77
- EXTRA_DATA: this._extraData
78
- }).mapping();
79
- for (let action of actions) {
77
+ const { rules } = apiConfig;
78
+ const { actions } = apiConfig;
79
+ const rulesMapping = new Rule(rules, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field })).mapping();
80
+ for (const action of actions) {
80
81
  const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
81
82
  if (conditionEvaluation) {
82
- const actions = new Action(action, rulesMapping, {
83
- FIELD_CONFIG: this._field,
84
- FORM_FIELDS: this._formFields,
85
- FORM_DATA: this._formData,
86
- PREVIOUS_FORM_DATA: this._previousFormData,
87
- ALL_FORMS_DATA: this._allFormsData,
88
- EXTRA_DATA: this._extraData
89
- }, this._takeAction);
83
+ const actions = new Action(action, rulesMapping, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field }), this._takeAction);
90
84
  yield actions.execute();
91
85
  }
92
86
  }
@@ -95,27 +89,13 @@ export class Defaults {
95
89
  getFormFieldOptions() {
96
90
  return __awaiter(this, void 0, void 0, function* () {
97
91
  const optionsConfig = this._field.default.options;
98
- const rules = optionsConfig.rules;
99
- const actions = optionsConfig.actions;
100
- const rulesMapping = new Rule(rules, {
101
- FIELD_CONFIG: this._field,
102
- FORM_FIELDS: this._formFields,
103
- FORM_DATA: this._formData,
104
- PREVIOUS_FORM_DATA: this._previousFormData,
105
- ALL_FORMS_DATA: this._allFormsData,
106
- EXTRA_DATA: this._extraData
107
- }).mapping();
108
- for (let action of actions) {
92
+ const { rules } = optionsConfig;
93
+ const { actions } = optionsConfig;
94
+ const rulesMapping = new Rule(rules, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field })).mapping();
95
+ for (const action of actions) {
109
96
  const conditionEvaluation = new Condition(action.condition, rulesMapping).evaluate();
110
97
  if (conditionEvaluation) {
111
- const actions = new Action(action, rulesMapping, {
112
- FIELD_CONFIG: this._field,
113
- FORM_FIELDS: this._formFields,
114
- FORM_DATA: this._formData,
115
- PREVIOUS_FORM_DATA: this._previousFormData,
116
- ALL_FORMS_DATA: this._allFormsData,
117
- EXTRA_DATA: this._extraData
118
- }, this._takeAction);
98
+ const actions = new Action(action, rulesMapping, Object.assign(Object.assign({}, this._object), { FIELD_CONFIG: this._field }), this._takeAction);
119
99
  yield actions.execute();
120
100
  }
121
101
  }
@@ -131,4 +111,4 @@ __decorate([
131
111
  __decorate([
132
112
  logMethod
133
113
  ], Defaults.prototype, "getFormFieldOptions", null);
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmRlZmF1bHRzLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy5kZWZhdWx0cy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixTQUFTLEVBQ1QsSUFBSSxFQUNKLG9CQUFvQixFQUNwQixNQUFNLEVBSVAsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVyRixNQUFNLE9BQU8sUUFBUTtJQVNuQixZQUNFLEtBQWEsRUFDYixVQUFpQixFQUNqQixZQUFpQixFQUNqQixRQUFhLEVBQ2IsZ0JBQXFCLEVBQ3JCLFNBQWMsRUFDZCxVQUFvQjtRQUVwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQztRQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUMxQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQUdLLGlCQUFpQjs7WUFDckIsSUFBSSxZQUFpQixDQUFDO1lBRXRCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7WUFFbEQsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLEtBQUssSUFBSSxNQUFNLElBQUksT0FB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QUFJLENBQUMsS0FBSyxFQUFFO2dCQUNuQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2dCQUMxQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWE7Z0JBQ2xDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTthQUM1QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFYixLQUFLLElBQUksTUFBTSxJQUFJLE9BQU8sRUFBRTtnQkFDMUIsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLFNBQVMsQ0FDdkMsTUFBTSxDQUFDLFNBQVMsRUFDaEIsWUFBWSxDQUNiLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBRWIsSUFBSSxtQkFBbUIsRUFBRTtvQkFDdkIsTUFBTSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQ3hCLE1BQU0sRUFDTixZQUFZLEVBQ1o7d0JBQ0UsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNO3dCQUN6QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7d0JBQzdCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUzt3QkFDekIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjt3QkFDMUMsY0FBYyxFQUFFLElBQUksQ0FBQyxhQUFhO3dCQUNsQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7cUJBQzVCLEVBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztvQkFFRixNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztpQkFDekI7YUFDRjtRQUNILENBQUM7S0FBQTtDQUNGO0FBL0pDO0lBREMsU0FBUztpREEyRVQ7QUFHRDtJQURDLFNBQVM7b0RBd0NUO0FBR0Q7SUFEQyxTQUFTO21EQXdDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFjdGlvbixcbiAgQ29uZGl0aW9uLFxuICBpc0VtcHR5VmFsdWUsXG4gIGxvZ01ldGhvZCxcbiAgUnVsZSxcbiAgc2V0VmFsdWVUb09iamVjdFBhdGgsXG4gIFNvdXJjZSxcbiAgVEFjdGlvbixcbiAgVFJ1bGUsXG4gIFRFbmdpbmVcbn0gZnJvbSBcImt3aWtpZC10b29sa2l0XCI7XG5pbXBvcnQgeyBURmllbGQgfSBmcm9tIFwiLi4vZGVmaW5pdGlvbnMvZm9ybS12aWV3LmZpZWxkcy5kZWZpbml0aW9uXCI7XG5pbXBvcnQgeyBUVHJpZ2dlciB9IGZyb20gXCIuLi9kZWZpbml0aW9ucy9mb3JtLXZpZXcudHJpZ2dlcnMuZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgY29udmVydEZvcm1GaWVsZEVtcHR5VmFsdWVUb0t3aWtVSUZvcm1hdCB9IGZyb20gXCIuL2Zvcm0tdmlldy5maWVsZHMuaGVscGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0cyB7XG4gIHByaXZhdGUgX2FsbEZvcm1zRGF0YTogYW55O1xuICBwcml2YXRlIF9maWVsZDogVEZpZWxkO1xuICBwcml2YXRlIF9mb3JtRmllbGRzOiBhbnlbXTtcbiAgcHJpdmF0ZSBfZm9ybURhdGE6IGFueTtcbiAgcHJpdmF0ZSBfcHJldmlvdXNGb3JtRGF0YTogYW55O1xuICBwcml2YXRlIF9leHRyYURhdGE6IGFueTtcbiAgcHJpdmF0ZSBfdGFrZUFjdGlvbjogRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZmllbGQ6IFRGaWVsZCxcbiAgICBmb3JtRmllbGRzOiBhbnlbXSxcbiAgICBhbGxGb3Jtc0RhdGE6IGFueSxcbiAgICBmb3JtRGF0YTogYW55LFxuICAgIHByZXZpb3VzRm9ybURhdGE6IGFueSxcbiAgICBleHRyYURhdGE6IGFueSxcbiAgICB0YWtlQWN0aW9uOiBGdW5jdGlvblxuICApIHtcbiAgICB0aGlzLl9maWVsZCA9IGZpZWxkO1xuICAgIHRoaXMuX2Zvcm1GaWVsZHMgPSBmb3JtRmllbGRzO1xuICAgIHRoaXMuX2FsbEZvcm1zRGF0YSA9IGFsbEZvcm1zRGF0YTtcbiAgICB0aGlzLl9mb3JtRGF0YSA9IGZvcm1EYXRhO1xuICAgIHRoaXMuX3ByZXZpb3VzRm9ybURhdGEgPSBwcmV2aW91c0Zvcm1EYXRhO1xuICAgIHRoaXMuX2V4dHJhRGF0YSA9IGV4dHJhRGF0YTtcbiAgICB0aGlzLl90YWtlQWN0aW9uID0gdGFrZUFjdGlvbjtcbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXN5bmMgZ2V0Rm9ybUZpZWxkVmFsdWUoKSB7XG4gICAgbGV0IGRlZmF1bHRWYWx1ZTogYW55O1xuXG4gICAgY29uc3Qgc291cmNlcyA9IHRoaXMuX2ZpZWxkLmRlZmF1bHQudmFsdWUuc291cmNlcztcblxuICAgIGxldCBzb3VyY2VJbmRleCA9IDA7XG4gICAgZm9yIChsZXQgc291cmNlIG9mIHNvdXJjZXMpIHtcbiAgICAgIGNvbnN0IHNvdXJjZXMgPSBuZXcgU291cmNlKHtcbiAgICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZCxcbiAgICAgICAgRk9STV9GSUVMRFM6IHRoaXMuX2Zvcm1GaWVsZHMsXG4gICAgICAgIEZPUk1fREFUQTogdGhpcy5fZm9ybURhdGEsXG4gICAgICAgIFBSRVZJT1VTX0ZPUk1fREFUQTogdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcbiAgICAgICAgQUxMX0ZPUk1TX0RBVEE6IHRoaXMuX2FsbEZvcm1zRGF0YSxcbiAgICAgICAgRVhUUkFfREFUQTogdGhpcy5fZXh0cmFEYXRhXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IHZhbHVlID0gc291cmNlcy5nZXRWYWx1ZUZyb21Tb3VyY2Uoc291cmNlKTtcblxuICAgICAgLy8gU2V0IHRoZSBWYWx1ZSBvZiBjdXJyZW50IHNvdXJjZS5cbiAgICAgIHRoaXMuX2ZpZWxkID0gc2V0VmFsdWVUb09iamVjdFBhdGgoXG4gICAgICAgIHRoaXMuX2ZpZWxkLFxuICAgICAgICBgZGVmYXVsdC52YWx1ZS5zb3VyY2VzLlske3NvdXJjZUluZGV4fV0udmFsdWVgLFxuICAgICAgICB2YWx1ZVxuICAgICAgKTtcblxuICAgICAgY29uc3QgdmFsaWRhdGlvbjogVEVuZ2luZSA9IChzb3VyY2UgYXMgYW55KS52YWxpZGF0aW9uO1xuXG4gICAgICBjb25zdCB0cmlnZ2VyczogQXJyYXk8VFRyaWdnZXI+ID0gdmFsaWRhdGlvbi50cmlnZ2VycztcbiAgICAgIGNvbnN0IHJ1bGVzOiBBcnJheTxUUnVsZT4gPSB2YWxpZGF0aW9uLnJ1bGVzO1xuICAgICAgY29uc3QgYWN0aW9uczogQXJyYXk8VEFjdGlvbj4gPSB2YWxpZGF0aW9uLmFjdGlvbnM7XG5cbiAgICAgIGNvbnN0IHJ1bGVzTWFwcGluZyA9IG5ldyBSdWxlKHJ1bGVzLCB7XG4gICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGQsXG4gICAgICAgIEZPUk1fRklFTERTOiB0aGlzLl9mb3JtRmllbGRzLFxuICAgICAgICBGT1JNX0RBVEE6IHRoaXMuX2Zvcm1EYXRhLFxuICAgICAgICBQUkVWSU9VU19GT1JNX0RBVEE6IHRoaXMuX3ByZXZpb3VzRm9ybURhdGEsXG4gICAgICAgIEFMTF9GT1JNU19EQVRBOiB0aGlzLl9hbGxGb3Jtc0RhdGEsXG4gICAgICAgIEVYVFJBX0RBVEE6IHRoaXMuX2V4dHJhRGF0YVxuICAgICAgfSkubWFwcGluZygpO1xuXG4gICAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9ucykge1xuICAgICAgICBjb25zdCBjb25kaXRpb25FdmFsdWF0aW9uID0gbmV3IENvbmRpdGlvbihcbiAgICAgICAgICBhY3Rpb24uY29uZGl0aW9uLFxuICAgICAgICAgIHJ1bGVzTWFwcGluZ1xuICAgICAgICApLmV2YWx1YXRlKCk7XG5cbiAgICAgICAgaWYgKGNvbmRpdGlvbkV2YWx1YXRpb24pIHtcbiAgICAgICAgICBjb25zdCBhY3Rpb25zID0gbmV3IEFjdGlvbihcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIHJ1bGVzTWFwcGluZyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZCxcbiAgICAgICAgICAgICAgRk9STV9GSUVMRFM6IHRoaXMuX2Zvcm1GaWVsZHMsXG4gICAgICAgICAgICAgIEZPUk1fREFUQTogdGhpcy5fZm9ybURhdGEsXG4gICAgICAgICAgICAgIFBSRVZJT1VTX0ZPUk1fREFUQTogdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcbiAgICAgICAgICAgICAgQUxMX0ZPUk1TX0RBVEE6IHRoaXMuX2FsbEZvcm1zRGF0YSxcbiAgICAgICAgICAgICAgRVhUUkFfREFUQTogdGhpcy5fZXh0cmFEYXRhXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGhpcy5fdGFrZUFjdGlvblxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBhd2FpdCBhY3Rpb25zLmV4ZWN1dGUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzb3VyY2VJbmRleCsrO1xuICAgIH1cblxuICAgIGRlZmF1bHRWYWx1ZSA9IHRoaXMuX2ZpZWxkLmRlZmF1bHQudmFsdWUudmFsdWU7XG5cbiAgICBpZiAoaXNFbXB0eVZhbHVlKGRlZmF1bHRWYWx1ZSkpIHtcbiAgICAgIGRlZmF1bHRWYWx1ZSA9IGNvbnZlcnRGb3JtRmllbGRFbXB0eVZhbHVlVG9Ld2lrVUlGb3JtYXQodGhpcy5fZmllbGQpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGFzeW5jIGdldEZvcm1GaWVsZEFwaVZhbHVlKCkge1xuICAgIGNvbnN0IGFwaUNvbmZpZyA9IHRoaXMuX2ZpZWxkLmRlZmF1bHQuYXBpO1xuXG4gICAgY29uc3QgcnVsZXMgPSBhcGlDb25maWcucnVsZXM7XG4gICAgY29uc3QgYWN0aW9ucyA9IGFwaUNvbmZpZy5hY3Rpb25zO1xuXG4gICAgY29uc3QgcnVsZXNNYXBwaW5nID0gbmV3IFJ1bGUocnVsZXMsIHtcbiAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGQsXG4gICAgICBGT1JNX0ZJRUxEUzogdGhpcy5fZm9ybUZpZWxkcyxcbiAgICAgIEZPUk1fREFUQTogdGhpcy5fZm9ybURhdGEsXG4gICAgICBQUkVWSU9VU19GT1JNX0RBVEE6IHRoaXMuX3ByZXZpb3VzRm9ybURhdGEsXG4gICAgICBBTExfRk9STVNfREFUQTogdGhpcy5fYWxsRm9ybXNEYXRhLFxuICAgICAgRVhUUkFfREFUQTogdGhpcy5fZXh0cmFEYXRhXG4gICAgfSkubWFwcGluZygpO1xuXG4gICAgZm9yIChsZXQgYWN0aW9uIG9mIGFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvbkV2YWx1YXRpb24gPSBuZXcgQ29uZGl0aW9uKFxuICAgICAgICBhY3Rpb24uY29uZGl0aW9uLFxuICAgICAgICBydWxlc01hcHBpbmdcbiAgICAgICkuZXZhbHVhdGUoKTtcblxuICAgICAgaWYgKGNvbmRpdGlvbkV2YWx1YXRpb24pIHtcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IG5ldyBBY3Rpb24oXG4gICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgIHJ1bGVzTWFwcGluZyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBGSUVMRF9DT05GSUc6IHRoaXMuX2ZpZWxkLFxuICAgICAgICAgICAgRk9STV9GSUVMRFM6IHRoaXMuX2Zvcm1GaWVsZHMsXG4gICAgICAgICAgICBGT1JNX0RBVEE6IHRoaXMuX2Zvcm1EYXRhLFxuICAgICAgICAgICAgUFJFVklPVVNfRk9STV9EQVRBOiB0aGlzLl9wcmV2aW91c0Zvcm1EYXRhLFxuICAgICAgICAgICAgQUxMX0ZPUk1TX0RBVEE6IHRoaXMuX2FsbEZvcm1zRGF0YSxcbiAgICAgICAgICAgIEVYVFJBX0RBVEE6IHRoaXMuX2V4dHJhRGF0YVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGhpcy5fdGFrZUFjdGlvblxuICAgICAgICApO1xuXG4gICAgICAgIGF3YWl0IGFjdGlvbnMuZXhlY3V0ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXN5bmMgZ2V0Rm9ybUZpZWxkT3B0aW9ucygpIHtcbiAgICBjb25zdCBvcHRpb25zQ29uZmlnID0gdGhpcy5fZmllbGQuZGVmYXVsdC5vcHRpb25zO1xuXG4gICAgY29uc3QgcnVsZXMgPSBvcHRpb25zQ29uZmlnLnJ1bGVzO1xuICAgIGNvbnN0IGFjdGlvbnMgPSBvcHRpb25zQ29uZmlnLmFjdGlvbnM7XG5cbiAgICBjb25zdCBydWxlc01hcHBpbmcgPSBuZXcgUnVsZShydWxlcywge1xuICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZCxcbiAgICAgIEZPUk1fRklFTERTOiB0aGlzLl9mb3JtRmllbGRzLFxuICAgICAgRk9STV9EQVRBOiB0aGlzLl9mb3JtRGF0YSxcbiAgICAgIFBSRVZJT1VTX0ZPUk1fREFUQTogdGhpcy5fcHJldmlvdXNGb3JtRGF0YSxcbiAgICAgIEFMTF9GT1JNU19EQVRBOiB0aGlzLl9hbGxGb3Jtc0RhdGEsXG4gICAgICBFWFRSQV9EQVRBOiB0aGlzLl9leHRyYURhdGFcbiAgICB9KS5tYXBwaW5nKCk7XG5cbiAgICBmb3IgKGxldCBhY3Rpb24gb2YgYWN0aW9ucykge1xuICAgICAgY29uc3QgY29uZGl0aW9uRXZhbHVhdGlvbiA9IG5ldyBDb25kaXRpb24oXG4gICAgICAgIGFjdGlvbi5jb25kaXRpb24sXG4gICAgICAgIHJ1bGVzTWFwcGluZ1xuICAgICAgKS5ldmFsdWF0ZSgpO1xuXG4gICAgICBpZiAoY29uZGl0aW9uRXZhbHVhdGlvbikge1xuICAgICAgICBjb25zdCBhY3Rpb25zID0gbmV3IEFjdGlvbihcbiAgICAgICAgICBhY3Rpb24sXG4gICAgICAgICAgcnVsZXNNYXBwaW5nLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGQsXG4gICAgICAgICAgICBGT1JNX0ZJRUxEUzogdGhpcy5fZm9ybUZpZWxkcyxcbiAgICAgICAgICAgIEZPUk1fREFUQTogdGhpcy5fZm9ybURhdGEsXG4gICAgICAgICAgICBQUkVWSU9VU19GT1JNX0RBVEE6IHRoaXMuX3ByZXZpb3VzRm9ybURhdGEsXG4gICAgICAgICAgICBBTExfRk9STVNfREFUQTogdGhpcy5fYWxsRm9ybXNEYXRhLFxuICAgICAgICAgICAgRVhUUkFfREFUQTogdGhpcy5fZXh0cmFEYXRhXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aGlzLl90YWtlQWN0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgYXdhaXQgYWN0aW9ucy5leGVjdXRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12aWV3LmRlZmF1bHRzLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1mb3Jtcy9zcmMvbGliL3JlbmRlcmVyL2Zvcm0tdmlldy9oZWxwZXJzL2Zvcm0tdmlldy5kZWZhdWx0cy5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG1DQUFtQztBQUNuQyxzREFBc0Q7QUFDdEQsT0FBTyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsSUFBSSxFQUNKLE1BQU0sRUFFTixvQkFBb0IsRUFDcEIsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1Qsb0JBQW9CLEVBQ3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLHdDQUF3QyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFckYsTUFBTSxPQUFPLFFBQVE7SUFlbkIsWUFBWSxLQUFhLEVBQUUsTUFBVyxFQUFFLFVBQWU7UUFDckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDaEMsQ0FBQztJQWhCRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQWFLLGlCQUFpQjs7WUFDckIsSUFBSSxZQUFpQixDQUFDO1lBRXRCLElBQ0Usb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztnQkFDeEQsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFDaEQ7Z0JB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bnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuaW1wb3J0IHtcbiAgQWN0aW9uLFxuICBDb25kaXRpb24sXG4gIFJ1bGUsXG4gIFNvdXJjZSxcbiAgVEVuZ2luZSxcbiAgY2hlY2tPYmplY3RLZXlFeGlzdHMsXG4gIGlzRW1wdHlWYWx1ZSxcbiAgaXNOb3RFbXB0eVZhbHVlLFxuICBsb2dNZXRob2QsXG4gIHNldFZhbHVlVG9PYmplY3RQYXRoXG59IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuaW1wb3J0IHsgVEZpZWxkIH0gZnJvbSBcIi4uL2RlZmluaXRpb25zL2Zvcm0tdmlldy5maWVsZHMuZGVmaW5pdGlvblwiO1xuaW1wb3J0IHsgY29udmVydEZvcm1GaWVsZEVtcHR5VmFsdWVUb0t3aWtVSUZvcm1hdCB9IGZyb20gXCIuL2Zvcm0tdmlldy5maWVsZHMuaGVscGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBEZWZhdWx0cyB7XG4gIHByaXZhdGUgX29iamVjdDogYW55O1xuXG4gIGdldCBvYmplY3QoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fb2JqZWN0O1xuICB9XG5cbiAgc2V0IG9iamVjdCh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fb2JqZWN0ID0gdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIF9maWVsZDogYW55O1xuXG4gIHByaXZhdGUgX3Rha2VBY3Rpb246IGFueTtcblxuICBjb25zdHJ1Y3RvcihmaWVsZDogVEZpZWxkLCBvYmplY3Q6IGFueSwgdGFrZUFjdGlvbjogYW55KSB7XG4gICAgdGhpcy5fZmllbGQgPSBmaWVsZDtcbiAgICB0aGlzLl9vYmplY3QgPSBvYmplY3Q7XG4gICAgdGhpcy5fdGFrZUFjdGlvbiA9IHRha2VBY3Rpb247XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGFzeW5jIGdldEZvcm1GaWVsZFZhbHVlKCkge1xuICAgIGxldCBkZWZhdWx0VmFsdWU6IGFueTtcblxuICAgIGlmIChcbiAgICAgIGNoZWNrT2JqZWN0S2V5RXhpc3RzKHRoaXMuX2ZpZWxkLmRlZmF1bHQudmFsdWUsIFwidmFsdWVcIikgJiZcbiAgICAgIGlzTm90RW1wdHlWYWx1ZSh0aGlzLl9maWVsZC5kZWZhdWx0LnZhbHVlLnZhbHVlKVxuICAgICkge1xuICAgICAgZGVmYXVsdFZhbHVlID0gdGhpcy5fZmllbGQuZGVmYXVsdC52YWx1ZS52YWx1ZTtcblxuICAgICAgaWYgKGlzRW1wdHlWYWx1ZShkZWZhdWx0VmFsdWUpKSB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGNvbnZlcnRGb3JtRmllbGRFbXB0eVZhbHVlVG9Ld2lrVUlGb3JtYXQodGhpcy5fZmllbGQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWNoZWNrT2JqZWN0S2V5RXhpc3RzKHRoaXMuX2ZpZWxkLmRlZmF1bHQudmFsdWUsIFwic291cmNlc1wiKSkge1xuICAgICAgY29uc3QgZW5naW5lOiBURW5naW5lID0gdGhpcy5fZmllbGQuZGVmYXVsdC52YWx1ZSBhcyBhbnk7XG5cbiAgICAgIGNvbnN0IHsgdHJpZ2dlcnMsIHJ1bGVzLCBhY3Rpb25zIH0gPSBlbmdpbmU7XG5cbiAgICAgIGNvbnN0IHJ1bGVzTWFwcGluZyA9IG5ldyBSdWxlKHJ1bGVzLCB7XG4gICAgICAgIC4uLnRoaXMuX29iamVjdCxcbiAgICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZFxuICAgICAgfSkubWFwcGluZygpO1xuXG4gICAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbkV2YWx1YXRpb24gPSBuZXcgQ29uZGl0aW9uKFxuICAgICAgICAgIGFjdGlvbi5jb25kaXRpb24sXG4gICAgICAgICAgcnVsZXNNYXBwaW5nXG4gICAgICAgICkuZXZhbHVhdGUoKTtcblxuICAgICAgICBpZiAoY29uZGl0aW9uRXZhbHVhdGlvbikge1xuICAgICAgICAgIGNvbnN0IGFjdGlvbnMgPSBuZXcgQWN0aW9uKFxuICAgICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgICAgcnVsZXNNYXBwaW5nLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAuLi50aGlzLl9vYmplY3QsXG4gICAgICAgICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGlzLl90YWtlQWN0aW9uXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGF3YWl0IGFjdGlvbnMuZXhlY3V0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHRWYWx1ZSA9IHRoaXMuX2ZpZWxkLmRlZmF1bHQudmFsdWUudmFsdWU7XG5cbiAgICAgIGlmIChpc0VtcHR5VmFsdWUoZGVmYXVsdFZhbHVlKSkge1xuICAgICAgICBkZWZhdWx0VmFsdWUgPSBjb252ZXJ0Rm9ybUZpZWxkRW1wdHlWYWx1ZVRvS3dpa1VJRm9ybWF0KHRoaXMuX2ZpZWxkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBzb3VyY2VzIH0gPSB0aGlzLl9maWVsZC5kZWZhdWx0LnZhbHVlO1xuXG4gICAgICBsZXQgc291cmNlSW5kZXggPSAwO1xuICAgICAgZm9yIChjb25zdCBzb3VyY2Ugb2Ygc291cmNlcykge1xuICAgICAgICBjb25zdCBzb3VyY2VzID0gbmV3IFNvdXJjZSh7XG4gICAgICAgICAgLi4udGhpcy5fb2JqZWN0LFxuICAgICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGRcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gc291cmNlcy5nZXRWYWx1ZUZyb21Tb3VyY2Uoc291cmNlKTtcblxuICAgICAgICAvLyBTZXQgdGhlIFZhbHVlIG9mIGN1cnJlbnQgc291cmNlLlxuICAgICAgICB0aGlzLl9maWVsZCA9IHNldFZhbHVlVG9PYmplY3RQYXRoKFxuICAgICAgICAgIHRoaXMuX2ZpZWxkLFxuICAgICAgICAgIGBkZWZhdWx0LnZhbHVlLnNvdXJjZXMuWyR7c291cmNlSW5kZXh9XS52YWx1ZWAsXG4gICAgICAgICAgdmFsdWVcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCB7IHZhbGlkYXRpb24gfSA9IHNvdXJjZSBhcyBhbnk7XG5cbiAgICAgICAgY29uc3QgeyB0cmlnZ2VycyB9ID0gdmFsaWRhdGlvbjtcbiAgICAgICAgY29uc3QgeyBydWxlcyB9ID0gdmFsaWRhdGlvbjtcbiAgICAgICAgY29uc3QgeyBhY3Rpb25zIH0gPSB2YWxpZGF0aW9uO1xuXG4gICAgICAgIGNvbnN0IHJ1bGVzTWFwcGluZyA9IG5ldyBSdWxlKHJ1bGVzLCB7XG4gICAgICAgICAgLi4udGhpcy5fb2JqZWN0LFxuICAgICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGRcbiAgICAgICAgfSkubWFwcGluZygpO1xuXG4gICAgICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIGFjdGlvbnMpIHtcbiAgICAgICAgICBjb25zdCBjb25kaXRpb25FdmFsdWF0aW9uID0gbmV3IENvbmRpdGlvbihcbiAgICAgICAgICAgIGFjdGlvbi5jb25kaXRpb24sXG4gICAgICAgICAgICBydWxlc01hcHBpbmdcbiAgICAgICAgICApLmV2YWx1YXRlKCk7XG5cbiAgICAgICAgICBpZiAoY29uZGl0aW9uRXZhbHVhdGlvbikge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9ucyA9IG5ldyBBY3Rpb24oXG4gICAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgICAgcnVsZXNNYXBwaW5nLFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgLi4udGhpcy5fb2JqZWN0LFxuICAgICAgICAgICAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGRcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgdGhpcy5fdGFrZUFjdGlvblxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgYXdhaXQgYWN0aW9ucy5leGVjdXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc291cmNlSW5kZXggKz0gMTtcbiAgICAgIH1cblxuICAgICAgZGVmYXVsdFZhbHVlID0gdGhpcy5fZmllbGQuZGVmYXVsdC52YWx1ZS52YWx1ZTtcblxuICAgICAgaWYgKGlzRW1wdHlWYWx1ZShkZWZhdWx0VmFsdWUpKSB7XG4gICAgICAgIGRlZmF1bHRWYWx1ZSA9IGNvbnZlcnRGb3JtRmllbGRFbXB0eVZhbHVlVG9Ld2lrVUlGb3JtYXQodGhpcy5fZmllbGQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cblxuICBAbG9nTWV0aG9kXG4gIGFzeW5jIGdldEZvcm1GaWVsZEFwaVZhbHVlKCkge1xuICAgIGNvbnN0IGFwaUNvbmZpZyA9IHRoaXMuX2ZpZWxkLmRlZmF1bHQuYXBpO1xuXG4gICAgY29uc3QgeyBydWxlcyB9ID0gYXBpQ29uZmlnO1xuICAgIGNvbnN0IHsgYWN0aW9ucyB9ID0gYXBpQ29uZmlnO1xuXG4gICAgY29uc3QgcnVsZXNNYXBwaW5nID0gbmV3IFJ1bGUocnVsZXMsIHtcbiAgICAgIC4uLnRoaXMuX29iamVjdCxcbiAgICAgIEZJRUxEX0NPTkZJRzogdGhpcy5fZmllbGRcbiAgICB9KS5tYXBwaW5nKCk7XG5cbiAgICBmb3IgKGNvbnN0IGFjdGlvbiBvZiBhY3Rpb25zKSB7XG4gICAgICBjb25zdCBjb25kaXRpb25FdmFsdWF0aW9uID0gbmV3IENvbmRpdGlvbihcbiAgICAgICAgYWN0aW9uLmNvbmRpdGlvbixcbiAgICAgICAgcnVsZXNNYXBwaW5nXG4gICAgICApLmV2YWx1YXRlKCk7XG5cbiAgICAgIGlmIChjb25kaXRpb25FdmFsdWF0aW9uKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbnMgPSBuZXcgQWN0aW9uKFxuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICBydWxlc01hcHBpbmcsXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4udGhpcy5fb2JqZWN0LFxuICAgICAgICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgdGhpcy5fdGFrZUFjdGlvblxuICAgICAgICApO1xuXG4gICAgICAgIGF3YWl0IGFjdGlvbnMuZXhlY3V0ZSgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBsb2dNZXRob2RcbiAgYXN5bmMgZ2V0Rm9ybUZpZWxkT3B0aW9ucygpIHtcbiAgICBjb25zdCBvcHRpb25zQ29uZmlnID0gdGhpcy5fZmllbGQuZGVmYXVsdC5vcHRpb25zO1xuXG4gICAgY29uc3QgeyBydWxlcyB9ID0gb3B0aW9uc0NvbmZpZztcbiAgICBjb25zdCB7IGFjdGlvbnMgfSA9IG9wdGlvbnNDb25maWc7XG5cbiAgICBjb25zdCBydWxlc01hcHBpbmcgPSBuZXcgUnVsZShydWxlcywge1xuICAgICAgLi4udGhpcy5fb2JqZWN0LFxuICAgICAgRklFTERfQ09ORklHOiB0aGlzLl9maWVsZFxuICAgIH0pLm1hcHBpbmcoKTtcblxuICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIGFjdGlvbnMpIHtcbiAgICAgIGNvbnN0IGNvbmRpdGlvbkV2YWx1YXRpb24gPSBuZXcgQ29uZGl0aW9uKFxuICAgICAgICBhY3Rpb24uY29uZGl0aW9uLFxuICAgICAgICBydWxlc01hcHBpbmdcbiAgICAgICkuZXZhbHVhdGUoKTtcblxuICAgICAgaWYgKGNvbmRpdGlvbkV2YWx1YXRpb24pIHtcbiAgICAgICAgY29uc3QgYWN0aW9ucyA9IG5ldyBBY3Rpb24oXG4gICAgICAgICAgYWN0aW9uLFxuICAgICAgICAgIHJ1bGVzTWFwcGluZyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAuLi50aGlzLl9vYmplY3QsXG4gICAgICAgICAgICBGSUVMRF9DT05GSUc6IHRoaXMuX2ZpZWxkXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0aGlzLl90YWtlQWN0aW9uXG4gICAgICAgICk7XG5cbiAgICAgICAgYXdhaXQgYWN0aW9ucy5leGVjdXRlKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=