flexdataset 0.21.1 → 0.22.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.
@@ -8,7 +8,7 @@ export { loadRoot, LoadOutcome, } from './loader';
8
8
  export { TableTypeBase, TableTypeFields, } from './table-type';
9
9
  export { createTableType, } from './table-types/registry';
10
10
  export { HiveParquetTable, } from './table-types/hive-parquet';
11
- export { IcebergParquetTable, } from './table-types/iceberg-parquet';
11
+ export { IcebergParquetV2Table, } from './table-types/iceberg-parquet-v2';
12
12
  export { Postgres18Table, } from './table-types/postgres-18';
13
13
  export { validateStructure, StructuralKind, StructuralResult, StructuralError, } from './structural';
14
14
  export { isValidHiveType, isValidPostgresType, } from './types';
package/dist/src/index.js CHANGED
@@ -17,7 +17,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
18
  };
19
19
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.renderDot = exports.buildErDot = exports.buildDagDot = exports.IcebergTransformKind = exports.IcebergTypeKind = exports.transformLegalOnType = exports.parseIcebergTransform = exports.isValidIcebergType = exports.parseIcebergType = exports.isValidPostgresType = exports.isValidHiveType = exports.validateStructure = exports.Postgres18Table = exports.IcebergParquetTable = exports.HiveParquetTable = exports.createTableType = exports.TableTypeBase = exports.loadRoot = exports.formatViolation = exports.loadValidatedRoot = exports.validateRoot = exports.runSemanticRules = void 0;
20
+ exports.renderDot = exports.buildErDot = exports.buildDagDot = exports.IcebergTransformKind = exports.IcebergTypeKind = exports.transformLegalOnType = exports.parseIcebergTransform = exports.isValidIcebergType = exports.parseIcebergType = exports.isValidPostgresType = exports.isValidHiveType = exports.validateStructure = exports.Postgres18Table = exports.IcebergParquetV2Table = exports.HiveParquetTable = exports.createTableType = exports.TableTypeBase = exports.loadRoot = exports.formatViolation = exports.loadValidatedRoot = exports.validateRoot = exports.runSemanticRules = void 0;
21
21
  __exportStar(require("./model"), exports);
22
22
  var world_1 = require("./world");
23
23
  Object.defineProperty(exports, "runSemanticRules", { enumerable: true, get: function () { return world_1.runSemanticRules; } });
@@ -33,8 +33,8 @@ var registry_1 = require("./table-types/registry");
33
33
  Object.defineProperty(exports, "createTableType", { enumerable: true, get: function () { return registry_1.createTableType; } });
34
34
  var hive_parquet_1 = require("./table-types/hive-parquet");
35
35
  Object.defineProperty(exports, "HiveParquetTable", { enumerable: true, get: function () { return hive_parquet_1.HiveParquetTable; } });
36
- var iceberg_parquet_1 = require("./table-types/iceberg-parquet");
37
- Object.defineProperty(exports, "IcebergParquetTable", { enumerable: true, get: function () { return iceberg_parquet_1.IcebergParquetTable; } });
36
+ var iceberg_parquet_v2_1 = require("./table-types/iceberg-parquet-v2");
37
+ Object.defineProperty(exports, "IcebergParquetV2Table", { enumerable: true, get: function () { return iceberg_parquet_v2_1.IcebergParquetV2Table; } });
38
38
  var postgres_18_1 = require("./table-types/postgres-18");
39
39
  Object.defineProperty(exports, "Postgres18Table", { enumerable: true, get: function () { return postgres_18_1.Postgres18Table; } });
40
40
  var structural_1 = require("./structural");
@@ -55,4 +55,4 @@ var er_1 = require("./diagram/er");
55
55
  Object.defineProperty(exports, "buildErDot", { enumerable: true, get: function () { return er_1.buildErDot; } });
56
56
  var render_1 = require("./diagram/render");
57
57
  Object.defineProperty(exports, "renderDot", { enumerable: true, get: function () { return render_1.renderDot; } });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4QixpQ0FJaUI7QUFEYix5R0FBQSxnQkFBZ0IsT0FBQTtBQUVwQix1Q0FLb0I7QUFKaEIsd0dBQUEsWUFBWSxPQUFBO0FBQ1osNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsMkdBQUEsZUFBZSxPQUFBO0FBR25CLG1DQUdrQjtBQUZkLGtHQUFBLFFBQVEsT0FBQTtBQUdaLDJDQUdzQjtBQUZsQiwyR0FBQSxhQUFhLE9BQUE7QUFHakIsbURBRWdDO0FBRDVCLDJHQUFBLGVBQWUsT0FBQTtBQUVuQiwyREFFb0M7QUFEaEMsZ0hBQUEsZ0JBQWdCLE9BQUE7QUFFcEIsaUVBRXVDO0FBRG5DLHNIQUFBLG1CQUFtQixPQUFBO0FBRXZCLHlEQUVtQztBQUQvQiw4R0FBQSxlQUFlLE9BQUE7QUFFbkIsMkNBS3NCO0FBSmxCLCtHQUFBLGlCQUFpQixPQUFBO0FBS3JCLGlDQUdpQjtBQUZiLHdHQUFBLGVBQWUsT0FBQTtBQUNmLDRHQUFBLG1CQUFtQixPQUFBO0FBRXZCLHFDQVNtQjtBQVJmLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLCtHQUFBLG9CQUFvQixPQUFBO0FBRXBCLDBHQUFBLGVBQWUsT0FBQTtBQUVmLCtHQUFBLG9CQUFvQixPQUFBO0FBRXhCLHFDQUV1QjtBQURuQixrR0FBQSxXQUFXLE9BQUE7QUFFZixtQ0FFc0I7QUFEbEIsZ0dBQUEsVUFBVSxPQUFBO0FBRWQsMkNBRTBCO0FBRHRCLG1HQUFBLFNBQVMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHVibGljIEFQSSBmb3IgdGhlIEZERCBjb3JlIHBhY2thZ2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQge1xuICAgIExvYWRlZFNjaGVtYSxcbiAgICBXb3JsZCxcbiAgICBydW5TZW1hbnRpY1J1bGVzLFxufSBmcm9tICcuL3dvcmxkJztcbmV4cG9ydCB7XG4gICAgdmFsaWRhdGVSb290LFxuICAgIGxvYWRWYWxpZGF0ZWRSb290LFxuICAgIGZvcm1hdFZpb2xhdGlvbixcbiAgICBMb2FkVmFsaWRhdGVkT3B0aW9ucyxcbn0gZnJvbSAnLi92YWxpZGF0ZSc7XG5leHBvcnQge1xuICAgIGxvYWRSb290LFxuICAgIExvYWRPdXRjb21lLFxufSBmcm9tICcuL2xvYWRlcic7XG5leHBvcnQge1xuICAgIFRhYmxlVHlwZUJhc2UsXG4gICAgVGFibGVUeXBlRmllbGRzLFxufSBmcm9tICcuL3RhYmxlLXR5cGUnO1xuZXhwb3J0IHtcbiAgICBjcmVhdGVUYWJsZVR5cGUsXG59IGZyb20gJy4vdGFibGUtdHlwZXMvcmVnaXN0cnknO1xuZXhwb3J0IHtcbiAgICBIaXZlUGFycXVldFRhYmxlLFxufSBmcm9tICcuL3RhYmxlLXR5cGVzL2hpdmUtcGFycXVldCc7XG5leHBvcnQge1xuICAgIEljZWJlcmdQYXJxdWV0VGFibGUsXG59IGZyb20gJy4vdGFibGUtdHlwZXMvaWNlYmVyZy1wYXJxdWV0JztcbmV4cG9ydCB7XG4gICAgUG9zdGdyZXMxOFRhYmxlLFxufSBmcm9tICcuL3RhYmxlLXR5cGVzL3Bvc3RncmVzLTE4JztcbmV4cG9ydCB7XG4gICAgdmFsaWRhdGVTdHJ1Y3R1cmUsXG4gICAgU3RydWN0dXJhbEtpbmQsXG4gICAgU3RydWN0dXJhbFJlc3VsdCxcbiAgICBTdHJ1Y3R1cmFsRXJyb3IsXG59IGZyb20gJy4vc3RydWN0dXJhbCc7XG5leHBvcnQge1xuICAgIGlzVmFsaWRIaXZlVHlwZSxcbiAgICBpc1ZhbGlkUG9zdGdyZXNUeXBlLFxufSBmcm9tICcuL3R5cGVzJztcbmV4cG9ydCB7XG4gICAgcGFyc2VJY2ViZXJnVHlwZSxcbiAgICBpc1ZhbGlkSWNlYmVyZ1R5cGUsXG4gICAgcGFyc2VJY2ViZXJnVHJhbnNmb3JtLFxuICAgIHRyYW5zZm9ybUxlZ2FsT25UeXBlLFxuICAgIEljZWJlcmdUeXBlLFxuICAgIEljZWJlcmdUeXBlS2luZCxcbiAgICBJY2ViZXJnVHJhbnNmb3JtLFxuICAgIEljZWJlcmdUcmFuc2Zvcm1LaW5kLFxufSBmcm9tICcuL2ljZWJlcmcnO1xuZXhwb3J0IHtcbiAgICBidWlsZERhZ0RvdCxcbn0gZnJvbSAnLi9kaWFncmFtL2RhZyc7XG5leHBvcnQge1xuICAgIGJ1aWxkRXJEb3QsXG59IGZyb20gJy4vZGlhZ3JhbS9lcic7XG5leHBvcnQge1xuICAgIHJlbmRlckRvdCxcbn0gZnJvbSAnLi9kaWFncmFtL3JlbmRlcic7XG4iXX0=
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDBDQUF3QjtBQUN4QixpQ0FJaUI7QUFEYix5R0FBQSxnQkFBZ0IsT0FBQTtBQUVwQix1Q0FLb0I7QUFKaEIsd0dBQUEsWUFBWSxPQUFBO0FBQ1osNkdBQUEsaUJBQWlCLE9BQUE7QUFDakIsMkdBQUEsZUFBZSxPQUFBO0FBR25CLG1DQUdrQjtBQUZkLGtHQUFBLFFBQVEsT0FBQTtBQUdaLDJDQUdzQjtBQUZsQiwyR0FBQSxhQUFhLE9BQUE7QUFHakIsbURBRWdDO0FBRDVCLDJHQUFBLGVBQWUsT0FBQTtBQUVuQiwyREFFb0M7QUFEaEMsZ0hBQUEsZ0JBQWdCLE9BQUE7QUFFcEIsdUVBRTBDO0FBRHRDLDJIQUFBLHFCQUFxQixPQUFBO0FBRXpCLHlEQUVtQztBQUQvQiw4R0FBQSxlQUFlLE9BQUE7QUFFbkIsMkNBS3NCO0FBSmxCLCtHQUFBLGlCQUFpQixPQUFBO0FBS3JCLGlDQUdpQjtBQUZiLHdHQUFBLGVBQWUsT0FBQTtBQUNmLDRHQUFBLG1CQUFtQixPQUFBO0FBRXZCLHFDQVNtQjtBQVJmLDJHQUFBLGdCQUFnQixPQUFBO0FBQ2hCLDZHQUFBLGtCQUFrQixPQUFBO0FBQ2xCLGdIQUFBLHFCQUFxQixPQUFBO0FBQ3JCLCtHQUFBLG9CQUFvQixPQUFBO0FBRXBCLDBHQUFBLGVBQWUsT0FBQTtBQUVmLCtHQUFBLG9CQUFvQixPQUFBO0FBRXhCLHFDQUV1QjtBQURuQixrR0FBQSxXQUFXLE9BQUE7QUFFZixtQ0FFc0I7QUFEbEIsZ0dBQUEsVUFBVSxPQUFBO0FBRWQsMkNBRTBCO0FBRHRCLG1HQUFBLFNBQVMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUHVibGljIEFQSSBmb3IgdGhlIEZERCBjb3JlIHBhY2thZ2UuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQge1xuICAgIExvYWRlZFNjaGVtYSxcbiAgICBXb3JsZCxcbiAgICBydW5TZW1hbnRpY1J1bGVzLFxufSBmcm9tICcuL3dvcmxkJztcbmV4cG9ydCB7XG4gICAgdmFsaWRhdGVSb290LFxuICAgIGxvYWRWYWxpZGF0ZWRSb290LFxuICAgIGZvcm1hdFZpb2xhdGlvbixcbiAgICBMb2FkVmFsaWRhdGVkT3B0aW9ucyxcbn0gZnJvbSAnLi92YWxpZGF0ZSc7XG5leHBvcnQge1xuICAgIGxvYWRSb290LFxuICAgIExvYWRPdXRjb21lLFxufSBmcm9tICcuL2xvYWRlcic7XG5leHBvcnQge1xuICAgIFRhYmxlVHlwZUJhc2UsXG4gICAgVGFibGVUeXBlRmllbGRzLFxufSBmcm9tICcuL3RhYmxlLXR5cGUnO1xuZXhwb3J0IHtcbiAgICBjcmVhdGVUYWJsZVR5cGUsXG59IGZyb20gJy4vdGFibGUtdHlwZXMvcmVnaXN0cnknO1xuZXhwb3J0IHtcbiAgICBIaXZlUGFycXVldFRhYmxlLFxufSBmcm9tICcuL3RhYmxlLXR5cGVzL2hpdmUtcGFycXVldCc7XG5leHBvcnQge1xuICAgIEljZWJlcmdQYXJxdWV0VjJUYWJsZSxcbn0gZnJvbSAnLi90YWJsZS10eXBlcy9pY2ViZXJnLXBhcnF1ZXQtdjInO1xuZXhwb3J0IHtcbiAgICBQb3N0Z3JlczE4VGFibGUsXG59IGZyb20gJy4vdGFibGUtdHlwZXMvcG9zdGdyZXMtMTgnO1xuZXhwb3J0IHtcbiAgICB2YWxpZGF0ZVN0cnVjdHVyZSxcbiAgICBTdHJ1Y3R1cmFsS2luZCxcbiAgICBTdHJ1Y3R1cmFsUmVzdWx0LFxuICAgIFN0cnVjdHVyYWxFcnJvcixcbn0gZnJvbSAnLi9zdHJ1Y3R1cmFsJztcbmV4cG9ydCB7XG4gICAgaXNWYWxpZEhpdmVUeXBlLFxuICAgIGlzVmFsaWRQb3N0Z3Jlc1R5cGUsXG59IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IHtcbiAgICBwYXJzZUljZWJlcmdUeXBlLFxuICAgIGlzVmFsaWRJY2ViZXJnVHlwZSxcbiAgICBwYXJzZUljZWJlcmdUcmFuc2Zvcm0sXG4gICAgdHJhbnNmb3JtTGVnYWxPblR5cGUsXG4gICAgSWNlYmVyZ1R5cGUsXG4gICAgSWNlYmVyZ1R5cGVLaW5kLFxuICAgIEljZWJlcmdUcmFuc2Zvcm0sXG4gICAgSWNlYmVyZ1RyYW5zZm9ybUtpbmQsXG59IGZyb20gJy4vaWNlYmVyZyc7XG5leHBvcnQge1xuICAgIGJ1aWxkRGFnRG90LFxufSBmcm9tICcuL2RpYWdyYW0vZGFnJztcbmV4cG9ydCB7XG4gICAgYnVpbGRFckRvdCxcbn0gZnJvbSAnLi9kaWFncmFtL2VyJztcbmV4cG9ydCB7XG4gICAgcmVuZGVyRG90LFxufSBmcm9tICcuL2RpYWdyYW0vcmVuZGVyJztcbiJdfQ==
@@ -10,7 +10,7 @@
10
10
  /** Table engine. Each value unlocks engine-specific semantic checks. */
