ag-psd 31.0.2 → 32.0.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 (1105) hide show
  1. package/.v8-cache/v24.13.1-x64-cf738c9d/acc36e66 +0 -0
  2. package/.v8-cache/v24.13.1-x64-cf738c9d/b3c2fab7 +0 -0
  3. package/.v8-cache/v24.13.1-x64-cf738c9d/cfc49f4f +0 -0
  4. package/.v8-cache/v24.7.0-x64-ef5a0af0/000a1de6 +0 -0
  5. package/.v8-cache/v24.7.0-x64-ef5a0af0/00b1f5b3 +0 -0
  6. package/.v8-cache/v24.7.0-x64-ef5a0af0/00d0e0b4 +0 -0
  7. package/.v8-cache/v24.7.0-x64-ef5a0af0/012a5efb +0 -0
  8. package/.v8-cache/v24.7.0-x64-ef5a0af0/012e069a +0 -0
  9. package/.v8-cache/v24.7.0-x64-ef5a0af0/0139d484 +0 -0
  10. package/.v8-cache/v24.7.0-x64-ef5a0af0/01f25b65 +0 -0
  11. package/.v8-cache/v24.7.0-x64-ef5a0af0/024691e5 +0 -0
  12. package/.v8-cache/v24.7.0-x64-ef5a0af0/0274927e +0 -0
  13. package/.v8-cache/v24.7.0-x64-ef5a0af0/02a30dfa +0 -0
  14. package/.v8-cache/v24.7.0-x64-ef5a0af0/02d69852 +0 -0
  15. package/.v8-cache/v24.7.0-x64-ef5a0af0/031f460b +0 -0
  16. package/.v8-cache/v24.7.0-x64-ef5a0af0/034093e8 +0 -0
  17. package/.v8-cache/v24.7.0-x64-ef5a0af0/039f982e +0 -0
  18. package/.v8-cache/v24.7.0-x64-ef5a0af0/03e19709 +0 -0
  19. package/.v8-cache/v24.7.0-x64-ef5a0af0/045b1dc4 +0 -0
  20. package/.v8-cache/v24.7.0-x64-ef5a0af0/04d897f8 +0 -0
  21. package/.v8-cache/v24.7.0-x64-ef5a0af0/05135617 +0 -0
  22. package/.v8-cache/v24.7.0-x64-ef5a0af0/052768c8 +0 -0
  23. package/.v8-cache/v24.7.0-x64-ef5a0af0/05330103 +0 -0
  24. package/.v8-cache/v24.7.0-x64-ef5a0af0/0539658f +0 -0
  25. package/.v8-cache/v24.7.0-x64-ef5a0af0/0561f0be +0 -0
  26. package/.v8-cache/v24.7.0-x64-ef5a0af0/056407a9 +0 -0
  27. package/.v8-cache/v24.7.0-x64-ef5a0af0/0585b7bb +0 -0
  28. package/.v8-cache/v24.7.0-x64-ef5a0af0/05b78f6b +0 -0
  29. package/.v8-cache/v24.7.0-x64-ef5a0af0/05b95c81 +0 -0
  30. package/.v8-cache/v24.7.0-x64-ef5a0af0/061ebf08 +0 -0
  31. package/.v8-cache/v24.7.0-x64-ef5a0af0/064f1d49 +0 -0
  32. package/.v8-cache/v24.7.0-x64-ef5a0af0/06cc3e45 +0 -0
  33. package/.v8-cache/v24.7.0-x64-ef5a0af0/07041e8e +0 -0
  34. package/.v8-cache/v24.7.0-x64-ef5a0af0/0742f03e +0 -0
  35. package/.v8-cache/v24.7.0-x64-ef5a0af0/0778b960 +0 -0
  36. package/.v8-cache/v24.7.0-x64-ef5a0af0/079604d9 +0 -0
  37. package/.v8-cache/v24.7.0-x64-ef5a0af0/07dfdaca +0 -0
  38. package/.v8-cache/v24.7.0-x64-ef5a0af0/08211eb2 +0 -0
  39. package/.v8-cache/v24.7.0-x64-ef5a0af0/08f84914 +0 -0
  40. package/.v8-cache/v24.7.0-x64-ef5a0af0/090dbd98 +0 -0
  41. package/.v8-cache/v24.7.0-x64-ef5a0af0/092e59e1 +0 -0
  42. package/.v8-cache/v24.7.0-x64-ef5a0af0/09fc8723 +0 -0
  43. package/.v8-cache/v24.7.0-x64-ef5a0af0/09feaf7d +0 -0
  44. package/.v8-cache/v24.7.0-x64-ef5a0af0/0aa8bbea +0 -0
  45. package/.v8-cache/v24.7.0-x64-ef5a0af0/0aaed951 +0 -0
  46. package/.v8-cache/v24.7.0-x64-ef5a0af0/0ad8fa6e +0 -0
  47. package/.v8-cache/v24.7.0-x64-ef5a0af0/0b4d326d +0 -0
  48. package/.v8-cache/v24.7.0-x64-ef5a0af0/0bdcb794 +0 -0
  49. package/.v8-cache/v24.7.0-x64-ef5a0af0/0c33d3b3 +0 -0
  50. package/.v8-cache/v24.7.0-x64-ef5a0af0/0c641507 +0 -0
  51. package/.v8-cache/v24.7.0-x64-ef5a0af0/0c877a23 +0 -0
  52. package/.v8-cache/v24.7.0-x64-ef5a0af0/0c9093b8 +0 -0
  53. package/.v8-cache/v24.7.0-x64-ef5a0af0/0cc76730 +0 -0
  54. package/.v8-cache/v24.7.0-x64-ef5a0af0/0d17afb7 +0 -0
  55. package/.v8-cache/v24.7.0-x64-ef5a0af0/0d34de12 +0 -0
  56. package/.v8-cache/v24.7.0-x64-ef5a0af0/0d38cfd1 +0 -0
  57. package/.v8-cache/v24.7.0-x64-ef5a0af0/0dad9f05 +0 -0
  58. package/.v8-cache/v24.7.0-x64-ef5a0af0/0dc02503 +0 -0
  59. package/.v8-cache/v24.7.0-x64-ef5a0af0/0df68674 +0 -0
  60. package/.v8-cache/v24.7.0-x64-ef5a0af0/0e15ac0b +0 -0
  61. package/.v8-cache/v24.7.0-x64-ef5a0af0/0e41bec3 +0 -0
  62. package/.v8-cache/v24.7.0-x64-ef5a0af0/0e897f0a +0 -0
  63. package/.v8-cache/v24.7.0-x64-ef5a0af0/0ec2e273 +0 -0
  64. package/.v8-cache/v24.7.0-x64-ef5a0af0/0f0a2045 +0 -0
  65. package/.v8-cache/v24.7.0-x64-ef5a0af0/0f44aab6 +0 -0
  66. package/.v8-cache/v24.7.0-x64-ef5a0af0/106347f0 +0 -0
  67. package/.v8-cache/v24.7.0-x64-ef5a0af0/1065c98c +0 -0
  68. package/.v8-cache/v24.7.0-x64-ef5a0af0/10cb14e2 +0 -0
  69. package/.v8-cache/v24.7.0-x64-ef5a0af0/10d12405 +0 -0
  70. package/.v8-cache/v24.7.0-x64-ef5a0af0/1130885f +0 -0
  71. package/.v8-cache/v24.7.0-x64-ef5a0af0/11b78352 +0 -0
  72. package/.v8-cache/v24.7.0-x64-ef5a0af0/11ca6000 +0 -0
  73. package/.v8-cache/v24.7.0-x64-ef5a0af0/11e0bcf8 +0 -0
  74. package/.v8-cache/v24.7.0-x64-ef5a0af0/12804b67 +0 -0
  75. package/.v8-cache/v24.7.0-x64-ef5a0af0/128ffeb6 +0 -0
  76. package/.v8-cache/v24.7.0-x64-ef5a0af0/1307c983 +0 -0
  77. package/.v8-cache/v24.7.0-x64-ef5a0af0/133aee2d +0 -0
  78. package/.v8-cache/v24.7.0-x64-ef5a0af0/13aac3d1 +0 -0
  79. package/.v8-cache/v24.7.0-x64-ef5a0af0/13fbcebc +0 -0
  80. package/.v8-cache/v24.7.0-x64-ef5a0af0/14015561 +0 -0
  81. package/.v8-cache/v24.7.0-x64-ef5a0af0/1425bd90 +0 -0
  82. package/.v8-cache/v24.7.0-x64-ef5a0af0/14345a1b +0 -0
  83. package/.v8-cache/v24.7.0-x64-ef5a0af0/149c4644 +0 -0
  84. package/.v8-cache/v24.7.0-x64-ef5a0af0/1520be33 +0 -0
  85. package/.v8-cache/v24.7.0-x64-ef5a0af0/1527d78f +0 -0
  86. package/.v8-cache/v24.7.0-x64-ef5a0af0/15453dd8 +0 -0
  87. package/.v8-cache/v24.7.0-x64-ef5a0af0/15a59607 +0 -0
  88. package/.v8-cache/v24.7.0-x64-ef5a0af0/15fa490d +0 -0
  89. package/.v8-cache/v24.7.0-x64-ef5a0af0/16335fd7 +0 -0
  90. package/.v8-cache/v24.7.0-x64-ef5a0af0/163becca +0 -0
  91. package/.v8-cache/v24.7.0-x64-ef5a0af0/164e3e5e +0 -0
  92. package/.v8-cache/v24.7.0-x64-ef5a0af0/16b272b6 +0 -0
  93. package/.v8-cache/v24.7.0-x64-ef5a0af0/170839c6 +0 -0
  94. package/.v8-cache/v24.7.0-x64-ef5a0af0/179d2560 +0 -0
  95. package/.v8-cache/v24.7.0-x64-ef5a0af0/18b392e3 +0 -0
  96. package/.v8-cache/v24.7.0-x64-ef5a0af0/18b9b488 +0 -0
  97. package/.v8-cache/v24.7.0-x64-ef5a0af0/19159518 +0 -0
  98. package/.v8-cache/v24.7.0-x64-ef5a0af0/1952de1c +0 -0
  99. package/.v8-cache/v24.7.0-x64-ef5a0af0/1984fc07 +0 -0
  100. package/.v8-cache/v24.7.0-x64-ef5a0af0/19f197ad +0 -0
  101. package/.v8-cache/v24.7.0-x64-ef5a0af0/1a5e8e8d +0 -0
  102. package/.v8-cache/v24.7.0-x64-ef5a0af0/1a706b3a +0 -0
  103. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ac56db9 +0 -0
  104. package/.v8-cache/v24.7.0-x64-ef5a0af0/1adc81af +0 -0
  105. package/.v8-cache/v24.7.0-x64-ef5a0af0/1b93bf09 +0 -0
  106. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ba48359 +0 -0
  107. package/.v8-cache/v24.7.0-x64-ef5a0af0/1bb5754d +0 -0
  108. package/.v8-cache/v24.7.0-x64-ef5a0af0/1be2b9da +0 -0
  109. package/.v8-cache/v24.7.0-x64-ef5a0af0/1be7684f +0 -0
  110. package/.v8-cache/v24.7.0-x64-ef5a0af0/1bfd6921 +0 -0
  111. package/.v8-cache/v24.7.0-x64-ef5a0af0/1bffe019 +0 -0
  112. package/.v8-cache/v24.7.0-x64-ef5a0af0/1c469ae5 +0 -0
  113. package/.v8-cache/v24.7.0-x64-ef5a0af0/1c475633 +0 -0
  114. package/.v8-cache/v24.7.0-x64-ef5a0af0/1c5927f8 +0 -0
  115. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ce66f73 +0 -0
  116. package/.v8-cache/v24.7.0-x64-ef5a0af0/1cf4fa03 +0 -0
  117. package/.v8-cache/v24.7.0-x64-ef5a0af0/1d25c7c3 +0 -0
  118. package/.v8-cache/v24.7.0-x64-ef5a0af0/1d5c9fc3 +0 -0
  119. package/.v8-cache/v24.7.0-x64-ef5a0af0/1d663bac +0 -0
  120. package/.v8-cache/v24.7.0-x64-ef5a0af0/1e01f894 +0 -0
  121. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ed1c91a +0 -0
  122. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ee1f213 +0 -0
  123. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ee5b179 +0 -0
  124. package/.v8-cache/v24.7.0-x64-ef5a0af0/1f18235c +0 -0
  125. package/.v8-cache/v24.7.0-x64-ef5a0af0/1f5d4d6e +0 -0
  126. package/.v8-cache/v24.7.0-x64-ef5a0af0/1f652552 +0 -0
  127. package/.v8-cache/v24.7.0-x64-ef5a0af0/1f73dfa6 +0 -0
  128. package/.v8-cache/v24.7.0-x64-ef5a0af0/1fb8f4f3 +0 -0
  129. package/.v8-cache/v24.7.0-x64-ef5a0af0/1fc63101 +0 -0
  130. package/.v8-cache/v24.7.0-x64-ef5a0af0/1fe241a5 +0 -0
  131. package/.v8-cache/v24.7.0-x64-ef5a0af0/1ff009c0 +0 -0
  132. package/.v8-cache/v24.7.0-x64-ef5a0af0/200bac84 +0 -0
  133. package/.v8-cache/v24.7.0-x64-ef5a0af0/205c8d02 +0 -0
  134. package/.v8-cache/v24.7.0-x64-ef5a0af0/20729831 +0 -0
  135. package/.v8-cache/v24.7.0-x64-ef5a0af0/2131725a +0 -0
  136. package/.v8-cache/v24.7.0-x64-ef5a0af0/214a593b +0 -0
  137. package/.v8-cache/v24.7.0-x64-ef5a0af0/21d5cee9 +0 -0
  138. package/.v8-cache/v24.7.0-x64-ef5a0af0/2202150b +0 -0
  139. package/.v8-cache/v24.7.0-x64-ef5a0af0/220e7b56 +0 -0
  140. package/.v8-cache/v24.7.0-x64-ef5a0af0/2227a346 +0 -0
  141. package/.v8-cache/v24.7.0-x64-ef5a0af0/222d1c3b +0 -0
  142. package/.v8-cache/v24.7.0-x64-ef5a0af0/22449bdf +0 -0
  143. package/.v8-cache/v24.7.0-x64-ef5a0af0/225be800 +0 -0
  144. package/.v8-cache/v24.7.0-x64-ef5a0af0/226e2801 +0 -0
  145. package/.v8-cache/v24.7.0-x64-ef5a0af0/2279b968 +0 -0
  146. package/.v8-cache/v24.7.0-x64-ef5a0af0/22a11d19 +0 -0
  147. package/.v8-cache/v24.7.0-x64-ef5a0af0/22b26067 +0 -0
  148. package/.v8-cache/v24.7.0-x64-ef5a0af0/22d1fe93 +0 -0
  149. package/.v8-cache/v24.7.0-x64-ef5a0af0/22d2135e +0 -0
  150. package/.v8-cache/v24.7.0-x64-ef5a0af0/2346b12a +0 -0
  151. package/.v8-cache/v24.7.0-x64-ef5a0af0/235d70e1 +0 -0
  152. package/.v8-cache/v24.7.0-x64-ef5a0af0/23be0144 +0 -0
  153. package/.v8-cache/v24.7.0-x64-ef5a0af0/23fa616f +0 -0
  154. package/.v8-cache/v24.7.0-x64-ef5a0af0/23fba0a5 +0 -0
  155. package/.v8-cache/v24.7.0-x64-ef5a0af0/24011fb1 +0 -0
  156. package/.v8-cache/v24.7.0-x64-ef5a0af0/2434bc16 +0 -0
  157. package/.v8-cache/v24.7.0-x64-ef5a0af0/24827a8b +0 -0
  158. package/.v8-cache/v24.7.0-x64-ef5a0af0/248ec463 +0 -0
  159. package/.v8-cache/v24.7.0-x64-ef5a0af0/24992b98 +0 -0
  160. package/.v8-cache/v24.7.0-x64-ef5a0af0/253ca67b +0 -0
  161. package/.v8-cache/v24.7.0-x64-ef5a0af0/25956228 +0 -0
  162. package/.v8-cache/v24.7.0-x64-ef5a0af0/25f8b84a +0 -0
  163. package/.v8-cache/v24.7.0-x64-ef5a0af0/2671108a +0 -0
  164. package/.v8-cache/v24.7.0-x64-ef5a0af0/26f5e7e4 +0 -0
  165. package/.v8-cache/v24.7.0-x64-ef5a0af0/274aed80 +0 -0
  166. package/.v8-cache/v24.7.0-x64-ef5a0af0/27518289 +0 -0
  167. package/.v8-cache/v24.7.0-x64-ef5a0af0/27f2aa55 +0 -0
  168. package/.v8-cache/v24.7.0-x64-ef5a0af0/282982b9 +0 -0
  169. package/.v8-cache/v24.7.0-x64-ef5a0af0/2888347a +0 -0
  170. package/.v8-cache/v24.7.0-x64-ef5a0af0/288b64fa +0 -0
  171. package/.v8-cache/v24.7.0-x64-ef5a0af0/2898560b +0 -0
  172. package/.v8-cache/v24.7.0-x64-ef5a0af0/28a61c69 +0 -0
  173. package/.v8-cache/v24.7.0-x64-ef5a0af0/28ffbc1d +0 -0
  174. package/.v8-cache/v24.7.0-x64-ef5a0af0/292ec490 +0 -0
  175. package/.v8-cache/v24.7.0-x64-ef5a0af0/294ed662 +0 -0
  176. package/.v8-cache/v24.7.0-x64-ef5a0af0/298ea736 +0 -0
  177. package/.v8-cache/v24.7.0-x64-ef5a0af0/2a3bcc77 +0 -0
  178. package/.v8-cache/v24.7.0-x64-ef5a0af0/2a59bb66 +0 -0
  179. package/.v8-cache/v24.7.0-x64-ef5a0af0/2a6ea0d3 +0 -0
  180. package/.v8-cache/v24.7.0-x64-ef5a0af0/2ae13c45 +0 -0
  181. package/.v8-cache/v24.7.0-x64-ef5a0af0/2b009cbc +0 -0
  182. package/.v8-cache/v24.7.0-x64-ef5a0af0/2b0e69c4 +0 -0
  183. package/.v8-cache/v24.7.0-x64-ef5a0af0/2b0f4b6b +0 -0
  184. package/.v8-cache/v24.7.0-x64-ef5a0af0/2c4092c9 +0 -0
  185. package/.v8-cache/v24.7.0-x64-ef5a0af0/2c9c08f1 +0 -0
  186. package/.v8-cache/v24.7.0-x64-ef5a0af0/2cfb63da +0 -0
  187. package/.v8-cache/v24.7.0-x64-ef5a0af0/2d3d90e6 +0 -0
  188. package/.v8-cache/v24.7.0-x64-ef5a0af0/2ddf9b3d +0 -0
  189. package/.v8-cache/v24.7.0-x64-ef5a0af0/2dfef59f +0 -0
  190. package/.v8-cache/v24.7.0-x64-ef5a0af0/2e0a55d8 +0 -0
  191. package/.v8-cache/v24.7.0-x64-ef5a0af0/2e1122c4 +0 -0
  192. package/.v8-cache/v24.7.0-x64-ef5a0af0/2edd52db +0 -0
  193. package/.v8-cache/v24.7.0-x64-ef5a0af0/2ee0e535 +0 -0
  194. package/.v8-cache/v24.7.0-x64-ef5a0af0/2efdc5f1 +0 -0
  195. package/.v8-cache/v24.7.0-x64-ef5a0af0/2f6a71e9 +0 -0
  196. package/.v8-cache/v24.7.0-x64-ef5a0af0/2fd39c60 +0 -0
  197. package/.v8-cache/v24.7.0-x64-ef5a0af0/3080203a +0 -0
  198. package/.v8-cache/v24.7.0-x64-ef5a0af0/30defcc4 +0 -0
  199. package/.v8-cache/v24.7.0-x64-ef5a0af0/310cc71e +0 -0
  200. package/.v8-cache/v24.7.0-x64-ef5a0af0/317ae0d4 +0 -0
  201. package/.v8-cache/v24.7.0-x64-ef5a0af0/31a335e9 +0 -0
  202. package/.v8-cache/v24.7.0-x64-ef5a0af0/320dd8dd +0 -0
  203. package/.v8-cache/v24.7.0-x64-ef5a0af0/3252896c +0 -0
  204. package/.v8-cache/v24.7.0-x64-ef5a0af0/327c1c07 +0 -0
  205. package/.v8-cache/v24.7.0-x64-ef5a0af0/328c6279 +0 -0
  206. package/.v8-cache/v24.7.0-x64-ef5a0af0/3294059a +0 -0
  207. package/.v8-cache/v24.7.0-x64-ef5a0af0/32e3b62d +0 -0
  208. package/.v8-cache/v24.7.0-x64-ef5a0af0/330ef2d9 +0 -0
  209. package/.v8-cache/v24.7.0-x64-ef5a0af0/33219a1d +0 -0
  210. package/.v8-cache/v24.7.0-x64-ef5a0af0/3348e276 +0 -0
  211. package/.v8-cache/v24.7.0-x64-ef5a0af0/336576f5 +0 -0
  212. package/.v8-cache/v24.7.0-x64-ef5a0af0/33764eac +0 -0
  213. package/.v8-cache/v24.7.0-x64-ef5a0af0/33c51e20 +0 -0
  214. package/.v8-cache/v24.7.0-x64-ef5a0af0/340f9315 +0 -0
  215. package/.v8-cache/v24.7.0-x64-ef5a0af0/342c77d2 +0 -0
  216. package/.v8-cache/v24.7.0-x64-ef5a0af0/343e81c6 +0 -0
  217. package/.v8-cache/v24.7.0-x64-ef5a0af0/347b6177 +0 -0
  218. package/.v8-cache/v24.7.0-x64-ef5a0af0/34cb7184 +0 -0
  219. package/.v8-cache/v24.7.0-x64-ef5a0af0/356622b9 +0 -0
  220. package/.v8-cache/v24.7.0-x64-ef5a0af0/35fef963 +0 -0
  221. package/.v8-cache/v24.7.0-x64-ef5a0af0/3603e10e +0 -0
  222. package/.v8-cache/v24.7.0-x64-ef5a0af0/36221a66 +0 -0
  223. package/.v8-cache/v24.7.0-x64-ef5a0af0/3628c445 +0 -0
  224. package/.v8-cache/v24.7.0-x64-ef5a0af0/369baa21 +0 -0
  225. package/.v8-cache/v24.7.0-x64-ef5a0af0/36ae29db +0 -0
  226. package/.v8-cache/v24.7.0-x64-ef5a0af0/37ff16b8 +0 -0
  227. package/.v8-cache/v24.7.0-x64-ef5a0af0/3820c8c0 +0 -0
  228. package/.v8-cache/v24.7.0-x64-ef5a0af0/385f17f0 +0 -0
  229. package/.v8-cache/v24.7.0-x64-ef5a0af0/387fb0ff +0 -0
  230. package/.v8-cache/v24.7.0-x64-ef5a0af0/3889e187 +0 -0
  231. package/.v8-cache/v24.7.0-x64-ef5a0af0/38e9bdfd +0 -0
  232. package/.v8-cache/v24.7.0-x64-ef5a0af0/38fc941f +0 -0
  233. package/.v8-cache/v24.7.0-x64-ef5a0af0/390eba92 +0 -0
  234. package/.v8-cache/v24.7.0-x64-ef5a0af0/3929c3fd +0 -0
  235. package/.v8-cache/v24.7.0-x64-ef5a0af0/394a60fb +0 -0
  236. package/.v8-cache/v24.7.0-x64-ef5a0af0/396e95f5 +0 -0
  237. package/.v8-cache/v24.7.0-x64-ef5a0af0/39714119 +0 -0
  238. package/.v8-cache/v24.7.0-x64-ef5a0af0/397aa701 +0 -0
  239. package/.v8-cache/v24.7.0-x64-ef5a0af0/39932d86 +0 -0
  240. package/.v8-cache/v24.7.0-x64-ef5a0af0/39f6ef83 +0 -0
  241. package/.v8-cache/v24.7.0-x64-ef5a0af0/3a0d2d35 +0 -0
  242. package/.v8-cache/v24.7.0-x64-ef5a0af0/3a8a01a8 +0 -0
  243. package/.v8-cache/v24.7.0-x64-ef5a0af0/3a9d8b43 +0 -0
  244. package/.v8-cache/v24.7.0-x64-ef5a0af0/3aef3075 +0 -0
  245. package/.v8-cache/v24.7.0-x64-ef5a0af0/3b1cee61 +0 -0
  246. package/.v8-cache/v24.7.0-x64-ef5a0af0/3b261113 +0 -0
  247. package/.v8-cache/v24.7.0-x64-ef5a0af0/3b489018 +0 -0
  248. package/.v8-cache/v24.7.0-x64-ef5a0af0/3bb077a9 +0 -0
  249. package/.v8-cache/v24.7.0-x64-ef5a0af0/3d0f0362 +0 -0
  250. package/.v8-cache/v24.7.0-x64-ef5a0af0/3d34684b +0 -0
  251. package/.v8-cache/v24.7.0-x64-ef5a0af0/3d8e182d +0 -0
  252. package/.v8-cache/v24.7.0-x64-ef5a0af0/3dded4fe +0 -0
  253. package/.v8-cache/v24.7.0-x64-ef5a0af0/3df413b6 +0 -0
  254. package/.v8-cache/v24.7.0-x64-ef5a0af0/3dfbce0f +0 -0
  255. package/.v8-cache/v24.7.0-x64-ef5a0af0/3e167233 +0 -0
  256. package/.v8-cache/v24.7.0-x64-ef5a0af0/3e51b96f +0 -0
  257. package/.v8-cache/v24.7.0-x64-ef5a0af0/3f0830f9 +0 -0
  258. package/.v8-cache/v24.7.0-x64-ef5a0af0/3f144a4d +0 -0
  259. package/.v8-cache/v24.7.0-x64-ef5a0af0/3f4a10a4 +0 -0
  260. package/.v8-cache/v24.7.0-x64-ef5a0af0/3f71ab30 +0 -0
  261. package/.v8-cache/v24.7.0-x64-ef5a0af0/3f72a97c +0 -0
  262. package/.v8-cache/v24.7.0-x64-ef5a0af0/3fb24e11 +0 -0
  263. package/.v8-cache/v24.7.0-x64-ef5a0af0/3fb42a37 +0 -0
  264. package/.v8-cache/v24.7.0-x64-ef5a0af0/3ff5494a +0 -0
  265. package/.v8-cache/v24.7.0-x64-ef5a0af0/40280e60 +0 -0
  266. package/.v8-cache/v24.7.0-x64-ef5a0af0/402b9ced +0 -0
  267. package/.v8-cache/v24.7.0-x64-ef5a0af0/402d22e1 +0 -0
  268. package/.v8-cache/v24.7.0-x64-ef5a0af0/409c7c13 +0 -0
  269. package/.v8-cache/v24.7.0-x64-ef5a0af0/416cff63 +0 -0
  270. package/.v8-cache/v24.7.0-x64-ef5a0af0/418c6632 +0 -0
  271. package/.v8-cache/v24.7.0-x64-ef5a0af0/4217fe8d +0 -0
  272. package/.v8-cache/v24.7.0-x64-ef5a0af0/42686149 +0 -0
  273. package/.v8-cache/v24.7.0-x64-ef5a0af0/42b4cd6e +0 -0
  274. package/.v8-cache/v24.7.0-x64-ef5a0af0/42d38f49 +0 -0
  275. package/.v8-cache/v24.7.0-x64-ef5a0af0/42e206b2 +0 -0
  276. package/.v8-cache/v24.7.0-x64-ef5a0af0/42ea4611 +0 -0
  277. package/.v8-cache/v24.7.0-x64-ef5a0af0/4352d5f1 +0 -0
  278. package/.v8-cache/v24.7.0-x64-ef5a0af0/43741164 +0 -0
  279. package/.v8-cache/v24.7.0-x64-ef5a0af0/43964317 +0 -0
  280. package/.v8-cache/v24.7.0-x64-ef5a0af0/43a02dbe +0 -0
  281. package/.v8-cache/v24.7.0-x64-ef5a0af0/441aa218 +0 -0
  282. package/.v8-cache/v24.7.0-x64-ef5a0af0/4444f4a5 +0 -0
  283. package/.v8-cache/v24.7.0-x64-ef5a0af0/4446168f +0 -0
  284. package/.v8-cache/v24.7.0-x64-ef5a0af0/44795769 +0 -0
  285. package/.v8-cache/v24.7.0-x64-ef5a0af0/4511bacf +0 -0
  286. package/.v8-cache/v24.7.0-x64-ef5a0af0/4579f46b +0 -0
  287. package/.v8-cache/v24.7.0-x64-ef5a0af0/45c0b437 +0 -0
  288. package/.v8-cache/v24.7.0-x64-ef5a0af0/45e61dc2 +0 -0
  289. package/.v8-cache/v24.7.0-x64-ef5a0af0/45fa217d +0 -0
  290. package/.v8-cache/v24.7.0-x64-ef5a0af0/4638c1db +0 -0
  291. package/.v8-cache/v24.7.0-x64-ef5a0af0/46b235d2 +0 -0
  292. package/.v8-cache/v24.7.0-x64-ef5a0af0/46b5351a +0 -0
  293. package/.v8-cache/v24.7.0-x64-ef5a0af0/46d1f5b9 +0 -0
  294. package/.v8-cache/v24.7.0-x64-ef5a0af0/4710b21d +0 -0
  295. package/.v8-cache/v24.7.0-x64-ef5a0af0/474c8493 +0 -0
  296. package/.v8-cache/v24.7.0-x64-ef5a0af0/476a98c7 +0 -0
  297. package/.v8-cache/v24.7.0-x64-ef5a0af0/478b0f9e +0 -0
  298. package/.v8-cache/v24.7.0-x64-ef5a0af0/47a248f8 +0 -0
  299. package/.v8-cache/v24.7.0-x64-ef5a0af0/490172a9 +0 -0
  300. package/.v8-cache/v24.7.0-x64-ef5a0af0/49811c20 +0 -0
  301. package/.v8-cache/v24.7.0-x64-ef5a0af0/4995c0b1 +0 -0
  302. package/.v8-cache/v24.7.0-x64-ef5a0af0/49ff164c +0 -0
  303. package/.v8-cache/v24.7.0-x64-ef5a0af0/4a183420 +0 -0
  304. package/.v8-cache/v24.7.0-x64-ef5a0af0/4a6b5991 +0 -0
  305. package/.v8-cache/v24.7.0-x64-ef5a0af0/4ab6ee9c +0 -0
  306. package/.v8-cache/v24.7.0-x64-ef5a0af0/4ab9082a +0 -0
  307. package/.v8-cache/v24.7.0-x64-ef5a0af0/4ace1785 +0 -0
  308. package/.v8-cache/v24.7.0-x64-ef5a0af0/4aed9772 +0 -0
  309. package/.v8-cache/v24.7.0-x64-ef5a0af0/4b356f9b +0 -0
  310. package/.v8-cache/v24.7.0-x64-ef5a0af0/4b3da816 +0 -0
  311. package/.v8-cache/v24.7.0-x64-ef5a0af0/4bc94a4f +0 -0
  312. package/.v8-cache/v24.7.0-x64-ef5a0af0/4c1d2edf +0 -0
  313. package/.v8-cache/v24.7.0-x64-ef5a0af0/4c36fd1a +0 -0
  314. package/.v8-cache/v24.7.0-x64-ef5a0af0/4cb12d26 +0 -0
  315. package/.v8-cache/v24.7.0-x64-ef5a0af0/4d365bf4 +0 -0
  316. package/.v8-cache/v24.7.0-x64-ef5a0af0/4d38a327 +0 -0
  317. package/.v8-cache/v24.7.0-x64-ef5a0af0/4d495a5d +0 -0
  318. package/.v8-cache/v24.7.0-x64-ef5a0af0/4d5d3951 +0 -0
  319. package/.v8-cache/v24.7.0-x64-ef5a0af0/4d730019 +0 -0
  320. package/.v8-cache/v24.7.0-x64-ef5a0af0/4dbb7a18 +0 -0
  321. package/.v8-cache/v24.7.0-x64-ef5a0af0/4dca171b +0 -0
  322. package/.v8-cache/v24.7.0-x64-ef5a0af0/4ea08a3f +0 -0
  323. package/.v8-cache/v24.7.0-x64-ef5a0af0/4ef2a13d +0 -0
  324. package/.v8-cache/v24.7.0-x64-ef5a0af0/4f076d8f +0 -0
  325. package/.v8-cache/v24.7.0-x64-ef5a0af0/4f5702bd +0 -0
  326. package/.v8-cache/v24.7.0-x64-ef5a0af0/4feb5610 +0 -0
  327. package/.v8-cache/v24.7.0-x64-ef5a0af0/4ff3b2bd +0 -0
  328. package/.v8-cache/v24.7.0-x64-ef5a0af0/506bbc76 +0 -0
  329. package/.v8-cache/v24.7.0-x64-ef5a0af0/50ad7efb +0 -0
  330. package/.v8-cache/v24.7.0-x64-ef5a0af0/50b2f904 +0 -0
  331. package/.v8-cache/v24.7.0-x64-ef5a0af0/512a6da0 +0 -0
  332. package/.v8-cache/v24.7.0-x64-ef5a0af0/514cc428 +0 -0
  333. package/.v8-cache/v24.7.0-x64-ef5a0af0/51a39ff2 +0 -0
  334. package/.v8-cache/v24.7.0-x64-ef5a0af0/51cc2102 +0 -0
  335. package/.v8-cache/v24.7.0-x64-ef5a0af0/5210925e +0 -0
  336. package/.v8-cache/v24.7.0-x64-ef5a0af0/523d6845 +0 -0
  337. package/.v8-cache/v24.7.0-x64-ef5a0af0/528e7353 +0 -0
  338. package/.v8-cache/v24.7.0-x64-ef5a0af0/532d1925 +0 -0
  339. package/.v8-cache/v24.7.0-x64-ef5a0af0/533f1f72 +0 -0
  340. package/.v8-cache/v24.7.0-x64-ef5a0af0/535532ea +0 -0
  341. package/.v8-cache/v24.7.0-x64-ef5a0af0/537a1162 +0 -0
  342. package/.v8-cache/v24.7.0-x64-ef5a0af0/53ecf786 +0 -0
  343. package/.v8-cache/v24.7.0-x64-ef5a0af0/541bd36a +0 -0
  344. package/.v8-cache/v24.7.0-x64-ef5a0af0/5428aebe +0 -0
  345. package/.v8-cache/v24.7.0-x64-ef5a0af0/543b651d +0 -0
  346. package/.v8-cache/v24.7.0-x64-ef5a0af0/54727607 +0 -0
  347. package/.v8-cache/v24.7.0-x64-ef5a0af0/5474dcc7 +0 -0
  348. package/.v8-cache/v24.7.0-x64-ef5a0af0/5478a1e3 +0 -0
  349. package/.v8-cache/v24.7.0-x64-ef5a0af0/54ce9568 +0 -0
  350. package/.v8-cache/v24.7.0-x64-ef5a0af0/54eff61e +0 -0
  351. package/.v8-cache/v24.7.0-x64-ef5a0af0/55100888 +0 -0
  352. package/.v8-cache/v24.7.0-x64-ef5a0af0/55197fc5 +0 -0
  353. package/.v8-cache/v24.7.0-x64-ef5a0af0/553b7af3 +0 -0
  354. package/.v8-cache/v24.7.0-x64-ef5a0af0/5558b83f +0 -0
  355. package/.v8-cache/v24.7.0-x64-ef5a0af0/55cba4b4 +0 -0
  356. package/.v8-cache/v24.7.0-x64-ef5a0af0/55e129df +0 -0
  357. package/.v8-cache/v24.7.0-x64-ef5a0af0/56292b7c +0 -0
  358. package/.v8-cache/v24.7.0-x64-ef5a0af0/5651a404 +0 -0
  359. package/.v8-cache/v24.7.0-x64-ef5a0af0/56752bb0 +0 -0
  360. package/.v8-cache/v24.7.0-x64-ef5a0af0/56a9a2bb +0 -0
  361. package/.v8-cache/v24.7.0-x64-ef5a0af0/56ef5751 +0 -0
  362. package/.v8-cache/v24.7.0-x64-ef5a0af0/57265523 +0 -0
  363. package/.v8-cache/v24.7.0-x64-ef5a0af0/582906d3 +0 -0
  364. package/.v8-cache/v24.7.0-x64-ef5a0af0/5851fcad +0 -0
  365. package/.v8-cache/v24.7.0-x64-ef5a0af0/590c3151 +0 -0
  366. package/.v8-cache/v24.7.0-x64-ef5a0af0/59223d85 +0 -0
  367. package/.v8-cache/v24.7.0-x64-ef5a0af0/5963f626 +0 -0
  368. package/.v8-cache/v24.7.0-x64-ef5a0af0/597241c0 +0 -0
  369. package/.v8-cache/v24.7.0-x64-ef5a0af0/5984469f +0 -0
  370. package/.v8-cache/v24.7.0-x64-ef5a0af0/59a01bfc +0 -0
  371. package/.v8-cache/v24.7.0-x64-ef5a0af0/59dade53 +0 -0
  372. package/.v8-cache/v24.7.0-x64-ef5a0af0/59f42f8b +0 -0
  373. package/.v8-cache/v24.7.0-x64-ef5a0af0/5a249081 +0 -0
  374. package/.v8-cache/v24.7.0-x64-ef5a0af0/5a94b2d4 +0 -0
  375. package/.v8-cache/v24.7.0-x64-ef5a0af0/5aa233d1 +0 -0
  376. package/.v8-cache/v24.7.0-x64-ef5a0af0/5b058fc0 +0 -0
  377. package/.v8-cache/v24.7.0-x64-ef5a0af0/5b1bb164 +0 -0
  378. package/.v8-cache/v24.7.0-x64-ef5a0af0/5b9982e1 +0 -0
  379. package/.v8-cache/v24.7.0-x64-ef5a0af0/5bf4c612 +0 -0
  380. package/.v8-cache/v24.7.0-x64-ef5a0af0/5c067259 +0 -0
  381. package/.v8-cache/v24.7.0-x64-ef5a0af0/5c58cf52 +0 -0
  382. package/.v8-cache/v24.7.0-x64-ef5a0af0/5c860b06 +0 -0
  383. package/.v8-cache/v24.7.0-x64-ef5a0af0/5cc2a5f2 +0 -0
  384. package/.v8-cache/v24.7.0-x64-ef5a0af0/5d4c732f +0 -0
  385. package/.v8-cache/v24.7.0-x64-ef5a0af0/5db76f6b +0 -0
  386. package/.v8-cache/v24.7.0-x64-ef5a0af0/5dc5697b +0 -0
  387. package/.v8-cache/v24.7.0-x64-ef5a0af0/5dd238c0 +0 -0
  388. package/.v8-cache/v24.7.0-x64-ef5a0af0/5de311f1 +0 -0
  389. package/.v8-cache/v24.7.0-x64-ef5a0af0/5e0ed80f +0 -0
  390. package/.v8-cache/v24.7.0-x64-ef5a0af0/5e44306a +0 -0
  391. package/.v8-cache/v24.7.0-x64-ef5a0af0/5e7d0d5d +0 -0
  392. package/.v8-cache/v24.7.0-x64-ef5a0af0/5ed2b572 +0 -0
  393. package/.v8-cache/v24.7.0-x64-ef5a0af0/5ed7f7db +0 -0
  394. package/.v8-cache/v24.7.0-x64-ef5a0af0/5ef33731 +0 -0
  395. package/.v8-cache/v24.7.0-x64-ef5a0af0/5ef36bb9 +0 -0
  396. package/.v8-cache/v24.7.0-x64-ef5a0af0/5f7e2d51 +0 -0
  397. package/.v8-cache/v24.7.0-x64-ef5a0af0/5f8deeb1 +0 -0
  398. package/.v8-cache/v24.7.0-x64-ef5a0af0/6003d22a +0 -0
  399. package/.v8-cache/v24.7.0-x64-ef5a0af0/603d1a09 +0 -0
  400. package/.v8-cache/v24.7.0-x64-ef5a0af0/605e6a0a +0 -0
  401. package/.v8-cache/v24.7.0-x64-ef5a0af0/60c098f5 +0 -0
  402. package/.v8-cache/v24.7.0-x64-ef5a0af0/6176a9b5 +0 -0
  403. package/.v8-cache/v24.7.0-x64-ef5a0af0/6196810e +0 -0
  404. package/.v8-cache/v24.7.0-x64-ef5a0af0/61a71c97 +0 -0
  405. package/.v8-cache/v24.7.0-x64-ef5a0af0/61eaf84a +0 -0
  406. package/.v8-cache/v24.7.0-x64-ef5a0af0/61f1d3fb +0 -0
  407. package/.v8-cache/v24.7.0-x64-ef5a0af0/61f394a9 +0 -0
  408. package/.v8-cache/v24.7.0-x64-ef5a0af0/62d92c26 +0 -0
  409. package/.v8-cache/v24.7.0-x64-ef5a0af0/62dd6080 +0 -0
  410. package/.v8-cache/v24.7.0-x64-ef5a0af0/62eddf8a +0 -0
  411. package/.v8-cache/v24.7.0-x64-ef5a0af0/6444bdab +0 -0
  412. package/.v8-cache/v24.7.0-x64-ef5a0af0/64506dd0 +0 -0
  413. package/.v8-cache/v24.7.0-x64-ef5a0af0/647d847c +0 -0
  414. package/.v8-cache/v24.7.0-x64-ef5a0af0/6486c16e +0 -0
  415. package/.v8-cache/v24.7.0-x64-ef5a0af0/65566701 +0 -0
  416. package/.v8-cache/v24.7.0-x64-ef5a0af0/66b763a6 +0 -0
  417. package/.v8-cache/v24.7.0-x64-ef5a0af0/6727e91e +0 -0
  418. package/.v8-cache/v24.7.0-x64-ef5a0af0/677e9881 +0 -0
  419. package/.v8-cache/v24.7.0-x64-ef5a0af0/67d8a7e0 +0 -0
  420. package/.v8-cache/v24.7.0-x64-ef5a0af0/67ef7bde +0 -0
  421. package/.v8-cache/v24.7.0-x64-ef5a0af0/68416cb2 +0 -0
  422. package/.v8-cache/v24.7.0-x64-ef5a0af0/685371b6 +0 -0
  423. package/.v8-cache/v24.7.0-x64-ef5a0af0/68f5b890 +0 -0
  424. package/.v8-cache/v24.7.0-x64-ef5a0af0/69ad03b4 +0 -0
  425. package/.v8-cache/v24.7.0-x64-ef5a0af0/6a31058b +0 -0
  426. package/.v8-cache/v24.7.0-x64-ef5a0af0/6a4adaa4 +0 -0
  427. package/.v8-cache/v24.7.0-x64-ef5a0af0/6a73701d +0 -0
  428. package/.v8-cache/v24.7.0-x64-ef5a0af0/6ae637d3 +0 -0
  429. package/.v8-cache/v24.7.0-x64-ef5a0af0/6b22f01c +0 -0
  430. package/.v8-cache/v24.7.0-x64-ef5a0af0/6bebb7f2 +0 -0
  431. package/.v8-cache/v24.7.0-x64-ef5a0af0/6c0e40d0 +0 -0
  432. package/.v8-cache/v24.7.0-x64-ef5a0af0/6c2dc97b +0 -0
  433. package/.v8-cache/v24.7.0-x64-ef5a0af0/6c2fd108 +0 -0
  434. package/.v8-cache/v24.7.0-x64-ef5a0af0/6c8191df +0 -0
  435. package/.v8-cache/v24.7.0-x64-ef5a0af0/6c9900bc +0 -0
  436. package/.v8-cache/v24.7.0-x64-ef5a0af0/6d38b642 +0 -0
  437. package/.v8-cache/v24.7.0-x64-ef5a0af0/6d58e5bb +0 -0
  438. package/.v8-cache/v24.7.0-x64-ef5a0af0/6e946a0e +0 -0
  439. package/.v8-cache/v24.7.0-x64-ef5a0af0/6eb2502a +0 -0
  440. package/.v8-cache/v24.7.0-x64-ef5a0af0/6ee04204 +0 -0
  441. package/.v8-cache/v24.7.0-x64-ef5a0af0/6f521f56 +0 -0
  442. package/.v8-cache/v24.7.0-x64-ef5a0af0/6f74c50b +0 -0
  443. package/.v8-cache/v24.7.0-x64-ef5a0af0/701a046d +0 -0
  444. package/.v8-cache/v24.7.0-x64-ef5a0af0/70a89c43 +0 -0
  445. package/.v8-cache/v24.7.0-x64-ef5a0af0/70f983f3 +0 -0
  446. package/.v8-cache/v24.7.0-x64-ef5a0af0/711557af +0 -0
  447. package/.v8-cache/v24.7.0-x64-ef5a0af0/7116147f +0 -0
  448. package/.v8-cache/v24.7.0-x64-ef5a0af0/716d12a6 +0 -0
  449. package/.v8-cache/v24.7.0-x64-ef5a0af0/71df9cb3 +0 -0
  450. package/.v8-cache/v24.7.0-x64-ef5a0af0/71e82eb3 +0 -0
  451. package/.v8-cache/v24.7.0-x64-ef5a0af0/721bcb05 +0 -0
  452. package/.v8-cache/v24.7.0-x64-ef5a0af0/7242c21e +0 -0
  453. package/.v8-cache/v24.7.0-x64-ef5a0af0/728b0581 +0 -0
  454. package/.v8-cache/v24.7.0-x64-ef5a0af0/72c8965f +0 -0
  455. package/.v8-cache/v24.7.0-x64-ef5a0af0/72eec452 +0 -0
  456. package/.v8-cache/v24.7.0-x64-ef5a0af0/7313f723 +0 -0
  457. package/.v8-cache/v24.7.0-x64-ef5a0af0/73158906 +0 -0
  458. package/.v8-cache/v24.7.0-x64-ef5a0af0/73353274 +0 -0
  459. package/.v8-cache/v24.7.0-x64-ef5a0af0/733b4559 +0 -0
  460. package/.v8-cache/v24.7.0-x64-ef5a0af0/73c838ba +0 -0
  461. package/.v8-cache/v24.7.0-x64-ef5a0af0/73e0f4b3 +0 -0
  462. package/.v8-cache/v24.7.0-x64-ef5a0af0/73eb8d30 +0 -0
  463. package/.v8-cache/v24.7.0-x64-ef5a0af0/73fb952b +0 -0
  464. package/.v8-cache/v24.7.0-x64-ef5a0af0/7418e241 +0 -0
  465. package/.v8-cache/v24.7.0-x64-ef5a0af0/745708c8 +0 -0
  466. package/.v8-cache/v24.7.0-x64-ef5a0af0/7468f55c +0 -0
  467. package/.v8-cache/v24.7.0-x64-ef5a0af0/749cecdb +0 -0
  468. package/.v8-cache/v24.7.0-x64-ef5a0af0/74ba3a2a +0 -0
  469. package/.v8-cache/v24.7.0-x64-ef5a0af0/750e2446 +0 -0
  470. package/.v8-cache/v24.7.0-x64-ef5a0af0/7541c12c +0 -0
  471. package/.v8-cache/v24.7.0-x64-ef5a0af0/7543f690 +0 -0
  472. package/.v8-cache/v24.7.0-x64-ef5a0af0/75d38e6f +0 -0
  473. package/.v8-cache/v24.7.0-x64-ef5a0af0/75d8ff37 +0 -0
  474. package/.v8-cache/v24.7.0-x64-ef5a0af0/75efccd4 +0 -0
  475. package/.v8-cache/v24.7.0-x64-ef5a0af0/75f522a1 +0 -0
  476. package/.v8-cache/v24.7.0-x64-ef5a0af0/762f9305 +0 -0
  477. package/.v8-cache/v24.7.0-x64-ef5a0af0/767481d0 +0 -0
  478. package/.v8-cache/v24.7.0-x64-ef5a0af0/768ba9a5 +0 -0
  479. package/.v8-cache/v24.7.0-x64-ef5a0af0/7695e4ef +0 -0
  480. package/.v8-cache/v24.7.0-x64-ef5a0af0/76c7489f +0 -0
  481. package/.v8-cache/v24.7.0-x64-ef5a0af0/7715fc2c +0 -0
  482. package/.v8-cache/v24.7.0-x64-ef5a0af0/771e5d19 +0 -0
  483. package/.v8-cache/v24.7.0-x64-ef5a0af0/7783a8ec +0 -0
  484. package/.v8-cache/v24.7.0-x64-ef5a0af0/7794a6a9 +0 -0
  485. package/.v8-cache/v24.7.0-x64-ef5a0af0/77fc558f +0 -0
  486. package/.v8-cache/v24.7.0-x64-ef5a0af0/780a6805 +0 -0
  487. package/.v8-cache/v24.7.0-x64-ef5a0af0/781ef7b9 +0 -0
  488. package/.v8-cache/v24.7.0-x64-ef5a0af0/782e025a +0 -0
  489. package/.v8-cache/v24.7.0-x64-ef5a0af0/789dd9a4 +0 -0
  490. package/.v8-cache/v24.7.0-x64-ef5a0af0/79e9b74f +0 -0
  491. package/.v8-cache/v24.7.0-x64-ef5a0af0/79fbbd38 +0 -0
  492. package/.v8-cache/v24.7.0-x64-ef5a0af0/7a01d94e +0 -0
  493. package/.v8-cache/v24.7.0-x64-ef5a0af0/7a4e4f17 +0 -0
  494. package/.v8-cache/v24.7.0-x64-ef5a0af0/7a7e7427 +0 -0
  495. package/.v8-cache/v24.7.0-x64-ef5a0af0/7a8afdb8 +0 -0
  496. package/.v8-cache/v24.7.0-x64-ef5a0af0/7aa6ee01 +0 -0
  497. package/.v8-cache/v24.7.0-x64-ef5a0af0/7ae33d88 +0 -0
  498. package/.v8-cache/v24.7.0-x64-ef5a0af0/7b0590ed +0 -0
  499. package/.v8-cache/v24.7.0-x64-ef5a0af0/7bb47bcb +0 -0
  500. package/.v8-cache/v24.7.0-x64-ef5a0af0/7bcfc50a +0 -0
  501. package/.v8-cache/v24.7.0-x64-ef5a0af0/7bd03b5b +0 -0
  502. package/.v8-cache/v24.7.0-x64-ef5a0af0/7be39abc +0 -0
  503. package/.v8-cache/v24.7.0-x64-ef5a0af0/7c85800f +0 -0
  504. package/.v8-cache/v24.7.0-x64-ef5a0af0/7ca4a550 +0 -0
  505. package/.v8-cache/v24.7.0-x64-ef5a0af0/7d30017d +0 -0
  506. package/.v8-cache/v24.7.0-x64-ef5a0af0/7de2104f +0 -0
  507. package/.v8-cache/v24.7.0-x64-ef5a0af0/7de5f39a +0 -0
  508. package/.v8-cache/v24.7.0-x64-ef5a0af0/7df6f53b +0 -0
  509. package/.v8-cache/v24.7.0-x64-ef5a0af0/7e0c196c +0 -0
  510. package/.v8-cache/v24.7.0-x64-ef5a0af0/7e1d748b +0 -0
  511. package/.v8-cache/v24.7.0-x64-ef5a0af0/7e8b8aaf +0 -0
  512. package/.v8-cache/v24.7.0-x64-ef5a0af0/7ea06cea +0 -0
  513. package/.v8-cache/v24.7.0-x64-ef5a0af0/7f1a5577 +0 -0
  514. package/.v8-cache/v24.7.0-x64-ef5a0af0/7f33fee5 +0 -0
  515. package/.v8-cache/v24.7.0-x64-ef5a0af0/7f8ed7c6 +0 -0
  516. package/.v8-cache/v24.7.0-x64-ef5a0af0/7fe0e38a +0 -0
  517. package/.v8-cache/v24.7.0-x64-ef5a0af0/800e8a5f +0 -0
  518. package/.v8-cache/v24.7.0-x64-ef5a0af0/8078686f +0 -0
  519. package/.v8-cache/v24.7.0-x64-ef5a0af0/807976df +0 -0
  520. package/.v8-cache/v24.7.0-x64-ef5a0af0/80f57bae +0 -0
  521. package/.v8-cache/v24.7.0-x64-ef5a0af0/812b8370 +0 -0
  522. package/.v8-cache/v24.7.0-x64-ef5a0af0/813658cd +0 -0
  523. package/.v8-cache/v24.7.0-x64-ef5a0af0/81576ef6 +0 -0
  524. package/.v8-cache/v24.7.0-x64-ef5a0af0/817f3f23 +0 -0
  525. package/.v8-cache/v24.7.0-x64-ef5a0af0/81bc70ec +0 -0
  526. package/.v8-cache/v24.7.0-x64-ef5a0af0/81f899eb +0 -0
  527. package/.v8-cache/v24.7.0-x64-ef5a0af0/825e9a05 +0 -0
  528. package/.v8-cache/v24.7.0-x64-ef5a0af0/82884d2a +0 -0
  529. package/.v8-cache/v24.7.0-x64-ef5a0af0/82daf4d1 +0 -0
  530. package/.v8-cache/v24.7.0-x64-ef5a0af0/8405c894 +0 -0
  531. package/.v8-cache/v24.7.0-x64-ef5a0af0/84d05a23 +0 -0
  532. package/.v8-cache/v24.7.0-x64-ef5a0af0/85d87999 +0 -0
  533. package/.v8-cache/v24.7.0-x64-ef5a0af0/85ef818a +0 -0
  534. package/.v8-cache/v24.7.0-x64-ef5a0af0/863b37e7 +0 -0
  535. package/.v8-cache/v24.7.0-x64-ef5a0af0/86a117bb +0 -0
  536. package/.v8-cache/v24.7.0-x64-ef5a0af0/87372817 +0 -0
  537. package/.v8-cache/v24.7.0-x64-ef5a0af0/874b7136 +0 -0
  538. package/.v8-cache/v24.7.0-x64-ef5a0af0/877f8bab +0 -0
  539. package/.v8-cache/v24.7.0-x64-ef5a0af0/878008da +0 -0
  540. package/.v8-cache/v24.7.0-x64-ef5a0af0/87815309 +0 -0
  541. package/.v8-cache/v24.7.0-x64-ef5a0af0/87a30202 +0 -0
  542. package/.v8-cache/v24.7.0-x64-ef5a0af0/87cf2209 +0 -0
  543. package/.v8-cache/v24.7.0-x64-ef5a0af0/8862032d +0 -0
  544. package/.v8-cache/v24.7.0-x64-ef5a0af0/88f1dc55 +0 -0
  545. package/.v8-cache/v24.7.0-x64-ef5a0af0/8909e62b +0 -0
  546. package/.v8-cache/v24.7.0-x64-ef5a0af0/891a7c73 +0 -0
  547. package/.v8-cache/v24.7.0-x64-ef5a0af0/898c22f0 +0 -0
  548. package/.v8-cache/v24.7.0-x64-ef5a0af0/89d161f1 +0 -0
  549. package/.v8-cache/v24.7.0-x64-ef5a0af0/89de43e7 +0 -0
  550. package/.v8-cache/v24.7.0-x64-ef5a0af0/8a586ea8 +0 -0
  551. package/.v8-cache/v24.7.0-x64-ef5a0af0/8a5bb9fc +0 -0
  552. package/.v8-cache/v24.7.0-x64-ef5a0af0/8ac7c507 +0 -0
  553. package/.v8-cache/v24.7.0-x64-ef5a0af0/8b02de67 +0 -0
  554. package/.v8-cache/v24.7.0-x64-ef5a0af0/8b12d9e8 +0 -0
  555. package/.v8-cache/v24.7.0-x64-ef5a0af0/8b1b2594 +0 -0
  556. package/.v8-cache/v24.7.0-x64-ef5a0af0/8b68a3a2 +0 -0
  557. package/.v8-cache/v24.7.0-x64-ef5a0af0/8bc41a69 +0 -0
  558. package/.v8-cache/v24.7.0-x64-ef5a0af0/8c2e23c4 +0 -0
  559. package/.v8-cache/v24.7.0-x64-ef5a0af0/8c5d72ae +0 -0
  560. package/.v8-cache/v24.7.0-x64-ef5a0af0/8c62a113 +0 -0
  561. package/.v8-cache/v24.7.0-x64-ef5a0af0/8ccefbfd +0 -0
  562. package/.v8-cache/v24.7.0-x64-ef5a0af0/8cfb53c0 +0 -0
  563. package/.v8-cache/v24.7.0-x64-ef5a0af0/8d4e065b +0 -0
  564. package/.v8-cache/v24.7.0-x64-ef5a0af0/8d8378fb +0 -0
  565. package/.v8-cache/v24.7.0-x64-ef5a0af0/8dd99279 +0 -0
  566. package/.v8-cache/v24.7.0-x64-ef5a0af0/8deab10b +0 -0
  567. package/.v8-cache/v24.7.0-x64-ef5a0af0/8e3c6c89 +0 -0
  568. package/.v8-cache/v24.7.0-x64-ef5a0af0/8e623d0b +0 -0
  569. package/.v8-cache/v24.7.0-x64-ef5a0af0/8ee4e5aa +0 -0
  570. package/.v8-cache/v24.7.0-x64-ef5a0af0/8f19f1de +0 -0
  571. package/.v8-cache/v24.7.0-x64-ef5a0af0/8f2491c8 +0 -0
  572. package/.v8-cache/v24.7.0-x64-ef5a0af0/8f441a77 +0 -0
  573. package/.v8-cache/v24.7.0-x64-ef5a0af0/8f7edf28 +0 -0
  574. package/.v8-cache/v24.7.0-x64-ef5a0af0/8fc31d85 +0 -0
  575. package/.v8-cache/v24.7.0-x64-ef5a0af0/9000aef3 +0 -0
  576. package/.v8-cache/v24.7.0-x64-ef5a0af0/902c662a +0 -0
  577. package/.v8-cache/v24.7.0-x64-ef5a0af0/903a4bb6 +0 -0
  578. package/.v8-cache/v24.7.0-x64-ef5a0af0/90844771 +0 -0
  579. package/.v8-cache/v24.7.0-x64-ef5a0af0/90fca974 +0 -0
  580. package/.v8-cache/v24.7.0-x64-ef5a0af0/911342f2 +0 -0
  581. package/.v8-cache/v24.7.0-x64-ef5a0af0/9118f4fa +0 -0
  582. package/.v8-cache/v24.7.0-x64-ef5a0af0/9186e2f2 +0 -0
  583. package/.v8-cache/v24.7.0-x64-ef5a0af0/9193c92b +0 -0
  584. package/.v8-cache/v24.7.0-x64-ef5a0af0/91968dc1 +0 -0
  585. package/.v8-cache/v24.7.0-x64-ef5a0af0/91a0a363 +0 -0
  586. package/.v8-cache/v24.7.0-x64-ef5a0af0/91b97b47 +0 -0
  587. package/.v8-cache/v24.7.0-x64-ef5a0af0/91c7bbd0 +0 -0
  588. package/.v8-cache/v24.7.0-x64-ef5a0af0/91fe7831 +0 -0
  589. package/.v8-cache/v24.7.0-x64-ef5a0af0/922da448 +0 -0
  590. package/.v8-cache/v24.7.0-x64-ef5a0af0/92514b71 +0 -0
  591. package/.v8-cache/v24.7.0-x64-ef5a0af0/9257d0ef +0 -0
  592. package/.v8-cache/v24.7.0-x64-ef5a0af0/926b4568 +0 -0
  593. package/.v8-cache/v24.7.0-x64-ef5a0af0/92f65872 +0 -0
  594. package/.v8-cache/v24.7.0-x64-ef5a0af0/932f0770 +0 -0
  595. package/.v8-cache/v24.7.0-x64-ef5a0af0/9342cfc6 +0 -0
  596. package/.v8-cache/v24.7.0-x64-ef5a0af0/93d40c73 +0 -0
  597. package/.v8-cache/v24.7.0-x64-ef5a0af0/941ef74f +0 -0
  598. package/.v8-cache/v24.7.0-x64-ef5a0af0/94768b3a +0 -0
  599. package/.v8-cache/v24.7.0-x64-ef5a0af0/9496d8e2 +0 -0
  600. package/.v8-cache/v24.7.0-x64-ef5a0af0/95045a9e +0 -0
  601. package/.v8-cache/v24.7.0-x64-ef5a0af0/957fe9a8 +0 -0
  602. package/.v8-cache/v24.7.0-x64-ef5a0af0/95b0d444 +0 -0
  603. package/.v8-cache/v24.7.0-x64-ef5a0af0/96c57777 +0 -0
  604. package/.v8-cache/v24.7.0-x64-ef5a0af0/96c95ddb +0 -0
  605. package/.v8-cache/v24.7.0-x64-ef5a0af0/97725d49 +0 -0
  606. package/.v8-cache/v24.7.0-x64-ef5a0af0/9779e811 +0 -0
  607. package/.v8-cache/v24.7.0-x64-ef5a0af0/977ff23b +0 -0
  608. package/.v8-cache/v24.7.0-x64-ef5a0af0/97af179d +0 -0
  609. package/.v8-cache/v24.7.0-x64-ef5a0af0/984a30e9 +0 -0
  610. package/.v8-cache/v24.7.0-x64-ef5a0af0/9914411b +0 -0
  611. package/.v8-cache/v24.7.0-x64-ef5a0af0/9920378d +0 -0
  612. package/.v8-cache/v24.7.0-x64-ef5a0af0/99315032 +0 -0
  613. package/.v8-cache/v24.7.0-x64-ef5a0af0/995c817a +0 -0
  614. package/.v8-cache/v24.7.0-x64-ef5a0af0/99ae9d9d +0 -0
  615. package/.v8-cache/v24.7.0-x64-ef5a0af0/99c01743 +0 -0
  616. package/.v8-cache/v24.7.0-x64-ef5a0af0/99e350e4 +0 -0
  617. package/.v8-cache/v24.7.0-x64-ef5a0af0/9a7a57f4 +0 -0
  618. package/.v8-cache/v24.7.0-x64-ef5a0af0/9a820759 +0 -0
  619. package/.v8-cache/v24.7.0-x64-ef5a0af0/9a879959 +0 -0
  620. package/.v8-cache/v24.7.0-x64-ef5a0af0/9ae44aeb +0 -0
  621. package/.v8-cache/v24.7.0-x64-ef5a0af0/9b052f8a +0 -0
  622. package/.v8-cache/v24.7.0-x64-ef5a0af0/9b0b0a85 +0 -0
  623. package/.v8-cache/v24.7.0-x64-ef5a0af0/9b37b511 +0 -0
  624. package/.v8-cache/v24.7.0-x64-ef5a0af0/9b489257 +0 -0
  625. package/.v8-cache/v24.7.0-x64-ef5a0af0/9bb7b87b +0 -0
  626. package/.v8-cache/v24.7.0-x64-ef5a0af0/9bef6a06 +0 -0
  627. package/.v8-cache/v24.7.0-x64-ef5a0af0/9c516c0d +0 -0
  628. package/.v8-cache/v24.7.0-x64-ef5a0af0/9c57e9fb +0 -0
  629. package/.v8-cache/v24.7.0-x64-ef5a0af0/9c8e932f +0 -0
  630. package/.v8-cache/v24.7.0-x64-ef5a0af0/9d0fff67 +0 -0
  631. package/.v8-cache/v24.7.0-x64-ef5a0af0/9d4f46f1 +0 -0
  632. package/.v8-cache/v24.7.0-x64-ef5a0af0/9d5899b0 +0 -0
  633. package/.v8-cache/v24.7.0-x64-ef5a0af0/9de3f3ae +0 -0
  634. package/.v8-cache/v24.7.0-x64-ef5a0af0/9e44e752 +0 -0
  635. package/.v8-cache/v24.7.0-x64-ef5a0af0/9e71076a +0 -0
  636. package/.v8-cache/v24.7.0-x64-ef5a0af0/9ed80ba5 +0 -0
  637. package/.v8-cache/v24.7.0-x64-ef5a0af0/9f70617f +0 -0
  638. package/.v8-cache/v24.7.0-x64-ef5a0af0/9f92f695 +0 -0
  639. package/.v8-cache/v24.7.0-x64-ef5a0af0/9fb5e6d3 +0 -0
  640. package/.v8-cache/v24.7.0-x64-ef5a0af0/9fb85165 +0 -0
  641. package/.v8-cache/v24.7.0-x64-ef5a0af0/a01ad988 +0 -0
  642. package/.v8-cache/v24.7.0-x64-ef5a0af0/a04c762a +0 -0
  643. package/.v8-cache/v24.7.0-x64-ef5a0af0/a0c45d7e +0 -0
  644. package/.v8-cache/v24.7.0-x64-ef5a0af0/a0deb7e8 +0 -0
  645. package/.v8-cache/v24.7.0-x64-ef5a0af0/a0f03400 +0 -0
  646. package/.v8-cache/v24.7.0-x64-ef5a0af0/a1194e24 +0 -0
  647. package/.v8-cache/v24.7.0-x64-ef5a0af0/a1d12a93 +0 -0
  648. package/.v8-cache/v24.7.0-x64-ef5a0af0/a20cefa2 +0 -0
  649. package/.v8-cache/v24.7.0-x64-ef5a0af0/a20e8d0d +0 -0
  650. package/.v8-cache/v24.7.0-x64-ef5a0af0/a265672a +0 -0
  651. package/.v8-cache/v24.7.0-x64-ef5a0af0/a26ce9c9 +0 -0
  652. package/.v8-cache/v24.7.0-x64-ef5a0af0/a2b26ae5 +0 -0
  653. package/.v8-cache/v24.7.0-x64-ef5a0af0/a33e7cec +0 -0
  654. package/.v8-cache/v24.7.0-x64-ef5a0af0/a33fd10a +0 -0
  655. package/.v8-cache/v24.7.0-x64-ef5a0af0/a358bf76 +0 -0
  656. package/.v8-cache/v24.7.0-x64-ef5a0af0/a3863874 +0 -0
  657. package/.v8-cache/v24.7.0-x64-ef5a0af0/a3acec94 +0 -0
  658. package/.v8-cache/v24.7.0-x64-ef5a0af0/a4041f49 +0 -0
  659. package/.v8-cache/v24.7.0-x64-ef5a0af0/a4932241 +0 -0
  660. package/.v8-cache/v24.7.0-x64-ef5a0af0/a4be7766 +0 -0
  661. package/.v8-cache/v24.7.0-x64-ef5a0af0/a4f1e349 +0 -0
  662. package/.v8-cache/v24.7.0-x64-ef5a0af0/a4f97284 +0 -0
  663. package/.v8-cache/v24.7.0-x64-ef5a0af0/a55bff1b +0 -0
  664. package/.v8-cache/v24.7.0-x64-ef5a0af0/a59de33d +0 -0
  665. package/.v8-cache/v24.7.0-x64-ef5a0af0/a5f77833 +0 -0
  666. package/.v8-cache/v24.7.0-x64-ef5a0af0/a621f48c +0 -0
  667. package/.v8-cache/v24.7.0-x64-ef5a0af0/a6643a14 +0 -0
  668. package/.v8-cache/v24.7.0-x64-ef5a0af0/a6748667 +0 -0
  669. package/.v8-cache/v24.7.0-x64-ef5a0af0/a6c2c369 +0 -0
  670. package/.v8-cache/v24.7.0-x64-ef5a0af0/a741626b +0 -0
  671. package/.v8-cache/v24.7.0-x64-ef5a0af0/a7e80865 +0 -0
  672. package/.v8-cache/v24.7.0-x64-ef5a0af0/a8666b05 +0 -0
  673. package/.v8-cache/v24.7.0-x64-ef5a0af0/a86d680a +0 -0
  674. package/.v8-cache/v24.7.0-x64-ef5a0af0/a873c003 +0 -0
  675. package/.v8-cache/v24.7.0-x64-ef5a0af0/a8aab654 +0 -0
  676. package/.v8-cache/v24.7.0-x64-ef5a0af0/a8b283e0 +0 -0
  677. package/.v8-cache/v24.7.0-x64-ef5a0af0/a9054abf +0 -0
  678. package/.v8-cache/v24.7.0-x64-ef5a0af0/a960a675 +0 -0
  679. package/.v8-cache/v24.7.0-x64-ef5a0af0/aa55d7ae +0 -0
  680. package/.v8-cache/v24.7.0-x64-ef5a0af0/ab0dca28 +0 -0
  681. package/.v8-cache/v24.7.0-x64-ef5a0af0/ab69c9a1 +0 -0
  682. package/.v8-cache/v24.7.0-x64-ef5a0af0/ab904af9 +0 -0
  683. package/.v8-cache/v24.7.0-x64-ef5a0af0/ac185236 +0 -0
  684. package/.v8-cache/v24.7.0-x64-ef5a0af0/ac317c9c +0 -0
  685. package/.v8-cache/v24.7.0-x64-ef5a0af0/ac526d4e +0 -0
  686. package/.v8-cache/v24.7.0-x64-ef5a0af0/ac65aea2 +0 -0
  687. package/.v8-cache/v24.7.0-x64-ef5a0af0/acafde5a +0 -0
  688. package/.v8-cache/v24.7.0-x64-ef5a0af0/acc15438 +0 -0
  689. package/.v8-cache/v24.7.0-x64-ef5a0af0/acc36e66 +0 -0
  690. package/.v8-cache/v24.7.0-x64-ef5a0af0/ad02c34a +0 -0
  691. package/.v8-cache/v24.7.0-x64-ef5a0af0/ad168735 +0 -0
  692. package/.v8-cache/v24.7.0-x64-ef5a0af0/ad92ba0e +0 -0
  693. package/.v8-cache/v24.7.0-x64-ef5a0af0/adbb59d4 +0 -0
  694. package/.v8-cache/v24.7.0-x64-ef5a0af0/adc2dadb +0 -0
  695. package/.v8-cache/v24.7.0-x64-ef5a0af0/add82f56 +0 -0
  696. package/.v8-cache/v24.7.0-x64-ef5a0af0/ae5b14c8 +0 -0
  697. package/.v8-cache/v24.7.0-x64-ef5a0af0/ae77d203 +0 -0
  698. package/.v8-cache/v24.7.0-x64-ef5a0af0/aebb23ca +0 -0
  699. package/.v8-cache/v24.7.0-x64-ef5a0af0/af467df1 +0 -0
  700. package/.v8-cache/v24.7.0-x64-ef5a0af0/af5cf846 +0 -0
  701. package/.v8-cache/v24.7.0-x64-ef5a0af0/afb5d9e8 +0 -0
  702. package/.v8-cache/v24.7.0-x64-ef5a0af0/afe43898 +0 -0
  703. package/.v8-cache/v24.7.0-x64-ef5a0af0/afec9158 +0 -0
  704. package/.v8-cache/v24.7.0-x64-ef5a0af0/aff3a482 +0 -0
  705. package/.v8-cache/v24.7.0-x64-ef5a0af0/b09573be +0 -0
  706. package/.v8-cache/v24.7.0-x64-ef5a0af0/b09da533 +0 -0
  707. package/.v8-cache/v24.7.0-x64-ef5a0af0/b0a4cf3f +0 -0
  708. package/.v8-cache/v24.7.0-x64-ef5a0af0/b10f835a +0 -0
  709. package/.v8-cache/v24.7.0-x64-ef5a0af0/b1205eb4 +0 -0
  710. package/.v8-cache/v24.7.0-x64-ef5a0af0/b16865d3 +0 -0
  711. package/.v8-cache/v24.7.0-x64-ef5a0af0/b17a6dec +0 -0
  712. package/.v8-cache/v24.7.0-x64-ef5a0af0/b1891195 +0 -0
  713. package/.v8-cache/v24.7.0-x64-ef5a0af0/b189a7f9 +0 -0
  714. package/.v8-cache/v24.7.0-x64-ef5a0af0/b1b2f9d3 +0 -0
  715. package/.v8-cache/v24.7.0-x64-ef5a0af0/b1f3b076 +0 -0
  716. package/.v8-cache/v24.7.0-x64-ef5a0af0/b2fdad6c +0 -0
  717. package/.v8-cache/v24.7.0-x64-ef5a0af0/b30b2046 +0 -0
  718. package/.v8-cache/v24.7.0-x64-ef5a0af0/b3c2fab7 +0 -0
  719. package/.v8-cache/v24.7.0-x64-ef5a0af0/b3d0c11e +0 -0
  720. package/.v8-cache/v24.7.0-x64-ef5a0af0/b410d2c5 +0 -0
  721. package/.v8-cache/v24.7.0-x64-ef5a0af0/b49b2bb7 +0 -0
  722. package/.v8-cache/v24.7.0-x64-ef5a0af0/b5308ceb +0 -0
  723. package/.v8-cache/v24.7.0-x64-ef5a0af0/b53f3bd0 +0 -0
  724. package/.v8-cache/v24.7.0-x64-ef5a0af0/b5bed6cb +0 -0
  725. package/.v8-cache/v24.7.0-x64-ef5a0af0/b5da2388 +0 -0
  726. package/.v8-cache/v24.7.0-x64-ef5a0af0/b629975a +0 -0
  727. package/.v8-cache/v24.7.0-x64-ef5a0af0/b673a402 +0 -0
  728. package/.v8-cache/v24.7.0-x64-ef5a0af0/b77364f2 +0 -0
  729. package/.v8-cache/v24.7.0-x64-ef5a0af0/b80e8bbf +0 -0
  730. package/.v8-cache/v24.7.0-x64-ef5a0af0/b831da0f +0 -0
  731. package/.v8-cache/v24.7.0-x64-ef5a0af0/b8569d6b +0 -0
  732. package/.v8-cache/v24.7.0-x64-ef5a0af0/b877c965 +0 -0
  733. package/.v8-cache/v24.7.0-x64-ef5a0af0/b8b073c4 +0 -0
  734. package/.v8-cache/v24.7.0-x64-ef5a0af0/b8bce506 +0 -0
  735. package/.v8-cache/v24.7.0-x64-ef5a0af0/b8bf4264 +0 -0
  736. package/.v8-cache/v24.7.0-x64-ef5a0af0/b9340404 +0 -0
  737. package/.v8-cache/v24.7.0-x64-ef5a0af0/b93d3c5f +0 -0
  738. package/.v8-cache/v24.7.0-x64-ef5a0af0/b9b8683e +0 -0
  739. package/.v8-cache/v24.7.0-x64-ef5a0af0/b9d3826e +0 -0
  740. package/.v8-cache/v24.7.0-x64-ef5a0af0/ba1b984b +0 -0
  741. package/.v8-cache/v24.7.0-x64-ef5a0af0/ba4a953e +0 -0
  742. package/.v8-cache/v24.7.0-x64-ef5a0af0/ba9eb6f6 +0 -0
  743. package/.v8-cache/v24.7.0-x64-ef5a0af0/bab0ab08 +0 -0
  744. package/.v8-cache/v24.7.0-x64-ef5a0af0/bafcfb84 +0 -0
  745. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb13d80d +0 -0
  746. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb36800b +0 -0
  747. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb39d88f +0 -0
  748. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb489c89 +0 -0
  749. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb69fd4e +0 -0
  750. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb6b8034 +0 -0
  751. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb771b62 +0 -0
  752. package/.v8-cache/v24.7.0-x64-ef5a0af0/bb822c27 +0 -0
  753. package/.v8-cache/v24.7.0-x64-ef5a0af0/bc45333d +0 -0
  754. package/.v8-cache/v24.7.0-x64-ef5a0af0/bc69dc17 +0 -0
  755. package/.v8-cache/v24.7.0-x64-ef5a0af0/bc98c86a +0 -0
  756. package/.v8-cache/v24.7.0-x64-ef5a0af0/bca1b093 +0 -0
  757. package/.v8-cache/v24.7.0-x64-ef5a0af0/bca8d4e0 +0 -0
  758. package/.v8-cache/v24.7.0-x64-ef5a0af0/bd675328 +0 -0
  759. package/.v8-cache/v24.7.0-x64-ef5a0af0/be235b31 +0 -0
  760. package/.v8-cache/v24.7.0-x64-ef5a0af0/be50dd51 +0 -0
  761. package/.v8-cache/v24.7.0-x64-ef5a0af0/be587f65 +0 -0
  762. package/.v8-cache/v24.7.0-x64-ef5a0af0/bec55151 +0 -0
  763. package/.v8-cache/v24.7.0-x64-ef5a0af0/befe29aa +0 -0
  764. package/.v8-cache/v24.7.0-x64-ef5a0af0/bf6130ff +0 -0
  765. package/.v8-cache/v24.7.0-x64-ef5a0af0/bf783b2b +0 -0
  766. package/.v8-cache/v24.7.0-x64-ef5a0af0/bf836239 +0 -0
  767. package/.v8-cache/v24.7.0-x64-ef5a0af0/bf9d4cf2 +0 -0
  768. package/.v8-cache/v24.7.0-x64-ef5a0af0/bfa67430 +0 -0
  769. package/.v8-cache/v24.7.0-x64-ef5a0af0/bfd46e2f +0 -0
  770. package/.v8-cache/v24.7.0-x64-ef5a0af0/c0431ae3 +0 -0
  771. package/.v8-cache/v24.7.0-x64-ef5a0af0/c0b789d2 +0 -0
  772. package/.v8-cache/v24.7.0-x64-ef5a0af0/c0b8f1a6 +0 -0
  773. package/.v8-cache/v24.7.0-x64-ef5a0af0/c110cbb4 +0 -0
  774. package/.v8-cache/v24.7.0-x64-ef5a0af0/c156be25 +0 -0
  775. package/.v8-cache/v24.7.0-x64-ef5a0af0/c1f269f7 +0 -0
  776. package/.v8-cache/v24.7.0-x64-ef5a0af0/c2c12aee +0 -0
  777. package/.v8-cache/v24.7.0-x64-ef5a0af0/c2cd5490 +0 -0
  778. package/.v8-cache/v24.7.0-x64-ef5a0af0/c2e71370 +0 -0
  779. package/.v8-cache/v24.7.0-x64-ef5a0af0/c2e89ba5 +0 -0
  780. package/.v8-cache/v24.7.0-x64-ef5a0af0/c314aece +0 -0
  781. package/.v8-cache/v24.7.0-x64-ef5a0af0/c33c2aa8 +0 -0
  782. package/.v8-cache/v24.7.0-x64-ef5a0af0/c36203b4 +0 -0
  783. package/.v8-cache/v24.7.0-x64-ef5a0af0/c3635a91 +0 -0
  784. package/.v8-cache/v24.7.0-x64-ef5a0af0/c3bf3a3e +0 -0
  785. package/.v8-cache/v24.7.0-x64-ef5a0af0/c3d632bd +0 -0
  786. package/.v8-cache/v24.7.0-x64-ef5a0af0/c3d72b9c +0 -0
  787. package/.v8-cache/v24.7.0-x64-ef5a0af0/c46725e1 +0 -0
  788. package/.v8-cache/v24.7.0-x64-ef5a0af0/c471f274 +0 -0
  789. package/.v8-cache/v24.7.0-x64-ef5a0af0/c494c4b4 +0 -0
  790. package/.v8-cache/v24.7.0-x64-ef5a0af0/c5850517 +0 -0
  791. package/.v8-cache/v24.7.0-x64-ef5a0af0/c6023a8e +0 -0
  792. package/.v8-cache/v24.7.0-x64-ef5a0af0/c62a112f +0 -0
  793. package/.v8-cache/v24.7.0-x64-ef5a0af0/c67edaca +0 -0
  794. package/.v8-cache/v24.7.0-x64-ef5a0af0/c6a94a73 +0 -0
  795. package/.v8-cache/v24.7.0-x64-ef5a0af0/c6d587af +0 -0
  796. package/.v8-cache/v24.7.0-x64-ef5a0af0/c71aa102 +0 -0
  797. package/.v8-cache/v24.7.0-x64-ef5a0af0/c78cdc5c +0 -0
  798. package/.v8-cache/v24.7.0-x64-ef5a0af0/c794cb34 +0 -0
  799. package/.v8-cache/v24.7.0-x64-ef5a0af0/c830c057 +0 -0
  800. package/.v8-cache/v24.7.0-x64-ef5a0af0/c84bb608 +0 -0
  801. package/.v8-cache/v24.7.0-x64-ef5a0af0/c857ade6 +0 -0
  802. package/.v8-cache/v24.7.0-x64-ef5a0af0/c85b1359 +0 -0
  803. package/.v8-cache/v24.7.0-x64-ef5a0af0/c9f25af6 +0 -0
  804. package/.v8-cache/v24.7.0-x64-ef5a0af0/c9fb5ad9 +0 -0
  805. package/.v8-cache/v24.7.0-x64-ef5a0af0/caeca192 +0 -0
  806. package/.v8-cache/v24.7.0-x64-ef5a0af0/caff35bc +0 -0
  807. package/.v8-cache/v24.7.0-x64-ef5a0af0/cb8f2da8 +0 -0
  808. package/.v8-cache/v24.7.0-x64-ef5a0af0/cc40ba20 +0 -0
  809. package/.v8-cache/v24.7.0-x64-ef5a0af0/cc4f384a +0 -0
  810. package/.v8-cache/v24.7.0-x64-ef5a0af0/cc89c1ed +0 -0
  811. package/.v8-cache/v24.7.0-x64-ef5a0af0/ccbf9915 +0 -0
  812. package/.v8-cache/v24.7.0-x64-ef5a0af0/cd4ae980 +0 -0
  813. package/.v8-cache/v24.7.0-x64-ef5a0af0/cd9eed22 +0 -0
  814. package/.v8-cache/v24.7.0-x64-ef5a0af0/ce1833ab +0 -0
  815. package/.v8-cache/v24.7.0-x64-ef5a0af0/ce2d8321 +0 -0
  816. package/.v8-cache/v24.7.0-x64-ef5a0af0/ce41c404 +0 -0
  817. package/.v8-cache/v24.7.0-x64-ef5a0af0/ceb8a7aa +0 -0
  818. package/.v8-cache/v24.7.0-x64-ef5a0af0/cf2c35d3 +0 -0
  819. package/.v8-cache/v24.7.0-x64-ef5a0af0/cf57e0e4 +0 -0
  820. package/.v8-cache/v24.7.0-x64-ef5a0af0/cfb54825 +0 -0
  821. package/.v8-cache/v24.7.0-x64-ef5a0af0/cfc49f4f +0 -0
  822. package/.v8-cache/v24.7.0-x64-ef5a0af0/cff9434a +0 -0
  823. package/.v8-cache/v24.7.0-x64-ef5a0af0/d0008a8c +0 -0
  824. package/.v8-cache/v24.7.0-x64-ef5a0af0/d0250ad2 +0 -0
  825. package/.v8-cache/v24.7.0-x64-ef5a0af0/d02dd6f7 +0 -0
  826. package/.v8-cache/v24.7.0-x64-ef5a0af0/d02e982a +0 -0
  827. package/.v8-cache/v24.7.0-x64-ef5a0af0/d0507bf3 +0 -0
  828. package/.v8-cache/v24.7.0-x64-ef5a0af0/d078d90c +0 -0
  829. package/.v8-cache/v24.7.0-x64-ef5a0af0/d0bf313c +0 -0
  830. package/.v8-cache/v24.7.0-x64-ef5a0af0/d0cc0a90 +0 -0
  831. package/.v8-cache/v24.7.0-x64-ef5a0af0/d1361d27 +0 -0
  832. package/.v8-cache/v24.7.0-x64-ef5a0af0/d14ad268 +0 -0
  833. package/.v8-cache/v24.7.0-x64-ef5a0af0/d156db90 +0 -0
  834. package/.v8-cache/v24.7.0-x64-ef5a0af0/d169f713 +0 -0
  835. package/.v8-cache/v24.7.0-x64-ef5a0af0/d175d850 +0 -0
  836. package/.v8-cache/v24.7.0-x64-ef5a0af0/d1c74c93 +0 -0
  837. package/.v8-cache/v24.7.0-x64-ef5a0af0/d22dbbaf +0 -0
  838. package/.v8-cache/v24.7.0-x64-ef5a0af0/d285e52c +0 -0
  839. package/.v8-cache/v24.7.0-x64-ef5a0af0/d2c313b5 +0 -0
  840. package/.v8-cache/v24.7.0-x64-ef5a0af0/d2e7d08a +0 -0
  841. package/.v8-cache/v24.7.0-x64-ef5a0af0/d2f890e2 +0 -0
  842. package/.v8-cache/v24.7.0-x64-ef5a0af0/d36c2d6c +0 -0
  843. package/.v8-cache/v24.7.0-x64-ef5a0af0/d3782cec +0 -0
  844. package/.v8-cache/v24.7.0-x64-ef5a0af0/d3dfb061 +0 -0
  845. package/.v8-cache/v24.7.0-x64-ef5a0af0/d4538125 +0 -0
  846. package/.v8-cache/v24.7.0-x64-ef5a0af0/d4a032a1 +0 -0
  847. package/.v8-cache/v24.7.0-x64-ef5a0af0/d50a5380 +0 -0
  848. package/.v8-cache/v24.7.0-x64-ef5a0af0/d50e5080 +0 -0
  849. package/.v8-cache/v24.7.0-x64-ef5a0af0/d5bd4b51 +0 -0
  850. package/.v8-cache/v24.7.0-x64-ef5a0af0/d5d61f9a +0 -0
  851. package/.v8-cache/v24.7.0-x64-ef5a0af0/d5da8dd9 +0 -0
  852. package/.v8-cache/v24.7.0-x64-ef5a0af0/d616784e +0 -0
  853. package/.v8-cache/v24.7.0-x64-ef5a0af0/d65a0463 +0 -0
  854. package/.v8-cache/v24.7.0-x64-ef5a0af0/d6cd18fa +0 -0
  855. package/.v8-cache/v24.7.0-x64-ef5a0af0/d6dd70fa +0 -0
  856. package/.v8-cache/v24.7.0-x64-ef5a0af0/d6e08a91 +0 -0
  857. package/.v8-cache/v24.7.0-x64-ef5a0af0/d7050533 +0 -0
  858. package/.v8-cache/v24.7.0-x64-ef5a0af0/d74b7025 +0 -0
  859. package/.v8-cache/v24.7.0-x64-ef5a0af0/d7d680db +0 -0
  860. package/.v8-cache/v24.7.0-x64-ef5a0af0/d7d7317a +0 -0
  861. package/.v8-cache/v24.7.0-x64-ef5a0af0/d8992dac +0 -0
  862. package/.v8-cache/v24.7.0-x64-ef5a0af0/d8dc3671 +0 -0
  863. package/.v8-cache/v24.7.0-x64-ef5a0af0/d8e695f3 +0 -0
  864. package/.v8-cache/v24.7.0-x64-ef5a0af0/d907092d +0 -0
  865. package/.v8-cache/v24.7.0-x64-ef5a0af0/d917a25c +0 -0
  866. package/.v8-cache/v24.7.0-x64-ef5a0af0/d93f46e0 +0 -0
  867. package/.v8-cache/v24.7.0-x64-ef5a0af0/d95719e2 +0 -0
  868. package/.v8-cache/v24.7.0-x64-ef5a0af0/d967f95c +0 -0
  869. package/.v8-cache/v24.7.0-x64-ef5a0af0/d97861bc +0 -0
  870. package/.v8-cache/v24.7.0-x64-ef5a0af0/d9892f45 +0 -0
  871. package/.v8-cache/v24.7.0-x64-ef5a0af0/d9b5e822 +0 -0
  872. package/.v8-cache/v24.7.0-x64-ef5a0af0/da6779d2 +0 -0
  873. package/.v8-cache/v24.7.0-x64-ef5a0af0/da98dfd4 +0 -0
  874. package/.v8-cache/v24.7.0-x64-ef5a0af0/daa5d614 +0 -0
  875. package/.v8-cache/v24.7.0-x64-ef5a0af0/dab50408 +0 -0
  876. package/.v8-cache/v24.7.0-x64-ef5a0af0/db4dcff5 +0 -0
  877. package/.v8-cache/v24.7.0-x64-ef5a0af0/dbdd5317 +0 -0
  878. package/.v8-cache/v24.7.0-x64-ef5a0af0/dc86f000 +0 -0
  879. package/.v8-cache/v24.7.0-x64-ef5a0af0/dcc23fd2 +0 -0
  880. package/.v8-cache/v24.7.0-x64-ef5a0af0/dd2d584e +0 -0
  881. package/.v8-cache/v24.7.0-x64-ef5a0af0/dd3feb06 +0 -0
  882. package/.v8-cache/v24.7.0-x64-ef5a0af0/dd63a73f +0 -0
  883. package/.v8-cache/v24.7.0-x64-ef5a0af0/dd6fce1e +0 -0
  884. package/.v8-cache/v24.7.0-x64-ef5a0af0/dd7f0187 +0 -0
  885. package/.v8-cache/v24.7.0-x64-ef5a0af0/de1358e1 +0 -0
  886. package/.v8-cache/v24.7.0-x64-ef5a0af0/de8a4a0e +0 -0
  887. package/.v8-cache/v24.7.0-x64-ef5a0af0/de92b24b +0 -0
  888. package/.v8-cache/v24.7.0-x64-ef5a0af0/dea00e96 +0 -0
  889. package/.v8-cache/v24.7.0-x64-ef5a0af0/ded97cb3 +0 -0
  890. package/.v8-cache/v24.7.0-x64-ef5a0af0/dedad5f3 +0 -0
  891. package/.v8-cache/v24.7.0-x64-ef5a0af0/df03018c +0 -0
  892. package/.v8-cache/v24.7.0-x64-ef5a0af0/df63f263 +0 -0
  893. package/.v8-cache/v24.7.0-x64-ef5a0af0/df85a9e4 +0 -0
  894. package/.v8-cache/v24.7.0-x64-ef5a0af0/dff8cb13 +0 -0
  895. package/.v8-cache/v24.7.0-x64-ef5a0af0/dfff5d1a +0 -0
  896. package/.v8-cache/v24.7.0-x64-ef5a0af0/e03e2acd +0 -0
  897. package/.v8-cache/v24.7.0-x64-ef5a0af0/e0cb7de8 +0 -0
  898. package/.v8-cache/v24.7.0-x64-ef5a0af0/e1462058 +0 -0
  899. package/.v8-cache/v24.7.0-x64-ef5a0af0/e15267d7 +0 -0
  900. package/.v8-cache/v24.7.0-x64-ef5a0af0/e158d332 +0 -0
  901. package/.v8-cache/v24.7.0-x64-ef5a0af0/e1710fbf +0 -0
  902. package/.v8-cache/v24.7.0-x64-ef5a0af0/e2210767 +0 -0
  903. package/.v8-cache/v24.7.0-x64-ef5a0af0/e23ace36 +0 -0
  904. package/.v8-cache/v24.7.0-x64-ef5a0af0/e26c8da2 +0 -0
  905. package/.v8-cache/v24.7.0-x64-ef5a0af0/e281f8d5 +0 -0
  906. package/.v8-cache/v24.7.0-x64-ef5a0af0/e2e49554 +0 -0
  907. package/.v8-cache/v24.7.0-x64-ef5a0af0/e3c1f166 +0 -0
  908. package/.v8-cache/v24.7.0-x64-ef5a0af0/e3c2381c +0 -0
  909. package/.v8-cache/v24.7.0-x64-ef5a0af0/e440f416 +0 -0
  910. package/.v8-cache/v24.7.0-x64-ef5a0af0/e50b7476 +0 -0
  911. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6381699 +0 -0
  912. package/.v8-cache/v24.7.0-x64-ef5a0af0/e63ff5b9 +0 -0
  913. package/.v8-cache/v24.7.0-x64-ef5a0af0/e65baf3a +0 -0
  914. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6735171 +0 -0
  915. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6745c2b +0 -0
  916. package/.v8-cache/v24.7.0-x64-ef5a0af0/e69219a8 +0 -0
  917. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6b99945 +0 -0
  918. package/.v8-cache/v24.7.0-x64-ef5a0af0/e6de864e +0 -0
  919. package/.v8-cache/v24.7.0-x64-ef5a0af0/e7094c15 +0 -0
  920. package/.v8-cache/v24.7.0-x64-ef5a0af0/e70df5b2 +0 -0
  921. package/.v8-cache/v24.7.0-x64-ef5a0af0/e745da28 +0 -0
  922. package/.v8-cache/v24.7.0-x64-ef5a0af0/e76c5b05 +0 -0
  923. package/.v8-cache/v24.7.0-x64-ef5a0af0/e77e3ab3 +0 -0
  924. package/.v8-cache/v24.7.0-x64-ef5a0af0/e7a1795f +0 -0
  925. package/.v8-cache/v24.7.0-x64-ef5a0af0/e83f7a76 +0 -0
  926. package/.v8-cache/v24.7.0-x64-ef5a0af0/e84f4f9a +0 -0
  927. package/.v8-cache/v24.7.0-x64-ef5a0af0/e8877d49 +0 -0
  928. package/.v8-cache/v24.7.0-x64-ef5a0af0/e889e499 +0 -0
  929. package/.v8-cache/v24.7.0-x64-ef5a0af0/e8b21fee +0 -0
  930. package/.v8-cache/v24.7.0-x64-ef5a0af0/e8b287c3 +0 -0
  931. package/.v8-cache/v24.7.0-x64-ef5a0af0/e97dd9ef +0 -0
  932. package/.v8-cache/v24.7.0-x64-ef5a0af0/e99de3de +0 -0
  933. package/.v8-cache/v24.7.0-x64-ef5a0af0/e9e0179c +0 -0
  934. package/.v8-cache/v24.7.0-x64-ef5a0af0/e9fe9814 +0 -0
  935. package/.v8-cache/v24.7.0-x64-ef5a0af0/eabcc204 +0 -0
  936. package/.v8-cache/v24.7.0-x64-ef5a0af0/eb64b5cd +0 -0
  937. package/.v8-cache/v24.7.0-x64-ef5a0af0/ebbf15fc +0 -0
  938. package/.v8-cache/v24.7.0-x64-ef5a0af0/ebc98ecc +0 -0
  939. package/.v8-cache/v24.7.0-x64-ef5a0af0/ec139485 +0 -0
  940. package/.v8-cache/v24.7.0-x64-ef5a0af0/ec3b7323 +0 -0
  941. package/.v8-cache/v24.7.0-x64-ef5a0af0/ec52b361 +0 -0
  942. package/.v8-cache/v24.7.0-x64-ef5a0af0/ec78b82f +0 -0
  943. package/.v8-cache/v24.7.0-x64-ef5a0af0/ecc029f4 +0 -0
  944. package/.v8-cache/v24.7.0-x64-ef5a0af0/ece6bba0 +0 -0
  945. package/.v8-cache/v24.7.0-x64-ef5a0af0/ecff06c1 +0 -0
  946. package/.v8-cache/v24.7.0-x64-ef5a0af0/ed5e7bde +0 -0
  947. package/.v8-cache/v24.7.0-x64-ef5a0af0/ed99c1d4 +0 -0
  948. package/.v8-cache/v24.7.0-x64-ef5a0af0/ee3e1ad1 +0 -0
  949. package/.v8-cache/v24.7.0-x64-ef5a0af0/ee90f829 +0 -0
  950. package/.v8-cache/v24.7.0-x64-ef5a0af0/eeeebdfe +0 -0
  951. package/.v8-cache/v24.7.0-x64-ef5a0af0/eefa6a26 +0 -0
  952. package/.v8-cache/v24.7.0-x64-ef5a0af0/ef8ac475 +0 -0
  953. package/.v8-cache/v24.7.0-x64-ef5a0af0/efe017e6 +0 -0
  954. package/.v8-cache/v24.7.0-x64-ef5a0af0/f020f5bb +0 -0
  955. package/.v8-cache/v24.7.0-x64-ef5a0af0/f0de5002 +0 -0
  956. package/.v8-cache/v24.7.0-x64-ef5a0af0/f0e87c98 +0 -0
  957. package/.v8-cache/v24.7.0-x64-ef5a0af0/f11cf2e0 +0 -0
  958. package/.v8-cache/v24.7.0-x64-ef5a0af0/f18427f9 +0 -0
  959. package/.v8-cache/v24.7.0-x64-ef5a0af0/f1a87a73 +0 -0
  960. package/.v8-cache/v24.7.0-x64-ef5a0af0/f1ffc102 +0 -0
  961. package/.v8-cache/v24.7.0-x64-ef5a0af0/f292161d +0 -0
  962. package/.v8-cache/v24.7.0-x64-ef5a0af0/f313ac1d +0 -0
  963. package/.v8-cache/v24.7.0-x64-ef5a0af0/f3f12097 +0 -0
  964. package/.v8-cache/v24.7.0-x64-ef5a0af0/f3ff6912 +0 -0
  965. package/.v8-cache/v24.7.0-x64-ef5a0af0/f40eb761 +0 -0
  966. package/.v8-cache/v24.7.0-x64-ef5a0af0/f46cec47 +0 -0
  967. package/.v8-cache/v24.7.0-x64-ef5a0af0/f4cb9649 +0 -0
  968. package/.v8-cache/v24.7.0-x64-ef5a0af0/f4d77aeb +0 -0
  969. package/.v8-cache/v24.7.0-x64-ef5a0af0/f515c638 +0 -0
  970. package/.v8-cache/v24.7.0-x64-ef5a0af0/f5417276 +0 -0
  971. package/.v8-cache/v24.7.0-x64-ef5a0af0/f59beb2e +0 -0
  972. package/.v8-cache/v24.7.0-x64-ef5a0af0/f5ba4d32 +0 -0
  973. package/.v8-cache/v24.7.0-x64-ef5a0af0/f5fa473f +0 -0
  974. package/.v8-cache/v24.7.0-x64-ef5a0af0/f64f7836 +0 -0
  975. package/.v8-cache/v24.7.0-x64-ef5a0af0/f6f867a3 +0 -0
  976. package/.v8-cache/v24.7.0-x64-ef5a0af0/f6fd8125 +0 -0
  977. package/.v8-cache/v24.7.0-x64-ef5a0af0/f7182f57 +0 -0
  978. package/.v8-cache/v24.7.0-x64-ef5a0af0/f73592ff +0 -0
  979. package/.v8-cache/v24.7.0-x64-ef5a0af0/f74d3518 +0 -0
  980. package/.v8-cache/v24.7.0-x64-ef5a0af0/f7639b46 +0 -0
  981. package/.v8-cache/v24.7.0-x64-ef5a0af0/f7c8f5b4 +0 -0
  982. package/.v8-cache/v24.7.0-x64-ef5a0af0/f858e63e +0 -0
  983. package/.v8-cache/v24.7.0-x64-ef5a0af0/f886deac +0 -0
  984. package/.v8-cache/v24.7.0-x64-ef5a0af0/f8c03da6 +0 -0
  985. package/.v8-cache/v24.7.0-x64-ef5a0af0/f9ade3cd +0 -0
  986. package/.v8-cache/v24.7.0-x64-ef5a0af0/fa9d2737 +0 -0
  987. package/.v8-cache/v24.7.0-x64-ef5a0af0/faaaaae8 +0 -0
  988. package/.v8-cache/v24.7.0-x64-ef5a0af0/faad30b7 +0 -0
  989. package/.v8-cache/v24.7.0-x64-ef5a0af0/fb164f4e +0 -0
  990. package/.v8-cache/v24.7.0-x64-ef5a0af0/fb364266 +0 -0
  991. package/.v8-cache/v24.7.0-x64-ef5a0af0/fb6aa9e8 +0 -0
  992. package/.v8-cache/v24.7.0-x64-ef5a0af0/fbbad274 +0 -0
  993. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc0e58aa +0 -0
  994. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc2213f2 +0 -0
  995. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc2e8930 +0 -0
  996. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc35d6bb +0 -0
  997. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc5a7fb3 +0 -0
  998. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc895fea +0 -0
  999. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc97d72d +0 -0
  1000. package/.v8-cache/v24.7.0-x64-ef5a0af0/fc986d28 +0 -0
  1001. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd024c1a +0 -0
  1002. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd0a2987 +0 -0
  1003. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd0b4031 +0 -0
  1004. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd163170 +0 -0
  1005. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd70478c +0 -0
  1006. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd7e8217 +0 -0
  1007. package/.v8-cache/v24.7.0-x64-ef5a0af0/fd7f7e0f +0 -0
  1008. package/.v8-cache/v24.7.0-x64-ef5a0af0/fdffffb0 +0 -0
  1009. package/.v8-cache/v24.7.0-x64-ef5a0af0/fe349423 +0 -0
  1010. package/.v8-cache/v24.7.0-x64-ef5a0af0/fe479403 +0 -0
  1011. package/.v8-cache/v24.7.0-x64-ef5a0af0/fea2f346 +0 -0
  1012. package/.v8-cache/v24.7.0-x64-ef5a0af0/fec5a12f +0 -0
  1013. package/.v8-cache/v24.7.0-x64-ef5a0af0/ff7c87a7 +0 -0
  1014. package/.v8-cache/v24.7.0-x64-ef5a0af0/ff8ea499 +0 -0
  1015. package/.v8-cache/v24.7.0-x64-ef5a0af0/ff967e9d +0 -0
  1016. package/CHANGELOG.md +32 -0
  1017. package/dist/abr.js +12 -5
  1018. package/dist/abr.js.map +1 -1
  1019. package/dist/additionalInfo.d.ts +2 -0
  1020. package/dist/additionalInfo.js +158 -76
  1021. package/dist/additionalInfo.js.map +1 -1
  1022. package/dist/bundle.js +1420 -654
  1023. package/dist/descriptor.d.ts +15 -2
  1024. package/dist/descriptor.js +329 -100
  1025. package/dist/descriptor.js.map +1 -1
  1026. package/dist/effectsHelpers.js +12 -12
  1027. package/dist/effectsHelpers.js.map +1 -1
  1028. package/dist/engineData.d.ts +3 -1
  1029. package/dist/engineData.js +40 -15
  1030. package/dist/engineData.js.map +1 -1
  1031. package/dist/engineData2.js +50 -21
  1032. package/dist/engineData2.js.map +1 -1
  1033. package/dist/helpers.d.ts +5 -2
  1034. package/dist/helpers.js +18 -4
  1035. package/dist/helpers.js.map +1 -1
  1036. package/dist/imageResources.js +58 -32
  1037. package/dist/imageResources.js.map +1 -1
  1038. package/dist/index.js +1 -0
  1039. package/dist/index.js.map +1 -1
  1040. package/dist/jpeg.js +27 -7
  1041. package/dist/jpeg.js.map +1 -1
  1042. package/dist/psd.d.ts +6 -1
  1043. package/dist/psd.js.map +1 -1
  1044. package/dist/psdReader.d.ts +2 -2
  1045. package/dist/psdReader.js +457 -270
  1046. package/dist/psdReader.js.map +1 -1
  1047. package/dist/psdWriter.d.ts +2 -0
  1048. package/dist/psdWriter.js +99 -77
  1049. package/dist/psdWriter.js.map +1 -1
  1050. package/dist/text.js +126 -23
  1051. package/dist/text.js.map +1 -1
  1052. package/dist/utf8.js +36 -15
  1053. package/dist/utf8.js.map +1 -1
  1054. package/dist-es/abr.js +12 -5
  1055. package/dist-es/abr.js.map +1 -1
  1056. package/dist-es/additionalInfo.d.ts +2 -0
  1057. package/dist-es/additionalInfo.js +158 -76
  1058. package/dist-es/additionalInfo.js.map +1 -1
  1059. package/dist-es/descriptor.d.ts +15 -2
  1060. package/dist-es/descriptor.js +329 -100
  1061. package/dist-es/descriptor.js.map +1 -1
  1062. package/dist-es/effectsHelpers.js +12 -12
  1063. package/dist-es/effectsHelpers.js.map +1 -1
  1064. package/dist-es/engineData.d.ts +3 -1
  1065. package/dist-es/engineData.js +40 -15
  1066. package/dist-es/engineData.js.map +1 -1
  1067. package/dist-es/engineData2.js +50 -21
  1068. package/dist-es/engineData2.js.map +1 -1
  1069. package/dist-es/helpers.d.ts +5 -2
  1070. package/dist-es/helpers.js +18 -4
  1071. package/dist-es/helpers.js.map +1 -1
  1072. package/dist-es/imageResources.js +58 -32
  1073. package/dist-es/imageResources.js.map +1 -1
  1074. package/dist-es/index.js +1 -0
  1075. package/dist-es/index.js.map +1 -1
  1076. package/dist-es/jpeg.js +27 -7
  1077. package/dist-es/jpeg.js.map +1 -1
  1078. package/dist-es/psd.d.ts +6 -1
  1079. package/dist-es/psd.js.map +1 -1
  1080. package/dist-es/psdReader.d.ts +2 -2
  1081. package/dist-es/psdReader.js +457 -270
  1082. package/dist-es/psdReader.js.map +1 -1
  1083. package/dist-es/psdWriter.d.ts +2 -0
  1084. package/dist-es/psdWriter.js +99 -77
  1085. package/dist-es/psdWriter.js.map +1 -1
  1086. package/dist-es/text.js +126 -23
  1087. package/dist-es/text.js.map +1 -1
  1088. package/dist-es/utf8.js +36 -15
  1089. package/dist-es/utf8.js.map +1 -1
  1090. package/package.json +1 -1
  1091. package/src/abr.ts +14 -6
  1092. package/src/additionalInfo.ts +166 -75
  1093. package/src/descriptor.ts +347 -107
  1094. package/src/effectsHelpers.ts +9 -9
  1095. package/src/engineData.ts +43 -15
  1096. package/src/engineData2.ts +468 -432
  1097. package/src/helpers.ts +19 -4
  1098. package/src/imageResources.ts +62 -33
  1099. package/src/index.ts +1 -0
  1100. package/src/jpeg.ts +24 -9
  1101. package/src/psd.ts +5 -1
  1102. package/src/psdReader.ts +477 -260
  1103. package/src/psdWriter.ts +101 -84
  1104. package/src/text.ts +122 -12
  1105. package/src/utf8.ts +35 -17
