@loaders.gl/i3s 4.0.0-alpha.14 → 4.0.0-alpha.16

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 (115) hide show
  1. package/dist/dist.min.js +329 -211
  2. package/dist/es5/arcgis-webscene-loader.js +1 -1
  3. package/dist/es5/i3s-attribute-loader.js +1 -1
  4. package/dist/es5/i3s-building-scene-layer-loader.js +1 -1
  5. package/dist/es5/i3s-content-loader.js +1 -1
  6. package/dist/es5/i3s-loader.js +1 -1
  7. package/dist/es5/i3s-node-page-loader.js +1 -1
  8. package/dist/es5/i3s-slpk-loader.js +30 -2
  9. package/dist/es5/i3s-slpk-loader.js.map +1 -1
  10. package/dist/es5/index.js +7 -7
  11. package/dist/es5/index.js.map +1 -1
  12. package/dist/es5/lib/parsers/constants.js +14 -15
  13. package/dist/es5/lib/parsers/constants.js.map +1 -1
  14. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js +101 -76
  15. package/dist/es5/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
  16. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js +54 -34
  17. package/dist/es5/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
  18. package/dist/es5/lib/parsers/parse-zip/cd-file-header.js +76 -39
  19. package/dist/es5/lib/parsers/parse-zip/cd-file-header.js.map +1 -1
  20. package/dist/es5/lib/parsers/parse-zip/data-view-file-provider.js +129 -0
  21. package/dist/es5/lib/parsers/parse-zip/data-view-file-provider.js.map +1 -0
  22. package/dist/es5/lib/parsers/parse-zip/end-of-central-directory.js +100 -0
  23. package/dist/es5/lib/parsers/parse-zip/end-of-central-directory.js.map +1 -0
  24. package/dist/es5/lib/parsers/parse-zip/file-provider.js.map +1 -1
  25. package/dist/es5/lib/parsers/parse-zip/local-file-header.js +55 -14
  26. package/dist/es5/lib/parsers/parse-zip/local-file-header.js.map +1 -1
  27. package/dist/es5/lib/parsers/parse-zip/search-from-the-end.js +69 -0
  28. package/dist/es5/lib/parsers/parse-zip/search-from-the-end.js.map +1 -0
  29. package/dist/es5/types.js +1 -14
  30. package/dist/es5/types.js.map +1 -1
  31. package/dist/esm/arcgis-webscene-loader.js +1 -1
  32. package/dist/esm/i3s-attribute-loader.js +1 -1
  33. package/dist/esm/i3s-building-scene-layer-loader.js +1 -1
  34. package/dist/esm/i3s-content-loader.js +1 -1
  35. package/dist/esm/i3s-loader.js +1 -1
  36. package/dist/esm/i3s-node-page-loader.js +1 -1
  37. package/dist/esm/i3s-slpk-loader.js +8 -2
  38. package/dist/esm/i3s-slpk-loader.js.map +1 -1
  39. package/dist/esm/index.js +1 -1
  40. package/dist/esm/index.js.map +1 -1
  41. package/dist/esm/lib/parsers/constants.js +14 -15
  42. package/dist/esm/lib/parsers/constants.js.map +1 -1
  43. package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js +50 -35
  44. package/dist/esm/lib/parsers/parse-slpk/parse-slpk.js.map +1 -1
  45. package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js +38 -22
  46. package/dist/esm/lib/parsers/parse-slpk/slpk-archieve.js.map +1 -1
  47. package/dist/esm/lib/parsers/parse-zip/cd-file-header.js +30 -22
  48. package/dist/esm/lib/parsers/parse-zip/cd-file-header.js.map +1 -1
  49. package/dist/esm/lib/parsers/parse-zip/data-view-file-provider.js +32 -0
  50. package/dist/esm/lib/parsers/parse-zip/data-view-file-provider.js.map +1 -0
  51. package/dist/esm/lib/parsers/parse-zip/end-of-central-directory.js +33 -0
  52. package/dist/esm/lib/parsers/parse-zip/end-of-central-directory.js.map +1 -0
  53. package/dist/esm/lib/parsers/parse-zip/file-provider.js.map +1 -1
  54. package/dist/esm/lib/parsers/parse-zip/local-file-header.js +25 -10
  55. package/dist/esm/lib/parsers/parse-zip/local-file-header.js.map +1 -1
  56. package/dist/esm/lib/parsers/parse-zip/search-from-the-end.js +16 -0
  57. package/dist/esm/lib/parsers/parse-zip/search-from-the-end.js.map +1 -0
  58. package/dist/esm/types.js +0 -12
  59. package/dist/esm/types.js.map +1 -1
  60. package/dist/i3s-content-worker-node.js +47 -47
  61. package/dist/i3s-content-worker-node.js.map +2 -2
  62. package/dist/i3s-content-worker.js +22 -34
  63. package/dist/i3s-slpk-loader.d.ts +3 -0
  64. package/dist/i3s-slpk-loader.d.ts.map +1 -1
  65. package/dist/i3s-slpk-loader.js +11 -1
  66. package/dist/index.d.ts +3 -2
  67. package/dist/index.d.ts.map +1 -1
  68. package/dist/index.js +3 -1
  69. package/dist/lib/parsers/constants.d.ts.map +1 -1
  70. package/dist/lib/parsers/constants.js +14 -15
  71. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts +9 -3
  72. package/dist/lib/parsers/parse-slpk/parse-slpk.d.ts.map +1 -1
  73. package/dist/lib/parsers/parse-slpk/parse-slpk.js +65 -42
  74. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts +22 -10
  75. package/dist/lib/parsers/parse-slpk/slpk-archieve.d.ts.map +1 -1
  76. package/dist/lib/parsers/parse-slpk/slpk-archieve.js +56 -28
  77. package/dist/lib/parsers/parse-zip/cd-file-header.d.ts +9 -5
  78. package/dist/lib/parsers/parse-zip/cd-file-header.d.ts.map +1 -1
  79. package/dist/lib/parsers/parse-zip/cd-file-header.js +32 -25
  80. package/dist/lib/parsers/parse-zip/{buffer-file-provider.d.ts → data-view-file-provider.d.ts} +15 -16
  81. package/dist/lib/parsers/parse-zip/data-view-file-provider.d.ts.map +1 -0
  82. package/dist/lib/parsers/parse-zip/{buffer-file-provider.js → data-view-file-provider.js} +28 -14
  83. package/dist/lib/parsers/parse-zip/end-of-central-directory.d.ts +18 -0
  84. package/dist/lib/parsers/parse-zip/end-of-central-directory.d.ts.map +1 -0
  85. package/dist/lib/parsers/parse-zip/end-of-central-directory.js +41 -0
  86. package/dist/lib/parsers/parse-zip/file-provider.d.ts +10 -5
  87. package/dist/lib/parsers/parse-zip/file-provider.d.ts.map +1 -1
  88. package/dist/lib/parsers/parse-zip/local-file-header.d.ts +5 -3
  89. package/dist/lib/parsers/parse-zip/local-file-header.d.ts.map +1 -1
  90. package/dist/lib/parsers/parse-zip/local-file-header.js +30 -11
  91. package/dist/lib/parsers/parse-zip/search-from-the-end.d.ts +11 -0
  92. package/dist/lib/parsers/parse-zip/search-from-the-end.d.ts.map +1 -0
  93. package/dist/lib/parsers/parse-zip/search-from-the-end.js +31 -0
  94. package/dist/types.d.ts +17 -24
  95. package/dist/types.d.ts.map +1 -1
  96. package/dist/types.js +1 -13
  97. package/package.json +9 -9
  98. package/src/i3s-slpk-loader.ts +19 -1
  99. package/src/index.ts +2 -2
  100. package/src/lib/parsers/constants.ts +14 -15
  101. package/src/lib/parsers/parse-slpk/parse-slpk.ts +83 -58
  102. package/src/lib/parsers/parse-slpk/slpk-archieve.ts +59 -44
  103. package/src/lib/parsers/parse-zip/cd-file-header.ts +52 -32
  104. package/src/lib/parsers/parse-zip/data-view-file-provider.ts +69 -0
  105. package/src/lib/parsers/parse-zip/end-of-central-directory.ts +78 -0
  106. package/src/lib/parsers/parse-zip/file-provider.ts +11 -5
  107. package/src/lib/parsers/parse-zip/local-file-header.ts +45 -19
  108. package/src/lib/parsers/parse-zip/search-from-the-end.ts +38 -0
  109. package/src/types.ts +25 -40
  110. package/dist/es5/lib/parsers/parse-zip/buffer-file-provider.js +0 -46
  111. package/dist/es5/lib/parsers/parse-zip/buffer-file-provider.js.map +0 -1
  112. package/dist/esm/lib/parsers/parse-zip/buffer-file-provider.js +0 -23
  113. package/dist/esm/lib/parsers/parse-zip/buffer-file-provider.js.map +0 -1
  114. package/dist/lib/parsers/parse-zip/buffer-file-provider.d.ts.map +0 -1
  115. package/src/lib/parsers/parse-zip/buffer-file-provider.ts +0 -55
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAC,UAAU,EAAE,aAAa,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAC,MAAM,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEpD,oBAAY,SAAS;IACnB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,OAAO,YAAY;CACpB;AAED,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD;;GAEG;AAEH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AACD,4EAA4E;AAC5E,MAAM,MAAM,QAAQ,GAAG;IACrB,sBAAsB;IACtB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB,CAAC;AACF;;GAEG;AACH,KAAK,QAAQ,GAAG;IACd;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB,+BAA+B;IAC/B,QAAQ,EAAE,YAAY,CAAC;IACvB,oCAAoC;IACpC,SAAS,EAAE,aAAa,CAAC;CAC1B,CAAC;AACF,uFAAuF;AACvF,MAAM,MAAM,YAAY,GAAG;IACzB,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,yJAAyJ;IACzJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AACF,uFAAuF;AACvF,MAAM,MAAM,YAAY,GAAG;IACzB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;IACnB,mLAAmL;IACnL,QAAQ,EAAE,MAAM,CAAC;IACjB,6PAA6P;IAC7P,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,iFAAiF;AACjF,KAAK,aAAa,GAAG;IACnB,sIAAsI;IACtI,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,GAAG,KAAK,GAAG,MAAM,CAAC;AAG3E,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IAC3C,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,4BAA4B;IAC5B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,+BAA+B;IAC/B,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,kDAAkD;IAClD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4CAA4C;IAC5C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gDAAgD;IAChD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IAEF,kBAAkB;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B,uEAAuE;IACvE,kBAAkB;IAClB,OAAO,CAAC,EAAE,SAAS,GAAG,iBAAiB,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,oBAAoB,CAAC,EAAE,GAAG,CAAC;IAC3B,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IAC3C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,oBAAoB,EAAE,oBAAoB,EAAE,CAAC;IAC7C,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX;IACE,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB,GACD,IAAI,CAAC;AAET,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,GAAG,CAAC;CACV,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG;IAChB,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC7B,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,0HAA0H;AAC1H,MAAM,MAAM,YAAY,GAAG;IACzB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,2GAA2G;IAC3G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,UAAU,GAAG,gBAAgB,CAAC;IACzC,mKAAmK;IACnK,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,6KAA6K;IAC7K,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,wGAAwG;IACxG,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,sBAAsB,CAAC,EAAE;QAAC,UAAU,EAAE,MAAM,CAAA;KAAC,CAAC;IAC9C,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6HAA6H;IAC7H,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,gDAAgD;IAChD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kIAAkI;IAClI,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,oCAAoC;IACpC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,KAAK,EAAE,KAAK,CAAC;IACb,iJAAiJ;IACjJ,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,iGAAiG;IACjG,oBAAoB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC9C,wDAAwD;IACxD,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,qBAAqB,EAAE,CAAC;IAC9C,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAC/C,6DAA6D;IAC7D,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC3C,iBAAiB;IACjB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AACF,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,6FAA6F;IAC7F,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AACF,sFAAsF;AACtF,MAAM,MAAM,WAAW,GAAG;IACxB,6HAA6H;IAC7H,QAAQ,EAAE,GAAG,CAAC;IACd,mCAAmC;IACnC,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AACF,wFAAwF;AACxF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,kBAAkB,GAAG,gBAAgB,GAAG,aAAa,GAAG,iBAAiB,CAAC;IAChF,8GAA8G;IAC9G,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,yFAAyF;AACzF,MAAM,MAAM,cAAc,GAAG;IAC3B,qDAAqD;IACrD,GAAG,EAAE,MAAM,CAAC;IACZ,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,6FAA6F;AAC7F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qFAAqF;IACrF,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,sBAAsB,EAAE,sBAAsB,CAAC;CAChD,CAAC;AACF,8FAA8F;AAC9F,MAAM,MAAM,qBAAqB,GAAG;IAClC,2NAA2N;IAC3N,oBAAoB,EAAE,uBAAuB,CAAC;IAC9C,8BAA8B;IAC9B,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,iCAAiC;IACjC,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,gCAAgC;IAChC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IACrC,0CAA0C;IAC1C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,2DAA2D;IAC3D,SAAS,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACvC,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACtC,CAAC;AACF,+FAA+F;AAC/F,MAAM,MAAM,uBAAuB,GAAG;IACpC,0DAA0D;IAC1D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACnD,8BAA8B;IAC9B,gBAAgB,CAAC,EAAE,kBAAkB,CAAC;IACtC,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAC;IACxB,sCAAsC;IACtC,wBAAwB,CAAC,EAAE,kBAAkB,CAAC;CAC/C,CAAC;AACF,0FAA0F;AAC1F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,gDAAgD;IAChD,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mHAAmH;IACnH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gMAAgM;IAChM,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,+FAA+F;AAC/F,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,cAAc,CAAC;IACjC,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,SAAS,GACjB,mBAAmB,GACnB,qBAAqB,GACrB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,sBAAsB,GACtB,kBAAkB,GAClB,2BAA2B,GAC3B,qBAAqB,CAAC;AAE1B,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;KAAC,EAAE,CAAC;CAC5E,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,cAAc,CAAC,EAAE,QAAQ,CAAC;IAC1B,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzB,YAAY,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAC9B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,kBAAkB,CAAC,EAAE,qBAAqB,CAAC;IAC3C,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,oBAAoB,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,eAAe,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,UAAU,GAAG;IACvB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IACT;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;IACrE,0GAA0G;IAC1G,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE;QACN,kFAAkF;QAClF,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,+CAA+C;QAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,4CAA4C;QAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB;gHACwG;QACxG,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB;;yEAEiE;QACjE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB;;uBAEe;QACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,sBAAsB;QACtB,UAAU,EAAE,UAAU,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;QAC9D,+DAA+D;QAC/D,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,iEAAiE;QACjE,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,kEAAkE;QAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB;;4FAEoF;QACpF,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB;;+FAEuF;QACvF,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,6FAA6F;QAC7F,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,eAAe,GAAG;IAC5B,+EAA+E;IAC/E,mBAAmB,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,sBAAsB,CAAA;KAAC,CAAC;IAC9D,2GAA2G;IAC3G,kBAAkB,CAAC,EAAE;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAAA;KAAC,CAAC;CAC7D,CAAC;AAEF,yEAAyE;AACzE,KAAK,YAAY,GAAG;IAClB,wEAAwE;IACxE,EAAE,EAAE,MAAM,CAAC;IACX,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;mFAC+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;+FAC2F;IAC3F,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB;6CACyC;IACzC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAE5E,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,cAAc,CAAC;IACnB,SAAS,EAAE,cAAc,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,SAAS,EAAE,qBAAqB,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,UAAU,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,SAAS,EAAE,qBAAqB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,YAAY,GAAG,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,wBAAwB,EAAE,CAAC;CAC1C,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,KAAK,WAAW,GAAG;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,eAAe,GAAG,mBAAmB,CAAC;IAClD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,2FAA2F;AAC3F,MAAM,MAAM,gBAAgB,GAAG;IAC7B,gEAAgE;IAChE,aAAa,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,UAAU,GAAG;IACvB,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,kDAAkD;IAClD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;IACnC,iHAAiH;IACjH,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC;AAEF,iFAAiF;AACjF,KAAK,MAAM,GAAG;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,WAAW,CAAC,EAAE;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,EAAE,CAAC;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF;;GAEG;AACH,KAAK,KAAK,GAAG;IACX,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB,EAAE,qBAAqB,CAAC;CAC9C,CAAC;AACF;;GAEG;AACH,KAAK,qBAAqB,GAAG;IAC3B,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,CAAC;IAC1C,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,eAAe,CAAC;IAClC,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,iBAAiB,EAAE,gBAAgB,CAAC;IAEpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAC;AACF;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,uBAAuB,CAAC,WAAW,GAAG,uBAAuB,CAAC,YAAY,GAAG,MAAM,CAAC;IAC9F,IAAI,EACA,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,OAAO,CAAC;CACvB,CAAC;AACF,oBAAY,uBAAuB;IACjC,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AACD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,GAAG,EAAE,iBAAiB,CAAC;IACvB,KAAK,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EACL,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,MAAM,GAChB,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,KAAK,GACf,SAAS,CAAC,OAAO,GACjB,SAAS,CAAC,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACjC,CAAC;AACF,MAAM,WAAW,gBAAiB,SAAQ,aAAa;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,GAAG,CAAC;CAChB;AACD,mFAAmF;AACnF,KAAK,eAAe,GAAG;IACrB,WAAW,EAAE,wBAAwB,GAAG,aAAa,CAAC;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EACN,OAAO,GACP,SAAS,GACT,MAAM,GACN,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,YAAY,GACZ,aAAa,GACb,qBAAqB,GACrB,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,4BAA4B,GAC5B,SAAS,GACT,SAAS,GACT,SAAS,GACT,YAAY,GACZ,WAAW,GACX,YAAY,GACZ,WAAW,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAC,EAAE,CAAC;AAErF,+FAA+F;AAC/F,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE,2BAA2B,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,6FAA6F;AAC7F,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,UAAU,GAAG,MAAM,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC,CAAC;AACF,yFAAyF;AACzF,KAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,GAAG,CAAC,EAAE,kBAAkB,CAAC;IACzB,KAAK,CAAC,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,oBAAoB,CAAC,EAAE;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAA;KAAC,CAAC;CACjE,CAAC;AAEF,KAAK,kBAAkB,GAAG;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAEhG,KAAK,cAAc,GAAG;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAExF,MAAM,MAAM,SAAS,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,GAAG,CAAC;IAC5B;;OAEG;IACH,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,eAAe,EAAE,eAAe,CAAC;IACjC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,YAAY,EAAE,kBAAkB,CAAC;IACjC;;OAEG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,WAAW,EAAE,QAAQ,GAAG,OAAO,CAAC;IAChC;;;OAGG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,GAAG,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,GAAG,CAAC;IACb;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,GAAG,CAAC;IAC7B;;;;OAIG;IACH,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,KAAK,kBAAkB,GAAG;IACxB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,KAAK,KAAK,GAAG;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,SAAS,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,MAAM,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,aAAa,CAAC;IACvB,aAAa,EAAE,kBAAkB,EAAE,CAAC;IACpC,SAAS,EAAE,eAAe,CAAC;CAC5B,CAAC;AAEF;;;GAGG;AACH,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,kBAAkB,EAAE,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AACF;;;GAGG;AACH,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,cAAc,EAAE,GAAG,CAAC;IACpB,MAAM,EAAE,YAAY,CAAC;CACtB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE;QACR,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IACF,gBAAgB,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,oBAAoB,CAAC;CAC5C,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,YAAY,GAAG;IAClB,WAAW,EAAE,UAAU,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,QAAQ,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,KAAK,QAAQ,GAAG;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE,cAAc,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,yCAAyC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,UAAU,EAAE,CAAC;CACnC,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,SAAS,GAAG;IACtB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,wJAAwJ;IACxJ,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -1,18 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HeaderAttributeProperty = exports.DATA_TYPE = void 0;
4
- var DATA_TYPE;
5
- (function (DATA_TYPE) {
6
- DATA_TYPE["UInt8"] = "UInt8";
7
- DATA_TYPE["UInt16"] = "UInt16";
8
- DATA_TYPE["UInt32"] = "UInt32";
9
- DATA_TYPE["UInt64"] = "UInt64";
10
- DATA_TYPE["Int16"] = "Int16";
11
- DATA_TYPE["Int32"] = "Int32";
12
- DATA_TYPE["Int64"] = "Int64";
13
- DATA_TYPE["Float32"] = "Float32";
14
- DATA_TYPE["Float64"] = "Float64";
15
- })(DATA_TYPE || (exports.DATA_TYPE = DATA_TYPE = {}));
3
+ exports.HeaderAttributeProperty = void 0;
16
4
  var HeaderAttributeProperty;