11
11
  export declare enum TableType {
12
12
  HIVE_PARQUET = "hive_parquet",
13
- ICEBERG_PARQUET = "iceberg_parquet",
13
+ ICEBERG_PARQUET_V2 = "iceberg_parquet_v2",
14
14
  POSTGRES_18 = "postgres_18"
15
15
  }
16
16
  /** Every known `tableType` string, for membership checks. */
@@ -211,8 +211,9 @@ export interface TableDefinition {
211
211
  /** Whether this table is the top of the pipeline. */
212
212
  readonly isRawData: boolean;
213
213
  /**
214
- * Iceberg table format version (1, 2, or 3). Optional and engine-specific:
215
- * only the Iceberg engine validates it. Other engines ignore it.
214
+ * Iceberg table format version. Optional and engine-specific: only the
215
+ * Iceberg engine validates it, and on `iceberg_parquet_v2` it must be `2`
216
+ * when present. Other engines ignore it.
216
217
  */
217
218
  readonly formatVersion?: number;
218
219
  /** Data columns. */
package/dist/src/model.js CHANGED
@@ -14,13 +14,13 @@ exports.TABLE_TYPES = exports.TableType = void 0;
14
14
  var TableType;
15
15
  (function (TableType) {
16
16
  TableType["HIVE_PARQUET"] = "hive_parquet";
17
- TableType["ICEBERG_PARQUET"] = "iceberg_parquet";
17
+ TableType["ICEBERG_PARQUET_V2"] = "iceberg_parquet_v2";
18
18
  TableType["POSTGRES_18"] = "postgres_18";
19
19
  })(TableType || (exports.TableType = TableType = {}));
20
20
  /** Every known `tableType` string, for membership checks. */
21
21
  exports.TABLE_TYPES = [
22
22
  TableType.HIVE_PARQUET,
23
- TableType.ICEBERG_PARQUET,
23
+ TableType.ICEBERG_PARQUET_V2,
24
24
  TableType.POSTGRES_18,
25
25
  ];
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHOzs7QUFFSCx3RUFBd0U7QUFDeEUsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLDBDQUE2QixDQUFBO0lBQzdCLGdEQUFtQyxDQUFBO0lBQ25DLHdDQUEyQixDQUFBO0FBQy9CLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEI7QUFFRCw2REFBNkQ7QUFDaEQsUUFBQSxXQUFXLEdBQXNCO0lBQzFDLFNBQVMsQ0FBQyxZQUFZO0lBQ3RCLFNBQVMsQ0FBQyxlQUFlO0lBQ3pCLFNBQVMsQ0FBQyxXQUFXO0NBQ3hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcmUgZGF0YSBtb2RlbCBmb3IgdGhlIEZsZXhpYmxlIERhdGFzZXQgRGVmaW5pdGlvbiAoRkREKSBzdGFuZGFyZC5cbiAqXG4gKiBUaGVzZSBpbnRlcmZhY2VzIGRlc2NyaWJlIHRoZSAqcHVyZSBkYXRhKiBzaGFwZSBvZiBhIGRhdGFzZXQ6IGNvbHVtbnMsXG4gKiBwYXJ0aXRpb25zLCBmb3JlaWduIGtleXMsIHRhYmxlIGRlZmluaXRpb25zLCBhbmQgdGhlIHZpb2xhdGlvbnMgdGhlXG4gKiB2YWxpZGF0b3IgZW1pdHMuIFRoZSBsb2FkZWQgd29ybGQgKHNjaGVtYXMgKyB0YWJsZSBpbnN0YW5jZXMpIGFuZCB0aGVcbiAqIGFic3RyYWN0IHRhYmxlIGJhc2UgY2xhc3MgbGl2ZSBpbiBgLi93b3JsZGAgYW5kIGAuL3RhYmxlLXR5cGVgIHNvIHRoaXNcbiAqIG1vZHVsZSBzdGF5cyBhIGxlYWYgd2l0aCBubyBiZWhhdmlvci5cbiAqL1xuXG4vKiogVGFibGUgZW5naW5lLiBFYWNoIHZhbHVlIHVubG9ja3MgZW5naW5lLXNwZWNpZmljIHNlbWFudGljIGNoZWNrcy4gKi9cbmV4cG9ydCBlbnVtIFRhYmxlVHlwZSB7XG4gICAgSElWRV9QQVJRVUVUID0gJ2hpdmVfcGFycXVldCcsXG4gICAgSUNFQkVSR19QQVJRVUVUID0gJ2ljZWJlcmdfcGFycXVldCcsXG4gICAgUE9TVEdSRVNfMTggPSAncG9zdGdyZXNfMTgnLFxufVxuXG4vKiogRXZlcnkga25vd24gYHRhYmxlVHlwZWAgc3RyaW5nLCBmb3IgbWVtYmVyc2hpcCBjaGVja3MuICovXG5leHBvcnQgY29uc3QgVEFCTEVfVFlQRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gW1xuICAgIFRhYmxlVHlwZS5ISVZFX1BBUlFVRVQsXG4gICAgVGFibGVUeXBlLklDRUJFUkdfUEFSUVVFVCxcbiAgICBUYWJsZVR5cGUuUE9TVEdSRVNfMTgsXG5dO1xuXG4vKiogQSBzaW5nbGUgZGF0YSBjb2x1bW4uICovXG5leHBvcnQgaW50ZXJmYWNlIENvbHVtbiB7XG4gICAgLyoqIENvbHVtbiBuYW1lICh1bmlxdWUgd2l0aGluIGEgdGFibGUpLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBFbmdpbmUtc3BlY2lmaWMgdHlwZSBzdHJpbmcgKGUuZy4gYGxvbmdgLCBgdmFyY2hhcigyNTUpYCkuICovXG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqIEh1bWFuIGRlc2NyaXB0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBjb2x1bW4gbWF5IGhvbGQgbnVsbC4gT3B0aW9uYWw6IHdoZW4gb21pdHRlZCwgbnVsbGFiaWxpdHkgaXNcbiAgICAgKiB1bnNwZWNpZmllZCBhbmQgdGhlIG51bGxhYmlsaXR5IGNyb3NzLWNoZWNrcyBkbyBub3QgZmlyZS4gYGZhbHNlYCBtYXJrcyBhXG4gICAgICogTk9UIE5VTEwgY29sdW1uIChJY2ViZXJnIGByZXF1aXJlZGApOyBgdHJ1ZWAgbWFya3MgYW4gZXhwbGljaXRseSBudWxsYWJsZVxuICAgICAqIGNvbHVtbi5cbiAgICAgKi9cbiAgICByZWFkb25seSBudWxsYWJsZT86IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmF0ZWQtY29sdW1uIGtpbmQgKFBvc3RncmVzKTogYHN0b3JlZGAgb3IgYHZpcnR1YWxgLiBPcHRpb25hbDsgd2hlblxuICAgICAqIHNldCwgdGhlIGNvbHVtbiBpcyBjb21wdXRlZCBmcm9tIGBleHByZXNzaW9uQ29sdW1uc2AuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZ2VuZXJhdGVkPzogc3RyaW5nO1xuXG4gICAgLyoqIE9wYXF1ZSBnZW5lcmF0aW9uIGV4cHJlc3Npb24gKFBvc3RncmVzIGdlbmVyYXRlZCBjb2x1bW4pLiAqL1xuICAgIHJlYWRvbmx5IGV4cHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgICAvKiogQ29sdW1ucyB0aGUgZ2VuZXJhdGlvbiBgZXhwcmVzc2lvbmAgcmVmZXJlbmNlcyAoUG9zdGdyZXMpLiAqL1xuICAgIHJlYWRvbmx5IGV4cHJlc3Npb25Db2x1bW5zPzogc3RyaW5nW107XG5cbiAgICAvKipcbiAgICAgKiBJZGVudGl0eS1jb2x1bW4ga2luZCAoUG9zdGdyZXMpOiBgYWx3YXlzYCBvciBgYnlEZWZhdWx0YC4gT3B0aW9uYWw7IHdoZW5cbiAgICAgKiBzZXQsIHRoZSBjb2x1bW4gaXMgYEdFTkVSQVRFRCDigKYgQVMgSURFTlRJVFlgLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkZW50aXR5Pzogc3RyaW5nO1xuXG4gICAgLyoqIE9wYXF1ZSBjb2x1bW4gZGVmYXVsdCBleHByZXNzaW9uIChQb3N0Z3JlcykuICovXG4gICAgcmVhZG9ubHkgZGVmYXVsdD86IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW4gY29sbGF0aW9uIG5hbWUgKFBvc3RncmVzKS4gT3BhcXVlOyBsZWdhbCBvbmx5IG9uIHRleHQgdHlwZXMuICovXG4gICAgcmVhZG9ubHkgY29sbGF0aW9uPzogc3RyaW5nO1xuXG4gICAgLyoqIFBlci1jb2x1bW4gVE9BU1QgY29tcHJlc3Npb24gKFBvc3RncmVzKTogYHBnbHpgIG9yIGBsejRgLiAqL1xuICAgIHJlYWRvbmx5IGNvbXByZXNzaW9uPzogc3RyaW5nO1xuXG4gICAgLyoqIFBlci1jb2x1bW4gc3RvcmFnZSBzdHJhdGVneSAoUG9zdGdyZXMpOiBgcGxhaW5gL2BleHRlcm5hbGAvYGV4dGVuZGVkYC9gbWFpbmAvYGRlZmF1bHRgLiAqL1xuICAgIHJlYWRvbmx5IHN0b3JhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBwYXJ0aXRpb24gZW50cnkuIFRoZSBtZWFuaW5nIG9mIGBuYW1lYCBhbmQgYHR5cGVgIGlzIGVuZ2luZS1zcGVjaWZpYzogZm9yXG4gKiBIaXZlLCBgbmFtZWAgaXMgYSBuZXcgcGFydGl0aW9uIGNvbHVtbiBhbmQgYHR5cGVgIGlzIGEgbm9ybWFsIHR5cGU7IGZvclxuICogSWNlYmVyZywgYG5hbWVgIGlzIGEgc291cmNlIGRhdGEgY29sdW1uIGFuZCBgdHlwZWAgaXMgYSB0cmFuc2Zvcm07IGZvclxuICogUG9zdGdyZXMsIGBuYW1lYCBpcyBhbiBleGlzdGluZyBrZXkgY29sdW1uIGFuZCBgdHlwZWAgaXMgdGhlIHN0cmF0ZWd5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhcnRpdGlvbiB7XG4gICAgLyoqIEhpdmU6IG5ldyBwYXJ0aXRpb24gY29sdW1uIG5hbWUuIEljZWJlcmcgLyBQb3N0Z3JlczogZXhpc3RpbmcgZGF0YS9rZXkgY29sdW1uIG5hbWUuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEhpdmU6IGEgbm9ybWFsIHR5cGUuIEljZWJlcmc6IGEgdHJhbnNmb3JtIChlLmcuIGBkYXlgLCBgYnVja2V0WzE2XWApLiBQb3N0Z3JlczogYSBzdHJhdGVneSAoYHJhbmdlYCAvIGBsaXN0YCAvIGBoYXNoYCkuICovXG4gICAgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xuXG4gICAgLyoqIEh1bWFuIGRlc2NyaXB0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzaW5nbGUgc29ydCBmaWVsZCBpbiBhbiBJY2ViZXJnIHRhYmxlJ3Mgc29ydCBvcmRlci4gYGNvbHVtbmAgaXMgYSBkYXRhXG4gKiBjb2x1bW47IGB0cmFuc2Zvcm1gIGlzIGFuIG9wdGlvbmFsIEljZWJlcmcgdHJhbnNmb3JtIGFwcGxpZWQgYmVmb3JlIHNvcnRpbmdcbiAqIChkZWZhdWx0cyB0byBpZGVudGl0eSk7IGBkaXJlY3Rpb25gIGFuZCBgbnVsbE9yZGVyYCBzZXQgdGhlIG9yZGVyaW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRGaWVsZCB7XG4gICAgLyoqIFNvdXJjZSBkYXRhIGNvbHVtbiB0byBzb3J0IGJ5LiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIE9wdGlvbmFsIEljZWJlcmcgdHJhbnNmb3JtIGFwcGxpZWQgYmVmb3JlIHNvcnRpbmcgKGUuZy4gYGRheWAsIGBidWNrZXRbMTZdYCkuICovXG4gICAgcmVhZG9ubHkgdHJhbnNmb3JtPzogc3RyaW5nO1xuXG4gICAgLyoqIFNvcnQgZGlyZWN0aW9uIChgYXNjYCBvciBgZGVzY2ApLiAqL1xuICAgIHJlYWRvbmx5IGRpcmVjdGlvbjogc3RyaW5nO1xuXG4gICAgLyoqIE51bGwgb3JkZXJpbmcgKGBudWxscy1maXJzdGAgb3IgYG51bGxzLWxhc3RgKS4gKi9cbiAgICByZWFkb25seSBudWxsT3JkZXI6IHN0cmluZztcbn1cblxuLyoqIEEgc2luZ2xlIGtleSBjb2x1bW4gd2l0aGluIGFuIGluZGV4LCB3aXRoIG9wdGlvbmFsIG9yZGVyaW5nIG1vZGlmaWVycy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXhDb2x1bW4ge1xuICAgIC8qKiBJbmRleGVkIGNvbHVtbiBuYW1lLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBPcHRpb25hbCBzb3J0IG9yZGVyIChgYXNjYCBvciBgZGVzY2ApLiAqL1xuICAgIHJlYWRvbmx5IHNvcnQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3B0aW9uYWwgbnVsbCBvcmRlcmluZyAoYGZpcnN0YCBvciBgbGFzdGApLiAqL1xuICAgIHJlYWRvbmx5IG51bGxzPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgc2Vjb25kYXJ5IGluZGV4IChlLmcuIFBvc3RncmVzKS4gYGNvbHVtbnNgIGFyZSB0aGUga2V5IGNvbHVtbnM7IGBpbmNsdWRlYFxuICogYXJlIG5vbi1rZXkgY292ZXJpbmcgY29sdW1uczsgYHdoZXJlYCBpcyBhbiBvcGFxdWUgcGFydGlhbC1pbmRleCBwcmVkaWNhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5kZXgge1xuICAgIC8qKiBJbmRleCBuYW1lICh1bmlxdWUgd2l0aGluIHRoZSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEFjY2VzcyBtZXRob2QgKGUuZy4gYGJ0cmVlYCwgYGhhc2hgLCBgZ2luYCkuICovXG4gICAgcmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5kZXggZW5mb3JjZXMgdW5pcXVlbmVzcy4gKi9cbiAgICByZWFkb25seSB1bmlxdWU/OiBib29sZWFuO1xuXG4gICAgLyoqIEtleSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IEluZGV4Q29sdW1uW107XG5cbiAgICAvKiogTm9uLWtleSBjb3ZlcmluZyBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGluY2x1ZGU6IHN0cmluZ1tdO1xuXG4gICAgLyoqIE9wdGlvbmFsIHBhcnRpYWwtaW5kZXggcHJlZGljYXRlIChvcGFxdWUpLiAqL1xuICAgIHJlYWRvbmx5IHdoZXJlPzogc3RyaW5nO1xufVxuXG4vKiogQSB0YWJsZS1sZXZlbCBVTklRVUUgY29uc3RyYWludCBvdmVyIG9uZSBvciBtb3JlIGNvbHVtbnMgKFBvc3RncmVzKS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5pcXVlQ29uc3RyYWludCB7XG4gICAgLyoqIENvbnN0cmFpbnQgbmFtZSAodW5pcXVlIHdpdGhpbiB0aGUgdGFibGUpLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW5zIHRoZSBjb25zdHJhaW50IHNwYW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gICAgLyoqIFdoZXRoZXIgbnVsbHMgYXJlIHRyZWF0ZWQgYXMgbm90IGRpc3RpbmN0IChgTlVMTFMgTk9UIERJU1RJTkNUYCkuICovXG4gICAgcmVhZG9ubHkgbnVsbHNOb3REaXN0aW5jdD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSBDSEVDSyBjb25zdHJhaW50IChQb3N0Z3JlcykuIGBleHByZXNzaW9uYCBpcyBhbiBvcGFxdWUgcHJlZGljYXRlOyBgY29sdW1uc2BcbiAqIGlzIHRoZSBleHBsaWNpdCBsaXN0IG9mIGNvbHVtbnMgaXQgcmVmZXJlbmNlcywgd2hpY2ggaXMgd2hhdCBnZXRzIHZhbGlkYXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja0NvbnN0cmFpbnQge1xuICAgIC8qKiBDb25zdHJhaW50IG5hbWUgKHVuaXF1ZSB3aXRoaW4gdGhlIHRhYmxlKS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogT3BhcXVlIGJvb2xlYW4gcHJlZGljYXRlLiAqL1xuICAgIHJlYWRvbmx5IGV4cHJlc3Npb246IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW5zIHRoZSBwcmVkaWNhdGUgcmVmZXJlbmNlcy4gKi9cbiAgICByZWFkb25seSBjb2x1bW5zOiBzdHJpbmdbXTtcbn1cblxuLyoqIEEgc29ydCBjb2x1bW4gd2l0aGluIGEgSGl2ZSBidWNrZXRpbmcgc3BlYy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0U29ydCB7XG4gICAgLyoqIENvbHVtbiB0byBzb3J0IGVhY2ggYnVja2V0IGJ5LiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIFNvcnQgZGlyZWN0aW9uIChgYXNjYCBvciBgZGVzY2AsIGNhc2UtaW5zZW5zaXRpdmUpLiAqL1xuICAgIHJlYWRvbmx5IGRpcmVjdGlvbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhpdmUgYnVja2V0aW5nIChgQ0xVU1RFUkVEIEJZIOKApiBJTlRPIE4gQlVDS0VUUyBbU09SVEVEIEJZIOKApl1gKS4gYGNvbHVtbnNgIGFyZVxuICogdGhlIGJ1Y2tldC1rZXkgY29sdW1ucywgYGJ1Y2tldENvdW50YCB0aGUgbnVtYmVyIG9mIGJ1Y2tldHMsIGFuZCBgc29ydGVkQnlgXG4gKiB0aGUgb3B0aW9uYWwgaW50cmEtYnVja2V0IHNvcnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQnVja2V0aW5nIHtcbiAgICAvKiogQnVja2V0LWtleSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gICAgLyoqIE51bWJlciBvZiBidWNrZXRzLiAqL1xuICAgIHJlYWRvbmx5IGJ1Y2tldENvdW50OiBudW1iZXI7XG5cbiAgICAvKiogT3B0aW9uYWwgaW50cmEtYnVja2V0IHNvcnQgY29sdW1ucy4gKi9cbiAgICByZWFkb25seSBzb3J0ZWRCeTogQnVja2V0U29ydFtdO1xufVxuXG4vKiogT25lIGVsZW1lbnQgb2YgYW4gZXhjbHVzaW9uIGNvbnN0cmFpbnQ6IGEgY29sdW1uIGFuZCBpdHMgb3BlcmF0b3IuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2x1c2lvbkVsZW1lbnQge1xuICAgIC8qKiBDb2x1bW4gdGhlIGVsZW1lbnQgYXBwbGllcyB0by4gKi9cbiAgICByZWFkb25seSBjb2x1bW46IHN0cmluZztcblxuICAgIC8qKiBPcGFxdWUgb3BlcmF0b3IgKGUuZy4gYCYmYCwgYD1gKS4gKi9cbiAgICByZWFkb25seSBvcGVyYXRvcjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFuIGV4Y2x1c2lvbiBjb25zdHJhaW50IChQb3N0Z3Jlcyk6IG5vIHR3byByb3dzIG1heSBoYXZlIGFsbCBsaXN0ZWRcbiAqIGNvbHVtbi9vcGVyYXRvciBwYWlycyBldmFsdWF0ZSB0cnVlIHRvZ2V0aGVyIChnZW5lcmFsaXplZCB1bmlxdWVuZXNzKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeGNsdXNpb25Db25zdHJhaW50IHtcbiAgICAvKiogQ29uc3RyYWludCBuYW1lICh1bmlxdWUgd2l0aGluIHRoZSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEluZGV4IGFjY2VzcyBtZXRob2QgKGBnaXN0YCBvciBgc3BnaXN0YCkuICovXG4gICAgcmVhZG9ubHkgdXNpbmc6IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW4vb3BlcmF0b3IgZWxlbWVudHMuICovXG4gICAgcmVhZG9ubHkgZWxlbWVudHM6IEV4Y2x1c2lvbkVsZW1lbnRbXTtcbn1cblxuLyoqXG4gKiBIaXZlIHNrZXcgb3B0aW1pemF0aW9uIChgU0tFV0VEIEJZIChjb2xzKSBPTiAoKHZhbHVlcyksIOKApilgKS4gYGNvbHVtbnNgIGFyZVxuICogdGhlIHNrZXdlZCBjb2x1bW5zOyBgb25gIGlzIHRoZSBsaXN0IG9mIGhpZ2gtZnJlcXVlbmN5IHZhbHVlIHR1cGxlcywgZWFjaCBvZlxuICogd2hpY2ggbXVzdCBoYXZlIG9uZSB2YWx1ZSBwZXIgc2tld2VkIGNvbHVtbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTa2V3ZWRCeSB7XG4gICAgLyoqIFNrZXdlZCBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xuXG4gICAgLyoqIEhpZ2gtZnJlcXVlbmN5IHZhbHVlIHR1cGxlcyAob25lIHZhbHVlIHBlciBza2V3ZWQgY29sdW1uKS4gKi9cbiAgICByZWFkb25seSBvbjogc3RyaW5nW11bXTtcblxuICAgIC8qKiBXaGV0aGVyIHNrZXdlZCB2YWx1ZXMgYXJlIHN0b3JlZCBhcyBzZXBhcmF0ZSBkaXJlY3RvcmllcyAobGlzdCBidWNrZXRpbmcpLiAqL1xuICAgIHJlYWRvbmx5IHN0b3JlZEFzRGlyZWN0b3JpZXM/OiBib29sZWFuO1xufVxuXG4vKiogSGl2ZSBzdG9yYWdlIGZvcm1hdCBhbmQgU2VyRGUgcHJvcGVydGllcy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGl2ZVN0b3JhZ2Uge1xuICAgIC8qKiBTdG9yZWQtYXMgZmlsZSBmb3JtYXQgKGUuZy4gYHBhcnF1ZXRgKS4gKi9cbiAgICByZWFkb25seSBzdG9yZWRBcz86IHN0cmluZztcblxuICAgIC8qKiBGcmVlLWZvcm0gU2VyRGUgcHJvcGVydGllcy4gKi9cbiAgICByZWFkb25seSBzZXJkZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKiBBIGZvcmVpZ24ta2V5IHJlZmVyZW5jZSB0byBhIGNvbHVtbiBpbiBhbm90aGVyIHRhYmxlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3JlaWduS2V5IHtcbiAgICAvKiogUmVmZXJlbmNlZCB0YWJsZSBpbiBgc2NoZW1hLnRhYmxlYCBmb3JtYXQuICovXG4gICAgcmVhZG9ubHkgc291cmNlVGFibGU6IHN0cmluZztcblxuICAgIC8qKiBSZWZlcmVuY2VkIGNvbHVtbiBpbiB0aGUgc291cmNlIHRhYmxlLiAqL1xuICAgIHJlYWRvbmx5IHNvdXJjZUNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIExvY2FsIGNvbHVtbiB0aGF0IGhvbGRzIHRoZSByZWZlcmVuY2UuICovXG4gICAgcmVhZG9ubHkgbG9jYWxDb2x1bW46IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBsb2NhbCBjb2x1bW4gbWF5IGJlIG51bGwuICovXG4gICAgcmVhZG9ubHkgYWxsb3dOdWxsczogYm9vbGVhbjtcbn1cblxuLyoqIE5vcm1hbGl6ZWQgdGFibGUgZGVmaW5pdGlvbiAob3B0aW9uYWwgYXJyYXlzIGRlZmF1bHRlZCB0byBlbXB0eSkuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRGVmaW5pdGlvbiB7XG4gICAgLyoqIFNwZWMgdmVyc2lvbiBvZiB0aGUgZmlsZS4gKi9cbiAgICByZWFkb25seSBzcGVjVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqIEh1bWFuIGRlc2NyaXB0aW9uLiAqL1xuICAgIHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogRW5naW5lLiBNYXkgYmUgYW4gdW5rbm93biBzdHJpbmcgaWYgdGhlIGZpbGUgZmFpbGVkIHN0cnVjdHVyYWwgY2hlY2tzLiAqL1xuICAgIHJlYWRvbmx5IHRhYmxlVHlwZTogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhpcyB0YWJsZSBpcyB0aGUgdG9wIG9mIHRoZSBwaXBlbGluZS4gKi9cbiAgICByZWFkb25seSBpc1Jhd0RhdGE6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBJY2ViZXJnIHRhYmxlIGZvcm1hdCB2ZXJzaW9uICgxLCAyLCBvciAzKS4gT3B0aW9uYWwgYW5kIGVuZ2luZS1zcGVjaWZpYzpcbiAgICAgKiBvbmx5IHRoZSBJY2ViZXJnIGVuZ2luZSB2YWxpZGF0ZXMgaXQuIE90aGVyIGVuZ2luZXMgaWdub3JlIGl0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZvcm1hdFZlcnNpb24/OiBudW1iZXI7XG5cbiAgICAvKiogRGF0YSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IENvbHVtbltdO1xuXG4gICAgLyoqIFByaW1hcnkta2V5IGNvbHVtbiBuYW1lcy4gKi9cbiAgICByZWFkb25seSBwcmltYXJ5S2V5OiBzdHJpbmdbXTtcblxuICAgIC8qKiBQYXJ0aXRpb24gZW50cmllcyAoZW5naW5lLXNwZWNpZmljIHNlbWFudGljcykuICovXG4gICAgcmVhZG9ubHkgcGFydGl0aW9uczogUGFydGl0aW9uW107XG5cbiAgICAvKiogSWNlYmVyZyBzb3J0IG9yZGVyIChvcmRlcmVkIHNvcnQgZmllbGRzKS4gT3B0aW9uYWw7IG90aGVyIGVuZ2luZXMgaWdub3JlIGl0LiAqL1xuICAgIHJlYWRvbmx5IHNvcnRPcmRlcjogU29ydEZpZWxkW107XG5cbiAgICAvKiogSWNlYmVyZyBpZGVudGlmaWVyIGZpZWxkcyAodGhlIHJvdy1pZGVudGl0eSAvIGVxdWFsaXR5LWRlbGV0ZSBrZXkpLiBPcHRpb25hbC4gKi9cbiAgICByZWFkb25seSBpZGVudGlmaWVyRmllbGRzOiBzdHJpbmdbXTtcblxuICAgIC8qKiBTZWNvbmRhcnkgaW5kZXhlcyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBpbmRleGVzOiBJbmRleFtdO1xuXG4gICAgLyoqIFVOSVFVRSBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSB1bmlxdWVDb25zdHJhaW50czogVW5pcXVlQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIENIRUNLIGNvbnN0cmFpbnRzIChQb3N0Z3JlcykuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSB0aGVtLiAqL1xuICAgIHJlYWRvbmx5IGNoZWNrQ29uc3RyYWludHM6IENoZWNrQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEV4Y2x1c2lvbiBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBleGNsdXNpb25Db25zdHJhaW50czogRXhjbHVzaW9uQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEhpdmUgYnVja2V0aW5nIHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBidWNrZXRpbmc/OiBCdWNrZXRpbmc7XG5cbiAgICAvKiogSGl2ZSBza2V3IHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBza2V3ZWRCeT86IFNrZXdlZEJ5O1xuXG4gICAgLyoqIEhpdmUgc3RvcmFnZSBmb3JtYXQgLyBTZXJEZSBzcGVjLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgaXQuICovXG4gICAgcmVhZG9ubHkgc3RvcmFnZT86IEhpdmVTdG9yYWdlO1xuXG4gICAgLyoqXG4gICAgICogRW5naW5lIHRhYmxlIHByb3BlcnRpZXMgYXMgYSBzdHJpbmfihpJzdHJpbmcgbWFwIChlLmcuIEljZWJlcmdcbiAgICAgKiBgd3JpdGUudGFyZ2V0LWZpbGUtc2l6ZS1ieXRlc2AsIEhpdmUgYHBhcnF1ZXQuY29tcHJlc3Npb25gKS4gT3B0aW9uYWwuXG4gICAgICogT25seSBrZXlzIHdpdGggYSBrbm93biwgY2xvc2VkIGxlZ2FsIGRvbWFpbiBhcmUgdmFsaWRhdGVkIHBlciBlbmdpbmU7XG4gICAgICogdW5rbm93biBrZXlzIHBhc3MgdGhyb3VnaCB1bnZhbGlkYXRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YWJsZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICAvKiogVXBzdHJlYW0gdGFibGVzIGluIGBzY2hlbWEudGFibGVgIGZvcm1hdC4gKi9cbiAgICByZWFkb25seSBkZXBlbmRzT246IHN0cmluZ1tdO1xuXG4gICAgLyoqIEZvcmVpZ24ga2V5cy4gKi9cbiAgICByZWFkb25seSBmb3JlaWduS2V5czogRm9yZWlnbktleVtdO1xufVxuXG4vKiogQSBzY2hlbWEtZGVzY3JpcHRpb24gZmlsZSdzIG5vcm1hbGl6ZWQgY29udGVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRGVzY3JpcHRpb24ge1xuICAgIC8qKiBTcGVjIHZlcnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgcmVhZG9ubHkgc3BlY1ZlcnNpb246IHN0cmluZztcblxuICAgIC8qKiBIdW1hbiBkZXNjcmlwdGlvbi4gKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKiogU2V2ZXJpdHkgb2YgYSB2aW9sYXRpb24uICovXG5leHBvcnQgdHlwZSBWaW9sYXRpb25MZXZlbCA9ICdlcnJvcicgfCAnd2FybmluZyc7XG5cbi8qKiBBIHNpbmdsZSB2YWxpZGF0aW9uIGZpbmRpbmcuICovXG5leHBvcnQgaW50ZXJmYWNlIFZpb2xhdGlvbiB7XG4gICAgLyoqIFNldmVyaXR5LiBgZXJyb3JgIGZhaWxzIHZhbGlkYXRpb247IGB3YXJuaW5nYCBkb2VzIG5vdC4gKi9cbiAgICByZWFkb25seSBsZXZlbDogVmlvbGF0aW9uTGV2ZWw7XG5cbiAgICAvKiogU3RhYmxlIG1hY2hpbmUtcmVhZGFibGUgcnVsZSBjb2RlIChlLmcuIGBQS19DT0xVTU5TX0VYSVNUYCkuICovXG4gICAgcmVhZG9ubHkgY29kZTogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyBzY2hlbWEsIGlmIGFwcGxpY2FibGUuICovXG4gICAgcmVhZG9ubHkgc2NoZW1hPzogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyB0YWJsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSB0YWJsZT86IHN0cmluZztcblxuICAgIC8qKiBGaWVsZCBwYXRoIHdpdGhpbiB0aGUgZmlsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSBmaWVsZD86IHN0cmluZztcblxuICAgIC8qKiBTb3VyY2UgZmlsZSBwYXRoLCBpZiBhcHBsaWNhYmxlLiAqL1xuICAgIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4tcmVhZGFibGUgbWVzc2FnZS4gKi9cbiAgICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKiBUaGUgYWdncmVnYXRlIHJlc3VsdCBvZiB2YWxpZGF0aW5nIGEgcm9vdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgLyoqIFRydWUgd2hlbiB0aGVyZSBhcmUgbm8gYGVycm9yYC1sZXZlbCB2aW9sYXRpb25zLiAqL1xuICAgIHJlYWRvbmx5IG9rOiBib29sZWFuO1xuXG4gICAgLyoqIEFsbCBmaW5kaW5ncywgZXJyb3JzIGFuZCB3YXJuaW5ncy4gKi9cbiAgICByZWFkb25seSB2aW9sYXRpb25zOiBWaW9sYXRpb25bXTtcbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7OztHQVFHOzs7QUFFSCx3RUFBd0U7QUFDeEUsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ2pCLDBDQUE2QixDQUFBO0lBQzdCLHNEQUF5QyxDQUFBO0lBQ3pDLHdDQUEyQixDQUFBO0FBQy9CLENBQUMsRUFKVyxTQUFTLHlCQUFULFNBQVMsUUFJcEI7QUFFRCw2REFBNkQ7QUFDaEQsUUFBQSxXQUFXLEdBQXNCO0lBQzFDLFNBQVMsQ0FBQyxZQUFZO0lBQ3RCLFNBQVMsQ0FBQyxrQkFBa0I7SUFDNUIsU0FBUyxDQUFDLFdBQVc7Q0FDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29yZSBkYXRhIG1vZGVsIGZvciB0aGUgRmxleGlibGUgRGF0YXNldCBEZWZpbml0aW9uIChGREQpIHN0YW5kYXJkLlxuICpcbiAqIFRoZXNlIGludGVyZmFjZXMgZGVzY3JpYmUgdGhlICpwdXJlIGRhdGEqIHNoYXBlIG9mIGEgZGF0YXNldDogY29sdW1ucyxcbiAqIHBhcnRpdGlvbnMsIGZvcmVpZ24ga2V5cywgdGFibGUgZGVmaW5pdGlvbnMsIGFuZCB0aGUgdmlvbGF0aW9ucyB0aGVcbiAqIHZhbGlkYXRvciBlbWl0cy4gVGhlIGxvYWRlZCB3b3JsZCAoc2NoZW1hcyArIHRhYmxlIGluc3RhbmNlcykgYW5kIHRoZVxuICogYWJzdHJhY3QgdGFibGUgYmFzZSBjbGFzcyBsaXZlIGluIGAuL3dvcmxkYCBhbmQgYC4vdGFibGUtdHlwZWAgc28gdGhpc1xuICogbW9kdWxlIHN0YXlzIGEgbGVhZiB3aXRoIG5vIGJlaGF2aW9yLlxuICovXG5cbi8qKiBUYWJsZSBlbmdpbmUuIEVhY2ggdmFsdWUgdW5sb2NrcyBlbmdpbmUtc3BlY2lmaWMgc2VtYW50aWMgY2hlY2tzLiAqL1xuZXhwb3J0IGVudW0gVGFibGVUeXBlIHtcbiAgICBISVZFX1BBUlFVRVQgPSAnaGl2ZV9wYXJxdWV0JyxcbiAgICBJQ0VCRVJHX1BBUlFVRVRfVjIgPSAnaWNlYmVyZ19wYXJxdWV0X3YyJyxcbiAgICBQT1NUR1JFU18xOCA9ICdwb3N0Z3Jlc18xOCcsXG59XG5cbi8qKiBFdmVyeSBrbm93biBgdGFibGVUeXBlYCBzdHJpbmcsIGZvciBtZW1iZXJzaGlwIGNoZWNrcy4gKi9cbmV4cG9ydCBjb25zdCBUQUJMRV9UWVBFUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbXG4gICAgVGFibGVUeXBlLkhJVkVfUEFSUVVFVCxcbiAgICBUYWJsZVR5cGUuSUNFQkVSR19QQVJRVUVUX1YyLFxuICAgIFRhYmxlVHlwZS5QT1NUR1JFU18xOCxcbl07XG5cbi8qKiBBIHNpbmdsZSBkYXRhIGNvbHVtbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uIHtcbiAgICAvKiogQ29sdW1uIG5hbWUgKHVuaXF1ZSB3aXRoaW4gYSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIEVuZ2luZS1zcGVjaWZpYyB0eXBlIHN0cmluZyAoZS5nLiBgbG9uZ2AsIGB2YXJjaGFyKDI1NSlgKS4gKi9cbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4gZGVzY3JpcHRpb24uICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIGNvbHVtbiBtYXkgaG9sZCBudWxsLiBPcHRpb25hbDogd2hlbiBvbWl0dGVkLCBudWxsYWJpbGl0eSBpc1xuICAgICAqIHVuc3BlY2lmaWVkIGFuZCB0aGUgbnVsbGFiaWxpdHkgY3Jvc3MtY2hlY2tzIGRvIG5vdCBmaXJlLiBgZmFsc2VgIG1hcmtzIGFcbiAgICAgKiBOT1QgTlVMTCBjb2x1bW4gKEljZWJlcmcgYHJlcXVpcmVkYCk7IGB0cnVlYCBtYXJrcyBhbiBleHBsaWNpdGx5IG51bGxhYmxlXG4gICAgICogY29sdW1uLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IG51bGxhYmxlPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEdlbmVyYXRlZC1jb2x1bW4ga2luZCAoUG9zdGdyZXMpOiBgc3RvcmVkYCBvciBgdmlydHVhbGAuIE9wdGlvbmFsOyB3aGVuXG4gICAgICogc2V0LCB0aGUgY29sdW1uIGlzIGNvbXB1dGVkIGZyb20gYGV4cHJlc3Npb25Db2x1bW5zYC5cbiAgICAgKi9cbiAgICByZWFkb25seSBnZW5lcmF0ZWQ/OiBzdHJpbmc7XG5cbiAgICAvKiogT3BhcXVlIGdlbmVyYXRpb24gZXhwcmVzc2lvbiAoUG9zdGdyZXMgZ2VuZXJhdGVkIGNvbHVtbikuICovXG4gICAgcmVhZG9ubHkgZXhwcmVzc2lvbj86IHN0cmluZztcblxuICAgIC8qKiBDb2x1bW5zIHRoZSBnZW5lcmF0aW9uIGBleHByZXNzaW9uYCByZWZlcmVuY2VzIChQb3N0Z3JlcykuICovXG4gICAgcmVhZG9ubHkgZXhwcmVzc2lvbkNvbHVtbnM/OiBzdHJpbmdbXTtcblxuICAgIC8qKlxuICAgICAqIElkZW50aXR5LWNvbHVtbiBraW5kIChQb3N0Z3Jlcyk6IGBhbHdheXNgIG9yIGBieURlZmF1bHRgLiBPcHRpb25hbDsgd2hlblxuICAgICAqIHNldCwgdGhlIGNvbHVtbiBpcyBgR0VORVJBVEVEIOKApiBBUyBJREVOVElUWWAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgaWRlbnRpdHk/OiBzdHJpbmc7XG5cbiAgICAvKiogT3BhcXVlIGNvbHVtbiBkZWZhdWx0IGV4cHJlc3Npb24gKFBvc3RncmVzKS4gKi9cbiAgICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbiBjb2xsYXRpb24gbmFtZSAoUG9zdGdyZXMpLiBPcGFxdWU7IGxlZ2FsIG9ubHkgb24gdGV4dCB0eXBlcy4gKi9cbiAgICByZWFkb25seSBjb2xsYXRpb24/OiBzdHJpbmc7XG5cbiAgICAvKiogUGVyLWNvbHVtbiBUT0FTVCBjb21wcmVzc2lvbiAoUG9zdGdyZXMpOiBgcGdsemAgb3IgYGx6NGAuICovXG4gICAgcmVhZG9ubHkgY29tcHJlc3Npb24/OiBzdHJpbmc7XG5cbiAgICAvKiogUGVyLWNvbHVtbiBzdG9yYWdlIHN0cmF0ZWd5IChQb3N0Z3Jlcyk6IGBwbGFpbmAvYGV4dGVybmFsYC9gZXh0ZW5kZWRgL2BtYWluYC9gZGVmYXVsdGAuICovXG4gICAgcmVhZG9ubHkgc3RvcmFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHBhcnRpdGlvbiBlbnRyeS4gVGhlIG1lYW5pbmcgb2YgYG5hbWVgIGFuZCBgdHlwZWAgaXMgZW5naW5lLXNwZWNpZmljOiBmb3JcbiAqIEhpdmUsIGBuYW1lYCBpcyBhIG5ldyBwYXJ0aXRpb24gY29sdW1uIGFuZCBgdHlwZWAgaXMgYSBub3JtYWwgdHlwZTsgZm9yXG4gKiBJY2ViZXJnLCBgbmFtZWAgaXMgYSBzb3VyY2UgZGF0YSBjb2x1bW4gYW5kIGB0eXBlYCBpcyBhIHRyYW5zZm9ybTsgZm9yXG4gKiBQb3N0Z3JlcywgYG5hbWVgIGlzIGFuIGV4aXN0aW5nIGtleSBjb2x1bW4gYW5kIGB0eXBlYCBpcyB0aGUgc3RyYXRlZ3kuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGFydGl0aW9uIHtcbiAgICAvKiogSGl2ZTogbmV3IHBhcnRpdGlvbiBjb2x1bW4gbmFtZS4gSWNlYmVyZyAvIFBvc3RncmVzOiBleGlzdGluZyBkYXRhL2tleSBjb2x1bW4gbmFtZS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogSGl2ZTogYSBub3JtYWwgdHlwZS4gSWNlYmVyZzogYSB0cmFuc2Zvcm0gKGUuZy4gYGRheWAsIGBidWNrZXRbMTZdYCkuIFBvc3RncmVzOiBhIHN0cmF0ZWd5IChgcmFuZ2VgIC8gYGxpc3RgIC8gYGhhc2hgKS4gKi9cbiAgICByZWFkb25seSB0eXBlOiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4gZGVzY3JpcHRpb24uICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBzb3J0IGZpZWxkIGluIGFuIEljZWJlcmcgdGFibGUncyBzb3J0IG9yZGVyLiBgY29sdW1uYCBpcyBhIGRhdGFcbiAqIGNvbHVtbjsgYHRyYW5zZm9ybWAgaXMgYW4gb3B0aW9uYWwgSWNlYmVyZyB0cmFuc2Zvcm0gYXBwbGllZCBiZWZvcmUgc29ydGluZ1xuICogKGRlZmF1bHRzIHRvIGlkZW50aXR5KTsgYGRpcmVjdGlvbmAgYW5kIGBudWxsT3JkZXJgIHNldCB0aGUgb3JkZXJpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29ydEZpZWxkIHtcbiAgICAvKiogU291cmNlIGRhdGEgY29sdW1uIHRvIHNvcnQgYnkuICovXG4gICAgcmVhZG9ubHkgY29sdW1uOiBzdHJpbmc7XG5cbiAgICAvKiogT3B0aW9uYWwgSWNlYmVyZyB0cmFuc2Zvcm0gYXBwbGllZCBiZWZvcmUgc29ydGluZyAoZS5nLiBgZGF5YCwgYGJ1Y2tldFsxNl1gKS4gKi9cbiAgICByZWFkb25seSB0cmFuc2Zvcm0/OiBzdHJpbmc7XG5cbiAgICAvKiogU29ydCBkaXJlY3Rpb24gKGBhc2NgIG9yIGBkZXNjYCkuICovXG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBzdHJpbmc7XG5cbiAgICAvKiogTnVsbCBvcmRlcmluZyAoYG51bGxzLWZpcnN0YCBvciBgbnVsbHMtbGFzdGApLiAqL1xuICAgIHJlYWRvbmx5IG51bGxPcmRlcjogc3RyaW5nO1xufVxuXG4vKiogQSBzaW5nbGUga2V5IGNvbHVtbiB3aXRoaW4gYW4gaW5kZXgsIHdpdGggb3B0aW9uYWwgb3JkZXJpbmcgbW9kaWZpZXJzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleENvbHVtbiB7XG4gICAgLyoqIEluZGV4ZWQgY29sdW1uIG5hbWUuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIE9wdGlvbmFsIHNvcnQgb3JkZXIgKGBhc2NgIG9yIGBkZXNjYCkuICovXG4gICAgcmVhZG9ubHkgc29ydD86IHN0cmluZztcblxuICAgIC8qKiBPcHRpb25hbCBudWxsIG9yZGVyaW5nIChgZmlyc3RgIG9yIGBsYXN0YCkuICovXG4gICAgcmVhZG9ubHkgbnVsbHM/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzZWNvbmRhcnkgaW5kZXggKGUuZy4gUG9zdGdyZXMpLiBgY29sdW1uc2AgYXJlIHRoZSBrZXkgY29sdW1uczsgYGluY2x1ZGVgXG4gKiBhcmUgbm9uLWtleSBjb3ZlcmluZyBjb2x1bW5zOyBgd2hlcmVgIGlzIGFuIG9wYXF1ZSBwYXJ0aWFsLWluZGV4IHByZWRpY2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmRleCB7XG4gICAgLyoqIEluZGV4IG5hbWUgKHVuaXF1ZSB3aXRoaW4gdGhlIHRhYmxlKS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogQWNjZXNzIG1ldGhvZCAoZS5nLiBgYnRyZWVgLCBgaGFzaGAsIGBnaW5gKS4gKi9cbiAgICByZWFkb25seSBtZXRob2Q6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBpbmRleCBlbmZvcmNlcyB1bmlxdWVuZXNzLiAqL1xuICAgIHJlYWRvbmx5IHVuaXF1ZT86IGJvb2xlYW47XG5cbiAgICAvKiogS2V5IGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogSW5kZXhDb2x1bW5bXTtcblxuICAgIC8qKiBOb24ta2V5IGNvdmVyaW5nIGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgaW5jbHVkZTogc3RyaW5nW107XG5cbiAgICAvKiogT3B0aW9uYWwgcGFydGlhbC1pbmRleCBwcmVkaWNhdGUgKG9wYXF1ZSkuICovXG4gICAgcmVhZG9ubHkgd2hlcmU/OiBzdHJpbmc7XG59XG5cbi8qKiBBIHRhYmxlLWxldmVsIFVOSVFVRSBjb25zdHJhaW50IG92ZXIgb25lIG9yIG1vcmUgY29sdW1ucyAoUG9zdGdyZXMpLiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmlxdWVDb25zdHJhaW50IHtcbiAgICAvKiogQ29uc3RyYWludCBuYW1lICh1bmlxdWUgd2l0aGluIHRoZSB0YWJsZSkuICovXG4gICAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbnMgdGhlIGNvbnN0cmFpbnQgc3BhbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogc3RyaW5nW107XG5cbiAgICAvKiogV2hldGhlciBudWxscyBhcmUgdHJlYXRlZCBhcyBub3QgZGlzdGluY3QgKGBOVUxMUyBOT1QgRElTVElOQ1RgKS4gKi9cbiAgICByZWFkb25seSBudWxsc05vdERpc3RpbmN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBIENIRUNLIGNvbnN0cmFpbnQgKFBvc3RncmVzKS4gYGV4cHJlc3Npb25gIGlzIGFuIG9wYXF1ZSBwcmVkaWNhdGU7IGBjb2x1bW5zYFxuICogaXMgdGhlIGV4cGxpY2l0IGxpc3Qgb2YgY29sdW1ucyBpdCByZWZlcmVuY2VzLCB3aGljaCBpcyB3aGF0IGdldHMgdmFsaWRhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrQ29uc3RyYWludCB7XG4gICAgLyoqIENvbnN0cmFpbnQgbmFtZSAodW5pcXVlIHdpdGhpbiB0aGUgdGFibGUpLiAqL1xuICAgIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAgIC8qKiBPcGFxdWUgYm9vbGVhbiBwcmVkaWNhdGUuICovXG4gICAgcmVhZG9ubHkgZXhwcmVzc2lvbjogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbnMgdGhlIHByZWRpY2F0ZSByZWZlcmVuY2VzLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IHN0cmluZ1tdO1xufVxuXG4vKiogQSBzb3J0IGNvbHVtbiB3aXRoaW4gYSBIaXZlIGJ1Y2tldGluZyBzcGVjLiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRTb3J0IHtcbiAgICAvKiogQ29sdW1uIHRvIHNvcnQgZWFjaCBidWNrZXQgYnkuICovXG4gICAgcmVhZG9ubHkgY29sdW1uOiBzdHJpbmc7XG5cbiAgICAvKiogU29ydCBkaXJlY3Rpb24gKGBhc2NgIG9yIGBkZXNjYCwgY2FzZS1pbnNlbnNpdGl2ZSkuICovXG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSGl2ZSBidWNrZXRpbmcgKGBDTFVTVEVSRUQgQlkg4oCmIElOVE8gTiBCVUNLRVRTIFtTT1JURUQgQlkg4oCmXWApLiBgY29sdW1uc2AgYXJlXG4gKiB0aGUgYnVja2V0LWtleSBjb2x1bW5zLCBgYnVja2V0Q291bnRgIHRoZSBudW1iZXIgb2YgYnVja2V0cywgYW5kIGBzb3J0ZWRCeWBcbiAqIHRoZSBvcHRpb25hbCBpbnRyYS1idWNrZXQgc29ydC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWNrZXRpbmcge1xuICAgIC8qKiBCdWNrZXQta2V5IGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogc3RyaW5nW107XG5cbiAgICAvKiogTnVtYmVyIG9mIGJ1Y2tldHMuICovXG4gICAgcmVhZG9ubHkgYnVja2V0Q291bnQ6IG51bWJlcjtcblxuICAgIC8qKiBPcHRpb25hbCBpbnRyYS1idWNrZXQgc29ydCBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IHNvcnRlZEJ5OiBCdWNrZXRTb3J0W107XG59XG5cbi8qKiBPbmUgZWxlbWVudCBvZiBhbiBleGNsdXNpb24gY29uc3RyYWludDogYSBjb2x1bW4gYW5kIGl0cyBvcGVyYXRvci4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhjbHVzaW9uRWxlbWVudCB7XG4gICAgLyoqIENvbHVtbiB0aGUgZWxlbWVudCBhcHBsaWVzIHRvLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIE9wYXF1ZSBvcGVyYXRvciAoZS5nLiBgJiZgLCBgPWApLiAqL1xuICAgIHJlYWRvbmx5IG9wZXJhdG9yOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gZXhjbHVzaW9uIGNvbnN0cmFpbnQgKFBvc3RncmVzKTogbm8gdHdvIHJvd3MgbWF5IGhhdmUgYWxsIGxpc3RlZFxuICogY29sdW1uL29wZXJhdG9yIHBhaXJzIGV2YWx1YXRlIHRydWUgdG9nZXRoZXIgKGdlbmVyYWxpemVkIHVuaXF1ZW5lc3MpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4Y2x1c2lvbkNvbnN0cmFpbnQge1xuICAgIC8qKiBDb25zdHJhaW50IG5hbWUgKHVuaXF1ZSB3aXRoaW4gdGhlIHRhYmxlKS4gKi9cbiAgICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogSW5kZXggYWNjZXNzIG1ldGhvZCAoYGdpc3RgIG9yIGBzcGdpc3RgKS4gKi9cbiAgICByZWFkb25seSB1c2luZzogc3RyaW5nO1xuXG4gICAgLyoqIENvbHVtbi9vcGVyYXRvciBlbGVtZW50cy4gKi9cbiAgICByZWFkb25seSBlbGVtZW50czogRXhjbHVzaW9uRWxlbWVudFtdO1xufVxuXG4vKipcbiAqIEhpdmUgc2tldyBvcHRpbWl6YXRpb24gKGBTS0VXRUQgQlkgKGNvbHMpIE9OICgodmFsdWVzKSwg4oCmKWApLiBgY29sdW1uc2AgYXJlXG4gKiB0aGUgc2tld2VkIGNvbHVtbnM7IGBvbmAgaXMgdGhlIGxpc3Qgb2YgaGlnaC1mcmVxdWVuY3kgdmFsdWUgdHVwbGVzLCBlYWNoIG9mXG4gKiB3aGljaCBtdXN0IGhhdmUgb25lIHZhbHVlIHBlciBza2V3ZWQgY29sdW1uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNrZXdlZEJ5IHtcbiAgICAvKiogU2tld2VkIGNvbHVtbnMuICovXG4gICAgcmVhZG9ubHkgY29sdW1uczogc3RyaW5nW107XG5cbiAgICAvKiogSGlnaC1mcmVxdWVuY3kgdmFsdWUgdHVwbGVzIChvbmUgdmFsdWUgcGVyIHNrZXdlZCBjb2x1bW4pLiAqL1xuICAgIHJlYWRvbmx5IG9uOiBzdHJpbmdbXVtdO1xuXG4gICAgLyoqIFdoZXRoZXIgc2tld2VkIHZhbHVlcyBhcmUgc3RvcmVkIGFzIHNlcGFyYXRlIGRpcmVjdG9yaWVzIChsaXN0IGJ1Y2tldGluZykuICovXG4gICAgcmVhZG9ubHkgc3RvcmVkQXNEaXJlY3Rvcmllcz86IGJvb2xlYW47XG59XG5cbi8qKiBIaXZlIHN0b3JhZ2UgZm9ybWF0IGFuZCBTZXJEZSBwcm9wZXJ0aWVzLiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXZlU3RvcmFnZSB7XG4gICAgLyoqIFN0b3JlZC1hcyBmaWxlIGZvcm1hdCAoZS5nLiBgcGFycXVldGApLiAqL1xuICAgIHJlYWRvbmx5IHN0b3JlZEFzPzogc3RyaW5nO1xuXG4gICAgLyoqIEZyZWUtZm9ybSBTZXJEZSBwcm9wZXJ0aWVzLiAqL1xuICAgIHJlYWRvbmx5IHNlcmRlUHJvcGVydGllczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqIEEgZm9yZWlnbi1rZXkgcmVmZXJlbmNlIHRvIGEgY29sdW1uIGluIGFub3RoZXIgdGFibGUuICovXG5leHBvcnQgaW50ZXJmYWNlIEZvcmVpZ25LZXkge1xuICAgIC8qKiBSZWZlcmVuY2VkIHRhYmxlIGluIGBzY2hlbWEudGFibGVgIGZvcm1hdC4gKi9cbiAgICByZWFkb25seSBzb3VyY2VUYWJsZTogc3RyaW5nO1xuXG4gICAgLyoqIFJlZmVyZW5jZWQgY29sdW1uIGluIHRoZSBzb3VyY2UgdGFibGUuICovXG4gICAgcmVhZG9ubHkgc291cmNlQ29sdW1uOiBzdHJpbmc7XG5cbiAgICAvKiogTG9jYWwgY29sdW1uIHRoYXQgaG9sZHMgdGhlIHJlZmVyZW5jZS4gKi9cbiAgICByZWFkb25seSBsb2NhbENvbHVtbjogc3RyaW5nO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGxvY2FsIGNvbHVtbiBtYXkgYmUgbnVsbC4gKi9cbiAgICByZWFkb25seSBhbGxvd051bGxzOiBib29sZWFuO1xufVxuXG4vKiogTm9ybWFsaXplZCB0YWJsZSBkZWZpbml0aW9uIChvcHRpb25hbCBhcnJheXMgZGVmYXVsdGVkIHRvIGVtcHR5KS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVEZWZpbml0aW9uIHtcbiAgICAvKiogU3BlYyB2ZXJzaW9uIG9mIHRoZSBmaWxlLiAqL1xuICAgIHJlYWRvbmx5IHNwZWNWZXJzaW9uOiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4gZGVzY3JpcHRpb24uICovXG4gICAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAgIC8qKiBFbmdpbmUuIE1heSBiZSBhbiB1bmtub3duIHN0cmluZyBpZiB0aGUgZmlsZSBmYWlsZWQgc3RydWN0dXJhbCBjaGVja3MuICovXG4gICAgcmVhZG9ubHkgdGFibGVUeXBlOiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGlzIHRhYmxlIGlzIHRoZSB0b3Agb2YgdGhlIHBpcGVsaW5lLiAqL1xuICAgIHJlYWRvbmx5IGlzUmF3RGF0YTogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIEljZWJlcmcgdGFibGUgZm9ybWF0IHZlcnNpb24uIE9wdGlvbmFsIGFuZCBlbmdpbmUtc3BlY2lmaWM6IG9ubHkgdGhlXG4gICAgICogSWNlYmVyZyBlbmdpbmUgdmFsaWRhdGVzIGl0LCBhbmQgb24gYGljZWJlcmdfcGFycXVldF92MmAgaXQgbXVzdCBiZSBgMmBcbiAgICAgKiB3aGVuIHByZXNlbnQuIE90aGVyIGVuZ2luZXMgaWdub3JlIGl0LlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGZvcm1hdFZlcnNpb24/OiBudW1iZXI7XG5cbiAgICAvKiogRGF0YSBjb2x1bW5zLiAqL1xuICAgIHJlYWRvbmx5IGNvbHVtbnM6IENvbHVtbltdO1xuXG4gICAgLyoqIFByaW1hcnkta2V5IGNvbHVtbiBuYW1lcy4gKi9cbiAgICByZWFkb25seSBwcmltYXJ5S2V5OiBzdHJpbmdbXTtcblxuICAgIC8qKiBQYXJ0aXRpb24gZW50cmllcyAoZW5naW5lLXNwZWNpZmljIHNlbWFudGljcykuICovXG4gICAgcmVhZG9ubHkgcGFydGl0aW9uczogUGFydGl0aW9uW107XG5cbiAgICAvKiogSWNlYmVyZyBzb3J0IG9yZGVyIChvcmRlcmVkIHNvcnQgZmllbGRzKS4gT3B0aW9uYWw7IG90aGVyIGVuZ2luZXMgaWdub3JlIGl0LiAqL1xuICAgIHJlYWRvbmx5IHNvcnRPcmRlcjogU29ydEZpZWxkW107XG5cbiAgICAvKiogSWNlYmVyZyBpZGVudGlmaWVyIGZpZWxkcyAodGhlIHJvdy1pZGVudGl0eSAvIGVxdWFsaXR5LWRlbGV0ZSBrZXkpLiBPcHRpb25hbC4gKi9cbiAgICByZWFkb25seSBpZGVudGlmaWVyRmllbGRzOiBzdHJpbmdbXTtcblxuICAgIC8qKiBTZWNvbmRhcnkgaW5kZXhlcyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBpbmRleGVzOiBJbmRleFtdO1xuXG4gICAgLyoqIFVOSVFVRSBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSB1bmlxdWVDb25zdHJhaW50czogVW5pcXVlQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIENIRUNLIGNvbnN0cmFpbnRzIChQb3N0Z3JlcykuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSB0aGVtLiAqL1xuICAgIHJlYWRvbmx5IGNoZWNrQ29uc3RyYWludHM6IENoZWNrQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEV4Y2x1c2lvbiBjb25zdHJhaW50cyAoUG9zdGdyZXMpLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgdGhlbS4gKi9cbiAgICByZWFkb25seSBleGNsdXNpb25Db25zdHJhaW50czogRXhjbHVzaW9uQ29uc3RyYWludFtdO1xuXG4gICAgLyoqIEhpdmUgYnVja2V0aW5nIHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBidWNrZXRpbmc/OiBCdWNrZXRpbmc7XG5cbiAgICAvKiogSGl2ZSBza2V3IHNwZWMuIE9wdGlvbmFsOyBvdGhlciBlbmdpbmVzIGlnbm9yZSBpdC4gKi9cbiAgICByZWFkb25seSBza2V3ZWRCeT86IFNrZXdlZEJ5O1xuXG4gICAgLyoqIEhpdmUgc3RvcmFnZSBmb3JtYXQgLyBTZXJEZSBzcGVjLiBPcHRpb25hbDsgb3RoZXIgZW5naW5lcyBpZ25vcmUgaXQuICovXG4gICAgcmVhZG9ubHkgc3RvcmFnZT86IEhpdmVTdG9yYWdlO1xuXG4gICAgLyoqXG4gICAgICogRW5naW5lIHRhYmxlIHByb3BlcnRpZXMgYXMgYSBzdHJpbmfihpJzdHJpbmcgbWFwIChlLmcuIEljZWJlcmdcbiAgICAgKiBgd3JpdGUudGFyZ2V0LWZpbGUtc2l6ZS1ieXRlc2AsIEhpdmUgYHBhcnF1ZXQuY29tcHJlc3Npb25gKS4gT3B0aW9uYWwuXG4gICAgICogT25seSBrZXlzIHdpdGggYSBrbm93biwgY2xvc2VkIGxlZ2FsIGRvbWFpbiBhcmUgdmFsaWRhdGVkIHBlciBlbmdpbmU7XG4gICAgICogdW5rbm93biBrZXlzIHBhc3MgdGhyb3VnaCB1bnZhbGlkYXRlZC5cbiAgICAgKi9cbiAgICByZWFkb25seSB0YWJsZVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cbiAgICAvKiogVXBzdHJlYW0gdGFibGVzIGluIGBzY2hlbWEudGFibGVgIGZvcm1hdC4gKi9cbiAgICByZWFkb25seSBkZXBlbmRzT246IHN0cmluZ1tdO1xuXG4gICAgLyoqIEZvcmVpZ24ga2V5cy4gKi9cbiAgICByZWFkb25seSBmb3JlaWduS2V5czogRm9yZWlnbktleVtdO1xufVxuXG4vKiogQSBzY2hlbWEtZGVzY3JpcHRpb24gZmlsZSdzIG5vcm1hbGl6ZWQgY29udGVudC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NoZW1hRGVzY3JpcHRpb24ge1xuICAgIC8qKiBTcGVjIHZlcnNpb24gb2YgdGhlIGZpbGUuICovXG4gICAgcmVhZG9ubHkgc3BlY1ZlcnNpb246IHN0cmluZztcblxuICAgIC8qKiBIdW1hbiBkZXNjcmlwdGlvbi4gKi9cbiAgICByZWFkb25seSBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuXG4vKiogU2V2ZXJpdHkgb2YgYSB2aW9sYXRpb24uICovXG5leHBvcnQgdHlwZSBWaW9sYXRpb25MZXZlbCA9ICdlcnJvcicgfCAnd2FybmluZyc7XG5cbi8qKiBBIHNpbmdsZSB2YWxpZGF0aW9uIGZpbmRpbmcuICovXG5leHBvcnQgaW50ZXJmYWNlIFZpb2xhdGlvbiB7XG4gICAgLyoqIFNldmVyaXR5LiBgZXJyb3JgIGZhaWxzIHZhbGlkYXRpb247IGB3YXJuaW5nYCBkb2VzIG5vdC4gKi9cbiAgICByZWFkb25seSBsZXZlbDogVmlvbGF0aW9uTGV2ZWw7XG5cbiAgICAvKiogU3RhYmxlIG1hY2hpbmUtcmVhZGFibGUgcnVsZSBjb2RlIChlLmcuIGBQS19DT0xVTU5TX0VYSVNUYCkuICovXG4gICAgcmVhZG9ubHkgY29kZTogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyBzY2hlbWEsIGlmIGFwcGxpY2FibGUuICovXG4gICAgcmVhZG9ubHkgc2NoZW1hPzogc3RyaW5nO1xuXG4gICAgLyoqIE93bmluZyB0YWJsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSB0YWJsZT86IHN0cmluZztcblxuICAgIC8qKiBGaWVsZCBwYXRoIHdpdGhpbiB0aGUgZmlsZSwgaWYgYXBwbGljYWJsZS4gKi9cbiAgICByZWFkb25seSBmaWVsZD86IHN0cmluZztcblxuICAgIC8qKiBTb3VyY2UgZmlsZSBwYXRoLCBpZiBhcHBsaWNhYmxlLiAqL1xuICAgIHJlYWRvbmx5IHBhdGg/OiBzdHJpbmc7XG5cbiAgICAvKiogSHVtYW4tcmVhZGFibGUgbWVzc2FnZS4gKi9cbiAgICByZWFkb25seSBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKiBUaGUgYWdncmVnYXRlIHJlc3VsdCBvZiB2YWxpZGF0aW5nIGEgcm9vdC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gICAgLyoqIFRydWUgd2hlbiB0aGVyZSBhcmUgbm8gYGVycm9yYC1sZXZlbCB2aW9sYXRpb25zLiAqL1xuICAgIHJlYWRvbmx5IG9rOiBib29sZWFuO1xuXG4gICAgLyoqIEFsbCBmaW5kaW5ncywgZXJyb3JzIGFuZCB3YXJuaW5ncy4gKi9cbiAgICByZWFkb25seSB2aW9sYXRpb25zOiBWaW9sYXRpb25bXTtcbn1cbiJdfQ==
@@ -31,7 +31,7 @@
31
31
  "type": "string",
32
32
  "enum": [
33
33
  "hive_parquet",
34
- "iceberg_parquet",
34
+ "iceberg_parquet_v2",
35
35
  "postgres_18"
36
36
  ]
37
37
  },