package/src/psdReader.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { inflate as inflateSync } from 'pako';
1
+ import { Inflate } from 'pako';
2
2
  import { Psd, Layer, ColorMode, SectionDividerType, LayerAdditionalInfo, ReadOptions, LayerMaskData, Color, PatternInfo, GlobalLayerMaskInfo, RGB, PixelData, PixelArray, ChannelID, Compression } from './psd';
3
- import { resetImageData, offsetForChannel, decodeBitmap, createImageData, toBlendMode, LayerMaskFlags, MaskParams, ColorSpace, RAW_IMAGE_DATA, largeAdditionalInfoKeys, imageDataToCanvas } from './helpers';
3
+ import { resetImageData, offsetForChannel, decodeBitmap, createImageData, toBlendMode, LayerMaskFlags, MaskParams, ColorSpace, RAW_IMAGE_DATA, largeAdditionalInfoKeys, imageDataToCanvas, normalizeLabAB } from './helpers';
4
4
  import { infoHandlersMap } from './additionalInfo';
5
5
  import { InternalImageResources, resourceHandlersMap } from './imageResources';
6
6
 
@@ -99,20 +99,22 @@ export function readFixedPointPath32(reader: PsdReader): number {
99
99
  return readInt32(reader) / (1 << 24);
100
100
  }
