@cogeotiff/core 6.1.1 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/build/__benchmark__/cog.read.benchmark.js +7 -4
  3. package/build/__test__/cog.image.test.js +26 -2
  4. package/build/cog.tiff.d.ts +2 -2
  5. package/build/cog.tiff.d.ts.map +1 -1
  6. package/build/cog.tiff.image.d.ts +16 -7
  7. package/build/cog.tiff.image.d.ts.map +1 -1
  8. package/build/cog.tiff.image.js +56 -33
  9. package/build/cog.tiff.js +19 -54
  10. package/build/const/tiff.mime.d.ts +5 -1
  11. package/build/const/tiff.mime.d.ts.map +1 -1
  12. package/build/const/tiff.mime.js +9 -1
  13. package/build/read/tag/__test__/tag.test.js +1 -1
  14. package/build/read/tag/tiff.tag.base.d.ts.map +1 -1
  15. package/build/read/tag/tiff.tag.base.js +1 -1
  16. package/build/read/tag/tiff.tag.lazy.d.ts +1 -2
  17. package/build/read/tag/tiff.tag.lazy.d.ts.map +1 -1
  18. package/build/read/tag/tiff.tag.lazy.js +3 -3
  19. package/build/read/tag/tiff.tag.offset.d.ts +2 -3
  20. package/build/read/tag/tiff.tag.offset.d.ts.map +1 -1
  21. package/build/read/tag/tiff.tag.offset.js +5 -5
  22. package/build/read/tiff.gdal.d.ts +6 -19
  23. package/build/read/tiff.gdal.d.ts.map +1 -1
  24. package/build/read/tiff.gdal.js +32 -53
  25. package/package.json +5 -6
  26. package/src/__benchmark__/cog.read.benchmark.ts +6 -3
  27. package/src/__test__/cog.image.test.ts +29 -1
  28. package/src/cog.tiff.image.ts +55 -33
  29. package/src/cog.tiff.ts +17 -68
  30. package/src/const/tiff.mime.ts +8 -0
  31. package/src/read/tag/__test__/tag.test.ts +1 -1
  32. package/src/read/tag/tiff.tag.base.ts +0 -1
  33. package/src/read/tag/tiff.tag.lazy.ts +2 -3
  34. package/src/read/tag/tiff.tag.offset.ts +4 -5
  35. package/src/read/tiff.gdal.ts +31 -58
  36. package/build/util/util.enum.d.ts +0 -6
  37. package/build/util/util.enum.d.ts.map +0 -1
  38. package/build/util/util.enum.js +0 -17
  39. package/src/util/util.enum.ts +0 -16
@@ -20,4 +20,4 @@ o.spec('TiffTag', () => {
20
20
  o(lazy.value).deepEquals(res);
21
21
  });
22
22
  });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmVhZC90YWcvX190ZXN0X18vdGFnLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxDQUFDLE1BQU0sT0FBTyxDQUFDO0FBQ3RCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDbkIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxzQ0FBc0MsQ0FBQyxDQUFDLENBQUM7SUFFMUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDZCxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsQ0FBQyxDQUFDLHVCQUF1QixFQUFFLEtBQUssSUFBSSxFQUFFO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQixNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMvQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNsQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVzdEZpbGVDaHVua1NvdXJjZSB9IGZyb20gJ0BjaHVua2QvY29yZS9idWlsZC9fX3Rlc3RfXy9jaHVuay5zb3VyY2UuZmFrZS5qcyc7XG5pbXBvcnQgbyBmcm9tICdvc3BlYyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCB9IGZyb20gJ3VybCc7XG5pbXBvcnQgeyBDb2dUaWZmIH0gZnJvbSAnLi4vLi4vLi4vY29nLnRpZmYuanMnO1xuaW1wb3J0IHsgQ29nVGlmZlRhZ0xhenkgfSBmcm9tICcuLi90aWZmLnRhZy5sYXp5LmpzJztcblxuby5zcGVjKCdUaWZmVGFnJywgKCkgPT4ge1xuICAgIGNvbnN0IGRpck5hbWUgPSBmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCk7XG4gICAgY29uc3QgY29nU291cmNlRmlsZSA9IG5ldyBUZXN0RmlsZUNodW5rU291cmNlKHBhdGguam9pbihkaXJOYW1lLCAnLi4vLi4vLi4vLi4vLi4vZGF0YS9yZ2JhOF90aWxlZC50aWZmJykpO1xuXG4gICAgby5iZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgICAgY29nU291cmNlRmlsZS5jaHVua3MuY2xlYXIoKTtcbiAgICB9KTtcblxuICAgIG8oJ3Nob3VsZCBsb2FkIGxhenkgdGFncycsIGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgdGlmZiA9IG5ldyBDb2dUaWZmKGNvZ1NvdXJjZUZpbGUpO1xuXG4gICAgICAgIGF3YWl0IGNvZ1NvdXJjZUZpbGUubG9hZEJ5dGVzKDM2ODAsIDgpO1xuICAgICAgICBjb25zdCBsYXp5ID0gbmV3IENvZ1RpZmZUYWdMYXp5KDMzOSwgdGlmZiwgMzY4MCk7XG4gICAgICAgIG8obGF6eS52YWx1ZSkuZXF1YWxzKG51bGwpO1xuXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGxhenkuZmV0Y2goKTtcbiAgICAgICAgbyhyZXMpLmRlZXBFcXVhbHMoWzE4NzYxLCA0MywgOCwgMF0pO1xuICAgICAgICBvKGxhenkudmFsdWUpLmRlZXBFcXVhbHMocmVzKTtcbiAgICB9KTtcbn0pO1xuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcmVhZC90YWcvX190ZXN0X18vdGFnLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxDQUFDLE1BQU0sT0FBTyxDQUFDO0FBQ3RCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDcEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVyRCxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDbkIsTUFBTSxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxhQUFhLEdBQUcsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxzQ0FBc0MsQ0FBQyxDQUFDLENBQUM7SUFFMUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7UUFDYixhQUFhLENBQUMsTUFBZ0MsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztJQUVILENBQUMsQ0FBQyx1QkFBdUIsRUFBRSxLQUFLLElBQUksRUFBRTtRQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV4QyxNQUFNLGFBQWEsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sSUFBSSxHQUFHLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0IsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDL0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRlc3RGaWxlQ2h1bmtTb3VyY2UgfSBmcm9tICdAY2h1bmtkL2NvcmUvYnVpbGQvX190ZXN0X18vY2h1bmsuc291cmNlLmZha2UuanMnO1xuaW1wb3J0IG8gZnJvbSAnb3NwZWMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGggfSBmcm9tICd1cmwnO1xuaW1wb3J0IHsgQ29nVGlmZiB9IGZyb20gJy4uLy4uLy4uL2NvZy50aWZmLmpzJztcbmltcG9ydCB7IENvZ1RpZmZUYWdMYXp5IH0gZnJvbSAnLi4vdGlmZi50YWcubGF6eS5qcyc7XG5cbm8uc3BlYygnVGlmZlRhZycsICgpID0+IHtcbiAgICBjb25zdCBkaXJOYW1lID0gZmlsZVVSTFRvUGF0aChpbXBvcnQubWV0YS51cmwpO1xuICAgIGNvbnN0IGNvZ1NvdXJjZUZpbGUgPSBuZXcgVGVzdEZpbGVDaHVua1NvdXJjZShwYXRoLmpvaW4oZGlyTmFtZSwgJy4uLy4uLy4uLy4uLy4uL2RhdGEvcmdiYThfdGlsZWQudGlmZicpKTtcblxuICAgIG8uYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgICAgIChjb2dTb3VyY2VGaWxlLmNodW5rcyBhcyBNYXA8dW5rbm93biwgdW5rbm93bj4pLmNsZWFyKCk7XG4gICAgfSk7XG5cbiAgICBvKCdzaG91bGQgbG9hZCBsYXp5IHRhZ3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHRpZmYgPSBuZXcgQ29nVGlmZihjb2dTb3VyY2VGaWxlKTtcblxuICAgICAgICBhd2FpdCBjb2dTb3VyY2VGaWxlLmxvYWRCeXRlcygzNjgwLCA4KTtcbiAgICAgICAgY29uc3QgbGF6eSA9IG5ldyBDb2dUaWZmVGFnTGF6eSgzMzksIHRpZmYsIDM2ODApO1xuICAgICAgICBvKGxhenkudmFsdWUpLmVxdWFscyhudWxsKTtcblxuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBsYXp5LmZldGNoKCk7XG4gICAgICAgIG8ocmVzKS5kZWVwRXF1YWxzKFsxODc2MSwgNDMsIDgsIDBdKTtcbiAgICAgICAgbyhsYXp5LnZhbHVlKS5kZWVwRXF1YWxzKHJlcyk7XG4gICAgfSk7XG59KTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.tag.base.d.ts","sourceRoot":"","sources":["../../../src/read/tag/tiff.tag.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,8BAAsB,cAAc,CAAC,CAAC,GAAG,OAAO;IAC5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEzB,sDAAsD;IACtD,OAAO,CAAC,UAAU,CAAS;IAE3B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,OAAO,CAAC;gBAEF,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAarD;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,IAAI,YAAY,IAAI,MAAM,CAIzB;IAED,8BAA8B;IAC9B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,4EAA4E;IAC5E,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,4CAA4C;IAC5C,SAAS,IAAI,CAAC;IAoBd,oDAAoD;IACpD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUpC"}
1
+ {"version":3,"file":"tiff.tag.base.d.ts","sourceRoot":"","sources":["../../../src/read/tag/tiff.tag.base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAK5C,8BAAsB,cAAc,CAAC,CAAC,GAAG,OAAO;IAC5C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAEzB,sDAAsD;IACtD,OAAO,CAAC,UAAU,CAAS;IAE3B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IAEb,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IAEX,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IAEjB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAElB,IAAI,EAAE,OAAO,CAAC;gBAEF,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAYrD;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB,uCAAuC;IACvC,IAAI,YAAY,IAAI,MAAM,CAIzB;IAED,8BAA8B;IAC9B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,4EAA4E;IAC5E,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,4CAA4C;IAC5C,SAAS,IAAI,CAAC;IAoBd,oDAAoD;IACpD,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAUpC"}
@@ -76,4 +76,4 @@ export class CogTiffTagBase {
76
76
  };
77
77
  }