@@ -1,14 +1,23 @@
1
1
  /**
2
- * Iceberg (parquet) table type.
2
+ * Iceberg (parquet) format-version-2 table type.
3
3
  *
4
4
  * Iceberg partitions are transforms applied to a data column, so duplicate
5
5
  * detection keys on the (source column, normalized transform) pair — `year(ts)`
6
6
  * and `month(ts)` are distinct, while `day` and `DAY` collapse.
7
+ *
8
+ * The format version is encoded in the `tableType` discriminator: this engine is
9
+ * inherently v2, so a present `formatVersion` must equal `EXPECTED_FORMAT_VERSION`.
10
+ * A future `iceberg_parquet_v3` sibling subclass overrides that one constant.
7
11
  */
8
12
  import { Violation } from '../model';
9
13
  import { TableTypeBase } from '../table-type';
10
- /** Iceberg (parquet) table. */
11
- export declare class IcebergParquetTable extends TableTypeBase {
14
+ /** Iceberg (parquet) format-version-2 table. */
15
+ export declare class IcebergParquetV2Table extends TableTypeBase {
16
+ /**
17
+ * The Iceberg format version this engine pins to. A present `formatVersion`
18
+ * must equal this. A future v3 sibling subclass overrides this single value.
19
+ */
20
+ protected static readonly EXPECTED_FORMAT_VERSION = 2;
12
21
  /**
13
22
  * Validate a column type against the Iceberg v0 type registry.
14
23
  *
@@ -28,7 +37,6 @@ export declare class IcebergParquetTable extends TableTypeBase {
28
37
  * @returns Every partition-related violation.
29
38
  */
30
39
  partitionViolations(): Violation[];
31
- private static readonly FORMAT_VERSIONS;
32
40
  private static readonly ENUM_PROPERTIES;
33
41
  private static readonly POSITIVE_INT_PROPERTIES;
34
42
  private static readonly NON_NEGATIVE_INT_PROPERTIES;
@@ -76,11 +84,12 @@ export declare class IcebergParquetTable extends TableTypeBase {
76
84
  private commitRetryOrderingViolations;
77
85
  /**
78
86
  * Validate Iceberg identifier fields (the row-identity / equality-delete
79
- * key). Equality deletes are a format-version 2+ feature, and identifier
80
- * fields must be required primitive columns that are not float/double.
87
+ * key). Equality deletes are a v2 feature, which this engine inherently is;
88
+ * identifier fields must be required primitive columns that are not
89
+ * float/double.
81
90
  *
82
- * Emits `ICEBERG_IDENTIFIER_NEEDS_FORMAT_V2`, `ICEBERG_IDENTIFIER_COLUMN_EXISTS`,
83
- * `ICEBERG_IDENTIFIER_REQUIRED`, and `ICEBERG_IDENTIFIER_TYPE_PRIMITIVE`.
91
+ * Emits `ICEBERG_IDENTIFIER_COLUMN_EXISTS`, `ICEBERG_IDENTIFIER_REQUIRED`,
92
+ * and `ICEBERG_IDENTIFIER_TYPE_PRIMITIVE`.
84
93
  *
85
94
  * @returns Every identifier-field violation.
86
95
  */