101
101
 
102
+ // NOTE: returned array may alias the reader's underlying buffer, never write into it
102
103
  export function readBytes(reader: PsdReader, length: number) {
103
- const start = reader.view.byteOffset + reader.offset;
104
+ const start = reader.offset;
105
+ const viewLength = reader.view.byteLength;
104
106
  reader.offset += length;
105
107
 
106
- if ((start + length) > reader.view.buffer.byteLength) {
108
+ if ((start + length) > viewLength) {
107
109
  // fix for broken PSD files that are missing part of file at the end
108
110
  warnOrThrow(reader, 'Reading bytes exceeding buffer length');
109
111
  if (length > (100 * 1024 * 1024)) throw new Error('Reading past end of file'); // limit to 100MB
110
112
  const result = new Uint8Array(length);
111
- const len = Math.min(length, reader.view.byteLength - start);
112
- if (len > 0) result.set(new Uint8Array(reader.view.buffer, start, len));
113
+ const len = Math.min(length, viewLength - start);
114
+ if (len > 0) result.set(new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, len));
113
115
  return result;
114
116
  } else {
115
- return new Uint8Array(reader.view.buffer, start, length);
117
+ return new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, length);
116
118
  }
117
119
  }
118
120
 
@@ -144,41 +146,65 @@ export function readUnicodeString(reader: PsdReader) {
144
146
  return readUnicodeStringWithLength(reader, length);
145
147
  }
