@cogeotiff/cli 7.0.0 → 7.1.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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,22 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [7.1.0](https://github.com/blacha/cogeotiff/compare/v7.0.0...v7.1.0) (2022-06-22)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **core:** load the ghost header bytes if requested ([b1f0116](https://github.com/blacha/cogeotiff/commit/b1f01164da1ad7deed7c3754e0106ccfea773338))
12
+
13
+
14
+ ### Features
15
+
16
+ * **cli:** log all the ghost options out ([8c67420](https://github.com/blacha/cogeotiff/commit/8c67420c8ec270e908f17dfe944d2323c1bfb682))
17
+
18
+
19
+
20
+
21
+
6
22
  # [7.0.0](https://github.com/blacha/cogeotiff/compare/v6.1.1...v7.0.0) (2022-03-17)
7
23
 
8
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"action.info.d.ts","sourceRoot":"","sources":["../src/action.info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;AA6ErH,qBAAa,aAAc,SAAQ,iBAAiB;IAChD,OAAO,CAAC,IAAI,CAAC,CAA6B;IAC1C,OAAO,CAAC,IAAI,CAAC,CAA2B;IACxC,OAAO,CAAC,OAAO,CAAC,CAA2B;;IAUrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAqFhC,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAuBvC"}
1
+ {"version":3,"file":"action.info.d.ts","sourceRoot":"","sources":["../src/action.info.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAwD,MAAM,4BAA4B,CAAC;AA6ErH,qBAAa,aAAc,SAAQ,iBAAiB;IAChD,OAAO,CAAC,IAAI,CAAC,CAA6B;IAC1C,OAAO,CAAC,IAAI,CAAC,CAA2B;IACxC,OAAO,CAAC,OAAO,CAAC,CAA2B;;IAUrC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAuFhC,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAuBvC"}
@@ -89,6 +89,7 @@ export class ActionCogInfo extends CommandLineAction {
89
89
  const chunkIds = [...source.chunks.values()];
90
90
  const imageInfo = '\n' + TiffImageInfoTable.print(tif.images, '\t\t').join('\n');
91
91
  const gdalMetadata = parseGdalMetadata(firstImage);
92
+ const ghostOptions = [...tif.options.options.entries()];
92
93
  const isGeoLocated = firstImage.isGeoLocated;
93
94
  const result = [
94
95
  {
@@ -119,15 +120,16 @@ export class ActionCogInfo extends CommandLineAction {
119
120
  keys: [
120
121
  { key: 'COG optimized', value: tif.options.isCogOptimized },
121
122
  tif.options.isBroken ? { key: 'COG broken', value: tif.options.isBroken } : null,
122
- isCogOptimized ? { key: 'Tile order', value: tif.options.tileOrder } : null,
123
- isCogOptimized
123
+ isCogOptimized ? { key: 'Mask interleaved', value: tif.options.isMaskInterleaved } : null,
124
+ ghostOptions.length > 0
124
125
  ? {
125
- key: 'Tile leader',
126
- value: `${tif.options.tileLeader} - ${tif.options.tileLeaderByteSize} Bytes`,
126
+ key: 'Ghost Options',
127
+ value: '\n' + ghostOptions.map((c) => `\t\t${c[0]}=${c[1]}`).join('\n'),
127
128
  }
128
129
  : null,
129
- isCogOptimized ? { key: 'Mask interleaved', value: tif.options.isMaskInterleaved } : null,
130
- gdalMetadata ? { key: 'Metadata', value: gdalMetadata.map((c) => `\t\t${c}`).join('\n') } : null,
130
+ gdalMetadata
131
+ ? { key: 'Metadata', value: '\n' + gdalMetadata.map((c) => `\t\t${c}`).join('\n') }
132
+ : null,
131
133
  ],
132
134
  },
133
135
  ];
@@ -176,4 +178,4 @@ export class ActionCogInfo extends CommandLineAction {
176
178
  });
177
179
  }
178
180
  }
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWN0aW9uLmluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSw0QkFBNEIsQ0FBQztBQUNySCxPQUFPLENBQUMsTUFBTSxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsU0FBUyxTQUFTLENBQUMsS0FBMkIsRUFBRSxPQUFlLEVBQUUsUUFBYTtJQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUU1RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDNUQ7SUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxHQUFXO0lBQ3RCLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFB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QztZQUNuQyxZQUFZLEVBQUUsTUFBTTtZQUNwQixpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNqQyxpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNwQyxpQkFBaUIsRUFBRSxZQUFZO1lBQy9CLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLCtCQUErQjtZQUM1QyxRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaHVua1NvdXJjZUJhc2UgfSBmcm9tICdAY2h1bmtkL2NvcmUnO1xuaW1wb3J0IHsgQ29nVGlmZkltYWdlLCBUaWZmVGFnLCBUaWZmVGFnR2VvLCBUaWZmVmVyc2lvbiB9IGZyb20gJ0Bjb2dlb3RpZmYvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kTGluZUFjdGlvbiwgQ29tbWFuZExpbmVGbGFnUGFyYW1ldGVyLCBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ0BydXNoc3RhY2svdHMtY29tbWFuZC1saW5lJztcbmltcG9ydCBjIGZyb20gJ2Fuc2ktY29sb3JzJztcbmltcG9ydCB7IEFjdGlvblV0aWwsIENsaVJlc3VsdE1hcCB9IGZyb20gJy4vYWN0aW9uLnV0aWwuanMnO1xuaW1wb3J0IHsgQ2xpVGFibGUgfSBmcm9tICcuL2NsaS50YWJsZS5qcyc7XG5pbXBvcnQgeyB0b0J5dGVTaXplU3RyaW5nIH0gZnJvbSAnLi91dGlsLmJ5dGVzLmpzJztcblxuZnVuY3Rpb24gZm9ybWF0VGFnKHRhZ0lkOiBUaWZmVGFnIHwgVGlmZlRhZ0dlbywgdGFnTmFtZTogc3RyaW5nLCB0YWdWYWx1ZTogYW55KTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9IHtcbiAgICBjb25zdCBrZXkgPSBgJHtTdHJpbmcodGFnSWQpLnBhZEVuZCg3LCAnICcpfSAke1N0cmluZyh0YWdOYW1lKS5wYWRFbmQoMjApfWA7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0YWdWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHsga2V5LCB2YWx1ZTogdGFnVmFsdWUuc2xpY2UoMCwgMjUwKS5qb2luKCcsICcpIH07XG4gICAgfVxuICAgIHJldHVybiB7IGtleSwgdmFsdWU6IFN0cmluZyh0YWdWYWx1ZSkuc3Vic3RyKDAsIDEwMjQpIH07XG59XG5cbmZ1bmN0aW9uIHJvdW5kKG51bTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcHQgPSAxMCAqKiA0O1xuICAgIHJldHVybiBNYXRoLmZsb29yKG51bSAqIG9wdCkgLyBvcHQ7XG59XG5cbmNvbnN0IFRpZmZJbWFnZUluZm9UYWJsZSA9IG5ldyBDbGlUYWJsZTxDb2dUaWZmSW1hZ2U+KCk7XG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHsgbmFtZTogJ0lkJywgd2lkdGg6IDQsIGdldDogKGksIGluZGV4KSA9PiBTdHJpbmcoaW5kZXgpIH0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7IG5hbWU6ICdTaXplJywgd2lkdGg6IDIwLCBnZXQ6IChpKSA9PiBgJHtpLnNpemUud2lkdGh9eCR7aS5zaXplLmhlaWdodH1gIH0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1RpbGUgU2l6ZScsXG4gICAgd2lkdGg6IDIwLFxuICAgIGdldDogKGkpID0+IGAke2kudGlsZUNvdW50Lnh9eCR7aS50aWxlQ291bnQueX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzVGlsZWQoKSxcbn0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1RpbGUgQ291bnQnLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBgJHtpLnRpbGVDb3VudC54ICogaS50aWxlQ291bnQueX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzVGlsZWQoKSxcbn0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1N0cmlwIENvdW50JyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7aS50YWdzLmdldChUaWZmVGFnLlN0cmlwT2Zmc2V0cyk/LmRhdGFDb3VudH1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiAhaS5pc1RpbGVkKCksXG59KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoe1xuICAgIG5hbWU6ICdSZXNvbHV0aW9uJyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7cm91bmQoaS5yZXNvbHV0aW9uWzBdKX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzR2VvTG9jYXRlZCxcbn0pO1xuXG4vLyBTaG93IGNvbXByZXNzaW9uIG9ubHkgaWYgaXQgdmFyaWVzIGJldHdlZW4gaW1hZ2VzXG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHtcbiAgICBuYW1lOiAnQ29tcHJlc3Npb24nLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBpLmNvbXByZXNzaW9uLFxuICAgIGVuYWJsZWQ6IChpKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHMgPSBuZXcgU2V0KCk7XG4gICAgICAgIGkudGlmLmltYWdlcy5mb3JFYWNoKChmKSA9PiBmb3JtYXRzLmFkZChmLmNvbXByZXNzaW9uKSk7XG4gICAgICAgIHJldHVybiBmb3JtYXRzLnNpemUgPiAxO1xuICAgIH0sXG59KTtcblxuLyoqXG4gKiBQYXJzZSBvdXQgdGhlIEdEQUwgTWV0YWRhdGEgdG8gYmUgbW9yZSBmcmllbmRseSB0byByZWFkXG4gKlxuICogVE9ETyB1c2luZyBhIFhNTCBQYXJzZXIgd2lsbCBtYWtlIHRoaXMgZXZlbiBiZXR0ZXJcbiAqIEBwYXJhbSBpbWdcbiAqL1xuZnVuY3Rpb24gcGFyc2VHZGFsTWV0YWRhdGEoaW1nOiBDb2dUaWZmSW1hZ2UpOiBzdHJpbmdbXSB8IG51bGwge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gaW1nLnZhbHVlKFRpZmZUYWcuR0RBTF9NRVRBREFUQSk7XG4gICAgaWYgKHR5cGVvZiBtZXRhZGF0YSAhPT0gJ3N0cmluZycpIHJldHVybiBudWxsO1xuICAgIGlmICghbWV0YWRhdGEuc3RhcnRzV2l0aCgnPEdEQUxNZXRhZGF0YT4nKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG1ldGFkYXRhXG4gICAgICAgIC5yZXBsYWNlKCc8R0RBTE1ldGFkYXRhPicsICcnKVxuICAgICAgICAucmVwbGFjZSgnPC9HREFMTWV0YWRhdGE+JywgJycpXG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLm1hcCgoYykgPT4gYy50cmltKCkpO1xufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29nSW5mbyBleHRlbmRzIENvbW1hbmRMaW5lQWN0aW9uIHtcbiAgICBwcml2YXRlIGZpbGU/OiBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlcjtcbiAgICBwcml2YXRlIHRhZ3M/OiBDb21tYW5kTGluZUZsYWdQYXJhbWV0ZXI7XG4gICAgcHJpdmF0ZSB0YWdzQWxsPzogQ29tbWFuZExpbmVGbGFnUGFyYW1ldGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiAnaW5mbycsXG4gICAgICAgICAgICBzdW1tYXJ5OiAnU2hvd3MgaW5mbyBhYm91dCBhIENPRycsXG4gICAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnJyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25FeGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IHRpZiB9ID0gYXdhaXQgQWN0aW9uVXRpbC5nZXRDb2dTb3VyY2UodGhpcy5maWxlKTtcbiAgICAgICAgY29uc3QgW2ZpcnN0SW1hZ2VdID0gdGlmLmltYWdlcztcblxuICAgICAgICBhd2FpdCBmaXJzdEltYWdlLmxvYWRHZW9UaWZmVGFncygpO1xuXG4gICAgICAgIGNvbnN0IGlzQ29nT3B0aW1pemVkID0gdGlmLm9wdGlvbnMuaXNDb2dPcHRpbWl6ZWQ7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IHRpZi5zb3VyY2UgYXMgQ2h1bmtTb3VyY2VCYXNlO1xuICAgICAgICBjb25zdCBjaHVua0lkcyA9IFsuLi4oc291cmNlLmNodW5rcyBhcyBNYXA8dW5rbm93biwgdW5rbm93bj4pLnZhbHVlcygpXTtcblxuICAgICAgICBjb25zdCBpbWFnZUluZm8gPSAnXFxuJyArIFRpZmZJbWFnZUluZm9UYWJsZS5wcmludCh0aWYuaW1hZ2VzLCAnXFx0XFx0Jykuam9pbignXFxuJyk7XG5cbiAgICAgICAgY29uc3QgZ2RhbE1ldGFkYXRhID0gcGFyc2VHZGFsTWV0YWRhdGEoZmlyc3RJbWFnZSk7XG5cbiAgICAgICAgY29uc3QgaXNHZW9Mb2NhdGVkID0gZmlyc3RJbWFnZS5pc0dlb0xvY2F0ZWQ7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBDbGlSZXN1bHRNYXBbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnVGlmZiB0eXBlJywgdmFsdWU6IGAke1RpZmZWZXJzaW9uW3RpZi52ZXJzaW9uXX0gKHYke1N0cmluZyh0aWYudmVyc2lvbil9KWAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdDaHVuayBzaXplJywgdmFsdWU6IHRvQnl0ZVNpemVTdHJpbmcodGlmLnNvdXJjZS5jaHVua1NpemUpIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0J5dGVzIHJlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGAke3RvQnl0ZVNpemVTdHJpbmcoY2h1bmtJZHMubGVuZ3RoICogdGlmLnNvdXJjZS5jaHVua1NpemUpfSAoJHtjaHVua0lkcy5sZW5ndGh9IENodW5rJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua0lkcy5sZW5ndGggPT09IDEgPyAnJyA6ICdzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnSW1hZ2VzJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnQ29tcHJlc3Npb24nLCB2YWx1ZTogZmlyc3RJbWFnZS5jb21wcmVzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgICBpc0dlb0xvY2F0ZWQgPyB7IGtleTogJ09yaWdpbicsIHZhbHVlOiBmaXJzdEltYWdlLm9yaWdpbi5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGlzR2VvTG9jYXRlZCA/IHsga2V5OiAnUmVzb2x1dGlvbicsIHZhbHVlOiBmaXJzdEltYWdlLnJlc29sdXRpb24ubWFwKHJvdW5kKS5qb2luKCcsICcpIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBpc0dlb0xvY2F0ZWQgPyB7IGtleTogJ0JvdW5kaW5nQm94JywgdmFsdWU6IGZpcnN0SW1hZ2UuYmJveC5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2UuZXBzZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IGtleTogJ0VQU0cnLCB2YWx1ZTogYEVQU0c6JHtmaXJzdEltYWdlLmVwc2d9IChodHRwczovL2Vwc2cuaW8vJHtmaXJzdEltYWdlLmVwc2d9KWAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ0luZm8nLCB2YWx1ZTogaW1hZ2VJbmZvIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdHREFMJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnQ09HIG9wdGltaXplZCcsIHZhbHVlOiB0aWYub3B0aW9ucy5pc0NvZ09wdGltaXplZCB9LFxuICAgICAgICAgICAgICAgICAgICB0aWYub3B0aW9ucy5pc0Jyb2tlbiA/IHsga2V5OiAnQ09HIGJyb2tlbicsIHZhbHVlOiB0aWYub3B0aW9ucy5pc0Jyb2tlbiB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgaXNDb2dPcHRpbWl6ZWQgPyB7IGtleTogJ1RpbGUgb3JkZXInLCB2YWx1ZTogdGlmLm9wdGlvbnMudGlsZU9yZGVyIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBpc0NvZ09wdGltaXplZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6ICdUaWxlIGxlYWRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYCR7dGlmLm9wdGlvbnMudGlsZUxlYWRlcn0gLSAke3RpZi5vcHRpb25zLnRpbGVMZWFkZXJCeXRlU2l6ZX0gQnl0ZXNgLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGlzQ29nT3B0aW1pemVkID8geyBrZXk6ICdNYXNrIGludGVybGVhdmVkJywgdmFsdWU6IHRpZi5vcHRpb25zLmlzTWFza0ludGVybGVhdmVkIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBnZGFsTWV0YWRhdGEgPyB7IGtleTogJ01ldGFkYXRhJywgdmFsdWU6IGdkYWxNZXRhZGF0YS5tYXAoKGMpID0+IGBcXHRcXHQke2N9YCkuam9pbignXFxuJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMudGFncz8udmFsdWUgfHwgdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpbWcgb2YgdGlmLmltYWdlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpZmZUYWdzID0gWy4uLmltZy50YWdzLmtleXMoKV07XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBUaWZmIHRhZ3NgLFxuICAgICAgICAgICAgICAgICAgICBrZXlzOiB0aWZmVGFncy5tYXAoKHRhZ0lkKSA9PiBmb3JtYXRUYWcodGFnSWQsIFRpZmZUYWdbdGFnSWRdLCBpbWcudmFsdWUodGFnSWQpKSksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW1nLmxvYWRHZW9UaWZmVGFncygpO1xuICAgICAgICAgICAgICAgIGlmIChpbWcudGFnc0dlbykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aWZmVGFnc0dlbyA9IFsuLi5pbWcudGFnc0dlby5rZXlzKCldO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBHZW8gVGlmZiB0YWdzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM6IHRpZmZUYWdzR2VvLm1hcCgodGFnSWQpID0+IGZvcm1hdFRhZyh0YWdJZCwgVGlmZlRhZ0dlb1t0YWdJZF0sIGltZy52YWx1ZUdlbyh0YWdJZCkpKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtc2cgPSBBY3Rpb25VdGlsLmZvcm1hdFJlc3VsdChgJHtjLmJvbGQoJ0NPRyBGaWxlIEluZm8nKX0gLSAke2MuYm9sZCh0aWYuc291cmNlLnVyaSl9YCwgcmVzdWx0KTtcbiAgICAgICAgY29uc29sZS5sb2cobXNnLmpvaW4oJ1xcbicpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EZWZpbmVQYXJhbWV0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGUgPSB0aGlzLmRlZmluZVN0cmluZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBhcmd1bWVudE5hbWU6ICdGSUxFJyxcbiAgICAgICAgICAgIHBhcmFtZXRlckxvbmdOYW1lOiAnLS1maWxlJyxcbiAgICAgICAgICAgIHBhcmFtZXRlclNob3J0TmFtZTogJy1mJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnY29nIGZpbGUgdG8gYWNjZXNzJyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhZ3MgPSB0aGlzLmRlZmluZUZsYWdQYXJhbWV0ZXIoe1xuICAgICAgICAgICAgcGFyYW1ldGVyTG9uZ05hbWU6ICctLXRhZ3MnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLXQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFnc0FsbCA9IHRoaXMuZGVmaW5lRmxhZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBwYXJhbWV0ZXJMb25nTmFtZTogJy0tdGFncy1hbGwnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLVQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncyBmb3IgYWxsIGltYWdlcycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWN0aW9uLmluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFnQixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0QsTUFBTSw0QkFBNEIsQ0FBQztBQUNySCxPQUFPLENBQUMsTUFBTSxhQUFhLENBQUM7QUFDNUIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFbkQsU0FBUyxTQUFTLENBQUMsS0FBMkIsRUFBRSxPQUFlLEVBQUUsUUFBYTtJQUMxRSxNQUFNLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUU1RSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7UUFDekIsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7S0FDNUQ7SUFDRCxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzVELENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxHQUFXO0lBQ3RCLE1BQU0sR0FBRyxHQUFHLEVBQUUsSUFB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LENBQUM7SUFDaEMsQ0FBQztJQUVTLGtCQUFrQjtRQUN4QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUNuQyxZQUFZLEVBQUUsTUFBTTtZQUNwQixpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLG9CQUFvQjtZQUNqQyxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNqQyxpQkFBaUIsRUFBRSxRQUFRO1lBQzNCLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLGdCQUFnQjtZQUM3QixRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztZQUNwQyxpQkFBaUIsRUFBRSxZQUFZO1lBQy9CLGtCQUFrQixFQUFFLElBQUk7WUFDeEIsV0FBVyxFQUFFLCtCQUErQjtZQUM1QyxRQUFRLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaHVua1NvdXJjZUJhc2UgfSBmcm9tICdAY2h1bmtkL2NvcmUnO1xuaW1wb3J0IHsgQ29nVGlmZkltYWdlLCBUaWZmVGFnLCBUaWZmVGFnR2VvLCBUaWZmVmVyc2lvbiB9IGZyb20gJ0Bjb2dlb3RpZmYvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kTGluZUFjdGlvbiwgQ29tbWFuZExpbmVGbGFnUGFyYW1ldGVyLCBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ0BydXNoc3RhY2svdHMtY29tbWFuZC1saW5lJztcbmltcG9ydCBjIGZyb20gJ2Fuc2ktY29sb3JzJztcbmltcG9ydCB7IEFjdGlvblV0aWwsIENsaVJlc3VsdE1hcCB9IGZyb20gJy4vYWN0aW9uLnV0aWwuanMnO1xuaW1wb3J0IHsgQ2xpVGFibGUgfSBmcm9tICcuL2NsaS50YWJsZS5qcyc7XG5pbXBvcnQgeyB0b0J5dGVTaXplU3RyaW5nIH0gZnJvbSAnLi91dGlsLmJ5dGVzLmpzJztcblxuZnVuY3Rpb24gZm9ybWF0VGFnKHRhZ0lkOiBUaWZmVGFnIHwgVGlmZlRhZ0dlbywgdGFnTmFtZTogc3RyaW5nLCB0YWdWYWx1ZTogYW55KTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9IHtcbiAgICBjb25zdCBrZXkgPSBgJHtTdHJpbmcodGFnSWQpLnBhZEVuZCg3LCAnICcpfSAke1N0cmluZyh0YWdOYW1lKS5wYWRFbmQoMjApfWA7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0YWdWYWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHsga2V5LCB2YWx1ZTogdGFnVmFsdWUuc2xpY2UoMCwgMjUwKS5qb2luKCcsICcpIH07XG4gICAgfVxuICAgIHJldHVybiB7IGtleSwgdmFsdWU6IFN0cmluZyh0YWdWYWx1ZSkuc3Vic3RyKDAsIDEwMjQpIH07XG59XG5cbmZ1bmN0aW9uIHJvdW5kKG51bTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBvcHQgPSAxMCAqKiA0O1xuICAgIHJldHVybiBNYXRoLmZsb29yKG51bSAqIG9wdCkgLyBvcHQ7XG59XG5cbmNvbnN0IFRpZmZJbWFnZUluZm9UYWJsZSA9IG5ldyBDbGlUYWJsZTxDb2dUaWZmSW1hZ2U+KCk7XG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHsgbmFtZTogJ0lkJywgd2lkdGg6IDQsIGdldDogKGksIGluZGV4KSA9PiBTdHJpbmcoaW5kZXgpIH0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7IG5hbWU6ICdTaXplJywgd2lkdGg6IDIwLCBnZXQ6IChpKSA9PiBgJHtpLnNpemUud2lkdGh9eCR7aS5zaXplLmhlaWdodH1gIH0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1RpbGUgU2l6ZScsXG4gICAgd2lkdGg6IDIwLFxuICAgIGdldDogKGkpID0+IGAke2kudGlsZUNvdW50Lnh9eCR7aS50aWxlQ291bnQueX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzVGlsZWQoKSxcbn0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1RpbGUgQ291bnQnLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBgJHtpLnRpbGVDb3VudC54ICogaS50aWxlQ291bnQueX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzVGlsZWQoKSxcbn0pO1xuVGlmZkltYWdlSW5mb1RhYmxlLmFkZCh7XG4gICAgbmFtZTogJ1N0cmlwIENvdW50JyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7aS50YWdzLmdldChUaWZmVGFnLlN0cmlwT2Zmc2V0cyk/LmRhdGFDb3VudH1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiAhaS5pc1RpbGVkKCksXG59KTtcblRpZmZJbWFnZUluZm9UYWJsZS5hZGQoe1xuICAgIG5hbWU6ICdSZXNvbHV0aW9uJyxcbiAgICB3aWR0aDogMjAsXG4gICAgZ2V0OiAoaSkgPT4gYCR7cm91bmQoaS5yZXNvbHV0aW9uWzBdKX1gLFxuICAgIGVuYWJsZWQ6IChpKSA9PiBpLmlzR2VvTG9jYXRlZCxcbn0pO1xuXG4vLyBTaG93IGNvbXByZXNzaW9uIG9ubHkgaWYgaXQgdmFyaWVzIGJldHdlZW4gaW1hZ2VzXG5UaWZmSW1hZ2VJbmZvVGFibGUuYWRkKHtcbiAgICBuYW1lOiAnQ29tcHJlc3Npb24nLFxuICAgIHdpZHRoOiAyMCxcbiAgICBnZXQ6IChpKSA9PiBpLmNvbXByZXNzaW9uLFxuICAgIGVuYWJsZWQ6IChpKSA9PiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHMgPSBuZXcgU2V0KCk7XG4gICAgICAgIGkudGlmLmltYWdlcy5mb3JFYWNoKChmKSA9PiBmb3JtYXRzLmFkZChmLmNvbXByZXNzaW9uKSk7XG4gICAgICAgIHJldHVybiBmb3JtYXRzLnNpemUgPiAxO1xuICAgIH0sXG59KTtcblxuLyoqXG4gKiBQYXJzZSBvdXQgdGhlIEdEQUwgTWV0YWRhdGEgdG8gYmUgbW9yZSBmcmllbmRseSB0byByZWFkXG4gKlxuICogVE9ETyB1c2luZyBhIFhNTCBQYXJzZXIgd2lsbCBtYWtlIHRoaXMgZXZlbiBiZXR0ZXJcbiAqIEBwYXJhbSBpbWdcbiAqL1xuZnVuY3Rpb24gcGFyc2VHZGFsTWV0YWRhdGEoaW1nOiBDb2dUaWZmSW1hZ2UpOiBzdHJpbmdbXSB8IG51bGwge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gaW1nLnZhbHVlKFRpZmZUYWcuR0RBTF9NRVRBREFUQSk7XG4gICAgaWYgKHR5cGVvZiBtZXRhZGF0YSAhPT0gJ3N0cmluZycpIHJldHVybiBudWxsO1xuICAgIGlmICghbWV0YWRhdGEuc3RhcnRzV2l0aCgnPEdEQUxNZXRhZGF0YT4nKSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIG1ldGFkYXRhXG4gICAgICAgIC5yZXBsYWNlKCc8R0RBTE1ldGFkYXRhPicsICcnKVxuICAgICAgICAucmVwbGFjZSgnPC9HREFMTWV0YWRhdGE+JywgJycpXG4gICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgLm1hcCgoYykgPT4gYy50cmltKCkpO1xufVxuXG5leHBvcnQgY2xhc3MgQWN0aW9uQ29nSW5mbyBleHRlbmRzIENvbW1hbmRMaW5lQWN0aW9uIHtcbiAgICBwcml2YXRlIGZpbGU/OiBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlcjtcbiAgICBwcml2YXRlIHRhZ3M/OiBDb21tYW5kTGluZUZsYWdQYXJhbWV0ZXI7XG4gICAgcHJpdmF0ZSB0YWdzQWxsPzogQ29tbWFuZExpbmVGbGFnUGFyYW1ldGVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcih7XG4gICAgICAgICAgICBhY3Rpb25OYW1lOiAnaW5mbycsXG4gICAgICAgICAgICBzdW1tYXJ5OiAnU2hvd3MgaW5mbyBhYm91dCBhIENPRycsXG4gICAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnJyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25FeGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCB7IHRpZiB9ID0gYXdhaXQgQWN0aW9uVXRpbC5nZXRDb2dTb3VyY2UodGhpcy5maWxlKTtcbiAgICAgICAgY29uc3QgW2ZpcnN0SW1hZ2VdID0gdGlmLmltYWdlcztcblxuICAgICAgICBhd2FpdCBmaXJzdEltYWdlLmxvYWRHZW9UaWZmVGFncygpO1xuXG4gICAgICAgIGNvbnN0IGlzQ29nT3B0aW1pemVkID0gdGlmLm9wdGlvbnMuaXNDb2dPcHRpbWl6ZWQ7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IHRpZi5zb3VyY2UgYXMgQ2h1bmtTb3VyY2VCYXNlO1xuICAgICAgICBjb25zdCBjaHVua0lkcyA9IFsuLi4oc291cmNlLmNodW5rcyBhcyBNYXA8dW5rbm93biwgdW5rbm93bj4pLnZhbHVlcygpXTtcblxuICAgICAgICBjb25zdCBpbWFnZUluZm8gPSAnXFxuJyArIFRpZmZJbWFnZUluZm9UYWJsZS5wcmludCh0aWYuaW1hZ2VzLCAnXFx0XFx0Jykuam9pbignXFxuJyk7XG5cbiAgICAgICAgY29uc3QgZ2RhbE1ldGFkYXRhID0gcGFyc2VHZGFsTWV0YWRhdGEoZmlyc3RJbWFnZSk7XG4gICAgICAgIGNvbnN0IGdob3N0T3B0aW9ucyA9IFsuLi50aWYub3B0aW9ucy5vcHRpb25zLmVudHJpZXMoKV07XG5cbiAgICAgICAgY29uc3QgaXNHZW9Mb2NhdGVkID0gZmlyc3RJbWFnZS5pc0dlb0xvY2F0ZWQ7XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBDbGlSZXN1bHRNYXBbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnVGlmZiB0eXBlJywgdmFsdWU6IGAke1RpZmZWZXJzaW9uW3RpZi52ZXJzaW9uXX0gKHYke1N0cmluZyh0aWYudmVyc2lvbil9KWAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdDaHVuayBzaXplJywgdmFsdWU6IHRvQnl0ZVNpemVTdHJpbmcodGlmLnNvdXJjZS5jaHVua1NpemUpIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0J5dGVzIHJlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGAke3RvQnl0ZVNpemVTdHJpbmcoY2h1bmtJZHMubGVuZ3RoICogdGlmLnNvdXJjZS5jaHVua1NpemUpfSAoJHtjaHVua0lkcy5sZW5ndGh9IENodW5rJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua0lkcy5sZW5ndGggPT09IDEgPyAnJyA6ICdzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRpdGxlOiAnSW1hZ2VzJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnQ29tcHJlc3Npb24nLCB2YWx1ZTogZmlyc3RJbWFnZS5jb21wcmVzc2lvbiB9LFxuICAgICAgICAgICAgICAgICAgICBpc0dlb0xvY2F0ZWQgPyB7IGtleTogJ09yaWdpbicsIHZhbHVlOiBmaXJzdEltYWdlLm9yaWdpbi5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGlzR2VvTG9jYXRlZCA/IHsga2V5OiAnUmVzb2x1dGlvbicsIHZhbHVlOiBmaXJzdEltYWdlLnJlc29sdXRpb24ubWFwKHJvdW5kKS5qb2luKCcsICcpIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBpc0dlb0xvY2F0ZWQgPyB7IGtleTogJ0JvdW5kaW5nQm94JywgdmFsdWU6IGZpcnN0SW1hZ2UuYmJveC5tYXAocm91bmQpLmpvaW4oJywgJykgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0SW1hZ2UuZXBzZ1xuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IGtleTogJ0VQU0cnLCB2YWx1ZTogYEVQU0c6JHtmaXJzdEltYWdlLmVwc2d9IChodHRwczovL2Vwc2cuaW8vJHtmaXJzdEltYWdlLmVwc2d9KWAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ0luZm8nLCB2YWx1ZTogaW1hZ2VJbmZvIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdHREFMJyxcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnQ09HIG9wdGltaXplZCcsIHZhbHVlOiB0aWYub3B0aW9ucy5pc0NvZ09wdGltaXplZCB9LFxuICAgICAgICAgICAgICAgICAgICB0aWYub3B0aW9ucy5pc0Jyb2tlbiA/IHsga2V5OiAnQ09HIGJyb2tlbicsIHZhbHVlOiB0aWYub3B0aW9ucy5pc0Jyb2tlbiB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgaXNDb2dPcHRpbWl6ZWQgPyB7IGtleTogJ01hc2sgaW50ZXJsZWF2ZWQnLCB2YWx1ZTogdGlmLm9wdGlvbnMuaXNNYXNrSW50ZXJsZWF2ZWQgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGdob3N0T3B0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0dob3N0IE9wdGlvbnMnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6ICdcXG4nICsgZ2hvc3RPcHRpb25zLm1hcCgoYykgPT4gYFxcdFxcdCR7Y1swXX09JHtjWzFdfWApLmpvaW4oJ1xcbicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGdkYWxNZXRhZGF0YVxuICAgICAgICAgICAgICAgICAgICAgICAgPyB7IGtleTogJ01ldGFkYXRhJywgdmFsdWU6ICdcXG4nICsgZ2RhbE1ldGFkYXRhLm1hcCgoYykgPT4gYFxcdFxcdCR7Y31gKS5qb2luKCdcXG4nKSB9XG4gICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgaWYgKHRoaXMudGFncz8udmFsdWUgfHwgdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpbWcgb2YgdGlmLmltYWdlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRpZmZUYWdzID0gWy4uLmltZy50YWdzLmtleXMoKV07XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBUaWZmIHRhZ3NgLFxuICAgICAgICAgICAgICAgICAgICBrZXlzOiB0aWZmVGFncy5tYXAoKHRhZ0lkKSA9PiBmb3JtYXRUYWcodGFnSWQsIFRpZmZUYWdbdGFnSWRdLCBpbWcudmFsdWUodGFnSWQpKSksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaW1nLmxvYWRHZW9UaWZmVGFncygpO1xuICAgICAgICAgICAgICAgIGlmIChpbWcudGFnc0dlbykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB0aWZmVGFnc0dlbyA9IFsuLi5pbWcudGFnc0dlby5rZXlzKCldO1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aXRsZTogYEltYWdlOiAke2ltZy5pZH0gLSBHZW8gVGlmZiB0YWdzYCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleXM6IHRpZmZUYWdzR2VvLm1hcCgodGFnSWQpID0+IGZvcm1hdFRhZyh0YWdJZCwgVGlmZlRhZ0dlb1t0YWdJZF0sIGltZy52YWx1ZUdlbyh0YWdJZCkpKSxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICghdGhpcy50YWdzQWxsPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtc2cgPSBBY3Rpb25VdGlsLmZvcm1hdFJlc3VsdChgJHtjLmJvbGQoJ0NPRyBGaWxlIEluZm8nKX0gLSAke2MuYm9sZCh0aWYuc291cmNlLnVyaSl9YCwgcmVzdWx0KTtcbiAgICAgICAgY29uc29sZS5sb2cobXNnLmpvaW4oJ1xcbicpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25EZWZpbmVQYXJhbWV0ZXJzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmZpbGUgPSB0aGlzLmRlZmluZVN0cmluZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBhcmd1bWVudE5hbWU6ICdGSUxFJyxcbiAgICAgICAgICAgIHBhcmFtZXRlckxvbmdOYW1lOiAnLS1maWxlJyxcbiAgICAgICAgICAgIHBhcmFtZXRlclNob3J0TmFtZTogJy1mJyxcbiAgICAgICAgICAgIGRlc2NyaXB0aW9uOiAnY29nIGZpbGUgdG8gYWNjZXNzJyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRhZ3MgPSB0aGlzLmRlZmluZUZsYWdQYXJhbWV0ZXIoe1xuICAgICAgICAgICAgcGFyYW1ldGVyTG9uZ05hbWU6ICctLXRhZ3MnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLXQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGFnc0FsbCA9IHRoaXMuZGVmaW5lRmxhZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBwYXJhbWV0ZXJMb25nTmFtZTogJy0tdGFncy1hbGwnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLVQnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdEdW1wIHRpZmYgdGFncyBmb3IgYWxsIGltYWdlcycsXG4gICAgICAgICAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"action.tile.d.ts","sourceRoot":"","sources":["../src/action.tile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAQ3F,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,GAAG,CAA2C;;IAUhD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IA0ChC,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAiBvC"}
1
+ {"version":3,"file":"action.tile.d.ts","sourceRoot":"","sources":["../src/action.tile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAA8B,MAAM,4BAA4B,CAAC;AAQ3F,qBAAa,UAAW,SAAQ,iBAAiB;IAC7C,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,GAAG,CAA2C;;IAUhD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAqChC,SAAS,CAAC,kBAAkB,IAAI,IAAI;CAiBvC"}
@@ -22,10 +22,6 @@ export class ActionTile extends CommandLineAction {
22
22
  if (this.xyz == null || this.xyz.value == null) {
23
23
  throw new Error('XYZ was not defined');
24
24
  }
25
- const isCogOptimized = tif.options.isCogOptimized;
26
- if (!isCogOptimized) {
27
- logger.warn('COG is not optimized, fetching specific tiles will be slow.');
28
- }
29
25
  const [x, y, z] = this.xyz.value.split(',').map((c) => parseInt(c));
30
26
  if (isNaN(x) || isNaN(y) || isNaN(z)) {
31
27
  throw new Error('Invalid XYZ, format: "X,Y,Z"');
@@ -65,4 +61,4 @@ export class ActionTile extends CommandLineAction {
65
61
  });
66
62
  }
67
63
  }
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnRpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWN0aW9uLnRpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBOEIsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRixPQUFPLENBQUMsTUFBTSxhQUFhLENBQUM7QUFFNUIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLFVBQVcsU0FBUSxpQkFBaUI7SUFJN0M7UUFDSSxLQUFLLENBQUM7WUFDRixVQUFVLEVBQUUsTUFBTTtZQUNsQixPQUFPLEVBQUUsa0NBQWtDO1lBQzNDLGFBQWEsRUFBRSxFQUFFO1NBQ3BCLENBQUMsQ0FBQztRQVJDLFNBQUksR0FBc0MsSUFBSSxDQUFDO1FBQy9DLFFBQUcsR0FBc0MsSUFBSSxDQUFDO0lBUXRELENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNYLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVoRCxXQUFXO1FBQ1gsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDNUMsTUFBTSxJQUFJLEtBQUss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Zi9jb3JlJztcbmltcG9ydCB7IENvbW1hbmRMaW5lQWN0aW9uLCBDb21tYW5kTGluZVN0cmluZ1BhcmFtZXRlciB9IGZyb20gJ0BydXNoc3RhY2svdHMtY29tbWFuZC1saW5lJztcbmltcG9ydCBjIGZyb20gJ2Fuc2ktY29sb3JzJztcbmltcG9ydCB7IENodW5rU291cmNlQmFzZSB9IGZyb20gJ0BjaHVua2QvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25VdGlsLCBDbGlSZXN1bHRNYXAgfSBmcm9tICcuL2FjdGlvbi51dGlsLmpzJztcbmltcG9ydCB7IGxvZ2dlciBhcyBMb2dnZXIgfSBmcm9tICcuL2NsaS5sb2cuanMnO1xuaW1wb3J0IHsgdG9CeXRlU2l6ZVN0cmluZyB9IGZyb20gJy4vdXRpbC5ieXRlcy5qcyc7XG5pbXBvcnQgeyB3cml0ZVRpbGUgfSBmcm9tICcuL3V0aWwudGlsZS5qcyc7XG5cbmV4cG9ydCBjbGFzcyBBY3Rpb25UaWxlIGV4dGVuZHMgQ29tbWFuZExpbmVBY3Rpb24ge1xuICAgIHByaXZhdGUgZmlsZTogQ29tbWFuZExpbmVTdHJpbmdQYXJhbWV0ZXIgfCBudWxsID0gbnVsbDtcbiAgICBwcml2YXRlIHh5ejogQ29tbWFuZExpbmVTdHJpbmdQYXJhbWV0ZXIgfCBudWxsID0gbnVsbDtcblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoe1xuICAgICAgICAgICAgYWN0aW9uTmFtZTogJ3RpbGUnLFxuICAgICAgICAgICAgc3VtbWFyeTogJ0ZldGNoIGEgc3BlY2lmaWMgdGlsZSBmcm9tIGEgQ09HJyxcbiAgICAgICAgICAgIGRvY3VtZW50YXRpb246ICcnLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBhc3luYyBvbkV4ZWN1dGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGxvZ2dlciA9IExvZ2dlci5jaGlsZCh7IGFjdGlvbjogJ3RpbGUnIH0pO1xuXG4gICAgICAgIC8vIGFic3RyYWN0XG4gICAgICAgIGNvbnN0IHsgdGlmIH0gPSBhd2FpdCBBY3Rpb25VdGlsLmdldENvZ1NvdXJjZSh0aGlzLmZpbGUpO1xuICAgICAgICBpZiAodGhpcy54eXogPT0gbnVsbCB8fCB0aGlzLnh5ei52YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1hZWiB3YXMgbm90IGRlZmluZWQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlzQ29nT3B0aW1pemVkID0gdGlmLm9wdGlvbnMuaXNDb2dPcHRpbWl6ZWQ7XG4gICAgICAgIGlmICghaXNDb2dPcHRpbWl6ZWQpIHtcbiAgICAgICAgICAgIGxvZ2dlci53YXJuKCdDT0cgaXMgbm90IG9wdGltaXplZCwgZmV0Y2hpbmcgc3BlY2lmaWMgdGlsZXMgd2lsbCBiZSBzbG93LicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgW3gsIHksIHpdID0gdGhpcy54eXoudmFsdWUuc3BsaXQoJywnKS5tYXAoKGMpID0+IHBhcnNlSW50KGMpKTtcbiAgICAgICAgaWYgKGlzTmFOKHgpIHx8IGlzTmFOKHkpIHx8IGlzTmFOKHopKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgWFlaLCBmb3JtYXQ6IFwiWCxZLFpcIicpO1xuICAgICAgICB9XG5cbiAgICAgICAgYXdhaXQgd3JpdGVUaWxlKHRpZiwgeCwgeSwgeiwgJy4nLCBsb2dnZXIpO1xuICAgICAgICBjb25zdCBzb3VyY2UgPSB0aWYuc291cmNlIGFzIENodW5rU291cmNlQmFzZTtcbiAgICAgICAgY29uc3QgY2h1bmtJZHMgPSBbLi4uKHNvdXJjZS5jaHVua3MgYXMgTWFwPHVua25vd24sIHVua25vd24+KS52YWx1ZXMoKV07XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBDbGlSZXN1bHRNYXBbXSA9IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBrZXlzOiBbXG4gICAgICAgICAgICAgICAgICAgIHsga2V5OiAnVGlmZiB0eXBlJywgdmFsdWU6IGAke1RpZmZWZXJzaW9uW3RpZi52ZXJzaW9uXX0gKHYke1N0cmluZyh0aWYudmVyc2lvbil9KWAgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdDaHVuayBzaXplJywgdmFsdWU6IHRvQnl0ZVNpemVTdHJpbmcodGlmLnNvdXJjZS5jaHVua1NpemUpIH0sXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogJ0J5dGVzIHJlYWQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGAke3RvQnl0ZVNpemVTdHJpbmcoY2h1bmtJZHMubGVuZ3RoICogdGlmLnNvdXJjZS5jaHVua1NpemUpfSAoJHtjaHVua0lkcy5sZW5ndGh9IENodW5rJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua0lkcy5sZW5ndGggPT09IDEgPyAnJyA6ICdzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlgLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IG1zZyA9IEFjdGlvblV0aWwuZm9ybWF0UmVzdWx0KGAke2MuYm9sZCgnQ09HIEZpbGUgSW5mbycpfSAtICR7Yy5ib2xkKHRpZi5zb3VyY2UudXJpKX1gLCByZXN1bHQpO1xuICAgICAgICBjb25zb2xlLmxvZyhtc2cuam9pbignXFxuJykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkRlZmluZVBhcmFtZXRlcnMoKTogdm9pZCB7XG4gICAgICAgIC8vIGFic3RyYWN0XG4gICAgICAgIHRoaXMuZmlsZSA9IHRoaXMuZGVmaW5lU3RyaW5nUGFyYW1ldGVyKHtcbiAgICAgICAgICAgIGFyZ3VtZW50TmFtZTogJ0ZJTEUnLFxuICAgICAgICAgICAgcGFyYW1ldGVyTG9uZ05hbWU6ICctLWZpbGUnLFxuICAgICAgICAgICAgcGFyYW1ldGVyU2hvcnROYW1lOiAnLWYnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdjb2cgZmlsZSB0byBhY2Nlc3MnLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMueHl6ID0gdGhpcy5kZWZpbmVTdHJpbmdQYXJhbWV0ZXIoe1xuICAgICAgICAgICAgYXJndW1lbnROYW1lOiAnWFlaJyxcbiAgICAgICAgICAgIHBhcmFtZXRlckxvbmdOYW1lOiAnLS14eXonLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdcIlgsWSxaXCIgb2YgdGhlIHRpbGUgdG8gZmV0Y2gnLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnRpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWN0aW9uLnRpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxpQkFBaUIsRUFBOEIsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRixPQUFPLENBQUMsTUFBTSxhQUFhLENBQUM7QUFFNUIsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxrQkFBa0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxJQUFJLE1BQU0sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsTUFBTSxPQUFPLFVBQVcsU0FBUSxpQkFBaUI7SUFJN0M7UUFDSSxLQUFLLENBQUM7WUFDRixVQUFVLEVBQUUsTUFBTTtZQUNsQixPQUFPLEVBQUUsa0NBQWtDO1lBQzNDLGFBQWEsRUFBRSxFQUFFO1NBQ3BCLENBQUMsQ0FBQztRQVJDLFNBQUksR0FBc0MsSUFBSSxDQUFDO1FBQy9DLFFBQUcsR0FBc0MsSUFBSSxDQUFDO0lBUXRELENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNYLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUVoRCxXQUFXO1FBQ1gsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxJQUFJLENBQUMsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUU7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQzFDO1FBRUQsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEUsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7U0FDbkQ7UUFFRCxNQUFNLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUF5QixDQUFDO1FBQzdDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBSSxNQUFNLENBQUMsTUFBZ0MsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXhFLE1BQU0sTUFBTSxHQUFtQjtZQUMzQjtnQkFDSSxJQUFJLEVBQUU7b0JBQ0YsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFO29CQUNwRixFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7b0JBQ3BFO3dCQUNJLEdBQUcsRUFBRSxZQUFZO3dCQUNqQixLQUFLLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssUUFBUSxDQUFDLE1BQU0sU0FDbEYsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FDakMsR0FBRztxQkFDTjtpQkFDSjthQUNKO1NBQ0osQ0FBQztRQUVGLE1BQU0sR0FBRyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFUyxrQkFBa0I7UUFDeEIsV0FBVztRQUNYLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1lBQ25DLFlBQVksRUFBRSxNQUFNO1lBQ3BCLGlCQUFpQixFQUFFLFFBQVE7WUFDM0Isa0JBQWtCLEVBQUUsSUFBSTtZQUN4QixXQUFXLEVBQUUsb0JBQW9CO1lBQ2pDLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1lBQ2xDLFlBQVksRUFBRSxLQUFLO1lBQ25CLGlCQUFpQixFQUFFLE9BQU87WUFDMUIsV0FBVyxFQUFFLDhCQUE4QjtZQUMzQyxRQUFRLEVBQUUsSUFBSTtTQUNqQixDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUaWZmVmVyc2lvbiB9IGZyb20gJ0Bjb2dlb3RpZmYvY29yZSc7XG5pbXBvcnQgeyBDb21tYW5kTGluZUFjdGlvbiwgQ29tbWFuZExpbmVTdHJpbmdQYXJhbWV0ZXIgfSBmcm9tICdAcnVzaHN0YWNrL3RzLWNvbW1hbmQtbGluZSc7XG5pbXBvcnQgYyBmcm9tICdhbnNpLWNvbG9ycyc7XG5pbXBvcnQgeyBDaHVua1NvdXJjZUJhc2UgfSBmcm9tICdAY2h1bmtkL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uVXRpbCwgQ2xpUmVzdWx0TWFwIH0gZnJvbSAnLi9hY3Rpb24udXRpbC5qcyc7XG5pbXBvcnQgeyBsb2dnZXIgYXMgTG9nZ2VyIH0gZnJvbSAnLi9jbGkubG9nLmpzJztcbmltcG9ydCB7IHRvQnl0ZVNpemVTdHJpbmcgfSBmcm9tICcuL3V0aWwuYnl0ZXMuanMnO1xuaW1wb3J0IHsgd3JpdGVUaWxlIH0gZnJvbSAnLi91dGlsLnRpbGUuanMnO1xuXG5leHBvcnQgY2xhc3MgQWN0aW9uVGlsZSBleHRlbmRzIENvbW1hbmRMaW5lQWN0aW9uIHtcbiAgICBwcml2YXRlIGZpbGU6IENvbW1hbmRMaW5lU3RyaW5nUGFyYW1ldGVyIHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSB4eXo6IENvbW1hbmRMaW5lU3RyaW5nUGFyYW1ldGVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKHtcbiAgICAgICAgICAgIGFjdGlvbk5hbWU6ICd0aWxlJyxcbiAgICAgICAgICAgIHN1bW1hcnk6ICdGZXRjaCBhIHNwZWNpZmljIHRpbGUgZnJvbSBhIENPRycsXG4gICAgICAgICAgICBkb2N1bWVudGF0aW9uOiAnJyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYXN5bmMgb25FeGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBsb2dnZXIgPSBMb2dnZXIuY2hpbGQoeyBhY3Rpb246ICd0aWxlJyB9KTtcblxuICAgICAgICAvLyBhYnN0cmFjdFxuICAgICAgICBjb25zdCB7IHRpZiB9ID0gYXdhaXQgQWN0aW9uVXRpbC5nZXRDb2dTb3VyY2UodGhpcy5maWxlKTtcbiAgICAgICAgaWYgKHRoaXMueHl6ID09IG51bGwgfHwgdGhpcy54eXoudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdYWVogd2FzIG5vdCBkZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBbeCwgeSwgel0gPSB0aGlzLnh5ei52YWx1ZS5zcGxpdCgnLCcpLm1hcCgoYykgPT4gcGFyc2VJbnQoYykpO1xuICAgICAgICBpZiAoaXNOYU4oeCkgfHwgaXNOYU4oeSkgfHwgaXNOYU4oeikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBYWVosIGZvcm1hdDogXCJYLFksWlwiJyk7XG4gICAgICAgIH1cblxuICAgICAgICBhd2FpdCB3cml0ZVRpbGUodGlmLCB4LCB5LCB6LCAnLicsIGxvZ2dlcik7XG4gICAgICAgIGNvbnN0IHNvdXJjZSA9IHRpZi5zb3VyY2UgYXMgQ2h1bmtTb3VyY2VCYXNlO1xuICAgICAgICBjb25zdCBjaHVua0lkcyA9IFsuLi4oc291cmNlLmNodW5rcyBhcyBNYXA8dW5rbm93biwgdW5rbm93bj4pLnZhbHVlcygpXTtcblxuICAgICAgICBjb25zdCByZXN1bHQ6IENsaVJlc3VsdE1hcFtdID0gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGtleXM6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBrZXk6ICdUaWZmIHR5cGUnLCB2YWx1ZTogYCR7VGlmZlZlcnNpb25bdGlmLnZlcnNpb25dfSAodiR7U3RyaW5nKHRpZi52ZXJzaW9uKX0pYCB9LFxuICAgICAgICAgICAgICAgICAgICB7IGtleTogJ0NodW5rIHNpemUnLCB2YWx1ZTogdG9CeXRlU2l6ZVN0cmluZyh0aWYuc291cmNlLmNodW5rU2l6ZSkgfSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5OiAnQnl0ZXMgcmVhZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogYCR7dG9CeXRlU2l6ZVN0cmluZyhjaHVua0lkcy5sZW5ndGggKiB0aWYuc291cmNlLmNodW5rU2l6ZSl9ICgke2NodW5rSWRzLmxlbmd0aH0gQ2h1bmske1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNodW5rSWRzLmxlbmd0aCA9PT0gMSA/ICcnIDogJ3MnXG4gICAgICAgICAgICAgICAgICAgICAgICB9KWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG5cbiAgICAgICAgY29uc3QgbXNnID0gQWN0aW9uVXRpbC5mb3JtYXRSZXN1bHQoYCR7Yy5ib2xkKCdDT0cgRmlsZSBJbmZvJyl9IC0gJHtjLmJvbGQodGlmLnNvdXJjZS51cmkpfWAsIHJlc3VsdCk7XG4gICAgICAgIGNvbnNvbGUubG9nKG1zZy5qb2luKCdcXG4nKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uRGVmaW5lUGFyYW1ldGVycygpOiB2b2lkIHtcbiAgICAgICAgLy8gYWJzdHJhY3RcbiAgICAgICAgdGhpcy5maWxlID0gdGhpcy5kZWZpbmVTdHJpbmdQYXJhbWV0ZXIoe1xuICAgICAgICAgICAgYXJndW1lbnROYW1lOiAnRklMRScsXG4gICAgICAgICAgICBwYXJhbWV0ZXJMb25nTmFtZTogJy0tZmlsZScsXG4gICAgICAgICAgICBwYXJhbWV0ZXJTaG9ydE5hbWU6ICctZicsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ2NvZyBmaWxlIHRvIGFjY2VzcycsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy54eXogPSB0aGlzLmRlZmluZVN0cmluZ1BhcmFtZXRlcih7XG4gICAgICAgICAgICBhcmd1bWVudE5hbWU6ICdYWVonLFxuICAgICAgICAgICAgcGFyYW1ldGVyTG9uZ05hbWU6ICctLXh5eicsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1wiWCxZLFpcIiBvZiB0aGUgdGlsZSB0byBmZXRjaCcsXG4gICAgICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogeotiff/cli",
3
- "version": "7.0.0",
3
+ "version": "7.1.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/blacha/cogeotiff.git",
@@ -19,21 +19,21 @@
19
19
  "dependencies": {
20
20
  "@chunkd/core": "^8.1.0",
21
21
  "@chunkd/fs": "^8.1.0",
22
- "@cogeotiff/core": "^7.0.0",
22
+ "@cogeotiff/core": "^7.1.0",
23
23
  "@rushstack/ts-command-line": "^4.3.14",
24
24
  "ansi-colors": "^4.1.1",
25
25
  "aws-sdk": "^2.781.0",
26
26
  "p-limit": "^4.0.0",
27
- "pino": "^7.8.1",
27
+ "pino": "^8.0.0",
28
28
  "pretty-json-log": "^1.0.0",
29
29
  "source-map-support": "^0.5.12"
30
30
  },
31
31
  "devDependencies": {
32
- "@types/node": "^14.0.3",
32
+ "@types/node": "^18.0.0",
33
33
  "@types/pino": "^7.0.5"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "a2352ec8df0f0eb5f5dddacc0f3cdea855dceda3"
38
+ "gitHead": "cae47cd4ac669e2b8e2031cb701378b4f8fc92dc"
39
39
  }
@@ -103,6 +103,7 @@ export class ActionCogInfo extends CommandLineAction {
103
103
  const imageInfo = '\n' + TiffImageInfoTable.print(tif.images, '\t\t').join('\n');
104
104
 
105
105
  const gdalMetadata = parseGdalMetadata(firstImage);
106
+ const ghostOptions = [...tif.options.options.entries()];
106
107
 
107
108
  const isGeoLocated = firstImage.isGeoLocated;
108
109
 
@@ -137,15 +138,16 @@ export class ActionCogInfo extends CommandLineAction {
137
138
  keys: [
138
139
  { key: 'COG optimized', value: tif.options.isCogOptimized },
139
140
  tif.options.isBroken ? { key: 'COG broken', value: tif.options.isBroken } : null,
140
- isCogOptimized ? { key: 'Tile order', value: tif.options.tileOrder } : null,
141
- isCogOptimized
141
+ isCogOptimized ? { key: 'Mask interleaved', value: tif.options.isMaskInterleaved } : null,
142
+ ghostOptions.length > 0
142
143
  ? {
143
- key: 'Tile leader',
144
- value: `${tif.options.tileLeader} - ${tif.options.tileLeaderByteSize} Bytes`,
144
+ key: 'Ghost Options',
145
+ value: '\n' + ghostOptions.map((c) => `\t\t${c[0]}=${c[1]}`).join('\n'),
145
146
  }
146
147
  : null,
147
- isCogOptimized ? { key: 'Mask interleaved', value: tif.options.isMaskInterleaved } : null,
148
- gdalMetadata ? { key: 'Metadata', value: gdalMetadata.map((c) => `\t\t${c}`).join('\n') } : null,
148
+ gdalMetadata
149
+ ? { key: 'Metadata', value: '\n' + gdalMetadata.map((c) => `\t\t${c}`).join('\n') }
150
+ : null,
149
151
  ],
150
152
  },
151
153
  ];
@@ -28,11 +28,6 @@ export class ActionTile extends CommandLineAction {
28
28
  throw new Error('XYZ was not defined');
29
29
  }
30
30
 
31
- const isCogOptimized = tif.options.isCogOptimized;
32
- if (!isCogOptimized) {
33
- logger.warn('COG is not optimized, fetching specific tiles will be slow.');
34
- }
35
-
36
31
  const [x, y, z] = this.xyz.value.split(',').map((c) => parseInt(c));
37
32
  if (isNaN(x) || isNaN(y) || isNaN(z)) {
38
33
  throw new Error('Invalid XYZ, format: "X,Y,Z"');