17
5
  (function (HeaderAttributeProperty) {
18
6
  HeaderAttributeProperty["vertexCount"] = "vertexCount";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/i3s",
3
- "version": "4.0.0-alpha.14",
3
+ "version": "4.0.0-alpha.16",
4
4
  "description": "i3s .",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -33,13 +33,13 @@
33
33
  "build-worker-node": "esbuild src/workers/i3s-content-worker-node.ts --outfile=dist/i3s-content-worker-node.js --platform=node --target=node16 --minify --bundle --sourcemap --define:__VERSION__=\\\"$npm_package_version\\\""
34
34
  },
35
35
  "dependencies": {
36
- "@loaders.gl/compression": "4.0.0-alpha.14",
37
- "@loaders.gl/draco": "4.0.0-alpha.14",
38
- "@loaders.gl/images": "4.0.0-alpha.14",
39
- "@loaders.gl/loader-utils": "4.0.0-alpha.14",
40
- "@loaders.gl/schema": "4.0.0-alpha.14",
41
- "@loaders.gl/textures": "4.0.0-alpha.14",
42
- "@loaders.gl/tiles": "4.0.0-alpha.14",
36
+ "@loaders.gl/compression": "4.0.0-alpha.16",
37
+ "@loaders.gl/draco": "4.0.0-alpha.16",
38
+ "@loaders.gl/images": "4.0.0-alpha.16",
39
+ "@loaders.gl/loader-utils": "4.0.0-alpha.16",
40
+ "@loaders.gl/schema": "4.0.0-alpha.16",
41
+ "@loaders.gl/textures": "4.0.0-alpha.16",
42
+ "@loaders.gl/tiles": "4.0.0-alpha.16",
43
43
  "@luma.gl/constants": "^8.5.4",
44
44
  "@math.gl/core": "^3.5.1",
45
45
  "@math.gl/culling": "^3.5.1",
@@ -49,5 +49,5 @@
49
49
  "peerDependencies": {
50
50
  "@loaders.gl/core": "^4.0.0-alpha.8"
51
51
  },
52
- "gitHead": "dd885592142ad9c26fc38e0eb0a711cf4806345a"
52
+ "gitHead": "87e9714165c3ce143a04ac45bbd9d922006f1b63"
53
53
  }
@@ -1,13 +1,17 @@
1
1
  import {LoaderOptions, LoaderWithParser} from '@loaders.gl/loader-utils';
2
- import {parseSLPK} from './lib/parsers/parse-slpk/parse-slpk';
2
+ import {parseSLPK as parseSLPKFromProvider} from './lib/parsers/parse-slpk/parse-slpk';
3
+ import {DataViewFileProvider} from './lib/parsers/parse-zip/data-view-file-provider';
3
4
 
4
5
  // __VERSION__ is injected by babel-plugin-version-inline
5
6
  // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
7
  const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';
7
8
 
9
+ /** options to load data from SLPK */
8
10
  export type SLPKLoaderOptions = LoaderOptions & {
9
11
  slpk?: {
12
+ /** path inside the slpk archive */
10
13
  path?: string;
14
+ /** mode of the path */
11
15
  pathMode?: 'http' | 'raw';
12
16
  };
13
17
  };
@@ -25,3 +29,17 @@ export const SLPKLoader: LoaderWithParser<Buffer, never, SLPKLoaderOptions> = {
25
29
  extensions: ['slpk'],
26
30
  options: {}
27
31
  };
32
+
33
+ /**
34
+ * returns a single file from the slpk archive
35
+ * @param data slpk archive data
36
+ * @param options options
37
+ * @returns requested file
38
+ */
39
+
40
+ async function parseSLPK(data: ArrayBuffer, options: SLPKLoaderOptions = {}) {
41
+ return (await parseSLPKFromProvider(new DataViewFileProvider(new DataView(data)))).getFile(
42
+ options.slpk?.path ?? '',
43
+ options.slpk?.pathMode
44
+ );
45
+ }
package/src/index.ts CHANGED
@@ -29,10 +29,10 @@ export type {
29
29
  Histogram,
30
30
  ValueCount,
31
31
  BuildingSceneSublayer,
32
- DATA_TYPE,
33
32
  OperationalLayer,
34
33
  TextureSetDefinitionFormats
35
34
  } from './types';
35
+ export type {FileProvider} from './lib/parsers/parse-zip/file-provider';
36
36
 
37
37
  export {COORDINATE_SYSTEM} from './lib/parsers/constants';
38
38
 
@@ -44,4 +44,4 @@ export {I3SBuildingSceneLayerLoader} from './i3s-building-scene-layer-loader';
44
44
  export {I3SNodePageLoader} from './i3s-node-page-loader';
45
45
  export {ArcGisWebSceneLoader} from './arcgis-webscene-loader';
46
46
  export {parseZipLocalFileHeader} from './lib/parsers/parse-zip/local-file-header';
47
- export {FileProvider} from './lib/parsers/parse-zip/file-provider';
47
+ export {parseSLPK} from './lib/parsers/parse-slpk/parse-slpk';
@@ -1,17 +1,16 @@
1
1
  import GL from '@luma.gl/constants';
2
- import {DATA_TYPE} from '../../types';
3
2
 
4
3
  export function getConstructorForDataFormat(dataType: string) {
5
4
  switch (dataType) {
6
- case DATA_TYPE.UInt8:
5
+ case 'UInt8':
7
6
  return Uint8Array;
8
- case DATA_TYPE.UInt16:
7
+ case 'UInt16':
9
8
  return Uint16Array;
10
- case DATA_TYPE.UInt32:
9
+ case 'UInt32':
11
10
  return Uint32Array;
12
- case DATA_TYPE.Float32:
11
+ case 'Float32':
13
12
  return Float32Array;
14
- case DATA_TYPE.UInt64:
13
+ case 'UInt64':
15
14
  return Float64Array;
16
15
  default:
17
16
  throw new Error(`parse i3s tile content: unknown type of data: ${dataType}`);
@@ -32,18 +31,18 @@ export const GL_TYPE_MAP: {[key: string]: number} = {
32
31
  */
33
32
  export function sizeOf(dataType: string): number {
34
33
  switch (dataType) {
35
- case DATA_TYPE.UInt8:
34
+ case 'UInt8':
36
35
  return 1;
37
- case DATA_TYPE.UInt16:
38
- case DATA_TYPE.Int16:
36
+ case 'UInt16':
37
+ case 'Int16':
39
38
  return 2;
40
- case DATA_TYPE.UInt32:
41
- case DATA_TYPE.Int32:
42
- case DATA_TYPE.Float32:
39
+ case 'UInt32':
40
+ case 'Int32':
41
+ case 'Float32':
43
42
  return 4;
44
- case DATA_TYPE.UInt64:
45
- case DATA_TYPE.Int64:
46
- case DATA_TYPE.Float64:
43
+ case 'UInt64':
44
+ case 'Int64':
45
+ case 'Float64':
47
46
  return 8;
48
47
  default:
49
48
  throw new Error(`parse i3s tile content: unknown size of data: ${dataType}`);
@@ -1,72 +1,97 @@
1
- import type {SLPKLoaderOptions} from '../../../i3s-slpk-loader';
2
- import {DataViewFileProvider} from '../parse-zip/buffer-file-provider';
3
- import {parseZipCDFileHeader} from '../parse-zip/cd-file-header';
1
+ import md5 from 'md5';
2
+ import {parseZipCDFileHeader, signature as cdHeaderSignature} from '../parse-zip/cd-file-header';
3
+ import {parseEoCDRecord} from '../parse-zip/end-of-central-directory';
4
+ import {FileProvider} from '../parse-zip/file-provider';
4
5
  import {parseZipLocalFileHeader} from '../parse-zip/local-file-header';
5
- import {SLPKArchive} from './slpk-archieve';
6
+ import {searchFromTheEnd} from '../parse-zip/search-from-the-end';
7
+ import {HashElement, SLPKArchive, compareHashes} from './slpk-archieve';
6
8
 
7
9
  /**
8
- * Returns one byte from the provided buffer at the provided position
9
- * @param offset - position where to read
10
- * @param buffer - buffer to read
11
- * @returns one byte from the provided buffer at the provided position
10
+ * Creates slpk file handler from raw file
11
+ * @param fileProvider raw file data
12
+ * @param cb is called with information message during parsing
13
+ * @returns slpk file handler
12
14
  */
13
- const getByteAt = (offset: number, buffer: DataView): number => {
14
- return buffer.getUint8(buffer.byteOffset + offset);
15
- };
16
-
17
- export async function parseSLPK(data: ArrayBuffer, options: SLPKLoaderOptions = {}) {
18
- const archive = new DataView(data);
19
- const cdFileHeaderSignature = [80, 75, 1, 2];
20
-
21
- const searchWindow = [
22
- getByteAt(archive.byteLength - 1, archive),
23
- getByteAt(archive.byteLength - 2, archive),
24
- getByteAt(archive.byteLength - 3, archive),
25
- undefined
26
- ];
15
+ export const parseSLPK = async (
16
+ fileProvider: FileProvider,
17
+ cb?: (msg: string) => void
18
+ ): Promise<SLPKArchive> => {
19
+ const hashCDOffset = await searchFromTheEnd(fileProvider, cdHeaderSignature);
27
20
 
28
- let hashCDOffset = 0;
21
+ const cdFileHeader = await parseZipCDFileHeader(hashCDOffset, fileProvider);
29
22
 
30
- // looking for the last record in the central directory
31
- for (let i = archive.byteLength - 4; i > -1; i--) {
32
- searchWindow[3] = searchWindow[2];
33
- searchWindow[2] = searchWindow[1];
34
- searchWindow[1] = searchWindow[0];
35
- searchWindow[0] = getByteAt(i, archive);
36
- if (searchWindow.every((val, index) => val === cdFileHeaderSignature[index])) {
37
- hashCDOffset = i;
38
- break;
23
+ let hashData: HashElement[];
24
+ if (cdFileHeader?.fileName !== '@specialIndexFileHASH128@') {
25
+ cb?.('SLPK doesnt contain hash file');
26
+ hashData = await generateHashInfo(fileProvider);
27
+ cb?.('hash info has been composed according to central directory records');
28
+ } else {
29
+ cb?.('SLPK contains hash file');
30
+ const localFileHeader = await parseZipLocalFileHeader(
31
+ cdFileHeader.localHeaderOffset,
32
+ fileProvider
33
+ );
34
+ if (!localFileHeader) {
35
+ throw new Error('corrupted SLPK');
39
36
  }
40
- }
41
37
 
42
- const fileProvider = new DataViewFileProvider(archive);
43
-
44
- const cdFileHeader = await parseZipCDFileHeader(hashCDOffset, fileProvider);
45
-
46
- if (cdFileHeader.fileName !== '@specialIndexFileHASH128@') {
47
- throw new Error('No hash file in slpk');
48
- }
38
+ const fileDataOffset = localFileHeader.fileDataOffset;
39
+ const hashFile = await fileProvider.slice(
40
+ fileDataOffset,
41
+ fileDataOffset + localFileHeader.compressedSize
42
+ );
49
43
 
50
- const localFileHeader = await parseZipLocalFileHeader(
51
- cdFileHeader.localHeaderOffset,
52
- fileProvider
53
- );
54
- if (!localFileHeader) {
55
- throw new Error('No hash file in slpk');
44
+ hashData = parseHashFile(hashFile);
56
45
  }
57
46
 
58
- const fileDataOffset = localFileHeader.fileDataOffset;
59
- const hashFile = archive.buffer.slice(
60
- fileDataOffset,
61
- fileDataOffset + localFileHeader.compressedSize
62
- );
47
+ return new SLPKArchive(fileProvider, hashData);
48
+ };
63
49
 
64
- if (!hashFile) {
65
- throw new Error('No hash file in slpk');
50
+ /**
51
+ * generates hash info from central directory
52
+ * @param fileProvider - provider of the archive
53
+ * @returns ready to use hash info
54
+ */
55
+ const generateHashInfo = async (fileProvider: FileProvider): Promise<HashElement[]> => {
56
+ const {cdStartOffset} = await parseEoCDRecord(fileProvider);
57
+ let cdHeader = await parseZipCDFileHeader(cdStartOffset, fileProvider);
58
+ const hashInfo: HashElement[] = [];
59
+ while (cdHeader) {
60
+ hashInfo.push({
61
+ hash: Buffer.from(md5(cdHeader.fileName.split('\\').join('/').toLocaleLowerCase()), 'hex'),
62
+ offset: cdHeader.localHeaderOffset
63
+ });
64
+ cdHeader = await parseZipCDFileHeader(
65
+ cdHeader.extraOffset + BigInt(cdHeader.extraFieldLength),
66
+ fileProvider
67
+ );
66
68
  }
69
+ hashInfo.sort((a, b) => compareHashes(a.hash, b.hash));
70
+ return hashInfo;
71
+ };
67
72
 
68
- return await new SLPKArchive(data, hashFile).getFile(
69
- options.slpk?.path ?? '',
70
- options.slpk?.pathMode
71
- );
72
- }
73
+ /**
74
+ * Reads hash file from buffer and returns it in ready-to-use form
75
+ * @param hashFile - bufer containing hash file
76
+ * @returns Array containing file info
77
+ */
78
+ const parseHashFile = (hashFile: ArrayBuffer): HashElement[] => {
79
+ const hashFileBuffer = Buffer.from(hashFile);
80
+ const hashArray: HashElement[] = [];
81
+ for (let i = 0; i < hashFileBuffer.buffer.byteLength; i = i + 24) {
82
+ const offsetBuffer = new DataView(
83
+ hashFileBuffer.buffer.slice(
84
+ hashFileBuffer.byteOffset + i + 16,
85
+ hashFileBuffer.byteOffset + i + 24
86
+ )
87
+ );
88
+ const offset = offsetBuffer.getBigUint64(offsetBuffer.byteOffset, true);
89
+ hashArray.push({
90
+ hash: Buffer.from(
91
+ hashFileBuffer.subarray(hashFileBuffer.byteOffset + i, hashFileBuffer.byteOffset + i + 16)
92
+ ),
93
+ offset
94
+ });
95
+ }
96
+ return hashArray;
97
+ };
@@ -1,18 +1,34 @@
1
1
  import md5 from 'md5';
2
2
  import {parseZipLocalFileHeader} from '../parse-zip/local-file-header';
3
- import {DataViewFileProvider} from '../parse-zip/buffer-file-provider';
4
3
  import {GZipCompression} from '@loaders.gl/compression';
4
+ import {FileProvider} from '../parse-zip/file-provider';
5
5
 
6
6
  /** Element of hash array */
7
- type HashElement = {
8
- /**
9
- * File name hash
10
- */
7
+ export type HashElement = {
8
+ /** File name hash */
11
9
  hash: Buffer;
12
- /**
13
- * File offset in the archive
14
- */
15
- offset: number;
10
+ /** File offset in the archive */
11
+ offset: bigint;
12
+ };
13
+
14
+ /**
15
+ * Comparing md5 hashes according to https://github.com/Esri/i3s-spec/blob/master/docs/2.0/slpk_hashtable.pcsl.md step 5
16
+ * @param hash1 hash to compare
17
+ * @param hash2 hash to compare
18
+ * @returns -1 if hash1 < hash2, 0 of hash1 === hash2, 1 if hash1 > hash2
19
+ */
20
+ export const compareHashes = (hash1: Buffer, hash2: Buffer): number => {
21
+ const h1 = new BigUint64Array(hash1.buffer, hash1.byteOffset, 2);
22
+ const h2 = new BigUint64Array(hash2.buffer, hash2.byteOffset, 2);
23
+
24
+ const diff = h1[0] === h2[0] ? h1[1] - h2[1] : h1[0] - h2[0];
25
+
26
+ if (diff < 0n) {
27
+ return -1;
28
+ } else if (diff === 0n) {
29
+ return 0;
30
+ }
31
+ return 1;
16
32
  };
17
33
 
18
34
  /** Description of real paths for different file types */
@@ -26,7 +42,7 @@ const PATH_DESCRIPTIONS: {test: RegExp; extensions: string[]}[] = [
26
42
  extensions: ['.json.gz']
27
43
  },
28
44
  {
29
- test: /^nodes\/\d+$/,
45
+ test: /^nodes\/(\d+|root)$/,
30
46
  extensions: ['/3dNodeIndexDocument.json.gz']
31
47
  },
32
48
  {
@@ -55,38 +71,35 @@ const PATH_DESCRIPTIONS: {test: RegExp; extensions: string[]}[] = [
55
71
  * Class for handling information about slpk file
56
72
  */
57
73
  export class SLPKArchive {
58
- slpkArchive: DataView;
59
- hashArray: {hash: Buffer; offset: number}[];
60
- constructor(slpkArchiveBuffer: ArrayBuffer, hashFile: ArrayBuffer) {
61
- this.slpkArchive = new DataView(slpkArchiveBuffer);
62
- this.hashArray = this.parseHashFile(hashFile);
74
+ private slpkArchive: FileProvider;
75
+ private hashArray: HashElement[];
76
+ constructor(slpkArchive: FileProvider, hashFile: HashElement[]) {
77
+ this.slpkArchive = slpkArchive;
78
+ this.hashArray = hashFile;
63
79
  }
64
80
 
65
81
  /**
66
- * Reads hash file from buffer and returns it in ready-to-use form
67
- * @param hashFile - bufer containing hash file
68
- * @returns Array containing file info
82
+ * Binary search in the hash info
83
+ * @param hashToSearch hash that we need to find
84
+ * @returns required hash element or undefined if not found
69
85
  */
70
- private parseHashFile(hashFile: ArrayBuffer): HashElement[] {
71
- const hashFileBuffer = Buffer.from(hashFile);
72
- const hashArray: HashElement[] = [];
73
- for (let i = 0; i < hashFileBuffer.buffer.byteLength; i = i + 24) {
74
- const offsetBuffer = new DataView(
75
- hashFileBuffer.buffer.slice(
76
- hashFileBuffer.byteOffset + i + 16,
77
- hashFileBuffer.byteOffset + i + 24
78
- )
79
- );
80
- const offset = offsetBuffer.getUint32(offsetBuffer.byteOffset, true);
81
- hashArray.push({
82
- hash: Buffer.from(
83
- hashFileBuffer.subarray(hashFileBuffer.byteOffset + i, hashFileBuffer.byteOffset + i + 16)
84
- ),
85
- offset
86
- });
86
+ private findBin = (hashToSearch: Buffer): HashElement | undefined => {
87
+ let lowerBorder = 0;
88
+ let upperBorder = this.hashArray.length;
89
+
90
+ while (upperBorder - lowerBorder > 1) {
91
+ const middle = lowerBorder + Math.floor((upperBorder - lowerBorder) / 2);
92
+ const value = compareHashes(this.hashArray[middle].hash, hashToSearch);
93
+ if (value === 0) {
94
+ return this.hashArray[middle];
95
+ } else if (value < 0) {
96
+ lowerBorder = middle;
97
+ } else {
98
+ upperBorder = middle;
99
+ }
87
100
  }
88
- return hashArray;
89
- }
101
+ return undefined;
102
+ };
90
103
 
91
104
  /**
92
105
  * Returns file with the given path from slpk archive
@@ -130,7 +143,12 @@ export class SLPKArchive {
130
143
  * @returns buffer with the file data
131
144
  */
132
145
  private async getDataByPath(path: string): Promise<ArrayBuffer | undefined> {
133
- const data = await this.getFileBytes(path);
146
+ // sometimes paths are not in lower case when hash file is created,
147
+ // so first we're looking for lower case file name and then for original one
148
+ let data = await this.getFileBytes(path.toLocaleLowerCase());
149
+ if (!data) {
150
+ data = await this.getFileBytes(path);
151
+ }
134
152
  if (!data) {
135
153
  return undefined;
136
154
  }
@@ -150,20 +168,17 @@ export class SLPKArchive {
150
168
  */
151
169
  private async getFileBytes(path: string): Promise<ArrayBuffer | undefined> {
152
170
  const nameHash = Buffer.from(md5(path), 'hex');
153
- const fileInfo = this.hashArray.find((val) => Buffer.compare(val.hash, nameHash) === 0);
171
+ const fileInfo = this.findBin(nameHash); // implement binary search
154
172
  if (!fileInfo) {
155
173
  return undefined;
156
174
  }
157
175
 
158
- const localFileHeader = await parseZipLocalFileHeader(
159
- this.slpkArchive.byteOffset + fileInfo?.offset,
160
- new DataViewFileProvider(this.slpkArchive)
161
- );
176
+ const localFileHeader = await parseZipLocalFileHeader(fileInfo.offset, this.slpkArchive);
162
177
  if (!localFileHeader) {
163
178
  return undefined;
164
179
  }
165
180
 
166
- const compressedFile = this.slpkArchive.buffer.slice(
181
+ const compressedFile = this.slpkArchive.slice(
167
182
  localFileHeader.fileDataOffset,
168
183
  localFileHeader.fileDataOffset + localFileHeader.compressedSize
169
184
  );