146
148
 
147
- export function readUnicodeStringWithLength(reader: PsdReader, length: number) {
149
+ const STRING_CHUNK_SIZE = 0x2000;
150
+
151
+ function checkReadBounds(reader: PsdReader, size: number) {
152
+ if (reader.offset < 0 || (reader.offset + size) > reader.view.byteLength) {
153
+ throw new RangeError('Offset is outside the bounds of the DataView');
154
+ }
155
+ }
156
+
157
+ function readUtf16String(reader: PsdReader, length: number, littleEndian: boolean) {
158
+ if (!(length > 0)) return '';
159
+
160
+ checkReadBounds(reader, length * 2);
161
+
162
+ const view = reader.view;
163
+ const codes = new Uint16Array(Math.min(length, STRING_CHUNK_SIZE));
164
+ let offset = reader.offset;
148
165
  let text = '';
149
166
 
150
- while (length--) {
151
- const value = readUint16(reader);
167
+ for (let i = 0; i < length; i += STRING_CHUNK_SIZE) {
168
+ const count = Math.min(STRING_CHUNK_SIZE, length - i);
152
169
 
153
- if (value || length > 0) { // remove trailing \0
154
- text += String.fromCharCode(value);
170
+ for (let j = 0; j < count; j++, offset += 2) {
171
+ codes[j] = view.getUint16(offset, littleEndian);
155
172
  }
173
+
174
+ text += String.fromCharCode.apply(null, (count === codes.length ? codes : codes.subarray(0, count)) as any);
156
175
  }
157
176
 
177
+ reader.offset = offset;
178
+
179
+ // remove trailing \0
180
+ if (text.charCodeAt(text.length - 1) === 0) text = text.substring(0, text.length - 1);
181
+
158
182
  return text;
159
183
  }
160
184
 
161
- export function readUnicodeStringWithLengthLE(reader: PsdReader, length: number) {
185
+ function bytesToString(bytes: Uint8Array) {
162
186
  let text = '';
163
187
 
164
- while (length--) {
165
- const value = readUint16LE(reader);
166
-
167
- if (value || length > 0) { // remove trailing \0
168
- text += String.fromCharCode(value);
169
- }
188
+ for (let i = 0; i < bytes.length; i += STRING_CHUNK_SIZE) {
189
+ text += String.fromCharCode.apply(null, bytes.subarray(i, i + STRING_CHUNK_SIZE) as any);
170
190
  }
171
191
 
172
192
  return text;
173
193
  }
174
194
 
175
- export function readAsciiString(reader: PsdReader, length: number) {
176
- let text = '';
195
+ export function readUnicodeStringWithLength(reader: PsdReader, length: number) {
196
+ return readUtf16String(reader, length, false);
197
+ }
177
198
 
178
- while (length--) {
179
- text += String.fromCharCode(readUint8(reader));
180
- }
199
+ export function readUnicodeStringWithLengthLE(reader: PsdReader, length: number) {
200
+ return readUtf16String(reader, length, true);
201
+ }
181
202
 
203
+ export function readAsciiString(reader: PsdReader, length: number) {
204
+ if (!(length > 0)) return '';
205
+ checkReadBounds(reader, length);
206
+ const text = bytesToString(new Uint8Array(reader.view.buffer, reader.view.byteOffset + reader.offset, length));
207
+ reader.offset += length;
182
208
  return text;
183
209
  }
184
210
 
@@ -196,14 +222,7 @@ export function checkSignature(reader: PsdReader, a: string, b?: string) {
196
222
  }
197
223
 
198
224
  function readShortString(reader: PsdReader, length: number) {
199
- const buffer = readBytes(reader, length);
200
- let result = '';
201
-
202
- for (let i = 0; i < buffer.length; i++) {
203
- result += String.fromCharCode(buffer[i]);
204
- }
205
-
206
- return result;
225
+ return bytesToString(readBytes(reader, length));
207
226
  }
208
227
 
209
228
  function isValidSignature(sig: string) {
@@ -225,7 +244,7 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
225
244
  const maxSize = version === 1 ? 30000 : 300000;
226
245
 
227
246
  if (width > maxSize || height > maxSize) throw new Error(`Invalid size: ${width}x${height}`);
228
- if (channels > 16) throw new Error(`Invalid channel count: ${channels}`);
247
+ if (channels < 1 || channels > 56) throw new Error(`Invalid channel count: ${channels}`);
229
248
  if (![1, 8, 16, 32].includes(bitsPerChannel)) throw new Error(`Invalid bitsPerChannel: ${bitsPerChannel}`);
230
249
  if (supportedColorModes.indexOf(colorMode) === -1) throw new Error(`Color mode not supported: ${colorModes[colorMode] ?? colorMode}`);
231
250
 
@@ -331,7 +350,10 @@ export function readPsd(reader: PsdReader, readOptions: ReadOptions = {}) {
331
350
 
332
351
  if (!skipComposite) {
333
352
  if (reader.useRawData) {
334
- psd.rawCompositeData = new Uint8Array(reader.view.buffer, reader.view.byteOffset + reader.offset);
353
+ const rawOffset = Math.min(reader.offset, reader.view.byteLength);
354
+ const rawCompositeData = new Uint8Array(reader.view.buffer, reader.view.byteOffset + rawOffset, reader.view.byteLength - rawOffset);
355
+ psd.rawCompositeData = rawCompositeData;
356
+ psd.rawCompositeDataInfo = { large: reader.large, globalAlpha: reader.globalAlpha };
335
357
  } else {
336
358
  const imageData = readImageData(reader, psd);
337
359
  if (reader.useImageData) {
@@ -393,7 +415,8 @@ export function readLayerInfo(reader: PsdReader, psd: Psd, imageResources: Inter
393
415
  stack[stack.length - 1].children!.unshift(l);
394
416
  stack.push(l);
395
417
  } else if (type === SectionDividerType.BoundingSectionDivider) {
396
- stack.pop();
418
+ // ignore unmatched section dividers, never pop the root
419
+ if (stack.length > 1) stack.pop();
397
420
  // this was workaround because I didn't know what `lsdk` section was, now it's probably not needed anymore
398
421
  // } else if (l.name === '</Layer group>' && !l.sectionDivider && !l.top && !l.left && !l.bottom && !l.right) {
399
422
  // // sometimes layer group terminator doesn't have sectionDivider, so we just guess here (PS bug ?)
@@ -491,7 +514,7 @@ function readLayerMaskData(reader: PsdReader, layer: Layer) {
491
514
  mask.disabled = (flags & LayerMaskFlags.LayerMaskDisabled) !== 0;
492
515
  mask.fromVectorData = (flags & LayerMaskFlags.LayerMaskFromRenderingOtherData) !== 0;
493
516
 
494
- if (left() >= 18) {
517
+ if (hasRealMaskData(reader, flags, left())) {
495
518
  const realMask: LayerMaskData = {};
496
519
  layer.realMask = realMask;
497
520
 
@@ -520,6 +543,44 @@ function readLayerMaskData(reader: PsdReader, layer: Layer) {
520
543
  });
521
544
  }
522
545
 
546
+ function maskParamsSize(params: number) {
547
+ return 1 +
548
+ ((params & MaskParams.UserMaskDensity) ? 1 : 0) +
549
+ ((params & MaskParams.UserMaskFeather) ? 8 : 0) +
550
+ ((params & MaskParams.VectorMaskDensity) ? 1 : 0) +
551
+ ((params & MaskParams.VectorMaskFeather) ? 8 : 0);
552
+ }
553
+
554
+ // checks if data at offset is mask parameters followed by up to 3 bytes of zero padding, ending exactly at offset + left
555
+ function isMaskParamsLayout(view: DataView, offset: number, left: number) {
556
+ if (left < 1) return false;
557
+
558
+ const params = view.getUint8(offset);
559
+ if (params === 0 || (params & ~0x0f)) return false; // only 4 parameter flags exist
560
+
561
+ const size = maskParamsSize(params);
562
+ if (left < size || left - size > 3) return false;
563
+
564
+ for (let i = size; i < left; i++) {
565
+ if (view.getUint8(offset + i) !== 0) return false;
566
+ }
567
+
568
+ return true;
569
+ }
570
+
571
+ // real mask data (18 bytes) is followed by mask parameters (if flag is set) and padding
572
+ function hasRealMaskData(reader: PsdReader, flags: number, left: number) {
573
+ if (left < 18) return false;
574
+ if (!(flags & LayerMaskFlags.MaskHasParametersAppliedToIt)) return true;
575
+
576
+ const { view, offset } = reader;
577
+ if (isMaskParamsLayout(view, offset, left)) return false;
578
+ if (isMaskParamsLayout(view, offset + 18, left - 18)) return true;
579
+
580
+ // unknown layout, assume real mask if there's enough data for it (and mask parameters)
581
+ return left === 18 || left - 18 >= maskParamsSize(view.getUint8(offset + 18));
582
+ }
583
+
523
584
  function readBlendingRange(reader: PsdReader) {
524
585
  return [readUint8(reader), readUint8(reader), readUint8(reader), readUint8(reader)];
525
586
  }
@@ -599,8 +660,14 @@ export function getCompositeImageData(psd: Psd) {
599
660
  if (!data) return undefined;
600
661
 
601
662
  const reader = createReader(data.buffer, data.byteOffset, data.byteLength);
602
- const imageData = readImageData(reader, psd);
603
- return imageData;
663
+ const info = psd.rawCompositeDataInfo;
664
+
665
+ if (info) {
666
+ reader.large = info.large;
667
+ reader.globalAlpha = info.globalAlpha;
668
+ }
669
+
670
+ return readImageData(reader, psd);
604
671
  }
605
672
 
606
673
  export function getCompositeCanvas(psd: Psd) {
@@ -649,21 +716,23 @@ export function decodeLayerPixels(layer: Layer, useImageData?: boolean) {
649
716
  decodeLayerImageData(layer, { useImageData });
650
717
  }
651
718
 
652
- function decodeLayerImageData(layer: Layer, options: Pick<ReadOptions, 'useImageData' | 'throwForMissingFeatures' | 'totalMemoryLimit'>) {
719
+ type LogOptions = Pick<ReadOptions, 'debug' | 'log'>;
720
+
721
+ function decodeLayerImageData(layer: Layer, options: Pick<ReadOptions, 'useImageData' | 'throwForMissingFeatures' | 'totalMemoryLimit' | 'debug' | 'log'>) {
653
722
  let { throwForMissingFeatures, useImageData } = options;
654
723
 
655
- const imageData = getDataFromLayer(layer, LayerDataType.Layer, throwForMissingFeatures, options.totalMemoryLimit);
724
+ const imageData = getDataFromLayer(layer, LayerDataType.Layer, throwForMissingFeatures, options.totalMemoryLimit, options);
656
725
  setImageDataOrCanvas(layer, imageData, useImageData);
657
726
  if (options.totalMemoryLimit !== undefined) options.totalMemoryLimit -= imageData?.data.byteLength ?? 0;
658
727
 
659
728
  if (layer.mask) {
660
- const maskData = getDataFromLayer(layer, LayerDataType.Mask, throwForMissingFeatures, options.totalMemoryLimit);
729
+ const maskData = getDataFromLayer(layer, LayerDataType.Mask, throwForMissingFeatures, options.totalMemoryLimit, options);
661
730
  setImageDataOrCanvas(layer.mask, maskData, useImageData);
662
731
  if (options.totalMemoryLimit !== undefined) options.totalMemoryLimit -= maskData?.data.byteLength ?? 0;
663
732
  }
664
733
 
665
734
  if (layer.realMask) {
666
- const maskData = getDataFromLayer(layer, LayerDataType.RealMask, throwForMissingFeatures, options.totalMemoryLimit);
735
+ const maskData = getDataFromLayer(layer, LayerDataType.RealMask, throwForMissingFeatures, options.totalMemoryLimit, options);
667
736
  setImageDataOrCanvas(layer.realMask, maskData, useImageData);
668
737
  if (options.totalMemoryLimit !== undefined) options.totalMemoryLimit -= maskData?.data.byteLength ?? 0;
669
738
  }
@@ -677,7 +746,7 @@ enum LayerDataType {
677
746
  RealMask,
678
747
  }
679
748
 
680
- function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeatures?: boolean, memoryLimit?: number) {
749
+ function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeatures?: boolean, memoryLimit?: number, logOptions?: LogOptions) {
681
750
  if (!layer.rawData) return undefined;
682
751
 
683
752
  const { colorMode, bitsPerChannel, channels, large } = layer.rawData;
@@ -691,7 +760,7 @@ function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeat
691
760
 
692
761
  if (layerWidth && layerHeight && read === LayerDataType.Layer) {
693
762
  if (cmyk) {
694
- if (bitsPerChannel !== 8) throw new Error('bitsPerChannel Not supproted');
763
+ if (bitsPerChannel !== 8) throw new Error('bitsPerChannel not supported');
695
764
  imageData = { width: layerWidth, height: layerHeight, data: new Uint8ClampedArray(layerWidth * layerHeight * 5) } as any as ImageData;
696
765
  } else {
697
766
  imageData = createImageDataBitDepth(layerWidth, layerHeight, bitsPerChannel, 4, memoryLimit);
@@ -707,6 +776,9 @@ function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeat
707
776
  if (!data) continue;
708
777
 
709
778
  const dataReader = createReader(data.buffer, data.byteOffset, data.byteLength);
779
+ dataReader.debug = !!logOptions?.debug;
780
+ if (logOptions?.log) dataReader.log = logOptions.log;
781
+ if (memoryLimit !== undefined) dataReader.totalMemoryLimit = Math.max(0, memoryLimit - (imageData?.data.byteLength ?? 0));
710
782
 
711
783
  if (id === ChannelID.UserMask || id === ChannelID.RealUserMask) {
712
784
  if (id === ChannelID.UserMask && read !== LayerDataType.Mask) continue;
@@ -720,6 +792,7 @@ function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeat
720
792
 
721
793
  if (maskWidth && maskHeight) {
722
794
  maskData = createImageDataBitDepth(maskWidth, maskHeight, bitsPerChannel, 4, memoryLimit);
795
+ if (memoryLimit !== undefined) dataReader.totalMemoryLimit = Math.max(0, dataReader.totalMemoryLimit! - maskData.data.byteLength);
723
796
  readData(dataReader, data.byteLength, maskData, compression, maskWidth, maskHeight, bitsPerChannel, 0, large, 4);
724
797
  if (RAW_IMAGE_DATA) { // TODO: use layer.rawData instead
725
798
  if (id === ChannelID.UserMask) {
@@ -754,9 +827,6 @@ function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeat
754
827
  (layer as any).imageDataRaw[id] = data;
755
828
  }
756
829
 
757
- if (targetData && colorMode === ColorMode.Grayscale) {
758
- setupGrayscale(targetData);
759
- }
760
830
  }
761
831
 
762
832
  if (id === ChannelID.Transparency) {
@@ -765,6 +835,7 @@ function getDataFromLayer(layer: Layer, read: LayerDataType, throwForMissingFeat
765
835
  }
766
836
 
767
837
  if (imageData) {
838
+ if (colorMode === ColorMode.Grayscale) setupGrayscale(imageData);
768
839
  if (!initializedAlpha) resetAlpha(imageData, cmyk);
769
840
 
770
841
  if (cmyk) {
@@ -782,7 +853,7 @@ function readData(reader: PsdReader, length: number, pixels: PixelData | undefin
782
853
 
783
854
  if (compression === Compression.RawData) {
784
855
  if (length !== (width * height * Math.floor(bitDepth / 8))) {
785
- reader.log(`Invalid length (${length}, ${width * height * Math.floor(bitDepth / 8)})`);
856
+ warnOrThrow(reader, `Invalid length (${length}, ${width * height * Math.floor(bitDepth / 8)})`);
786
857
  }
787
858
  const data = readBytes(reader, length);
788
859
  readDataRaw(data, pixels, bitDepth, step, offset);
@@ -791,10 +862,10 @@ function readData(reader: PsdReader, length: number, pixels: PixelData | undefin
791
862
  readDataRLE(reader, pixels, width, height, bitDepth, step, [offset], large);
792
863
  } else if (compression === Compression.ZipWithoutPrediction) {
793
864
  const data = readBytes(reader, length);
794
- readDataZip(data, pixels, width, height, bitDepth, step, offset, false);
865
+ readDataZip(data, pixels, width, height, bitDepth, step, offset, false, reader);
795
866
  } else if (compression === Compression.ZipWithPrediction) {
796
867
  const data = readBytes(reader, length);
797
- readDataZip(data, pixels, width, height, bitDepth, step, offset, true);
868
+ readDataZip(data, pixels, width, height, bitDepth, step, offset, true, reader);
798
869
  } else {
799
870
  throw new Error(`Invalid Compression type: ${compression}`);
800
871
  }
@@ -809,7 +880,7 @@ export function readGlobalLayerMaskInfo(reader: PsdReader) {
809
880
  const colorSpace2 = readUint16(reader);
810
881
  const colorSpace3 = readUint16(reader);
811
882
  const colorSpace4 = readUint16(reader);
812
- const opacity = readUint16(reader) / 0xff;
883
+ const opacity = readUint16(reader) / 100; // 0 - 100
813
884
  const kind = readUint8(reader);
814
885
  skipBytes(reader, left()); // 3 bytes of padding ?
815
886
  return { overlayColorSpace, colorSpace1, colorSpace2, colorSpace3, colorSpace4, opacity, kind };
@@ -892,6 +963,7 @@ function createImageDataBitDepth(width: number, height: number, bitDepth: number
892
963
  function readImageData(reader: PsdReader, psd: Psd) {
893
964
  const compression = readUint16(reader) as Compression;
894
965
  const bitsPerChannel = psd.bitsPerChannel ?? 8;
966
+ const { width, height } = psd;
895
967
 
896
968
  if (supportedColorModes.indexOf(psd.colorMode!) === -1)
897
969
  throw new Error(`Color mode not supported: ${psd.colorMode}`);
@@ -899,7 +971,7 @@ function readImageData(reader: PsdReader, psd: Psd) {
899
971
  if (compression !== Compression.RawData && compression !== Compression.RleCompressed)
900
972
  throw new Error(`Compression type not supported: ${compression}`);
901
973
 
902
- const imageData = createImageDataBitDepth(psd.width, psd.height, bitsPerChannel, 4, reader.totalMemoryLimit);
974
+ const imageData = createImageDataBitDepth(width, height, bitsPerChannel, 4, reader.totalMemoryLimit);
903
975
  if (reader.totalMemoryLimit !== undefined) reader.totalMemoryLimit -= imageData.data.byteLength;
904
976
  resetImageData(imageData);
905
977
 
@@ -907,44 +979,29 @@ function readImageData(reader: PsdReader, psd: Psd) {
907
979
  case ColorMode.Bitmap: {
908
980
  if (bitsPerChannel !== 1) throw new Error('Invalid bitsPerChannel for bitmap color mode');
909
981
 
982
+ const rowBytes = Math.ceil(width / 8);
910
983
  let bytes: Uint8Array;
911
984
 
912
985
  if (compression === Compression.RawData) {
913
- bytes = readBytes(reader, Math.ceil(psd.width / 8) * psd.height);
914
- } else if (compression === Compression.RleCompressed) {
915
- bytes = new Uint8Array(psd.width * psd.height);
916
- readDataRLE(reader, { data: bytes, width: psd.width, height: psd.height }, psd.width, psd.height, 8, 1, [0], reader.large);
986
+ bytes = readBytes(reader, rowBytes * height);
917
987
  } else {
918
- throw new Error(`Compression not supported: ${compression}`);
988
+ bytes = new Uint8Array(rowBytes * height);
989
+ readDataRLE(reader, { data: bytes, width: rowBytes, height }, rowBytes, height, 8, 1, [0], reader.large);
919
990
  }
920
991
 
921
- decodeBitmap(bytes, imageData.data, psd.width, psd.height);
992
+ decodeBitmap(bytes, imageData.data, width, height);
922
993
  break;
923
994
  }
924
995
  case ColorMode.RGB:
925
996
  case ColorMode.Grayscale: {
926
- const channels = psd.colorMode === ColorMode.Grayscale ? [0] : [0, 1, 2];
997
+ const colorChannels = psd.colorMode === ColorMode.Grayscale ? 1 : 3;
998
+ const offsets = compositeChannelOffsets(reader, psd, colorChannels, 3);
999
+ const start = reader.offset;
927
1000
 
928
- if (psd.channels && psd.channels > 3) {
929
- for (let i = 3; i < psd.channels; i++) {
930
- // TODO: store these channels in additional image data
931
- channels.push(i);
932
- }
933
- } else if (reader.globalAlpha) {
934
- channels.push(3);
935
- }
1001
+ readCompositeChannels(reader, compression, imageData, bitsPerChannel, 4, offsets);
936
1002
 
937
- if (compression === Compression.RawData) {
938
- for (let i = 0; i < channels.length; i++) {
939
- const data = readBytes(reader, psd.width * psd.height * Math.floor(bitsPerChannel / 8));
940
- readDataRaw(data, imageData, bitsPerChannel, 4, channels[i]);
941
- }
942
- } else if (compression === Compression.RleCompressed) {
943
- const start = reader.offset;
944
- readDataRLE(reader, imageData, psd.width, psd.height, bitsPerChannel, 4, channels, reader.large);
945
- if (RAW_IMAGE_DATA) (psd as any).imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
946
- } else {
947
- throw new Error(`Compression not supported: ${compression}`);
1003
+ if (RAW_IMAGE_DATA && compression === Compression.RleCompressed) {
1004
+ (psd as any).imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
948
1005
  }
949
1006
 
950
1007
  if (psd.colorMode === ColorMode.Grayscale) {
@@ -953,55 +1010,28 @@ function readImageData(reader: PsdReader, psd: Psd) {
953
1010
  break;
954
1011
  }
955
1012
  case ColorMode.Indexed: {
956
- if (bitsPerChannel !== 8) throw new Error('bitsPerChannel Not supproted');
957
- if (psd.channels !== 1) throw new Error('Invalid channel count');
1013
+ if (bitsPerChannel !== 8) throw new Error('bitsPerChannel not supported');
958
1014
  if (!psd.palette) throw new Error('Missing color palette');
959
1015
 
960
- if (compression === Compression.RawData) {
961
- throw new Error(`Compression not supported: ${compression}`);
962
- } else if (compression === Compression.RleCompressed) {
963
- const indexedImageData: PixelData = {
964
- width: imageData.width,
965
- height: imageData.height,
966
- data: new Uint8Array(imageData.width * imageData.height),
967
- };
968
- readDataRLE(reader, indexedImageData, psd.width, psd.height, bitsPerChannel, 1, [0], reader.large);
969
- indexedToRgb(indexedImageData, imageData, psd.palette);
970
- } else {
971
- throw new Error(`Compression not supported: ${compression}`);
972
- }
973
-
1016
+ const offsets = compositeChannelOffsets(reader, psd, 1, -1);
1017
+ const indexedImageData: PixelData = { width, height, data: new Uint8Array(width * height) };
1018
+ readCompositeChannels(reader, compression, indexedImageData, 8, 1, offsets);
1019
+ indexedToRgb(indexedImageData, imageData, psd.palette);
974
1020
  break;
975
1021
  }
976
1022
  case ColorMode.CMYK: {
977
- if (bitsPerChannel !== 8) throw new Error('bitsPerChannel Not supproted');
978
- if (psd.channels !== 4) throw new Error(`Invalid channel count`);
1023
+ if (bitsPerChannel !== 8) throw new Error('bitsPerChannel not supported');
979
1024
 
980
- const channels = [0, 1, 2, 3];
981
- if (reader.globalAlpha) channels.push(4);
1025
+ const offsets = compositeChannelOffsets(reader, psd, 4, 4);
1026
+ const cmykImageData: PixelData = { width, height, data: new Uint8Array(width * height * 5) };
1027
+ const start = reader.offset;
982
1028
 
983
- if (compression === Compression.RawData) {
984
- throw new Error(`Compression not supported: ${compression}`);
985
- // TODO: ...
986
- // for (let i = 0; i < channels.length; i++) {
987
- // readDataRaw(reader, imageData, channels[i], psd.width, psd.height);
988
- // }
989
- } else if (compression === Compression.RleCompressed) {
990
- const cmykImageData: PixelData = {
991
- width: imageData.width,
992
- height: imageData.height,
993
- data: new Uint8Array(imageData.width * imageData.height * 5),
994
- };
995
-
996
- const start = reader.offset;
997
- readDataRLE(reader, cmykImageData, psd.width, psd.height, bitsPerChannel, 5, channels, reader.large);
998
- cmykToRgb(cmykImageData, imageData, true);
999
-
1000
- if (RAW_IMAGE_DATA) (psd as any).imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
1001
- } else {
1002
- throw new Error(`Compression not supported: ${compression}`);
1003
- }
1029
+ readCompositeChannels(reader, compression, cmykImageData, 8, 5, offsets);
1030
+ cmykToRgb(cmykImageData, imageData, true);
1004
1031
 
1032
+ if (RAW_IMAGE_DATA && compression === Compression.RleCompressed) {
1033
+ (psd as any).imageDataRaw = new Uint8Array(reader.view.buffer, reader.view.byteOffset + start, reader.offset - start);
1034
+ }
1005
1035
  break;
1006
1036
  }
1007
1037
  default: throw new Error(`Color mode not supported: ${psd.colorMode}`);
@@ -1009,23 +1039,103 @@ function readImageData(reader: PsdReader, psd: Psd) {
1009
1039
 
1010
1040
  // remove weird white matte
1011
1041
  if (reader.globalAlpha) {
1012
- if (psd.bitsPerChannel !== 8) throw new Error('bitsPerChannel Not supproted');
1013
- const p = imageData.data;
1014
- const size = imageData.width * imageData.height * 4;
1042
+ removeWhiteMatte(imageData);
1043
+ }
1044
+
1045
+ return imageData;
1046
+ }
1047
+
1048
+ // returns target offset for each of the composite image channels stored in the file, -1 for channels that are skipped
1049
+ function compositeChannelOffsets(reader: PsdReader, psd: Psd, colorChannels: number, alphaOffset: number) {
1050
+ const channelCount = psd.channels ?? (colorChannels + (reader.globalAlpha ? 1 : 0));
1051
+ if (channelCount < colorChannels) throw new Error(`Invalid channel count: ${channelCount}`);
1052
+
1053
+ // First extra channel is transparency if document has global alpha (negative layer count). Some non-Photoshop
1054
+ // applications write transparency channel without setting global alpha, in that case extra channel is not
1055
+ // listed in alpha channel names (Photoshop names all user alpha channels / saved selections).
1056
+ const namedChannels = psd.imageResources?.alphaChannelNames?.length ?? 0;
1057
+ const hasTransparency = reader.globalAlpha || (channelCount - colorChannels) > namedChannels;
1058
+ const offsets: number[] = [];
1059
+
1060
+ for (let i = 0; i < channelCount; i++) {
1061
+ if (i < colorChannels) {
1062
+ offsets.push(i);
1063
+ } else if (i === colorChannels && hasTransparency && alphaOffset >= 0) {
1064
+ offsets.push(alphaOffset);
1065
+ } else {
1066
+ // TODO: store these channels (alpha channels / saved selections, spot colors) in additional image data
1067
+ offsets.push(-1);
1068
+ }
1069
+ }
1070
+
1071
+ return offsets;
1072
+ }
1073
+
1074
+ function readCompositeChannels(reader: PsdReader, compression: Compression, pixelData: PixelData, bitsPerChannel: number, step: number, offsets: number[]) {
1075
+ if (compression === Compression.RawData) {
1076
+ const channelSize = pixelData.width * pixelData.height * bytesPerValue(bitsPerChannel);
1077
+
1078
+ for (const offset of offsets) {
1079
+ if (offset < 0) {
1080
+ skipBytes(reader, channelSize);
1081
+ } else {
1082
+ readDataRaw(readBytes(reader, channelSize), pixelData, bitsPerChannel, step, offset);
1083
+ }
1084
+ }
1085
+ } else if (compression === Compression.RleCompressed) {
1086
+ readDataRLE(reader, pixelData, pixelData.width, pixelData.height, bitsPerChannel, step, offsets, reader.large);
1087
+ } else {
1088
+ throw new Error(`Compression not supported: ${compression}`);
1089
+ }
1090
+ }
1091
+
1092
+ // un-premultiplies colors from white matte, used for composite image of documents with global alpha
1093
+ function removeWhiteMatte({ data, width, height }: PixelData) {
1094
+ const size = width * height * 4;
1095
+
1096
+ if (data instanceof Float32Array) {
1097
+ for (let i = 0; i < size; i += 4) {
1098
+ const a = data[i + 3];
1099
+
1100
+ if (a > 0 && a < 1) {
1101
+ const ra = 1 / a;
1102
+ const invA = 1 - ra;
1103
+
1104
+ for (let j = 0; j < 3; j++) {
1105
+ const v = data[i + j] * ra + invA;
1106
+ data[i + j] = v < 0 ? 0 : v;
1107
+ }
1108
+ }
1109
+ }
1110
+ } else if (data instanceof Uint16Array) {
1015
1111
  for (let i = 0; i < size; i += 4) {
1016
- const pa = p[i + 3];
1112
+ const pa = data[i + 3];
1113
+
1114
+ if (pa !== 0 && pa !== 0xffff) {
1115
+ const ra = 0xffff / pa;
1116
+ const invA = 0xffff * (1 - ra);
1117
+
1118
+ for (let j = 0; j < 3; j++) {
1119
+ const v = Math.round(data[i + j] * ra + invA);
1120
+ data[i + j] = v < 0 ? 0 : (v > 0xffff ? 0xffff : v);
1121
+ }
1122
+ }
1123
+ }
1124
+ } else {
1125
+ // Uint8ClampedArray clamps and rounds values on assignment
1126
+ for (let i = 0; i < size; i += 4) {
1127
+ const pa = data[i + 3];
1128
+
1017
1129
  if (pa != 0 && pa != 255) {
1018
1130
  const a = pa / 255;
1019
1131
  const ra = 1 / a;
1020
1132
  const invA = 255 * (1 - ra);
1021
- p[i + 0] = p[i + 0] * ra + invA;
1022
- p[i + 1] = p[i + 1] * ra + invA;
1023
- p[i + 2] = p[i + 2] * ra + invA;
1133
+ data[i + 0] = data[i + 0] * ra + invA;
1134
+ data[i + 1] = data[i + 1] * ra + invA;
1135
+ data[i + 2] = data[i + 2] * ra + invA;
1024
1136
  }
1025
1137
  }
1026
1138
  }
1027
-
1028
- return imageData;
1029
1139
  }
1030
1140
 
1031
1141
  function cmykToRgb(cmyk: PixelData, rgb: PixelData, reverseAlpha: boolean) {
@@ -1070,186 +1180,293 @@ function indexedToRgb(indexed: PixelData, rgb: PixelData, palette: RGB[]) {
1070
1180
  }
1071
1181
  }
1072
1182
 
1073
- function verifyCompatible(a: PixelArray, b: PixelArray) {
1074
- if ((a.byteLength / a.length) !== (b.byteLength / b.length)) {
1075
- throw new Error('Invalid array types');
1183
+ // number of bytes used to store single channel value, 1-bit data is handled as bytes
1184
+ function bytesPerValue(bitDepth: number) {
1185
+ switch (bitDepth) {
1186
+ case 1:
1187
+ case 8: return 1;
1188
+ case 16: return 2;
1189
+ case 32: return 4;
1190
+ default: throw new Error(`Invalid bitDepth (${bitDepth})`);
1076
1191
  }
1077
1192
  }
1078
1193
 
1079
- function bytesToArray(bytes: Uint8Array, bitDepth: number) {
1080
- if (bitDepth === 8) {
1081
- return bytes;
1082
- } else if (bitDepth === 16) {
1083
- // PSD files store 16-bit channel data in big-endian byte order.
1084
- // Swap each pair of bytes so that Uint16Array (native-endian) reads the correct values.
1085
- for (let i = 0; i < bytes.byteLength; i += 2) {
1086
- const tmp = bytes[i];
1087
- bytes[i] = bytes[i + 1];
1088
- bytes[i + 1] = tmp;
1089
- }
1090
- if (bytes.byteOffset % 2) {
1091
- const result = new Uint16Array(bytes.byteLength / 2);
1092
- new Uint8Array(result.buffer, result.byteOffset, result.byteLength).set(bytes);
1093
- return result;
1094
- } else {
1095
- return new Uint16Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 2);
1096
- }
1097
- } else if (bitDepth === 32) {
1098
- if (bytes.byteOffset % 4) {
1099
- const result = new Float32Array(bytes.byteLength / 4);
1100
- new Uint8Array(result.buffer, result.byteOffset, result.byteLength).set(bytes);
1101
- return result;
1102
- } else {
1103
- return new Float32Array(bytes.buffer, bytes.byteOffset, bytes.byteLength / 4);
1104
- }
1105
- } else {
1106
- throw new Error(`Invalid bitDepth (${bitDepth})`)
1194
+ function verifyArrayType(data: PixelArray, bytesPerValue: number) {
1195
+ if (data.BYTES_PER_ELEMENT !== bytesPerValue) {
1196
+ throw new Error('Invalid array types');
1107
1197
  }
1108
1198
  }
1109
1199
 
1110
- function copyChannelToPixelData(pixelData: PixelData, channel: PixelArray, offset: number, step: number) {
1111
- verifyCompatible(pixelData.data, channel);
1112
- const size = pixelData.width * pixelData.height;
1200
+ // NOTE: `buffer` may alias input file data, it must not be modified here
1201
+ function readDataRaw(buffer: Uint8Array, pixelData: PixelData | undefined, bitDepth: number, step: number, offset: number) {
1202
+ const bpv = bytesPerValue(bitDepth);
1203
+
1204
+ if (!pixelData || offset < 0 || offset >= step) return;
1205
+
1113
1206
  const data = pixelData.data;
1114
- for (let i = 0, p = offset | 0; i < size; i++, p = (p + step) | 0) {
1115
- data[p] = channel[i];
1116
- }
1117
- }
1207
+ verifyArrayType(data, bpv);
1208
+ const size = Math.min(pixelData.width * pixelData.height, Math.floor(buffer.byteLength / bpv)) | 0;
1118
1209
 
1119
- function readDataRaw(buffer: Uint8Array, pixelData: PixelData | undefined, bitDepth: number, step: number, offset: number) {
1120
- if (bitDepth == 32) {
1121
- for (let i = 0; i < buffer.byteLength; i += 4) {
1122
- const a = buffer[i + 0];
1123
- const b = buffer[i + 1];
1124
- const c = buffer[i + 2];
1125
- const d = buffer[i + 3];
1126
- buffer[i + 0] = d;
1127
- buffer[i + 1] = c;
1128
- buffer[i + 2] = b;
1129
- buffer[i + 3] = a;
1210
+ if (bpv === 1) {
1211
+ for (let i = 0, p = offset | 0; i < size; i++, p = (p + step) | 0) {
1212
+ data[p] = buffer[i];
1130
1213
  }
1131
- }
1132
-
1133
- const array = bytesToArray(buffer, bitDepth);
1214
+ } else if (bpv === 2) {
1215
+ for (let i = 0, j = 0, p = offset | 0; i < size; i++, j += 2, p = (p + step) | 0) {
1216
+ data[p] = (buffer[j] << 8) | buffer[j + 1];
1217
+ }
1218
+ } else {
1219
+ const view = new DataView(buffer.buffer, buffer.byteOffset, buffer.byteLength);
1134
1220
 
1135
- if (pixelData && offset < step) {
1136
- copyChannelToPixelData(pixelData, array, offset, step);
1221
+ for (let i = 0, j = 0, p = offset | 0; i < size; i++, j += 4, p = (p + step) | 0) {
1222
+ data[p] = view.getFloat32(j, false);
1223
+ }
1137
1224
  }
1138
1225
  }
1139
1226
 
1140
- function decodePredicted(data: Uint8Array | Uint16Array, width: number, height: number, mod: number) {
1227
+ function decodePredicted(data: Uint8Array, width: number, height: number) {
1141
1228
  for (let y = 0; y < height; y++) {
1142
1229
  const offset = y * width;
1143
1230
 
1144
1231
  for (let x = 1, o = offset + 1; x < width; x++, o++) {
1145
- data[o] = (data[o - 1] + data[o]) % mod;
1232
+ data[o] = data[o - 1] + data[o]; // Uint8Array wraps values on assignment
1146
1233
  }
1147
1234
  }
1148
1235
  }
1149
1236
 
1150
- export function readDataZip(compressed: Uint8Array, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number, offset: number, prediction: boolean) {
1151
- const decompressed = inflateSync(compressed);
1237
+ const zipOverflow = new Error('Decompressed data exceeds expected size');
1152
1238
 
1153
- if (pixelData && offset < step) {
1154
- const array = bytesToArray(decompressed, bitDepth);
1239
+ // inflates data, stopping when output exceeds expected size (protects against zip bombs)
1240
+ function inflateLimited(compressed: Uint8Array, expectedSize: number, reader: PsdReader | undefined) {
1241
+ const output = new Uint8Array(expectedSize);
1242
+ let position = 0;
1243
+ let overflow = false;
1155
1244
 
1156
- if (bitDepth === 8) {
1157
- if (prediction) decodePredicted(decompressed, width, height, 0x100);
1158
- copyChannelToPixelData(pixelData, decompressed, offset, step);
1159
- } else if (bitDepth === 16) {
1160
- if (prediction) decodePredicted(array as Uint16Array, width, height, 0x10000);
1161
- copyChannelToPixelData(pixelData, array, offset, step);
1162
- } else if (bitDepth === 32) {
1163
- if (prediction) decodePredicted(decompressed, width * 4, height, 0x100);
1245
+ const inflator = new Inflate({ chunkSize: Math.max(1024, Math.min(expectedSize, 0x10000)) });
1246
+ inflator.onData = (chunk: any) => {
1247
+ const data = chunk as Uint8Array;
1248
+ const count = Math.min(data.length, expectedSize - position);
1249
+ if (count > 0) output.set(count === data.length ? data : data.subarray(0, count), position);
1250
+ position += count;
1164
1251
 
1165
- let di = offset;
1166
- const dst = new Uint32Array(pixelData.data.buffer, pixelData.data.byteOffset, pixelData.data.length);
1252
+ if (count < data.length) {
1253
+ overflow = true;
1254
+ throw zipOverflow;
1255
+ }
1256
+ };
1257
+ inflator.onEnd = (status: number) => {
1258
+ // default handler collects all the chunks into result, we only need the error status
1259
+ inflator.err = status;
1260
+ inflator.msg = (inflator as any).strm?.msg || '';
1261
+ };
1262
+
1263
+ try {
1264
+ inflator.push(compressed, true);
1265
+ } catch (e) {
1266
+ if (e !== zipOverflow) throw e;
1267
+ }
1167
1268
 
1168
- for (let y = 0; y < height; y++) {
1169
- let a = width * 4 * y;
1269
+ if (overflow) {
1270
+ if (reader) warnOrThrow(reader, zipOverflow.message);
1271
+ } else if (inflator.err) {
1272
+ throw new Error(`Invalid zip data: ${inflator.msg}`);
1273
+ }
1170
1274
 
1171
- for (let x = 0; x < width; x++, a++, di += step) {
1172
- const b = a + width;
1173
- const c = b + width;
1174
- const d = c + width;
1175
- dst[di] = ((decompressed[a] << 24) | (decompressed[b] << 16) | (decompressed[c] << 8) | decompressed[d]) >>> 0;
1275
+ return output;
1276
+ }
1277
+
1278
+ export function readDataZip(
1279
+ compressed: Uint8Array, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number,
1280
+ offset: number, prediction: boolean, reader?: PsdReader
1281
+ ) {
1282
+ const bpv = bytesPerValue(bitDepth);
1283
+
1284
+ if (!pixelData || offset < 0 || offset >= step) return;
1285
+
1286
+ const data = pixelData.data;
1287
+ verifyArrayType(data, bpv);
1288
+
1289
+ const expectedSize = width * height * bpv;
1290
+ if (reader) consumeMemory(reader, expectedSize);
1291
+
1292
+ try {
1293
+ const decompressed = inflateLimited(compressed, expectedSize, reader);
1294
+
1295
+ if (bpv === 1) {
1296
+ for (let y = 0, i = 0; y < height; y++) {
1297
+ let prev = 0;
1298
+
1299
+ for (let x = 0, p = offset + y * width * step; x < width; x++, i++, p += step) {
1300
+ let v = decompressed[i];
1301
+ if (prediction) v = prev = (prev + v) & 0xff;
1302
+ data[p] = v;
1303
+ }
1304
+ }
1305
+ } else if (bpv === 2) {
1306
+ for (let y = 0, i = 0; y < height; y++) {
1307
+ let prev = 0;
1308
+
1309
+ for (let x = 0, p = offset + y * width * step; x < width; x++, i += 2, p += step) {
1310
+ let v = (decompressed[i] << 8) | decompressed[i + 1];
1311
+ if (prediction) v = prev = (prev + v) & 0xffff;
1312
+ data[p] = v;
1176
1313
  }
1177
1314
  }
1178
1315
  } else {
1179
- throw new Error('Invalid bitDepth');
1316
+ const dst = new Uint32Array(data.buffer, data.byteOffset, data.length);
1317
+
1318
+ if (prediction) {
1319
+ // bytes are delta encoded per row and stored in planar order (all 1st bytes, all 2nd bytes, ...)
1320
+ decodePredicted(decompressed, width * 4, height);
1321
+
1322
+ for (let y = 0, di = offset; y < height; y++) {
1323
+ let a = width * 4 * y;
1324
+
1325
+ for (let x = 0; x < width; x++, a++, di += step) {
1326
+ const b = a + width;
1327
+ const c = b + width;
1328
+ const d = c + width;
1329
+ dst[di] = ((decompressed[a] << 24) | (decompressed[b] << 16) | (decompressed[c] << 8) | decompressed[d]) >>> 0;
1330
+ }
1331
+ }
1332
+ } else {
1333
+ const view = new DataView(decompressed.buffer, decompressed.byteOffset, decompressed.byteLength);
1334
+
1335
+ for (let i = 0, j = 0, di = offset, size = width * height; i < size; i++, j += 4, di += step) {
1336
+ dst[di] = view.getUint32(j, false);
1337
+ }
1338
+ }
1180
1339
  }
1340
+ } finally {
1341
+ if (reader) recoverMemory(reader, expectedSize);
1181
1342
  }
1182
1343
  }
1183
1344
 
1184
- export function readDataRLE(reader: PsdReader, pixelData: PixelData | undefined, width: number, height: number, _bitDepth: number, step: number, offsets: number[], large: boolean) {
1185
- const data = pixelData && pixelData.data;
1186
- let lengths: Uint16Array | Uint32Array;
1345
+ // decodes single PackBits row, returns number of decoded values
1346
+ function decodeRLERow(src: Uint8Array, i: number, end: number, dst: PixelArray, p: number, step: number, count: number) {
1347
+ let x = 0;
1187
1348
 
1188
- if (large) {
1189
- consumeMemory(reader, offsets.length * height * 4);
1190
- lengths = new Uint32Array(offsets.length * height);
1349
+ while (i < end && x < count) {
1350
+ const header = src[i++];
1191
1351
 
1192
- for (let o = 0, li = 0; o < offsets.length; o++) {
1193
- for (let y = 0; y < height; y++, li++) {
1194
- lengths[li] = readUint32(reader);
1352
+ if (header > 128) {
1353
+ if (i >= end) break;
1354
+
1355
+ const value = src[i++];
1356
+ let n = 257 - header;
1357
+ if (n > count - x) n = count - x;
1358
+ x += n;
1359
+
1360
+ for (; n > 0; n--, p += step) {
1361
+ dst[p] = value;
1362
+ }
1363
+ } else if (header < 128) {
1364
+ let n = header + 1;
1365
+ if (n > count - x) n = count - x;
1366
+ if (n > end - i) n = end - i;
1367
+ x += n;
1368
+
1369
+ for (; n > 0; n--, p += step) {
1370
+ dst[p] = src[i++];
1195
1371
  }
1372
+ } else {
1373
+ // ignore 128
1374
+ }
1375
+ }
1376
+
1377
+ return x;
1378
+ }
1379
+
1380
+ // converts big-endian 16/32-bit values from bytes and writes them to `data` starting at `p` with `step`
1381
+ function scatterValues(bytes: Uint8Array, count: number, bpv: number, data: PixelArray, p: number, step: number) {
1382
+ if (bpv === 2) {
1383
+ for (let x = 0, i = 0; x < count; x++, i += 2, p += step) {
1384
+ data[p] = (bytes[i] << 8) | bytes[i + 1];
1196
1385
  }
1197
1386
  } else {
1198
- consumeMemory(reader, offsets.length * height * 2);
1199
- lengths = new Uint16Array(offsets.length * height);
1387
+ const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
1200
1388
 
1201
- for (let o = 0, li = 0; o < offsets.length; o++) {
1202
- for (let y = 0; y < height; y++, li++) {
1203
- lengths[li] = readUint16(reader);
1204
- }
1389
+ for (let x = 0, i = 0; x < count; x++, i += 4, p += step) {
1390
+ data[p] = view.getFloat32(i, false);
1205
1391
  }
1206
1392
  }
1393
+ }
1207
1394
 
1208
- // if (bitDepth !== 1 && bitDepth !== 8) throw new Error(`Invalid bit depth (${bitDepth})`);
1395
+ // decodes RLE rows of single channel, each row starts at the beginning of the image row
1396
+ function decodeRLEChannel(
1397
+ src: Uint8Array, lengths: Uint16Array | Uint32Array, li: number, pos: number, width: number, height: number,
1398
+ data: PixelArray, offset: number, step: number, bpv: number, row: Uint8Array | undefined
1399
+ ) {
1400
+ const srcEnd = src.length;
1401
+ const rowSize = width * bpv;
1209
1402
 
1210
- const extraLimit = (step - 1) | 0; // 3 for rgb, 4 for cmyk
1403
+ for (let y = 0; y < height; y++, li++) {
1404
+ const rowStart = pos < srcEnd ? pos : srcEnd;
1405
+ pos += lengths[li];
1406
+ const rowEnd = pos < srcEnd ? pos : srcEnd;
1211
1407
 
1212
- for (let c = 0, li = 0; c < offsets.length; c++) {
1213
- const offset = offsets[c] | 0;
1214
- const extra = c > extraLimit || offset > extraLimit;
1408
+ if (rowStart >= rowEnd) continue;
1215
1409
 
1216
- if (!data || extra) {
1217
- for (let y = 0; y < height; y++, li++) {
1218
- skipBytes(reader, lengths[li]);
1219
- }
1410
+ if (bpv === 1) {
1411
+ decodeRLERow(src, rowStart, rowEnd, data, offset + y * width * step, step, width);
1220
1412
  } else {
1221
- for (let y = 0, p = offset | 0; y < height; y++, li++) {
1222
- const length = lengths[li];
1223
- const buffer = readBytes(reader, length);
1224
-
1225
- for (let i = 0, x = 0; i < length; i++) {
1226
- let header = buffer[i];
1227
-
1228
- if (header > 128) {
1229
- const value = buffer[++i];
1230
- header = (256 - header) | 0;
1231
-
1232
- for (let j = 0; j <= header && x < width; j = (j + 1) | 0, x = (x + 1) | 0) {
1233
- data[p] = value;
1234
- p = (p + step) | 0;
1235
- }
1236
- } else if (header < 128) {
1237
- for (let j = 0; j <= header && x < width; j = (j + 1) | 0, x = (x + 1) | 0) {
1238
- data[p] = buffer[++i];
1239
- p = (p + step) | 0;
1240
- }
1241
- } else {
1242
- // ignore 128
1243
- }
1413
+ const decoded = decodeRLERow(src, rowStart, rowEnd, row!, 0, 1, rowSize);
1414
+ scatterValues(row!, Math.floor(decoded / bpv), bpv, data, offset + y * width * step, step);
1415
+ }
1416
+ }
1417
+ }
1244
1418
 
1245
- // This showed up on some images from non-photoshop programs, ignoring it seems to work just fine.
1246
- // if (i >= length) throw new Error(`Invalid RLE data: exceeded buffer size ${i}/${length}`);
1247
- }
1419
+ export function readDataRLE(reader: PsdReader, pixelData: PixelData | undefined, width: number, height: number, bitDepth: number, step: number, offsets: number[], large: boolean) {
1420
+ const data = pixelData && pixelData.data;
1421
+ const rows = offsets.length * height;
1422
+ const lengthSize = large ? 4 : 2;
1423
+
1424
+ consumeMemory(reader, rows * lengthSize);
1425
+
1426
+ try {
1427
+ if ((reader.offset + rows * lengthSize) > reader.view.byteLength) {
1428
+ throw new Error('RLE row lengths exceed buffer length');
1429
+ }
1430
+
1431
+ const lengths = large ? new Uint32Array(rows) : new Uint16Array(rows);
1432
+ let total = 0;
1433
+
1434
+ if (large) {
1435
+ for (let i = 0; i < rows; i++) total += (lengths[i] = readUint32(reader));
1436
+ } else {
1437
+ for (let i = 0; i < rows; i++) total += (lengths[i] = readUint16(reader));
1438
+ }
1439
+
1440
+ const start = reader.offset;
1441
+ const srcEnd = reader.view.byteLength;
1442
+
1443
+ if (total > (srcEnd - start)) {
1444
+ // broken or truncated file, decode only data that is available
1445
+ warnOrThrow(reader, 'RLE data exceeds buffer length');
1446
+ }
1447
+
1448
+ const bpv = bytesPerValue(bitDepth);
1449
+ if (data) verifyArrayType(data, bpv);
1450
+
1451
+ const src = new Uint8Array(reader.view.buffer, reader.view.byteOffset, srcEnd);
1452
+ const row = (data && bpv > 1) ? new Uint8Array(width * bpv) : undefined;
1453
+ let pos = start;
1454
+
1455
+ for (let c = 0, li = 0; c < offsets.length; c++, li += height) {
1456
+ const offset = offsets[c] | 0;
1457
+ const channelStart = pos;
1458
+
1459
+ for (let y = 0; y < height; y++) pos += lengths[li + y];
1460
+
1461
+ if (data && offset >= 0 && offset < step) {
1462
+ decodeRLEChannel(src, lengths, li, channelStart, width, height, data, offset, step, bpv, row);
1248
1463
  }
1249
1464
  }
1250
- }
1251
1465
 
1252
- recoverMemory(reader, lengths.byteLength);
1466
+ reader.offset = pos;
1467
+ } finally {
1468
+ recoverMemory(reader, rows * lengthSize);
1469
+ }
1253
1470
  }
1254
1471
 
1255
1472
  export function readSection<T>(
@@ -1314,8 +1531,8 @@ export function readColor(reader: PsdReader): Color {
1314
1531
  const l = readInt16(reader) / 10000;
1315
1532
  const ta = readInt16(reader);
1316
1533
  const tb = readInt16(reader);
1317
- const a = ta < 0 ? (ta / 12800) : (ta / 12700);
1318
- const b = tb < 0 ? (tb / 12800) : (tb / 12700);
1534
+ const a = normalizeLabAB(ta, 100);
1535
+ const b = normalizeLabAB(tb, 100);
1319
1536
  skipBytes(reader, 2);
1320
1537
  return { l, a, b };
1321
1538
  }