78
78
  }
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi50YWcuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWFkL3RhZy90aWZmLnRhZy5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEYsTUFBTSxPQUFnQixjQUFjO0lBdUJoQyxZQUFZLEVBQVUsRUFBRSxJQUFhLEVBQUUsTUFBYztRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUV6QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQVdEOzs7T0FHRztJQUNILElBQUksWUFBWTtRQUNaLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFPRCx1Q0FBdUM7SUFDdkMsSUFBSSxZQUFZO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxTQUFTO1FBQ0wsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssR0FBRyxZQUFZLENBQUM7UUFFeEMsSUFBSSxLQUFLLEtBQUssQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsQ0FBQztRQUUxRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksWUFBWSxFQUFFO1lBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsK0JBQStCO1FBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBa0IsQ0FBQztRQUU1RixPQUFPLE1BQXNCLENBQUM7SUFDbEMsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxNQUFNO1FBQ0YsT0FBTztZQUNILEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNwQixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29nVGlmZiB9IGZyb20gJy4uLy4uL2NvZy50aWZmLmpzJztcbmltcG9ydCB7IFRpZmZUYWcgfSBmcm9tICcuLi8uLi9jb25zdC90aWZmLnRhZy5pZC5qcyc7XG5pbXBvcnQgeyBUaWZmVGFnVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vY29uc3QvdGlmZi50YWcudmFsdWUuanMnO1xuaW1wb3J0IHsgZ2V0VGlmZlRhZ1NpemUsIGdldFRpZmZUYWdWYWx1ZVJlYWRlciB9IGZyb20gJy4uL3RpZmYudmFsdWUucmVhZGVyLmpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZ1RpZmZUYWdCYXNlPFQgPSB1bmtub3duPiB7XG4gICAgLyoqXG4gICAgICogVmFsdWUgb2YgdGhlIHRpZmYgdGFnLCBtYXkgYmUgbnVsbCBpZiB0aGUgdmFsdWUgaGFzIG5vdCBiZWVuIHJlYWRcbiAgICAgKi9cbiAgICBhYnN0cmFjdCB2YWx1ZTogVCB8IG51bGw7XG5cbiAgICAvKiogUmF3IG9mZnNldCBmb3Igd2hlcmUgaW4gdGhlIHRpZiB0aGlzIHRhZyBzdGFydHMgKi9cbiAgICBwcml2YXRlIGJ5dGVPZmZzZXQ6IG51bWJlcjtcblxuICAgIC8qKiBOYW1lIG9mIHRoZSB0YWcgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogVGlmVGFnSWQgQHNlZSBUaWZmVGFnICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKiBUeXBlIG9mIGRhdGEgaW5zaWRlIHRoZSByZWNvcmQgQHNlZSB0aGlzLmRhdGFUeXBlTmFtZSAqL1xuICAgIGRhdGFUeXBlOiBudW1iZXI7XG5cbiAgICAvKiogTnVtYmVyIG9mIHJlY29yZHMgaW5zaWRlIHRoZSB0YWcgKi9cbiAgICBkYXRhQ291bnQ6IG51bWJlcjtcblxuICAgIHRpZmY6IENvZ1RpZmY7XG5cbiAgICBjb25zdHJ1Y3RvcihpZDogbnVtYmVyLCB0aWZmOiBDb2dUaWZmLCBvZmZzZXQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRpZmYgPSB0aWZmO1xuICAgICAgICB0aGlzLmJ5dGVPZmZzZXQgPSBvZmZzZXQ7XG5cbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLm5hbWUgPSBUaWZmVGFnW3RoaXMuaWRdO1xuXG4gICAgICAgIHRoaXMuZGF0YVR5cGUgPSB0aGlzLnRpZmYuc291cmNlLmdldFVpbnQxNihvZmZzZXQgKyAyKTtcbiAgICAgICAgdGhpcy5kYXRhQ291bnQgPSB0aGlzLnRpZmYuc291cmNlLmdldFVpbnQob2Zmc2V0ICsgNCwgdGhpcy50aWZmLmlmZENvbmZpZy5wb2ludGVyKTtcbiAgICAgICAgdGhpcy5kYXRhVHlwZVNpemUgPSBnZXRUaWZmVGFnU2l6ZSh0aGlzLmRhdGFUeXBlKTtcbiAgICAgICAgdGhpcy5kYXRhTGVuZ3RoID0gdGhpcy5kYXRhVHlwZVNpemUgKiB0aGlzLmRhdGFDb3VudDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIYXZlIHRoZSBieXRlcyBmb3IgdGhlIHRhZyBiZWVuIGxvYWRlZCwgb3IgaXMgYSBmZXRjaCByZXF1aXJlZCB0byByZWFkIHRoZSB0YWdcbiAgICAgKi9cbiAgICBnZXQgaGFzQnl0ZXMoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpZmYuc291cmNlLmhhc0J5dGVzKHRoaXMudmFsdWVQb2ludGVyLCB0aGlzLmRhdGFMZW5ndGgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGlzIHRoZSB0YWcgcmVhZHkgdG8gYmUgcmVhZFxuICAgICAqL1xuICAgIGdldCBpc1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHNpemUgb2YgdGhlIGRhdGEgdHlwZVxuICAgICAqXG4gICAgICogQHJlbWFya3NcbiAgICAgKiBUaGlzIGlzIG9ubHkgdGhlIHNpemUgb2Ygb25lIGluc3RhbmNlIG9mIHRoZSBkYXRhIEBzZWUgdGhpcy5kYXRhTGVuZ3RoIGZvciB0b3RhbCBieXRlIHNpemVcbiAgICAgKlxuICAgICAqL1xuICAgIGRhdGFUeXBlU2l6ZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogR2V0IGEgaHVtYW4gcmVhZGFibGUgbmFtZSBmb3IgYSBkYXRhdHlwZVxuICAgICAqXG4gICAgICovXG4gICAgZ2V0IGRhdGFUeXBlTmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gVGlmZlRhZ1ZhbHVlVHlwZVt0aGlzLmRhdGFUeXBlXTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIG51bWJlciBvZiBieXRlcyB1c2VkIGZvciB0aGUgYWxsIG9mIHRoZSBkYXRhXG4gICAgICovXG4gICAgZGF0YUxlbmd0aDogbnVtYmVyO1xuXG4gICAgLyoqIGFic29sdXRlIG9mZnNldCBvZiB0aGUgVGFnIHZhbHVlICovXG4gICAgZ2V0IHZhbHVlUG9pbnRlcigpOiBudW1iZXIge1xuICAgICAgICBjb25zdCB2YWx1ZU9mZnNldCA9IHRoaXMuc2l6ZSAtIHRoaXMudGlmZi5pZmRDb25maWcucG9pbnRlcjtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWx1ZUlubGluZSkgcmV0dXJuIHRoaXMuYnl0ZU9mZnNldCArIHZhbHVlT2Zmc2V0O1xuICAgICAgICByZXR1cm4gdGhpcy50aWZmLnNvdXJjZS5nZXRVaW50KHRoaXMuYnl0ZU9mZnNldCArIHZhbHVlT2Zmc2V0LCB0aGlzLnRpZmYuaWZkQ29uZmlnLnBvaW50ZXIpO1xuICAgIH1cblxuICAgIC8qKiBTaXplIG9mIHRoZSBJRkQgKGJ5dGVzKSAqL1xuICAgIGdldCBzaXplKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnRpZmYuaWZkQ29uZmlnLmlmZDtcbiAgICB9XG5cbiAgICAvKiogSXMgdGhlIHZhbHVlIG9mIHRoaXMgdGFnIGlubGluZSwgb3IgaXMgaXQgYSBwb2ludGVyIHRvIHRoZSByZWFsIHZhbHVlICovXG4gICAgZ2V0IGlzVmFsdWVJbmxpbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFMZW5ndGggPD0gdGhpcy50aWZmLmlmZENvbmZpZy5wb2ludGVyO1xuICAgIH1cblxuICAgIC8qKiBSZWFkIHRoZSB2YWx1ZSBpbiBmcm9tIHRoZSBieXRlIGFycmF5ICovXG4gICAgcmVhZFZhbHVlKCk6IFQge1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnZhbHVlUG9pbnRlcjtcbiAgICAgICAgY29uc3QgZGF0YVR5cGVTaXplID0gdGhpcy5kYXRhVHlwZVNpemU7XG4gICAgICAgIGNvbnN0IGNvbnZlcnQgPSBnZXRUaWZmVGFnVmFsdWVSZWFkZXIodGhpcy5kYXRhVHlwZSk7XG4gICAgICAgIGNvbnN0IGNvdW50ID0gdGhpcy5kYXRhQ291bnQ7XG4gICAgICAgIGNvbnN0IGRhdGFMZW5ndGggPSBjb3VudCAqIGRhdGFUeXBlU2l6ZTtcblxuICAgICAgICBpZiAoY291bnQgPT09IDEpIHJldHVybiBjb252ZXJ0KHRoaXMudGlmZi5zb3VyY2UsIG9mZnNldCkgYXMgdW5rbm93biBhcyBUO1xuXG4gICAgICAgIGNvbnN0IG91dHB1dCA9IFtdO1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFMZW5ndGg7IGkgKz0gZGF0YVR5cGVTaXplKSB7XG4gICAgICAgICAgICBvdXRwdXQucHVzaChjb252ZXJ0KHRoaXMudGlmZi5zb3VyY2UsIG9mZnNldCArIGkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvbnZlcnQgdG8gYSBzdHJpbmcgaWYgYXNjaWlcbiAgICAgICAgaWYgKHRoaXMuZGF0YVR5cGUgPT09IFRpZmZUYWdWYWx1ZVR5cGUuQVNDSUkpIHJldHVybiBvdXRwdXQuam9pbignJykudHJpbSgpIGFzIHVua25vd24gYXMgVDtcblxuICAgICAgICByZXR1cm4gb3V0cHV0IGFzIHVua25vd24gYXMgVDtcbiAgICB9XG5cbiAgICAvKiogR2V0IGEgaHVtYW4oaXNoKSBmcmllbmRseSBvdXRwdXQgZm9yIHRoZSB0YWdzICovXG4gICAgdG9KU09OKCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGlkOiB0aGlzLmlkLFxuICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLmJ5dGVPZmZzZXQsXG4gICAgICAgICAgICBpc1JlYWR5OiB0aGlzLmlzUmVhZHksXG4gICAgICAgICAgICB0eXBlOiB0aGlzLmRhdGFUeXBlTmFtZSxcbiAgICAgICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlLFxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi50YWcuYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWFkL3RhZy90aWZmLnRhZy5iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEYsTUFBTSxPQUFnQixjQUFjO0lBdUJoQyxZQUFZLEVBQVUsRUFBRSxJQUFhLEVBQUUsTUFBYztRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUV6QixJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDekQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQVdEOzs7T0FHRztJQUNILElBQUksWUFBWTtRQUNaLE9BQU8sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFPRCx1Q0FBdUM7SUFDdkMsSUFBSSxZQUFZO1FBQ1osTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsYUFBYTtZQUFFLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7UUFDN0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUNuQyxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLElBQUksYUFBYTtRQUNiLE9BQU8sSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDMUQsQ0FBQztJQUVELDRDQUE0QztJQUM1QyxTQUFTO1FBQ0wsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNqQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssR0FBRyxZQUFZLENBQUM7UUFFeEMsSUFBSSxLQUFLLEtBQUssQ0FBQztZQUFFLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBaUIsQ0FBQztRQUUxRSxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxDQUFDLElBQUksWUFBWSxFQUFFO1lBQy9DLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3REO1FBRUQsK0JBQStCO1FBQy9CLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxnQkFBZ0IsQ0FBQyxLQUFLO1lBQUUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBa0IsQ0FBQztRQUU1RixPQUFPLE1BQXNCLENBQUM7SUFDbEMsQ0FBQztJQUVELG9EQUFvRDtJQUNwRCxNQUFNO1FBQ0YsT0FBTztZQUNILEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3ZCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztTQUNwQixDQUFDO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29nVGlmZiB9IGZyb20gJy4uLy4uL2NvZy50aWZmLmpzJztcbmltcG9ydCB7IFRpZmZUYWcgfSBmcm9tICcuLi8uLi9jb25zdC90aWZmLnRhZy5pZC5qcyc7XG5pbXBvcnQgeyBUaWZmVGFnVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vY29uc3QvdGlmZi50YWcudmFsdWUuanMnO1xuaW1wb3J0IHsgZ2V0VGlmZlRhZ1NpemUsIGdldFRpZmZUYWdWYWx1ZVJlYWRlciB9IGZyb20gJy4uL3RpZmYudmFsdWUucmVhZGVyLmpzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvZ1RpZmZUYWdCYXNlPFQgPSB1bmtub3duPiB7XG4gICAgLyoqXG4gICAgICogVmFsdWUgb2YgdGhlIHRpZmYgdGFnLCBtYXkgYmUgbnVsbCBpZiB0aGUgdmFsdWUgaGFzIG5vdCBiZWVuIHJlYWRcbiAgICAgKi9cbiAgICBhYnN0cmFjdCB2YWx1ZTogVCB8IG51bGw7XG5cbiAgICAvKiogUmF3IG9mZnNldCBmb3Igd2hlcmUgaW4gdGhlIHRpZiB0aGlzIHRhZyBzdGFydHMgKi9cbiAgICBwcml2YXRlIGJ5dGVPZmZzZXQ6IG51bWJlcjtcblxuICAgIC8qKiBOYW1lIG9mIHRoZSB0YWcgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKiogVGlmVGFnSWQgQHNlZSBUaWZmVGFnICovXG4gICAgaWQ6IG51bWJlcjtcblxuICAgIC8qKiBUeXBlIG9mIGRhdGEgaW5zaWRlIHRoZSByZWNvcmQgQHNlZSB0aGlzLmRhdGFUeXBlTmFtZSAqL1xuICAgIGRhdGFUeXBlOiBudW1iZXI7XG5cbiAgICAvKiogTnVtYmVyIG9mIHJlY29yZHMgaW5zaWRlIHRoZSB0YWcgKi9cbiAgICBkYXRhQ291bnQ6IG51bWJlcjtcblxuICAgIHRpZmY6IENvZ1RpZmY7XG5cbiAgICBjb25zdHJ1Y3RvcihpZDogbnVtYmVyLCB0aWZmOiBDb2dUaWZmLCBvZmZzZXQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRpZmYgPSB0aWZmO1xuICAgICAgICB0aGlzLmJ5dGVPZmZzZXQgPSBvZmZzZXQ7XG5cbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICB0aGlzLm5hbWUgPSBUaWZmVGFnW3RoaXMuaWRdO1xuICAgICAgICB0aGlzLmRhdGFUeXBlID0gdGhpcy50aWZmLnNvdXJjZS5nZXRVaW50MTYob2Zmc2V0ICsgMik7XG4gICAgICAgIHRoaXMuZGF0YUNvdW50ID0gdGhpcy50aWZmLnNvdXJjZS5nZXRVaW50KG9mZnNldCArIDQsIHRoaXMudGlmZi5pZmRDb25maWcucG9pbnRlcik7XG4gICAgICAgIHRoaXMuZGF0YVR5cGVTaXplID0gZ2V0VGlmZlRhZ1NpemUodGhpcy5kYXRhVHlwZSk7XG4gICAgICAgIHRoaXMuZGF0YUxlbmd0aCA9IHRoaXMuZGF0YVR5cGVTaXplICogdGhpcy5kYXRhQ291bnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGF2ZSB0aGUgYnl0ZXMgZm9yIHRoZSB0YWcgYmVlbiBsb2FkZWQsIG9yIGlzIGEgZmV0Y2ggcmVxdWlyZWQgdG8gcmVhZCB0aGUgdGFnXG4gICAgICovXG4gICAgZ2V0IGhhc0J5dGVzKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy50aWZmLnNvdXJjZS5oYXNCeXRlcyh0aGlzLnZhbHVlUG9pbnRlciwgdGhpcy5kYXRhTGVuZ3RoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBpcyB0aGUgdGFnIHJlYWR5IHRvIGJlIHJlYWRcbiAgICAgKi9cbiAgICBnZXQgaXNSZWFkeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzaXplIG9mIHRoZSBkYXRhIHR5cGVcbiAgICAgKlxuICAgICAqIEByZW1hcmtzXG4gICAgICogVGhpcyBpcyBvbmx5IHRoZSBzaXplIG9mIG9uZSBpbnN0YW5jZSBvZiB0aGUgZGF0YSBAc2VlIHRoaXMuZGF0YUxlbmd0aCBmb3IgdG90YWwgYnl0ZSBzaXplXG4gICAgICpcbiAgICAgKi9cbiAgICBkYXRhVHlwZVNpemU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEdldCBhIGh1bWFuIHJlYWRhYmxlIG5hbWUgZm9yIGEgZGF0YXR5cGVcbiAgICAgKlxuICAgICAqL1xuICAgIGdldCBkYXRhVHlwZU5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFRpZmZUYWdWYWx1ZVR5cGVbdGhpcy5kYXRhVHlwZV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgdXNlZCBmb3IgdGhlIGFsbCBvZiB0aGUgZGF0YVxuICAgICAqL1xuICAgIGRhdGFMZW5ndGg6IG51bWJlcjtcblxuICAgIC8qKiBhYnNvbHV0ZSBvZmZzZXQgb2YgdGhlIFRhZyB2YWx1ZSAqL1xuICAgIGdldCB2YWx1ZVBvaW50ZXIoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3QgdmFsdWVPZmZzZXQgPSB0aGlzLnNpemUgLSB0aGlzLnRpZmYuaWZkQ29uZmlnLnBvaW50ZXI7XG4gICAgICAgIGlmICh0aGlzLmlzVmFsdWVJbmxpbmUpIHJldHVybiB0aGlzLmJ5dGVPZmZzZXQgKyB2YWx1ZU9mZnNldDtcbiAgICAgICAgcmV0dXJuIHRoaXMudGlmZi5zb3VyY2UuZ2V0VWludCh0aGlzLmJ5dGVPZmZzZXQgKyB2YWx1ZU9mZnNldCwgdGhpcy50aWZmLmlmZENvbmZpZy5wb2ludGVyKTtcbiAgICB9XG5cbiAgICAvKiogU2l6ZSBvZiB0aGUgSUZEIChieXRlcykgKi9cbiAgICBnZXQgc2l6ZSgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50aWZmLmlmZENvbmZpZy5pZmQ7XG4gICAgfVxuXG4gICAgLyoqIElzIHRoZSB2YWx1ZSBvZiB0aGlzIHRhZyBpbmxpbmUsIG9yIGlzIGl0IGEgcG9pbnRlciB0byB0aGUgcmVhbCB2YWx1ZSAqL1xuICAgIGdldCBpc1ZhbHVlSW5saW5lKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhTGVuZ3RoIDw9IHRoaXMudGlmZi5pZmRDb25maWcucG9pbnRlcjtcbiAgICB9XG5cbiAgICAvKiogUmVhZCB0aGUgdmFsdWUgaW4gZnJvbSB0aGUgYnl0ZSBhcnJheSAqL1xuICAgIHJlYWRWYWx1ZSgpOiBUIHtcbiAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy52YWx1ZVBvaW50ZXI7XG4gICAgICAgIGNvbnN0IGRhdGFUeXBlU2l6ZSA9IHRoaXMuZGF0YVR5cGVTaXplO1xuICAgICAgICBjb25zdCBjb252ZXJ0ID0gZ2V0VGlmZlRhZ1ZhbHVlUmVhZGVyKHRoaXMuZGF0YVR5cGUpO1xuICAgICAgICBjb25zdCBjb3VudCA9IHRoaXMuZGF0YUNvdW50O1xuICAgICAgICBjb25zdCBkYXRhTGVuZ3RoID0gY291bnQgKiBkYXRhVHlwZVNpemU7XG5cbiAgICAgICAgaWYgKGNvdW50ID09PSAxKSByZXR1cm4gY29udmVydCh0aGlzLnRpZmYuc291cmNlLCBvZmZzZXQpIGFzIHVua25vd24gYXMgVDtcblxuICAgICAgICBjb25zdCBvdXRwdXQgPSBbXTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhTGVuZ3RoOyBpICs9IGRhdGFUeXBlU2l6ZSkge1xuICAgICAgICAgICAgb3V0cHV0LnB1c2goY29udmVydCh0aGlzLnRpZmYuc291cmNlLCBvZmZzZXQgKyBpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb252ZXJ0IHRvIGEgc3RyaW5nIGlmIGFzY2lpXG4gICAgICAgIGlmICh0aGlzLmRhdGFUeXBlID09PSBUaWZmVGFnVmFsdWVUeXBlLkFTQ0lJKSByZXR1cm4gb3V0cHV0LmpvaW4oJycpLnRyaW0oKSBhcyB1bmtub3duIGFzIFQ7XG5cbiAgICAgICAgcmV0dXJuIG91dHB1dCBhcyB1bmtub3duIGFzIFQ7XG4gICAgfVxuXG4gICAgLyoqIEdldCBhIGh1bWFuKGlzaCkgZnJpZW5kbHkgb3V0cHV0IGZvciB0aGUgdGFncyAqL1xuICAgIHRvSlNPTigpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogdGhpcy5pZCxcbiAgICAgICAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgICAgICAgIG9mZnNldDogdGhpcy5ieXRlT2Zmc2V0LFxuICAgICAgICAgICAgaXNSZWFkeTogdGhpcy5pc1JlYWR5LFxuICAgICAgICAgICAgdHlwZTogdGhpcy5kYXRhVHlwZU5hbWUsXG4gICAgICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZSxcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
@@ -1,8 +1,7 @@
1
- import { LogType } from '@chunkd/core';
2
1
  import { CogTiffTagBase } from './tiff.tag.base.js';
3
2
  export declare class CogTiffTagLazy<T> extends CogTiffTagBase<T> {
4
3
  value: T | null;
5
4
  get isReady(): boolean;
6
- fetch(l?: LogType): Promise<T>;
5
+ fetch(): Promise<T>;
7
6
  }
8
7
  //# sourceMappingURL=tiff.tag.lazy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.tag.lazy.d.ts","sourceRoot":"","sources":["../../../src/read/tag/tiff.tag.lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;CAOvC"}
1
+ {"version":3,"file":"tiff.tag.lazy.d.ts","sourceRoot":"","sources":["../../../src/read/tag/tiff.tag.lazy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,cAAc,CAAC,CAAC,CAAC;IACpD,KAAK,EAAE,CAAC,GAAG,IAAI,CAAQ;IAEvB,IAAI,OAAO,IAAI,OAAO,CAErB;IAEK,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC;CAO5B"}
@@ -7,12 +7,12 @@ export class CogTiffTagLazy extends CogTiffTagBase {
7
7
  get isReady() {
8
8
  return this.value != null;
9
9
  }
10
- async fetch(l) {
10
+ async fetch() {
11
11
  if (this.tiff.source.hasBytes(this.valuePointer, this.dataLength) === false) {
12
- await this.tiff.source.loadBytes(this.valuePointer, this.dataLength, l);
12
+ await this.tiff.source.loadBytes(this.valuePointer, this.dataLength);
13
13
  }
14
14
  this.value = this.readValue();
15
15
  return this.value;
16
16
  }
17
17
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi50YWcubGF6eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWFkL3RhZy90aWZmLnRhZy5sYXp5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxjQUFpQjtJQUF4RDs7UUFDSSxVQUFLLEdBQWEsSUFBSSxDQUFDO0lBYTNCLENBQUM7SUFYRyxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUFDLENBQVc7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssS0FBSyxFQUFFO1lBQ3pFLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUMzRTtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dUeXBlIH0gZnJvbSAnQGNodW5rZC9jb3JlJztcbmltcG9ydCB7IENvZ1RpZmZUYWdCYXNlIH0gZnJvbSAnLi90aWZmLnRhZy5iYXNlLmpzJztcblxuZXhwb3J0IGNsYXNzIENvZ1RpZmZUYWdMYXp5PFQ+IGV4dGVuZHMgQ29nVGlmZlRhZ0Jhc2U8VD4ge1xuICAgIHZhbHVlOiBUIHwgbnVsbCA9IG51bGw7XG5cbiAgICBnZXQgaXNSZWFkeSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgIT0gbnVsbDtcbiAgICB9XG5cbiAgICBhc3luYyBmZXRjaChsPzogTG9nVHlwZSk6IFByb21pc2U8VD4ge1xuICAgICAgICBpZiAodGhpcy50aWZmLnNvdXJjZS5oYXNCeXRlcyh0aGlzLnZhbHVlUG9pbnRlciwgdGhpcy5kYXRhTGVuZ3RoKSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMudGlmZi5zb3VyY2UubG9hZEJ5dGVzKHRoaXMudmFsdWVQb2ludGVyLCB0aGlzLmRhdGFMZW5ndGgsIGwpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnJlYWRWYWx1ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG59XG4iXX0=
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi50YWcubGF6eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWFkL3RhZy90aWZmLnRhZy5sYXp5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sY0FBa0IsU0FBUSxjQUFpQjtJQUF4RDs7UUFDSSxVQUFLLEdBQWEsSUFBSSxDQUFDO0lBYTNCLENBQUM7SUFYRyxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNQLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssRUFBRTtZQUN6RSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4RTtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2dUaWZmVGFnQmFzZSB9IGZyb20gJy4vdGlmZi50YWcuYmFzZS5qcyc7XG5cbmV4cG9ydCBjbGFzcyBDb2dUaWZmVGFnTGF6eTxUPiBleHRlbmRzIENvZ1RpZmZUYWdCYXNlPFQ+IHtcbiAgICB2YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuXG4gICAgZ2V0IGlzUmVhZHkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlICE9IG51bGw7XG4gICAgfVxuXG4gICAgYXN5bmMgZmV0Y2goKTogUHJvbWlzZTxUPiB7XG4gICAgICAgIGlmICh0aGlzLnRpZmYuc291cmNlLmhhc0J5dGVzKHRoaXMudmFsdWVQb2ludGVyLCB0aGlzLmRhdGFMZW5ndGgpID09PSBmYWxzZSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy50aWZmLnNvdXJjZS5sb2FkQnl0ZXModGhpcy52YWx1ZVBvaW50ZXIsIHRoaXMuZGF0YUxlbmd0aCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMucmVhZFZhbHVlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,3 @@
1
- import { LogType } from '@chunkd/core';
2
1
  import { CogTiff } from '../../cog.tiff.js';
3
2
  import { CogTiffTagBase } from './tiff.tag.base.js';
4
3
  /**
@@ -11,12 +10,12 @@ export declare class CogTiffTagOffset extends CogTiffTagBase<number[]> {
11
10
  constructor(tagId: number, tiff: CogTiff, offset: number);
12
11
  get value(): number[] | null;
13
12
  /** Load the entire index into memory */
14
- load(l: LogType): Promise<void>;
13
+ load(): Promise<void>;
15
14
  readValue(): number[];
16
15
  /**
17
16
  * Read a specific value from the offset array
18
17
  * @param index index to read at
19
18
  */
20
- getValueAt(index: number, l?: LogType): Promise<number>;
19
+ getValueAt(index: number): Promise<number>;
21
20
  }
22
21
  //# sourceMappingURL=tiff.tag.offset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.tag.offset.d.ts","sourceRoot":"","sources":["../../../src/read/tag/tiff.tag.offset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;IAC1D,OAAO,CAAC,YAAY,CAAyB;gBAEjC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIxD,IAAI,KAAK,IAAI,MAAM,EAAE,GAAG,IAAI,CAS3B;IAED,wCAAwC;IAClC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrC,SAAS,IAAI,MAAM,EAAE;IAWrB;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAYhE"}
1
+ {"version":3,"file":"tiff.tag.offset.d.ts","sourceRoot":"","sources":["../../../src/read/tag/tiff.tag.offset.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;IAC1D,OAAO,CAAC,YAAY,CAAyB;gBAEjC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IAIxD,IAAI,KAAK,IAAI,MAAM,EAAE,GAAG,IAAI,CAS3B;IAED,wCAAwC;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,SAAS,IAAI,MAAM,EAAE;IAWrB;;;OAGG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAYnD"}
@@ -20,8 +20,8 @@ export class CogTiffTagOffset extends CogTiffTagBase {
20
20
  return null;
21
21
  }
22
22
  /** Load the entire index into memory */
23
- async load(l) {
24
- await this.tiff.source.loadBytes(this.valuePointer, this.dataLength, l);
23
+ async load() {
24
+ await this.tiff.source.loadBytes(this.valuePointer, this.dataLength);
25
25
  this.readValue();
26
26
  }
27
27
  readValue() {
@@ -39,16 +39,16 @@ export class CogTiffTagOffset extends CogTiffTagBase {
39
39
  * Read a specific value from the offset array
40
40
  * @param index index to read at
41
41
  */
42
- async getValueAt(index, l) {
42
+ async getValueAt(index) {
43
43
  if (this.loadedValues)
44
44
  return this.loadedValues[index];
45
45
  const dataSize = this.dataTypeSize;
46
46
  const valueOffset = this.valuePointer + dataSize * index;
47
47
  const convert = getTiffTagValueReader(this.dataType);
48
48
  if (!this.tiff.source.hasBytes(valueOffset, dataSize)) {
49
- await this.tiff.source.loadBytes(valueOffset, dataSize, l);
49
+ await this.tiff.source.loadBytes(valueOffset, dataSize);
50
50
  }
51
51
  return convert(this.tiff.source, valueOffset);
52
52
  }
53
53
  }
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi50YWcub2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlYWQvdGFnL3RpZmYudGFnLm9mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUF3QjtJQUcxRCxZQUFZLEtBQWEsRUFBRSxJQUFhLEVBQUUsTUFBYztRQUNwRCxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUh2QixpQkFBWSxHQUFvQixJQUFJLENBQUM7SUFJN0MsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBVTtRQUNqQixNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLG1FQUFtRTtRQUNuRSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWEsRUFBRSxDQUFXO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFlBQVk7WUFBRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNuQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ25ELE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQVcsQ0FBQztJQUM1RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dUeXBlIH0gZnJvbSAnQGNodW5rZC9jb3JlJztcbmltcG9ydCB7IENvZ1RpZmYgfSBmcm9tICcuLi8uLi9jb2cudGlmZi5qcyc7XG5pbXBvcnQgeyBnZXRUaWZmVGFnVmFsdWVSZWFkZXIgfSBmcm9tICcuLi90aWZmLnZhbHVlLnJlYWRlci5qcyc7XG5pbXBvcnQgeyBDb2dUaWZmVGFnQmFzZSB9IGZyb20gJy4vdGlmZi50YWcuYmFzZS5qcyc7XG5cbi8qKlxuICogVGlmZlRhZyBmb3Igb2Zmc2V0IGFycmF5c1xuICpcbiAqIEFsbG93cyBpbmRpdmlkdWFsIGFjY2VzcyB0byBzcGVjaWZpYyByZWNvcmRzIHdpdGhvdXQgaGF2aW5nIHRvIHJlYWQgdGhlIGVudGlyZSB0YWcgaW4uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2dUaWZmVGFnT2Zmc2V0IGV4dGVuZHMgQ29nVGlmZlRhZ0Jhc2U8bnVtYmVyW10+IHtcbiAgICBwcml2YXRlIGxvYWRlZFZhbHVlczogbnVtYmVyW10gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHRhZ0lkOiBudW1iZXIsIHRpZmY6IENvZ1RpZmYsIG9mZnNldDogbnVtYmVyKSB7XG4gICAgICAgIHN1cGVyKHRhZ0lkLCB0aWZmLCBvZmZzZXQpO1xuICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBudW1iZXJbXSB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5sb2FkZWRWYWx1ZXMgIT0gbnVsbCkgcmV0dXJuIHRoaXMubG9hZGVkVmFsdWVzO1xuXG4gICAgICAgIGlmICh0aGlzLmhhc0J5dGVzKSB7XG4gICAgICAgICAgICB0aGlzLnJlYWRWYWx1ZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVkVmFsdWVzO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqIExvYWQgdGhlIGVudGlyZSBpbmRleCBpbnRvIG1lbW9yeSAqL1xuICAgIGFzeW5jIGxvYWQobDogTG9nVHlwZSk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBhd2FpdCB0aGlzLnRpZmYuc291cmNlLmxvYWRCeXRlcyh0aGlzLnZhbHVlUG9pbnRlciwgdGhpcy5kYXRhTGVuZ3RoLCBsKTtcbiAgICAgICAgdGhpcy5yZWFkVmFsdWUoKTtcbiAgICB9XG5cbiAgICByZWFkVmFsdWUoKTogbnVtYmVyW10ge1xuICAgICAgICBjb25zdCB2YWwgPSBzdXBlci5yZWFkVmFsdWUoKTtcbiAgICAgICAgLy8gaWYgb25seSBvbmUgdmFsdWUgaXMgcmVhZCBpbiwgaXQgd2lsbCBub3QgYmUgcmV0dXJuZWQgYXMgYSBhcnJheVxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZGVkVmFsdWVzID0gW3ZhbF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRlZFZhbHVlcyA9IHZhbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5sb2FkZWRWYWx1ZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVhZCBhIHNwZWNpZmljIHZhbHVlIGZyb20gdGhlIG9mZnNldCBhcnJheVxuICAgICAqIEBwYXJhbSBpbmRleCBpbmRleCB0byByZWFkIGF0XG4gICAgICovXG4gICAgYXN5bmMgZ2V0VmFsdWVBdChpbmRleDogbnVtYmVyLCBsPzogTG9nVHlwZSk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFZhbHVlcykgcmV0dXJuIHRoaXMubG9hZGVkVmFsdWVzW2luZGV4XTtcblxuICAgICAgICBjb25zdCBkYXRhU2l6ZSA9IHRoaXMuZGF0YVR5cGVTaXplO1xuICAgICAgICBjb25zdCB2YWx1ZU9mZnNldCA9IHRoaXMudmFsdWVQb2ludGVyICsgZGF0YVNpemUgKiBpbmRleDtcbiAgICAgICAgY29uc3QgY29udmVydCA9IGdldFRpZmZUYWdWYWx1ZVJlYWRlcih0aGlzLmRhdGFUeXBlKTtcblxuICAgICAgICBpZiAoIXRoaXMudGlmZi5zb3VyY2UuaGFzQnl0ZXModmFsdWVPZmZzZXQsIGRhdGFTaXplKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy50aWZmLnNvdXJjZS5sb2FkQnl0ZXModmFsdWVPZmZzZXQsIGRhdGFTaXplLCBsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udmVydCh0aGlzLnRpZmYuc291cmNlLCB2YWx1ZU9mZnNldCkgYXMgbnVtYmVyO1xuICAgIH1cbn1cbiJdfQ==
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi50YWcub2Zmc2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3JlYWQvdGFnL3RpZmYudGFnLm9mZnNldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQ7Ozs7R0FJRztBQUNILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxjQUF3QjtJQUcxRCxZQUFZLEtBQWEsRUFBRSxJQUFhLEVBQUUsTUFBYztRQUNwRCxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUh2QixpQkFBWSxHQUFvQixJQUFJLENBQUM7SUFJN0MsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBRXhELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7U0FDNUI7UUFFRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLEtBQUssQ0FBQyxJQUFJO1FBQ04sTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLG1FQUFtRTtRQUNuRSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDN0I7YUFBTTtZQUNILElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDO1NBQzNCO1FBQ0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQWE7UUFDMUIsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV2RCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ25DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN6RCxNQUFNLE9BQU8sR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLEVBQUU7WUFDbkQsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQzNEO1FBQ0QsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFXLENBQUM7SUFDNUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29nVGlmZiB9IGZyb20gJy4uLy4uL2NvZy50aWZmLmpzJztcbmltcG9ydCB7IGdldFRpZmZUYWdWYWx1ZVJlYWRlciB9IGZyb20gJy4uL3RpZmYudmFsdWUucmVhZGVyLmpzJztcbmltcG9ydCB7IENvZ1RpZmZUYWdCYXNlIH0gZnJvbSAnLi90aWZmLnRhZy5iYXNlLmpzJztcblxuLyoqXG4gKiBUaWZmVGFnIGZvciBvZmZzZXQgYXJyYXlzXG4gKlxuICogQWxsb3dzIGluZGl2aWR1YWwgYWNjZXNzIHRvIHNwZWNpZmljIHJlY29yZHMgd2l0aG91dCBoYXZpbmcgdG8gcmVhZCB0aGUgZW50aXJlIHRhZyBpbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZ1RpZmZUYWdPZmZzZXQgZXh0ZW5kcyBDb2dUaWZmVGFnQmFzZTxudW1iZXJbXT4ge1xuICAgIHByaXZhdGUgbG9hZGVkVmFsdWVzOiBudW1iZXJbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IodGFnSWQ6IG51bWJlciwgdGlmZjogQ29nVGlmZiwgb2Zmc2V0OiBudW1iZXIpIHtcbiAgICAgICAgc3VwZXIodGFnSWQsIHRpZmYsIG9mZnNldCk7XG4gICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IG51bWJlcltdIHwgbnVsbCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFZhbHVlcyAhPSBudWxsKSByZXR1cm4gdGhpcy5sb2FkZWRWYWx1ZXM7XG5cbiAgICAgICAgaWYgKHRoaXMuaGFzQnl0ZXMpIHtcbiAgICAgICAgICAgIHRoaXMucmVhZFZhbHVlKCk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5sb2FkZWRWYWx1ZXM7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKiogTG9hZCB0aGUgZW50aXJlIGluZGV4IGludG8gbWVtb3J5ICovXG4gICAgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgYXdhaXQgdGhpcy50aWZmLnNvdXJjZS5sb2FkQnl0ZXModGhpcy52YWx1ZVBvaW50ZXIsIHRoaXMuZGF0YUxlbmd0aCk7XG4gICAgICAgIHRoaXMucmVhZFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcmVhZFZhbHVlKCk6IG51bWJlcltdIHtcbiAgICAgICAgY29uc3QgdmFsID0gc3VwZXIucmVhZFZhbHVlKCk7XG4gICAgICAgIC8vIGlmIG9ubHkgb25lIHZhbHVlIGlzIHJlYWQgaW4sIGl0IHdpbGwgbm90IGJlIHJldHVybmVkIGFzIGEgYXJyYXlcbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRlZFZhbHVlcyA9IFt2YWxdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5sb2FkZWRWYWx1ZXMgPSB2YWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGVkVmFsdWVzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlYWQgYSBzcGVjaWZpYyB2YWx1ZSBmcm9tIHRoZSBvZmZzZXQgYXJyYXlcbiAgICAgKiBAcGFyYW0gaW5kZXggaW5kZXggdG8gcmVhZCBhdFxuICAgICAqL1xuICAgIGFzeW5jIGdldFZhbHVlQXQoaW5kZXg6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRlZFZhbHVlcykgcmV0dXJuIHRoaXMubG9hZGVkVmFsdWVzW2luZGV4XTtcblxuICAgICAgICBjb25zdCBkYXRhU2l6ZSA9IHRoaXMuZGF0YVR5cGVTaXplO1xuICAgICAgICBjb25zdCB2YWx1ZU9mZnNldCA9IHRoaXMudmFsdWVQb2ludGVyICsgZGF0YVNpemUgKiBpbmRleDtcbiAgICAgICAgY29uc3QgY29udmVydCA9IGdldFRpZmZUYWdWYWx1ZVJlYWRlcih0aGlzLmRhdGFUeXBlKTtcblxuICAgICAgICBpZiAoIXRoaXMudGlmZi5zb3VyY2UuaGFzQnl0ZXModmFsdWVPZmZzZXQsIGRhdGFTaXplKSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy50aWZmLnNvdXJjZS5sb2FkQnl0ZXModmFsdWVPZmZzZXQsIGRhdGFTaXplKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29udmVydCh0aGlzLnRpZmYuc291cmNlLCB2YWx1ZU9mZnNldCkgYXMgbnVtYmVyO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
- import { ByteSize, ChunkSource } from '@chunkd/core';
1
+ import { ByteSize } from '@chunkd/core';
2
+ import { CogTiff } from '../cog.tiff.js';
2
3
  export declare enum GhostOption {
3
4
  GDAL_STRUCTURAL_METADATA_SIZE = "GDAL_STRUCTURAL_METADATA_SIZE",
4
5
  LAYOUT = "LAYOUT",
@@ -14,15 +15,13 @@ export declare enum GhostOptionTileOrder {
14
15
  export declare enum GhostOptionTileLeader {
15
16
  uint32 = "SIZE_AS_UINT4"
16
17
  }
17
- export declare const GhostOptionTileLeaderSize: {
18
- [key: string]: ByteSize;
19
- };
20
18
  /**
21
19
  * GDAL has made a ghost set of options for Tif files
22
20
  * this class represents the optimizations that can be used
23
21
  */
24
22
  export declare class CogTifGhostOptions {
25
- options: Map<GhostOption, string>;
23
+ options: Map<string, string>;
24
+ source: CogTiff;
26
25
  /**
27
26
  * Has GDAL optimized this tif
28
27
  */
@@ -31,23 +30,11 @@ export declare class CogTifGhostOptions {
31
30
  * Has GDAL determined this tif is now broken
32
31
  */
33
32
  get isBroken(): boolean;
34
- private set;
35
33
  /**
36
34
  * Load the ghost options from a source
37
- * @param source Source to load from
38
- * @param offset Byte offset to start reading
39
- * @param length max number of bytes to read
35
+ * @param bytes the ghost header bytes
40
36
  */
41
- process(source: ChunkSource, offset: number, length: number): void;
42
- private _getReverse;
43
- /**
44
- * The ordering of tiles inside the tif
45
- */
46
- get tileOrder(): GhostOptionTileOrder | null;
47
- /**
48
- * Are tiles stored with the file size immediately before the tile
49
- */
50
- get tileLeader(): GhostOptionTileLeader | null;
37
+ process(bytes: Uint8Array): void;
51
38
  /**
52
39
  * If the tile leader is set, how many bytes are allocated to the tile size
53
40
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tiff.gdal.d.ts","sourceRoot":"","sources":["../../src/read/tiff.gdal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAUrD,oBAAY,WAAW;IACnB,6BAA6B,kCAAkC;IAC/D,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;CAClE;AAED,oBAAY,oBAAoB;IAC5B,QAAQ,cAAc;CACzB;AAED,oBAAY,qBAAqB;IAC7B,MAAM,kBAAkB;CAC3B;AACD,eAAO,MAAM,yBAAyB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAEhE,CAAC;AAEF;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAa;IAE9C;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAG5B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,CAAC,GAAG;IAIX;;;;;OAKG;IACH,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAmBlE,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,IAAI,SAAS,IAAI,oBAAoB,GAAG,IAAI,CAE3C;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,qBAAqB,GAAG,IAAI,CAE7C;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,QAAQ,GAAG,IAAI,CAGxC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;CACJ"}
1
+ {"version":3,"file":"tiff.gdal.d.ts","sourceRoot":"","sources":["../../src/read/tiff.gdal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,oBAAY,WAAW;IACnB,6BAA6B,kCAAkC;IAC/D,MAAM,WAAW;IACjB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;CAClE;AAED,oBAAY,oBAAoB;IAC5B,QAAQ,cAAc;CACzB;AAED,oBAAY,qBAAqB;IAC7B,MAAM,kBAAkB;CAC3B;AAED;;;GAGG;AACH,qBAAa,kBAAkB;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IACzC,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,IAAI,cAAc,IAAI,OAAO,CAG5B;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAuBhC;;OAEG;IACH,IAAI,kBAAkB,IAAI,QAAQ,GAAG,IAAI,CAOxC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;CACJ"}
@@ -1,11 +1,4 @@
1
1
  import { ByteSize } from '@chunkd/core';
2
- import { getReverseEnumValue } from '../util/util.enum.js';
3
- // GDAL_STRUCTURAL_METADATA_SIZE: '000140 bytes',
4
- // LAYOUT: 'IFDS_BEFORE_DATA',
5
- // BLOCK_ORDER: 'ROW_MAJOR',
6
- // BLOCK_LEADER: 'SIZE_AS_UINT4',
7
- // BLOCK_TRAILER: 'LAST_4_BYTES_REPEATED',
8
- // KNOWN_INCOMPATIBLE_EDITION: 'NO'
9
2
  export var GhostOption;
10
3
  (function (GhostOption) {
11
4
  GhostOption["GDAL_STRUCTURAL_METADATA_SIZE"] = "GDAL_STRUCTURAL_METADATA_SIZE";
@@ -24,9 +17,6 @@ export var GhostOptionTileLeader;
24
17
  (function (GhostOptionTileLeader) {
25
18
  GhostOptionTileLeader["uint32"] = "SIZE_AS_UINT4";
26
19
  })(GhostOptionTileLeader || (GhostOptionTileLeader = {}));
27
- export const GhostOptionTileLeaderSize = {
28
- uint32: ByteSize.UInt32,
29
- };
30
20
  /**
31
21
  * GDAL has made a ghost set of options for Tif files
32
22
  * this class represents the optimizations that can be used
@@ -49,60 +39,49 @@ export class CogTifGhostOptions {
49
39
  get isBroken() {
50
40
  return this.options.get(GhostOption.KNOWN_INCOMPATIBLE_EDITION) === 'YES';
51
41
  }
52
- set(key, val) {
53
- this.options.set(key, val);
54
- }
55
42
  /**
56
43
  * Load the ghost options from a source
57
- * @param source Source to load from
58
- * @param offset Byte offset to start reading
59
- * @param length max number of bytes to read
44
+ * @param bytes the ghost header bytes
60
45
  */
61
- process(source, offset, length) {
62
- const chars = [];
63
- for (let i = offset; i < offset + length; i++) {
64
- const char = source.getUint8(i);
65
- if (char === 0)
66
- continue;
67
- chars.push(String.fromCharCode(char));
68
- }
69
- const keyValPairs = chars
70
- .join('')
71
- .trim()
72
- .split('\n')
73
- .map((c) => c.split('='));
74
- for (const [key, value] of keyValPairs) {
75
- this.options.set(GhostOption[key], value);
46
+ process(bytes) {
47
+ let key = '';
48
+ let value = '';
49
+ let setValue = false;
50
+ for (let i = 0; i < bytes.length; i++) {
51
+ const charCode = bytes[i];
52
+ if (charCode === 0)
53
+ break;
54
+ const char = String.fromCharCode(charCode);
55
+ if (char === '\n') {
56
+ this.options.set(key.trim(), value.trim());
57
+ key = '';
58
+ value = '';
59
+ setValue = false;
60
+ }
61
+ else if (char === '=') {
62
+ setValue = true;
63
+ }
64
+ else {
65
+ if (setValue)
66
+ value += char;
67
+ else
68
+ key += char;
69
+ }
76
70
  }
77
71
  }
78
- _getReverse(e, key) {
79
- const opt = this.options.get(key);
80
- if (opt == null)
81
- return null;
82
- return getReverseEnumValue(e, opt);
83
- }
84
- /**
85
- * The ordering of tiles inside the tif
86
- */
87
- get tileOrder() {
88
- return this._getReverse(GhostOptionTileOrder, GhostOption.BLOCK_ORDER);
89
- }
90
- /**
91
- * Are tiles stored with the file size immediately before the tile
92
- */
93
- get tileLeader() {
94
- return this._getReverse(GhostOptionTileLeader, GhostOption.BLOCK_LEADER);
95
- }
96
72
  /**
97
73
  * If the tile leader is set, how many bytes are allocated to the tile size
98
74
  */
99
75
  get tileLeaderByteSize() {
100
- if (this.tileLeader == null)
101
- return null;
102
- return GhostOptionTileLeaderSize[this.tileLeader];
76
+ switch (this.options.get(GhostOption.BLOCK_LEADER)) {
77
+ case GhostOptionTileLeader.uint32:
78
+ return ByteSize.UInt32;
79
+ default:
80
+ return null;
81
+ }
103
82
  }
104
83
  get isMaskInterleaved() {
105
84
  return this.options.get(GhostOption.MASK_INTERLEAVED_WITH_IMAGERY) === 'YES';
106
85
  }
107
86
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi5nZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWQvdGlmZi5nZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQWUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFM0QsbURBQW1EO0FBQ25ELGdDQUFnQztBQUNoQyw4QkFBOEI7QUFDOUIsbUNBQW1DO0FBQ25DLDRDQUE0QztBQUM1QyxxQ0FBcUM7QUFFckMsTUFBTSxDQUFOLElBQVksV0FRWDtBQVJELFdBQVksV0FBVztJQUNuQiw4RUFBK0QsQ0FBQTtJQUMvRCxnQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBMkIsQ0FBQTtJQUMzQiw0Q0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBK0IsQ0FBQTtJQUMvQix3RUFBeUQsQ0FBQTtJQUN6RCw4RUFBK0QsQ0FBQTtBQUNuRSxDQUFDLEVBUlcsV0FBVyxLQUFYLFdBQVcsUUFRdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFFWDtBQUZELFdBQVksb0JBQW9CO0lBQzVCLDhDQUFzQixDQUFBO0FBQzFCLENBQUMsRUFGVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRS9CO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBRVg7QUFGRCxXQUFZLHFCQUFxQjtJQUM3QixpREFBd0IsQ0FBQTtBQUM1QixDQUFDLEVBRlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUVoQztBQUNELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFnQztJQUNsRSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07Q0FDMUIsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFBL0I7UUFDSSxZQUFPLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7SUE2RWxELENBQUM7SUEzRUc7O09BRUc7SUFDSCxJQUFJLGNBQWM7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssa0JBQWtCLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDOUUsQ0FBQztJQUVPLEdBQUcsQ0FBQyxHQUFnQixFQUFFLEdBQVc7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE9BQU8sQ0FBQyxNQUFtQixFQUFFLE1BQWMsRUFBRSxNQUFjO1FBQ3ZELE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEdBQUcsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUMzQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxLQUFLLENBQUM7Z0JBQUUsU0FBUztZQUN6QixLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN6QztRQUVELE1BQU0sV0FBVyxHQUFHLEtBQUs7YUFDcEIsSUFBSSxDQUFDLEVBQUUsQ0FBQzthQUNSLElBQUksRUFBRTthQUNOLEtBQUssQ0FBQyxJQUFJLENBQUM7YUFDWCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUU5QixLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksV0FBVyxFQUFFO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFrQixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDNUQ7SUFDTCxDQUFDO0lBRU8sV0FBVyxDQUFJLENBQXNCLEVBQUUsR0FBZ0I7UUFDM0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxHQUFHLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzdCLE9BQU8sbUJBQW1CLENBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxVQUFVO1FBQ1YsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixFQUFFLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGtCQUFrQjtRQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3pDLE9BQU8seUJBQXlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQyxLQUFLLEtBQUssQ0FBQztJQUNqRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCeXRlU2l6ZSwgQ2h1bmtTb3VyY2UgfSBmcm9tICdAY2h1bmtkL2NvcmUnO1xuaW1wb3J0IHsgZ2V0UmV2ZXJzZUVudW1WYWx1ZSB9IGZyb20gJy4uL3V0aWwvdXRpbC5lbnVtLmpzJztcblxuLy8gICBHREFMX1NUUlVDVFVSQUxfTUVUQURBVEFfU0laRTogJzAwMDE0MCBieXRlcycsXG4vLyAgIExBWU9VVDogJ0lGRFNfQkVGT1JFX0RBVEEnLFxuLy8gICBCTE9DS19PUkRFUjogJ1JPV19NQUpPUicsXG4vLyAgIEJMT0NLX0xFQURFUjogJ1NJWkVfQVNfVUlOVDQnLFxuLy8gICBCTE9DS19UUkFJTEVSOiAnTEFTVF80X0JZVEVTX1JFUEVBVEVEJyxcbi8vICAgS05PV05fSU5DT01QQVRJQkxFX0VESVRJT046ICdOTydcblxuZXhwb3J0IGVudW0gR2hvc3RPcHRpb24ge1xuICAgIEdEQUxfU1RSVUNUVVJBTF9NRVRBREFUQV9TSVpFID0gJ0dEQUxfU1RSVUNUVVJBTF9NRVRBREFUQV9TSVpFJyxcbiAgICBMQVlPVVQgPSAnTEFZT1VUJyxcbiAgICBCTE9DS19PUkRFUiA9ICdCTE9DS19PUkRFUicsXG4gICAgQkxPQ0tfTEVBREVSID0gJ0JMT0NLX0xFQURFUicsXG4gICAgQkxPQ0tfVFJBSUxFUiA9ICdCTE9DS19UUkFJTEVSJyxcbiAgICBLTk9XTl9JTkNPTVBBVElCTEVfRURJVElPTiA9ICdLTk9XTl9JTkNPTVBBVElCTEVfRURJVElPTicsXG4gICAgTUFTS19JTlRFUkxFQVZFRF9XSVRIX0lNQUdFUlkgPSAnTUFTS19JTlRFUkxFQVZFRF9XSVRIX0lNQUdFUlknLFxufVxuXG5leHBvcnQgZW51bSBHaG9zdE9wdGlvblRpbGVPcmRlciB7XG4gICAgUm93TWFqb3IgPSAnUk9XX01BSk9SJyxcbn1cblxuZXhwb3J0IGVudW0gR2hvc3RPcHRpb25UaWxlTGVhZGVyIHtcbiAgICB1aW50MzIgPSAnU0laRV9BU19VSU5UNCcsXG59XG5leHBvcnQgY29uc3QgR2hvc3RPcHRpb25UaWxlTGVhZGVyU2l6ZTogeyBba2V5OiBzdHJpbmddOiBCeXRlU2l6ZSB9ID0ge1xuICAgIHVpbnQzMjogQnl0ZVNpemUuVUludDMyLFxufTtcblxuLyoqXG4gKiBHREFMIGhhcyBtYWRlIGEgZ2hvc3Qgc2V0IG9mIG9wdGlvbnMgZm9yIFRpZiBmaWxlc1xuICogdGhpcyBjbGFzcyByZXByZXNlbnRzIHRoZSBvcHRpbWl6YXRpb25zIHRoYXQgY2FuIGJlIHVzZWRcbiAqL1xuZXhwb3J0IGNsYXNzIENvZ1RpZkdob3N0T3B0aW9ucyB7XG4gICAgb3B0aW9uczogTWFwPEdob3N0T3B0aW9uLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuXG4gICAgLyoqXG4gICAgICogSGFzIEdEQUwgb3B0aW1pemVkIHRoaXMgdGlmXG4gICAgICovXG4gICAgZ2V0IGlzQ29nT3B0aW1pemVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc0Jyb2tlbikgcmV0dXJuIGZhbHNlO1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldChHaG9zdE9wdGlvbi5MQVlPVVQpID09PSAnSUZEU19CRUZPUkVfREFUQSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGFzIEdEQUwgZGV0ZXJtaW5lZCB0aGlzIHRpZiBpcyBub3cgYnJva2VuXG4gICAgICovXG4gICAgZ2V0IGlzQnJva2VuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldChHaG9zdE9wdGlvbi5LTk9XTl9JTkNPTVBBVElCTEVfRURJVElPTikgPT09ICdZRVMnO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0KGtleTogR2hvc3RPcHRpb24sIHZhbDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5zZXQoa2V5LCB2YWwpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWQgdGhlIGdob3N0IG9wdGlvbnMgZnJvbSBhIHNvdXJjZVxuICAgICAqIEBwYXJhbSBzb3VyY2UgU291cmNlIHRvIGxvYWQgZnJvbVxuICAgICAqIEBwYXJhbSBvZmZzZXQgQnl0ZSBvZmZzZXQgdG8gc3RhcnQgcmVhZGluZ1xuICAgICAqIEBwYXJhbSBsZW5ndGggbWF4IG51bWJlciBvZiBieXRlcyB0byByZWFkXG4gICAgICovXG4gICAgcHJvY2Vzcyhzb3VyY2U6IENodW5rU291cmNlLCBvZmZzZXQ6IG51bWJlciwgbGVuZ3RoOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2hhcnM6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGZvciAobGV0IGkgPSBvZmZzZXQ7IGkgPCBvZmZzZXQgKyBsZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgY2hhciA9IHNvdXJjZS5nZXRVaW50OChpKTtcbiAgICAgICAgICAgIGlmIChjaGFyID09PSAwKSBjb250aW51ZTtcbiAgICAgICAgICAgIGNoYXJzLnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyKSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBrZXlWYWxQYWlycyA9IGNoYXJzXG4gICAgICAgICAgICAuam9pbignJylcbiAgICAgICAgICAgIC50cmltKClcbiAgICAgICAgICAgIC5zcGxpdCgnXFxuJylcbiAgICAgICAgICAgIC5tYXAoKGMpID0+IGMuc3BsaXQoJz0nKSk7XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2Yga2V5VmFsUGFpcnMpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5zZXQoR2hvc3RPcHRpb25ba2V5IGFzIEdob3N0T3B0aW9uXSwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2V0UmV2ZXJzZTxUPihlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBrZXk6IEdob3N0T3B0aW9uKTogVCB8IG51bGwge1xuICAgICAgICBjb25zdCBvcHQgPSB0aGlzLm9wdGlvbnMuZ2V0KGtleSk7XG4gICAgICAgIGlmIChvcHQgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiBnZXRSZXZlcnNlRW51bVZhbHVlPFQ+KGUsIG9wdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIG9yZGVyaW5nIG9mIHRpbGVzIGluc2lkZSB0aGUgdGlmXG4gICAgICovXG4gICAgZ2V0IHRpbGVPcmRlcigpOiBHaG9zdE9wdGlvblRpbGVPcmRlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0UmV2ZXJzZShHaG9zdE9wdGlvblRpbGVPcmRlciwgR2hvc3RPcHRpb24uQkxPQ0tfT1JERVIpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFyZSB0aWxlcyBzdG9yZWQgd2l0aCB0aGUgZmlsZSBzaXplIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgdGlsZVxuICAgICAqL1xuICAgIGdldCB0aWxlTGVhZGVyKCk6IEdob3N0T3B0aW9uVGlsZUxlYWRlciB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5fZ2V0UmV2ZXJzZShHaG9zdE9wdGlvblRpbGVMZWFkZXIsIEdob3N0T3B0aW9uLkJMT0NLX0xFQURFUik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgdGhlIHRpbGUgbGVhZGVyIGlzIHNldCwgaG93IG1hbnkgYnl0ZXMgYXJlIGFsbG9jYXRlZCB0byB0aGUgdGlsZSBzaXplXG4gICAgICovXG4gICAgZ2V0IHRpbGVMZWFkZXJCeXRlU2l6ZSgpOiBCeXRlU2l6ZSB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy50aWxlTGVhZGVyID09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICByZXR1cm4gR2hvc3RPcHRpb25UaWxlTGVhZGVyU2l6ZVt0aGlzLnRpbGVMZWFkZXJdO1xuICAgIH1cblxuICAgIGdldCBpc01hc2tJbnRlcmxlYXZlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoR2hvc3RPcHRpb24uTUFTS19JTlRFUkxFQVZFRF9XSVRIX0lNQUdFUlkpID09PSAnWUVTJztcbiAgICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlmZi5nZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlYWQvdGlmZi5nZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFHeEMsTUFBTSxDQUFOLElBQVksV0FRWDtBQVJELFdBQVksV0FBVztJQUNuQiw4RUFBK0QsQ0FBQTtJQUMvRCxnQ0FBaUIsQ0FBQTtJQUNqQiwwQ0FBMkIsQ0FBQTtJQUMzQiw0Q0FBNkIsQ0FBQTtJQUM3Qiw4Q0FBK0IsQ0FBQTtJQUMvQix3RUFBeUQsQ0FBQTtJQUN6RCw4RUFBK0QsQ0FBQTtBQUNuRSxDQUFDLEVBUlcsV0FBVyxLQUFYLFdBQVcsUUFRdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxvQkFFWDtBQUZELFdBQVksb0JBQW9CO0lBQzVCLDhDQUFzQixDQUFBO0FBQzFCLENBQUMsRUFGVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRS9CO0FBRUQsTUFBTSxDQUFOLElBQVkscUJBRVg7QUFGRCxXQUFZLHFCQUFxQjtJQUM3QixpREFBd0IsQ0FBQTtBQUM1QixDQUFDLEVBRlcscUJBQXFCLEtBQXJCLHFCQUFxQixRQUVoQztBQUVEOzs7R0FHRztBQUNILE1BQU0sT0FBTyxrQkFBa0I7SUFBL0I7UUFDSSxZQUFPLEdBQXdCLElBQUksR0FBRyxFQUFFLENBQUM7SUE0RDdDLENBQUM7SUF6REc7O09BRUc7SUFDSCxJQUFJLGNBQWM7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssa0JBQWtCLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsMEJBQTBCLENBQUMsS0FBSyxLQUFLLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7T0FHRztJQUNILE9BQU8sQ0FBQyxLQUFpQjtRQUNyQixJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDZixJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDckIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksUUFBUSxLQUFLLENBQUM7Z0JBQUUsTUFBTTtZQUUxQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzNDLElBQUksSUFBSSxLQUFLLElBQUksRUFBRTtnQkFDZixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQzNDLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ1QsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDWCxRQUFRLEdBQUcsS0FBSyxDQUFDO2FBQ3BCO2lCQUFNLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRTtnQkFDckIsUUFBUSxHQUFHLElBQUksQ0FBQzthQUNuQjtpQkFBTTtnQkFDSCxJQUFJLFFBQVE7b0JBQUUsS0FBSyxJQUFJLElBQUksQ0FBQzs7b0JBQ3ZCLEdBQUcsSUFBSSxJQUFJLENBQUM7YUFDcEI7U0FDSjtJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksa0JBQWtCO1FBQ2xCLFFBQVEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ2hELEtBQUsscUJBQXFCLENBQUMsTUFBTTtnQkFDN0IsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQzNCO2dCQUNJLE9BQU8sSUFBSSxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLDZCQUE2QixDQUFDLEtBQUssS0FBSyxDQUFDO0lBQ2pGLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ5dGVTaXplIH0gZnJvbSAnQGNodW5rZC9jb3JlJztcbmltcG9ydCB7IENvZ1RpZmYgfSBmcm9tICcuLi9jb2cudGlmZi5qcyc7XG5cbmV4cG9ydCBlbnVtIEdob3N0T3B0aW9uIHtcbiAgICBHREFMX1NUUlVDVFVSQUxfTUVUQURBVEFfU0laRSA9ICdHREFMX1NUUlVDVFVSQUxfTUVUQURBVEFfU0laRScsXG4gICAgTEFZT1VUID0gJ0xBWU9VVCcsXG4gICAgQkxPQ0tfT1JERVIgPSAnQkxPQ0tfT1JERVInLFxuICAgIEJMT0NLX0xFQURFUiA9ICdCTE9DS19MRUFERVInLFxuICAgIEJMT0NLX1RSQUlMRVIgPSAnQkxPQ0tfVFJBSUxFUicsXG4gICAgS05PV05fSU5DT01QQVRJQkxFX0VESVRJT04gPSAnS05PV05fSU5DT01QQVRJQkxFX0VESVRJT04nLFxuICAgIE1BU0tfSU5URVJMRUFWRURfV0lUSF9JTUFHRVJZID0gJ01BU0tfSU5URVJMRUFWRURfV0lUSF9JTUFHRVJZJyxcbn1cblxuZXhwb3J0IGVudW0gR2hvc3RPcHRpb25UaWxlT3JkZXIge1xuICAgIFJvd01ham9yID0gJ1JPV19NQUpPUicsXG59XG5cbmV4cG9ydCBlbnVtIEdob3N0T3B0aW9uVGlsZUxlYWRlciB7XG4gICAgdWludDMyID0gJ1NJWkVfQVNfVUlOVDQnLFxufVxuXG4vKipcbiAqIEdEQUwgaGFzIG1hZGUgYSBnaG9zdCBzZXQgb2Ygb3B0aW9ucyBmb3IgVGlmIGZpbGVzXG4gKiB0aGlzIGNsYXNzIHJlcHJlc2VudHMgdGhlIG9wdGltaXphdGlvbnMgdGhhdCBjYW4gYmUgdXNlZFxuICovXG5leHBvcnQgY2xhc3MgQ29nVGlmR2hvc3RPcHRpb25zIHtcbiAgICBvcHRpb25zOiBNYXA8c3RyaW5nLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xuICAgIHNvdXJjZTogQ29nVGlmZjtcblxuICAgIC8qKlxuICAgICAqIEhhcyBHREFMIG9wdGltaXplZCB0aGlzIHRpZlxuICAgICAqL1xuICAgIGdldCBpc0NvZ09wdGltaXplZCgpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKHRoaXMuaXNCcm9rZW4pIHJldHVybiBmYWxzZTtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoR2hvc3RPcHRpb24uTEFZT1VUKSA9PT0gJ0lGRFNfQkVGT1JFX0RBVEEnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEhhcyBHREFMIGRldGVybWluZWQgdGhpcyB0aWYgaXMgbm93IGJyb2tlblxuICAgICAqL1xuICAgIGdldCBpc0Jyb2tlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5nZXQoR2hvc3RPcHRpb24uS05PV05fSU5DT01QQVRJQkxFX0VESVRJT04pID09PSAnWUVTJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkIHRoZSBnaG9zdCBvcHRpb25zIGZyb20gYSBzb3VyY2VcbiAgICAgKiBAcGFyYW0gYnl0ZXMgdGhlIGdob3N0IGhlYWRlciBieXRlc1xuICAgICAqL1xuICAgIHByb2Nlc3MoYnl0ZXM6IFVpbnQ4QXJyYXkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGtleSA9ICcnO1xuICAgICAgICBsZXQgdmFsdWUgPSAnJztcbiAgICAgICAgbGV0IHNldFZhbHVlID0gZmFsc2U7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXJDb2RlID0gYnl0ZXNbaV07XG4gICAgICAgICAgICBpZiAoY2hhckNvZGUgPT09IDApIGJyZWFrO1xuXG4gICAgICAgICAgICBjb25zdCBjaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XG4gICAgICAgICAgICBpZiAoY2hhciA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbnMuc2V0KGtleS50cmltKCksIHZhbHVlLnRyaW0oKSk7XG4gICAgICAgICAgICAgICAga2V5ID0gJyc7XG4gICAgICAgICAgICAgICAgdmFsdWUgPSAnJztcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGFyID09PSAnPScpIHtcbiAgICAgICAgICAgICAgICBzZXRWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChzZXRWYWx1ZSkgdmFsdWUgKz0gY2hhcjtcbiAgICAgICAgICAgICAgICBlbHNlIGtleSArPSBjaGFyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSWYgdGhlIHRpbGUgbGVhZGVyIGlzIHNldCwgaG93IG1hbnkgYnl0ZXMgYXJlIGFsbG9jYXRlZCB0byB0aGUgdGlsZSBzaXplXG4gICAgICovXG4gICAgZ2V0IHRpbGVMZWFkZXJCeXRlU2l6ZSgpOiBCeXRlU2l6ZSB8IG51bGwge1xuICAgICAgICBzd2l0Y2ggKHRoaXMub3B0aW9ucy5nZXQoR2hvc3RPcHRpb24uQkxPQ0tfTEVBREVSKSkge1xuICAgICAgICAgICAgY2FzZSBHaG9zdE9wdGlvblRpbGVMZWFkZXIudWludDMyOlxuICAgICAgICAgICAgICAgIHJldHVybiBCeXRlU2l6ZS5VSW50MzI7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGlzTWFza0ludGVybGVhdmVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmdldChHaG9zdE9wdGlvbi5NQVNLX0lOVEVSTEVBVkVEX1dJVEhfSU1BR0VSWSkgPT09ICdZRVMnO1xuICAgIH1cbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cogeotiff/core",
3
- "version": "6.1.1",
3
+ "version": "7.2.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/blacha/cogeotiff.git",
@@ -18,16 +18,15 @@
18
18
  "test": "ospec --globs 'build/**/*.test.js'"
19
19
  },
20
20
  "dependencies": {
21
- "@chunkd/core": "^8.0.3",
21
+ "@chunkd/core": "^8.1.0",
22
22
  "ieee754": "^1.1.13"
23
23
  },
24
24
  "devDependencies": {
25
- "@types/node": "^14.14.22",
26
- "@types/ospec": "^4.0.0",
27
- "ospec": "^4.0.0"
25
+ "@types/node": "^18.0.0",
26
+ "@types/ospec": "^4.0.3"
28
27
  },
29
28
  "publishConfig": {
30
29
  "access": "public"
31
30
  },
32
- "gitHead": "377f418fb624d01a1a4ed598ec8fce9c52f1372c"
31
+ "gitHead": "64a437a3590a1fc8395d1f4294a5fc74cbbe6127"
33
32
  }
@@ -1,10 +1,13 @@
1
+ import { SourceMemory } from '@chunkd/core';
2
+ import { readFile } from 'fs/promises';
1
3
  import { CogTiff } from '../cog.tiff.js';
2
- import { SourceFile } from '@chunkd/source-file';
3
4
 
4
5
  /** Read a tile from every image inside of a tiff 300 tiles read */
5
6
  async function main(): Promise<void> {
6
- for (let i = 0; i < 50; i++) {
7
- const tiff = new CogTiff(new SourceFile(process.argv[process.argv.length - 1]));
7
+ const buf = await readFile(process.argv[process.argv.length - 1]);
8
+ const source = new SourceMemory('buf', buf);
9
+ for (let i = 0; i < 5_000; i++) {
10
+ const tiff = new CogTiff(source);
8
11
  await tiff.init();
9
12
 
10
13
  // 6 images
@@ -7,7 +7,7 @@ import 'source-map-support/register.js';
7
7
  import { TestFileChunkSource } from '@chunkd/core/build/__test__/chunk.source.fake.js';
8
8
  import { CogTiff } from '../cog.tiff.js';
9
9
  import { TiffMimeType } from '../const/index.js';
10
- import { SourceMemory } from '@chunkd/core';
10
+ import { ByteSize, SourceMemory } from '@chunkd/core';
11
11
  import { fileURLToPath } from 'url';
12
12
 
13
13
  const __dirname = fileURLToPath(import.meta.url);
@@ -73,6 +73,16 @@ o.spec('CogTiled', () => {
73
73
  o(firstImage.stripCount).equals(0);
74
74
  o(firstImage.isTiled()).equals(true);
75
75
  });
76
+
77
+ o('should hasTile for every tile', async () => {
78
+ const [firstImage] = cog.images;
79
+
80
+ for (let x = 0; x < firstImage.tileCount.x; x++) {
81
+ for (let y = 0; y < firstImage.tileCount.y; y++) {
82
+ o(await firstImage.hasTile(x, y)).equals(true);
83
+ }
84
+ }
85
+ });
76
86
  });
77
87
 
78
88
  o.spec('Cog.Big', () => {
@@ -132,6 +142,8 @@ o.spec('Cog.Sparse', () => {
132
142
 
133
143
  for (let x = 0; x < tileCount.x; x++) {
134
144
  for (let y = 0; y < tileCount.y; y++) {
145
+ const hasTile = await img.hasTile(x, y);
146
+ o(hasTile).equals(false);
135
147
  const tileXy = await img.getTile(x, y);
136
148
  const tileXyz = await cog.getTile(x, y, z);
137
149
  o(tileXy).equals(null)(`Tile x:${x} y:${y} should be empty`);
@@ -139,6 +151,22 @@ o.spec('Cog.Sparse', () => {
139
151
  }
140
152
  }
141
153
  });
154
+
155
+ o('should have ghost options', () => {
156
+ o(cog.options.options.size).equals(6);
157
+ o(cog.options.tileLeaderByteSize).equals(ByteSize.UInt32);
158
+ o(cog.options.isCogOptimized).equals(true);
159
+
160
+ const entries = [...cog.options.options.entries()];
161
+ o(entries).deepEquals([
162
+ ['GDAL_STRUCTURAL_METADATA_SIZE', '000140 bytes'],
163
+ ['LAYOUT', 'IFDS_BEFORE_DATA'],
164
+ ['BLOCK_ORDER', 'ROW_MAJOR'],
165
+ ['BLOCK_LEADER', 'SIZE_AS_UINT4'],
166
+ ['BLOCK_TRAILER', 'LAST_4_BYTES_REPEATED'],
167
+ ['KNOWN_INCOMPATIBLE_EDITION', 'NO'],
168
+ ]);
169
+ });
142
170
  });
143
171
 
144
172
  o.spec('CogStrip', () => {