@loaders.gl/parquet 4.0.0-beta.2 → 4.0.0-beta.4

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 (728) hide show
  1. package/dist/buffer-polyfill/buffer-polyfill.browser.d.ts.map +1 -0
  2. package/dist/buffer-polyfill/buffer-polyfill.browser.js +8 -0
  3. package/dist/buffer-polyfill/buffer-polyfill.browser.js.map +1 -0
  4. package/dist/buffer-polyfill/buffer-polyfill.node.d.ts.map +1 -0
  5. package/dist/{esm/buffer-polyfill → buffer-polyfill}/buffer-polyfill.node.js +2 -1
  6. package/dist/buffer-polyfill/buffer-polyfill.node.js.map +1 -0
  7. package/dist/buffer-polyfill/buffer.d.ts.map +1 -0
  8. package/dist/{esm/buffer-polyfill → buffer-polyfill}/buffer.js +31 -32
  9. package/dist/buffer-polyfill/buffer.js.map +1 -0
  10. package/dist/buffer-polyfill/index.d.ts.map +1 -0
  11. package/dist/buffer-polyfill/index.js +4 -0
  12. package/dist/buffer-polyfill/index.js.map +1 -0
  13. package/dist/buffer-polyfill/install-buffer-polyfill.d.ts +3 -0
  14. package/dist/buffer-polyfill/install-buffer-polyfill.d.ts.map +1 -0
  15. package/dist/buffer-polyfill/install-buffer-polyfill.js +3 -0
  16. package/dist/buffer-polyfill/install-buffer-polyfill.js.map +1 -0
  17. package/dist/constants.d.ts.map +1 -0
  18. package/dist/constants.js.map +1 -0
  19. package/dist/index.cjs +7890 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +25 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/lib/arrow/convert-columns-to-row-group.d.ts.map +1 -0
  24. package/dist/lib/arrow/convert-columns-to-row-group.js.map +1 -0
  25. package/dist/lib/arrow/convert-row-group-to-columns.d.ts.map +1 -0
  26. package/dist/lib/arrow/convert-row-group-to-columns.js.map +1 -0
  27. package/dist/lib/arrow/convert-schema-from-parquet.d.ts.map +1 -0
  28. package/dist/lib/arrow/convert-schema-from-parquet.js.map +1 -0
  29. package/dist/lib/arrow/convert-schema-to-parquet.d.ts.map +1 -0
  30. package/dist/lib/arrow/convert-schema-to-parquet.js.map +1 -0
  31. package/dist/lib/geo/decode-geo-column.d.ts.map +1 -0
  32. package/dist/{esm/lib → lib}/geo/decode-geo-column.js +1 -1
  33. package/dist/lib/geo/decode-geo-column.js.map +1 -0
  34. package/dist/lib/geo/decode-geo-metadata.d.ts.map +1 -0
  35. package/dist/{esm/lib → lib}/geo/decode-geo-metadata.js +7 -7
  36. package/dist/lib/geo/decode-geo-metadata.js.map +1 -0
  37. package/dist/lib/geo/geoparquet-metadata-schema.d.ts.map +1 -0
  38. package/dist/lib/geo/geoparquet-metadata-schema.js.map +1 -0
  39. package/dist/lib/parsers/get-parquet-schema.d.ts.map +1 -0
  40. package/dist/{esm/lib → lib}/parsers/get-parquet-schema.js +2 -2
  41. package/dist/lib/parsers/get-parquet-schema.js.map +1 -0
  42. package/dist/lib/parsers/parse-parquet-to-columns.d.ts.map +1 -0
  43. package/dist/{esm/lib → lib}/parsers/parse-parquet-to-columns.js +6 -6
  44. package/dist/lib/parsers/parse-parquet-to-columns.js.map +1 -0
  45. package/dist/lib/parsers/parse-parquet-to-rows.d.ts.map +1 -0
  46. package/dist/{esm/lib → lib}/parsers/parse-parquet-to-rows.js +6 -6
  47. package/dist/lib/parsers/parse-parquet-to-rows.js.map +1 -0
  48. package/dist/lib/wasm/encode-parquet-wasm.d.ts.map +1 -0
  49. package/dist/{esm/lib → lib}/wasm/encode-parquet-wasm.js +1 -1
  50. package/dist/lib/wasm/encode-parquet-wasm.js.map +1 -0
  51. package/dist/lib/wasm/load-wasm/index.d.ts.map +1 -0
  52. package/dist/lib/wasm/load-wasm/index.js +2 -0
  53. package/dist/lib/wasm/load-wasm/index.js.map +1 -0
  54. package/dist/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +1 -0
  55. package/dist/lib/wasm/load-wasm/load-wasm-browser.js.map +1 -0
  56. package/dist/lib/wasm/load-wasm/load-wasm-node.d.ts.map +1 -0
  57. package/dist/lib/wasm/load-wasm/load-wasm-node.js.map +1 -0
  58. package/dist/lib/wasm/parse-parquet-wasm.d.ts.map +1 -0
  59. package/dist/{esm/lib → lib}/wasm/parse-parquet-wasm.js +1 -1
  60. package/dist/lib/wasm/parse-parquet-wasm.js.map +1 -0
  61. package/dist/{src/parquet-loader.d.ts → parquet-loader.d.ts} +2 -1
  62. package/dist/parquet-loader.d.ts.map +1 -0
  63. package/dist/{esm/parquet-loader.js → parquet-loader.js} +5 -2
  64. package/dist/parquet-loader.js.map +1 -0
  65. package/dist/parquet-wasm-loader.d.ts.map +1 -0
  66. package/dist/{esm/parquet-wasm-loader.js → parquet-wasm-loader.js} +1 -1
  67. package/dist/parquet-wasm-loader.js.map +1 -0
  68. package/dist/parquet-wasm-writer.d.ts.map +1 -0
  69. package/dist/{esm/parquet-wasm-writer.js → parquet-wasm-writer.js} +2 -2
  70. package/dist/parquet-wasm-writer.js.map +1 -0
  71. package/dist/parquet-writer.d.ts.map +1 -0
  72. package/dist/{esm/parquet-writer.js → parquet-writer.js} +1 -1
  73. package/dist/parquet-writer.js.map +1 -0
  74. package/dist/parquetjs/codecs/declare.d.ts.map +1 -0
  75. package/dist/parquetjs/codecs/declare.js.map +1 -0
  76. package/dist/parquetjs/codecs/dictionary.d.ts.map +1 -0
  77. package/dist/{esm/parquetjs → parquetjs}/codecs/dictionary.js +1 -1
  78. package/dist/parquetjs/codecs/dictionary.js.map +1 -0
  79. package/dist/parquetjs/codecs/index.d.ts.map +1 -0
  80. package/dist/{esm/parquetjs → parquetjs}/codecs/index.js +4 -4
  81. package/dist/parquetjs/codecs/index.js.map +1 -0
  82. package/dist/parquetjs/codecs/plain.d.ts.map +1 -0
  83. package/dist/{esm/parquetjs → parquetjs}/codecs/plain.js +3 -3
  84. package/dist/parquetjs/codecs/plain.js.map +1 -0
  85. package/dist/parquetjs/codecs/rle.d.ts.map +1 -0
  86. package/dist/{esm/parquetjs → parquetjs}/codecs/rle.js +1 -1
  87. package/dist/parquetjs/codecs/rle.js.map +1 -0
  88. package/dist/parquetjs/compression.d.ts.map +1 -0
  89. package/dist/{esm/parquetjs → parquetjs}/compression.js +3 -3
  90. package/dist/parquetjs/compression.js.map +1 -0
  91. package/dist/parquetjs/encoder/parquet-encoder.d.ts.map +1 -0
  92. package/dist/{esm/parquetjs → parquetjs}/encoder/parquet-encoder.js +21 -22
  93. package/dist/parquetjs/encoder/parquet-encoder.js.map +1 -0
  94. package/dist/parquetjs/modules.d.js +2 -0
  95. package/dist/parquetjs/modules.d.js.map +1 -0
  96. package/dist/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +1 -0
  97. package/dist/parquetjs/parquet-thrift/BoundaryOrder.js.map +1 -0
  98. package/dist/parquetjs/parquet-thrift/BsonType.d.ts.map +1 -0
  99. package/dist/parquetjs/parquet-thrift/BsonType.js.map +1 -0
  100. package/dist/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +1 -0
  101. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnChunk.js +8 -9
  102. package/dist/parquetjs/parquet-thrift/ColumnChunk.js.map +1 -0
  103. package/dist/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +1 -0
  104. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnIndex.js +5 -6
  105. package/dist/parquetjs/parquet-thrift/ColumnIndex.js.map +1 -0
  106. package/dist/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +1 -0
  107. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnMetaData.js +16 -17
  108. package/dist/parquetjs/parquet-thrift/ColumnMetaData.js.map +1 -0
  109. package/dist/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +1 -0
  110. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ColumnOrder.js +2 -3
  111. package/dist/parquetjs/parquet-thrift/ColumnOrder.js.map +1 -0
  112. package/dist/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +1 -0
  113. package/dist/parquetjs/parquet-thrift/CompressionCodec.js.map +1 -0
  114. package/dist/parquetjs/parquet-thrift/ConvertedType.d.ts.map +1 -0
  115. package/dist/parquetjs/parquet-thrift/ConvertedType.js.map +1 -0
  116. package/dist/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +1 -0
  117. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DataPageHeader.js +6 -7
  118. package/dist/parquetjs/parquet-thrift/DataPageHeader.js.map +1 -0
  119. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +1 -0
  120. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DataPageHeaderV2.js +9 -10
  121. package/dist/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +1 -0
  122. package/dist/parquetjs/parquet-thrift/DateType.d.ts.map +1 -0
  123. package/dist/parquetjs/parquet-thrift/DateType.js.map +1 -0
  124. package/dist/parquetjs/parquet-thrift/DecimalType.d.ts.map +1 -0
  125. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DecimalType.js +2 -3
  126. package/dist/parquetjs/parquet-thrift/DecimalType.js.map +1 -0
  127. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +1 -0
  128. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DictionaryPageHeader.js +3 -4
  129. package/dist/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +1 -0
  130. package/dist/parquetjs/parquet-thrift/Encoding.d.ts.map +1 -0
  131. package/dist/parquetjs/parquet-thrift/Encoding.js.map +1 -0
  132. package/dist/parquetjs/parquet-thrift/EnumType.d.ts.map +1 -0
  133. package/dist/parquetjs/parquet-thrift/EnumType.js.map +1 -0
  134. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +1 -0
  135. package/dist/parquetjs/parquet-thrift/FieldRepetitionType.js.map +1 -0
  136. package/dist/parquetjs/parquet-thrift/FileMetaData.d.ts.map +1 -0
  137. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/FileMetaData.js +11 -12
  138. package/dist/parquetjs/parquet-thrift/FileMetaData.js.map +1 -0
  139. package/dist/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +1 -0
  140. package/dist/parquetjs/parquet-thrift/IndexPageHeader.js.map +1 -0
  141. package/dist/parquetjs/parquet-thrift/IntType.d.ts.map +1 -0
  142. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/IntType.js +2 -3
  143. package/dist/parquetjs/parquet-thrift/IntType.js.map +1 -0
  144. package/dist/parquetjs/parquet-thrift/JsonType.d.ts.map +1 -0
  145. package/dist/parquetjs/parquet-thrift/JsonType.js.map +1 -0
  146. package/dist/parquetjs/parquet-thrift/KeyValue.d.ts.map +1 -0
  147. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/KeyValue.js +2 -3
  148. package/dist/parquetjs/parquet-thrift/KeyValue.js.map +1 -0
  149. package/dist/parquetjs/parquet-thrift/ListType.d.ts.map +1 -0
  150. package/dist/parquetjs/parquet-thrift/ListType.js.map +1 -0
  151. package/dist/parquetjs/parquet-thrift/LogicalType.d.ts.map +1 -0
  152. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/LogicalType.js +26 -27
  153. package/dist/parquetjs/parquet-thrift/LogicalType.js.map +1 -0
  154. package/dist/parquetjs/parquet-thrift/MapType.d.ts.map +1 -0
  155. package/dist/parquetjs/parquet-thrift/MapType.js.map +1 -0
  156. package/dist/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +1 -0
  157. package/dist/parquetjs/parquet-thrift/MicroSeconds.js.map +1 -0
  158. package/dist/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +1 -0
  159. package/dist/parquetjs/parquet-thrift/MilliSeconds.js.map +1 -0
  160. package/dist/parquetjs/parquet-thrift/NullType.d.ts.map +1 -0
  161. package/dist/parquetjs/parquet-thrift/NullType.js.map +1 -0
  162. package/dist/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +1 -0
  163. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/OffsetIndex.js +2 -3
  164. package/dist/parquetjs/parquet-thrift/OffsetIndex.js.map +1 -0
  165. package/dist/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +1 -0
  166. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageEncodingStats.js +3 -4
  167. package/dist/parquetjs/parquet-thrift/PageEncodingStats.js.map +1 -0
  168. package/dist/parquetjs/parquet-thrift/PageHeader.d.ts.map +1 -0
  169. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageHeader.js +12 -13
  170. package/dist/parquetjs/parquet-thrift/PageHeader.js.map +1 -0
  171. package/dist/parquetjs/parquet-thrift/PageLocation.d.ts.map +1 -0
  172. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageLocation.js +3 -4
  173. package/dist/parquetjs/parquet-thrift/PageLocation.js.map +1 -0
  174. package/dist/parquetjs/parquet-thrift/PageType.d.ts.map +1 -0
  175. package/dist/parquetjs/parquet-thrift/PageType.js.map +1 -0
  176. package/dist/parquetjs/parquet-thrift/RowGroup.d.ts.map +1 -0
  177. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/RowGroup.js +6 -7
  178. package/dist/parquetjs/parquet-thrift/RowGroup.js.map +1 -0
  179. package/dist/parquetjs/parquet-thrift/SchemaElement.d.ts.map +1 -0
  180. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/SchemaElement.js +11 -12
  181. package/dist/parquetjs/parquet-thrift/SchemaElement.js.map +1 -0
  182. package/dist/parquetjs/parquet-thrift/SortingColumn.d.ts.map +1 -0
  183. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/SortingColumn.js +3 -4
  184. package/dist/parquetjs/parquet-thrift/SortingColumn.js.map +1 -0
  185. package/dist/parquetjs/parquet-thrift/Statistics.d.ts.map +1 -0
  186. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Statistics.js +6 -7
  187. package/dist/parquetjs/parquet-thrift/Statistics.js.map +1 -0
  188. package/dist/parquetjs/parquet-thrift/StringType.d.ts.map +1 -0
  189. package/dist/parquetjs/parquet-thrift/StringType.js.map +1 -0
  190. package/dist/parquetjs/parquet-thrift/TimeType.d.ts.map +1 -0
  191. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimeType.js +3 -4
  192. package/dist/parquetjs/parquet-thrift/TimeType.js.map +1 -0
  193. package/dist/parquetjs/parquet-thrift/TimeUnit.d.ts.map +1 -0
  194. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimeUnit.js +4 -5
  195. package/dist/parquetjs/parquet-thrift/TimeUnit.js.map +1 -0
  196. package/dist/parquetjs/parquet-thrift/TimestampType.d.ts.map +1 -0
  197. package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TimestampType.js +3 -4
  198. package/dist/parquetjs/parquet-thrift/TimestampType.js.map +1 -0
  199. package/dist/parquetjs/parquet-thrift/Type.d.ts.map +1 -0
  200. package/dist/parquetjs/parquet-thrift/Type.js.map +1 -0
  201. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +1 -0
  202. package/dist/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +1 -0
  203. package/dist/parquetjs/parquet-thrift/UUIDType.d.ts.map +1 -0
  204. package/dist/parquetjs/parquet-thrift/UUIDType.js.map +1 -0
  205. package/dist/parquetjs/parquet-thrift/index.d.ts.map +1 -0
  206. package/dist/parquetjs/parquet-thrift/index.js +46 -0
  207. package/dist/parquetjs/parquet-thrift/index.js.map +1 -0
  208. package/dist/parquetjs/parser/decoders.d.ts.map +1 -0
  209. package/dist/{esm/parquetjs → parquetjs}/parser/decoders.js +8 -8
  210. package/dist/parquetjs/parser/decoders.js.map +1 -0
  211. package/dist/parquetjs/parser/parquet-reader.d.ts.map +1 -0
  212. package/dist/{esm/parquetjs → parquetjs}/parser/parquet-reader.js +26 -22
  213. package/dist/parquetjs/parser/parquet-reader.js.map +1 -0
  214. package/dist/parquetjs/schema/declare.d.ts.map +1 -0
  215. package/dist/{esm/parquetjs → parquetjs}/schema/declare.js +2 -3
  216. package/dist/parquetjs/schema/declare.js.map +1 -0
  217. package/dist/parquetjs/schema/schema.d.ts.map +1 -0
  218. package/dist/{esm/parquetjs → parquetjs}/schema/schema.js +10 -11
  219. package/dist/parquetjs/schema/schema.js.map +1 -0
  220. package/dist/parquetjs/schema/shred.d.ts.map +1 -0
  221. package/dist/{esm/parquetjs → parquetjs}/schema/shred.js +4 -4
  222. package/dist/parquetjs/schema/shred.js.map +1 -0
  223. package/dist/parquetjs/schema/types.d.ts.map +1 -0
  224. package/dist/{esm/parquetjs → parquetjs}/schema/types.js +20 -20
  225. package/dist/parquetjs/schema/types.js.map +1 -0
  226. package/dist/{src/parquetjs → parquetjs}/utils/file-utils.d.ts +2 -1
  227. package/dist/parquetjs/utils/file-utils.d.ts.map +1 -0
  228. package/dist/{esm/parquetjs → parquetjs}/utils/file-utils.js +1 -1
  229. package/dist/parquetjs/utils/file-utils.js.map +1 -0
  230. package/dist/parquetjs/utils/read-utils.d.ts.map +1 -0
  231. package/dist/{esm/parquetjs → parquetjs}/utils/read-utils.js +3 -4
  232. package/dist/parquetjs/utils/read-utils.js.map +1 -0
  233. package/dist/workers/parquet-worker.d.ts.map +1 -0
  234. package/dist/{esm/workers → workers}/parquet-worker.js +1 -1
  235. package/dist/workers/parquet-worker.js.map +1 -0
  236. package/package.json +25 -14
  237. package/src/buffer-polyfill/buffer-polyfill.browser.ts +6 -0
  238. package/src/buffer-polyfill/buffer-polyfill.node.ts +2 -0
  239. package/src/lib/parsers/parse-parquet-to-columns.ts +2 -2
  240. package/src/lib/parsers/parse-parquet-to-rows.ts +2 -2
  241. package/src/parquet-loader.ts +9 -1
  242. package/src/parquetjs/parser/parquet-reader.ts +10 -5
  243. package/src/parquetjs/utils/file-utils.ts +2 -1
  244. package/dist/dist.min.js +0 -54
  245. package/dist/dist.min.js.map +0 -7
  246. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js +0 -12
  247. package/dist/es5/buffer-polyfill/buffer-polyfill.browser.js.map +0 -1
  248. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js +0 -16
  249. package/dist/es5/buffer-polyfill/buffer-polyfill.node.js.map +0 -1
  250. package/dist/es5/buffer-polyfill/buffer.js +0 -1665
  251. package/dist/es5/buffer-polyfill/buffer.js.map +0 -1
  252. package/dist/es5/buffer-polyfill/index.js +0 -27
  253. package/dist/es5/buffer-polyfill/index.js.map +0 -1
  254. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js +0 -10
  255. package/dist/es5/buffer-polyfill/install-buffer-polyfill.js.map +0 -1
  256. package/dist/es5/bundle.js +0 -6
  257. package/dist/es5/bundle.js.map +0 -1
  258. package/dist/es5/constants.js +0 -17
  259. package/dist/es5/constants.js.map +0 -1
  260. package/dist/es5/index.js +0 -125
  261. package/dist/es5/index.js.map +0 -1
  262. package/dist/es5/lib/arrow/convert-columns-to-row-group.js +0 -2
  263. package/dist/es5/lib/arrow/convert-columns-to-row-group.js.map +0 -1
  264. package/dist/es5/lib/arrow/convert-row-group-to-columns.js +0 -19
  265. package/dist/es5/lib/arrow/convert-row-group-to-columns.js.map +0 -1
  266. package/dist/es5/lib/arrow/convert-schema-from-parquet.js +0 -114
  267. package/dist/es5/lib/arrow/convert-schema-from-parquet.js.map +0 -1
  268. package/dist/es5/lib/arrow/convert-schema-to-parquet.js +0 -47
  269. package/dist/es5/lib/arrow/convert-schema-to-parquet.js.map +0 -1
  270. package/dist/es5/lib/geo/decode-geo-column.js +0 -53
  271. package/dist/es5/lib/geo/decode-geo-column.js.map +0 -1
  272. package/dist/es5/lib/geo/decode-geo-metadata.js +0 -117
  273. package/dist/es5/lib/geo/decode-geo-metadata.js.map +0 -1
  274. package/dist/es5/lib/geo/geoparquet-metadata-schema.js +0 -83
  275. package/dist/es5/lib/geo/geoparquet-metadata-schema.js.map +0 -1
  276. package/dist/es5/lib/parsers/get-parquet-schema.js +0 -41
  277. package/dist/es5/lib/parsers/get-parquet-schema.js.map +0 -1
  278. package/dist/es5/lib/parsers/parse-parquet-to-columns.js +0 -176
  279. package/dist/es5/lib/parsers/parse-parquet-to-columns.js.map +0 -1
  280. package/dist/es5/lib/parsers/parse-parquet-to-rows.js +0 -205
  281. package/dist/es5/lib/parsers/parse-parquet-to-rows.js.map +0 -1
  282. package/dist/es5/lib/wasm/encode-parquet-wasm.js +0 -43
  283. package/dist/es5/lib/wasm/encode-parquet-wasm.js.map +0 -1
  284. package/dist/es5/lib/wasm/load-wasm/index.js +0 -13
  285. package/dist/es5/lib/wasm/load-wasm/index.js.map +0 -1
  286. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js +0 -42
  287. package/dist/es5/lib/wasm/load-wasm/load-wasm-browser.js.map +0 -1
  288. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js +0 -31
  289. package/dist/es5/lib/wasm/load-wasm/load-wasm-node.js.map +0 -1
  290. package/dist/es5/lib/wasm/parse-parquet-wasm.js +0 -60
  291. package/dist/es5/lib/wasm/parse-parquet-wasm.js.map +0 -1
  292. package/dist/es5/parquet-loader.js +0 -44
  293. package/dist/es5/parquet-loader.js.map +0 -1
  294. package/dist/es5/parquet-wasm-loader.js +0 -27
  295. package/dist/es5/parquet-wasm-loader.js.map +0 -1
  296. package/dist/es5/parquet-wasm-writer.js +0 -25
  297. package/dist/es5/parquet-wasm-writer.js.map +0 -1
  298. package/dist/es5/parquet-writer.js +0 -23
  299. package/dist/es5/parquet-writer.js.map +0 -1
  300. package/dist/es5/parquetjs/codecs/declare.js +0 -2
  301. package/dist/es5/parquetjs/codecs/declare.js.map +0 -1
  302. package/dist/es5/parquetjs/codecs/dictionary.js +0 -23
  303. package/dist/es5/parquetjs/codecs/dictionary.js.map +0 -1
  304. package/dist/es5/parquetjs/codecs/index.js +0 -47
  305. package/dist/es5/parquetjs/codecs/index.js.map +0 -1
  306. package/dist/es5/parquetjs/codecs/plain.js +0 -208
  307. package/dist/es5/parquetjs/codecs/plain.js.map +0 -1
  308. package/dist/es5/parquetjs/codecs/rle.js +0 -132
  309. package/dist/es5/parquetjs/codecs/rle.js.map +0 -1
  310. package/dist/es5/parquetjs/compression.js +0 -137
  311. package/dist/es5/parquetjs/compression.js.map +0 -1
  312. package/dist/es5/parquetjs/encoder/parquet-encoder.js +0 -625
  313. package/dist/es5/parquetjs/encoder/parquet-encoder.js.map +0 -1
  314. package/dist/es5/parquetjs/modules.d.ts +0 -21
  315. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js +0 -14
  316. package/dist/es5/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  317. package/dist/es5/parquetjs/parquet-thrift/BsonType.js +0 -52
  318. package/dist/es5/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  319. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js +0 -193
  320. package/dist/es5/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  321. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js +0 -198
  322. package/dist/es5/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  323. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js +0 -367
  324. package/dist/es5/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  325. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js +0 -99
  326. package/dist/es5/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  327. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js +0 -19
  328. package/dist/es5/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  329. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js +0 -33
  330. package/dist/es5/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  331. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js +0 -152
  332. package/dist/es5/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  333. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js +0 -207
  334. package/dist/es5/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  335. package/dist/es5/parquetjs/parquet-thrift/DateType.js +0 -52
  336. package/dist/es5/parquetjs/parquet-thrift/DateType.js.map +0 -1
  337. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js +0 -96
  338. package/dist/es5/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  339. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js +0 -113
  340. package/dist/es5/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  341. package/dist/es5/parquetjs/parquet-thrift/Encoding.js +0 -19
  342. package/dist/es5/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  343. package/dist/es5/parquetjs/parquet-thrift/EnumType.js +0 -52
  344. package/dist/es5/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  345. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js +0 -14
  346. package/dist/es5/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  347. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js +0 -239
  348. package/dist/es5/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  349. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js +0 -52
  350. package/dist/es5/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  351. package/dist/es5/parquetjs/parquet-thrift/IntType.js +0 -96
  352. package/dist/es5/parquetjs/parquet-thrift/IntType.js.map +0 -1
  353. package/dist/es5/parquetjs/parquet-thrift/JsonType.js +0 -52
  354. package/dist/es5/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  355. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js +0 -94
  356. package/dist/es5/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  357. package/dist/es5/parquetjs/parquet-thrift/ListType.js +0 -52
  358. package/dist/es5/parquetjs/parquet-thrift/ListType.js.map +0 -1
  359. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js +0 -423
  360. package/dist/es5/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  361. package/dist/es5/parquetjs/parquet-thrift/MapType.js +0 -52
  362. package/dist/es5/parquetjs/parquet-thrift/MapType.js.map +0 -1
  363. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js +0 -52
  364. package/dist/es5/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  365. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js +0 -52
  366. package/dist/es5/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  367. package/dist/es5/parquetjs/parquet-thrift/NullType.js +0 -52
  368. package/dist/es5/parquetjs/parquet-thrift/NullType.js.map +0 -1
  369. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js +0 -89
  370. package/dist/es5/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  371. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js +0 -115
  372. package/dist/es5/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  373. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js +0 -204
  374. package/dist/es5/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  375. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js +0 -124
  376. package/dist/es5/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  377. package/dist/es5/parquetjs/parquet-thrift/PageType.js +0 -15
  378. package/dist/es5/parquetjs/parquet-thrift/PageType.js.map +0 -1
  379. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js +0 -165
  380. package/dist/es5/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  381. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js +0 -231
  382. package/dist/es5/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  383. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js +0 -115
  384. package/dist/es5/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  385. package/dist/es5/parquetjs/parquet-thrift/Statistics.js +0 -165
  386. package/dist/es5/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  387. package/dist/es5/parquetjs/parquet-thrift/StringType.js +0 -52
  388. package/dist/es5/parquetjs/parquet-thrift/StringType.js.map +0 -1
  389. package/dist/es5/parquetjs/parquet-thrift/TimeType.js +0 -97
  390. package/dist/es5/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  391. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js +0 -126
  392. package/dist/es5/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  393. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js +0 -97
  394. package/dist/es5/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  395. package/dist/es5/parquetjs/parquet-thrift/Type.js +0 -19
  396. package/dist/es5/parquetjs/parquet-thrift/Type.js.map +0 -1
  397. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js +0 -52
  398. package/dist/es5/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  399. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js +0 -52
  400. package/dist/es5/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  401. package/dist/es5/parquetjs/parquet-thrift/index.js +0 -554
  402. package/dist/es5/parquetjs/parquet-thrift/index.js.map +0 -1
  403. package/dist/es5/parquetjs/parser/decoders.js +0 -410
  404. package/dist/es5/parquetjs/parser/decoders.js.map +0 -1
  405. package/dist/es5/parquetjs/parser/parquet-reader.js +0 -612
  406. package/dist/es5/parquetjs/parser/parquet-reader.js.map +0 -1
  407. package/dist/es5/parquetjs/schema/declare.js +0 -21
  408. package/dist/es5/parquetjs/schema/declare.js.map +0 -1
  409. package/dist/es5/parquetjs/schema/schema.js +0 -165
  410. package/dist/es5/parquetjs/schema/schema.js.map +0 -1
  411. package/dist/es5/parquetjs/schema/shred.js +0 -282
  412. package/dist/es5/parquetjs/schema/shred.js.map +0 -1
  413. package/dist/es5/parquetjs/schema/types.js +0 -406
  414. package/dist/es5/parquetjs/schema/types.js.map +0 -1
  415. package/dist/es5/parquetjs/utils/file-utils.js +0 -47
  416. package/dist/es5/parquetjs/utils/file-utils.js.map +0 -1
  417. package/dist/es5/parquetjs/utils/read-utils.js +0 -119
  418. package/dist/es5/parquetjs/utils/read-utils.js.map +0 -1
  419. package/dist/es5/workers/parquet-worker.js +0 -6
  420. package/dist/es5/workers/parquet-worker.js.map +0 -1
  421. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js +0 -6
  422. package/dist/esm/buffer-polyfill/buffer-polyfill.browser.js.map +0 -1
  423. package/dist/esm/buffer-polyfill/buffer-polyfill.node.js.map +0 -1
  424. package/dist/esm/buffer-polyfill/buffer.js.map +0 -1
  425. package/dist/esm/buffer-polyfill/index.js +0 -4
  426. package/dist/esm/buffer-polyfill/index.js.map +0 -1
  427. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js +0 -3
  428. package/dist/esm/buffer-polyfill/install-buffer-polyfill.js.map +0 -1
  429. package/dist/esm/bundle.js +0 -4
  430. package/dist/esm/bundle.js.map +0 -1
  431. package/dist/esm/constants.js.map +0 -1
  432. package/dist/esm/index.js +0 -25
  433. package/dist/esm/index.js.map +0 -1
  434. package/dist/esm/lib/arrow/convert-columns-to-row-group.js.map +0 -1
  435. package/dist/esm/lib/arrow/convert-row-group-to-columns.js.map +0 -1
  436. package/dist/esm/lib/arrow/convert-schema-from-parquet.js.map +0 -1
  437. package/dist/esm/lib/arrow/convert-schema-to-parquet.js.map +0 -1
  438. package/dist/esm/lib/geo/decode-geo-column.js.map +0 -1
  439. package/dist/esm/lib/geo/decode-geo-metadata.js.map +0 -1
  440. package/dist/esm/lib/geo/geoparquet-metadata-schema.js.map +0 -1
  441. package/dist/esm/lib/geo/geoparquet-metadata-schema.json +0 -60
  442. package/dist/esm/lib/parsers/get-parquet-schema.js.map +0 -1
  443. package/dist/esm/lib/parsers/parse-parquet-to-columns.js.map +0 -1
  444. package/dist/esm/lib/parsers/parse-parquet-to-rows.js.map +0 -1
  445. package/dist/esm/lib/wasm/encode-parquet-wasm.js.map +0 -1
  446. package/dist/esm/lib/wasm/load-wasm/index.js +0 -2
  447. package/dist/esm/lib/wasm/load-wasm/index.js.map +0 -1
  448. package/dist/esm/lib/wasm/load-wasm/load-wasm-browser.js.map +0 -1
  449. package/dist/esm/lib/wasm/load-wasm/load-wasm-node.js.map +0 -1
  450. package/dist/esm/lib/wasm/parse-parquet-wasm.js.map +0 -1
  451. package/dist/esm/lib/wip/convert-schema-deep.java.disabled +0 -910
  452. package/dist/esm/lib/wip/convert-schema-deep.rs.disabled +0 -976
  453. package/dist/esm/parquet-loader.js.map +0 -1
  454. package/dist/esm/parquet-wasm-loader.js.map +0 -1
  455. package/dist/esm/parquet-wasm-writer.js.map +0 -1
  456. package/dist/esm/parquet-writer.js.map +0 -1
  457. package/dist/esm/parquetjs/LICENSE +0 -20
  458. package/dist/esm/parquetjs/codecs/declare.js.map +0 -1
  459. package/dist/esm/parquetjs/codecs/dictionary.js.map +0 -1
  460. package/dist/esm/parquetjs/codecs/index.js.map +0 -1
  461. package/dist/esm/parquetjs/codecs/plain.js.map +0 -1
  462. package/dist/esm/parquetjs/codecs/rle.js.map +0 -1
  463. package/dist/esm/parquetjs/compression.js.map +0 -1
  464. package/dist/esm/parquetjs/encoder/parquet-encoder.js.map +0 -1
  465. package/dist/esm/parquetjs/modules.d.ts +0 -21
  466. package/dist/esm/parquetjs/parquet-thrift/BoundaryOrder.js.map +0 -1
  467. package/dist/esm/parquetjs/parquet-thrift/BsonType.js.map +0 -1
  468. package/dist/esm/parquetjs/parquet-thrift/ColumnChunk.js.map +0 -1
  469. package/dist/esm/parquetjs/parquet-thrift/ColumnIndex.js.map +0 -1
  470. package/dist/esm/parquetjs/parquet-thrift/ColumnMetaData.js.map +0 -1
  471. package/dist/esm/parquetjs/parquet-thrift/ColumnOrder.js.map +0 -1
  472. package/dist/esm/parquetjs/parquet-thrift/CompressionCodec.js.map +0 -1
  473. package/dist/esm/parquetjs/parquet-thrift/ConvertedType.js.map +0 -1
  474. package/dist/esm/parquetjs/parquet-thrift/DataPageHeader.js.map +0 -1
  475. package/dist/esm/parquetjs/parquet-thrift/DataPageHeaderV2.js.map +0 -1
  476. package/dist/esm/parquetjs/parquet-thrift/DateType.js.map +0 -1
  477. package/dist/esm/parquetjs/parquet-thrift/DecimalType.js.map +0 -1
  478. package/dist/esm/parquetjs/parquet-thrift/DictionaryPageHeader.js.map +0 -1
  479. package/dist/esm/parquetjs/parquet-thrift/Encoding.js.map +0 -1
  480. package/dist/esm/parquetjs/parquet-thrift/EnumType.js.map +0 -1
  481. package/dist/esm/parquetjs/parquet-thrift/FieldRepetitionType.js.map +0 -1
  482. package/dist/esm/parquetjs/parquet-thrift/FileMetaData.js.map +0 -1
  483. package/dist/esm/parquetjs/parquet-thrift/IndexPageHeader.js.map +0 -1
  484. package/dist/esm/parquetjs/parquet-thrift/IntType.js.map +0 -1
  485. package/dist/esm/parquetjs/parquet-thrift/JsonType.js.map +0 -1
  486. package/dist/esm/parquetjs/parquet-thrift/KeyValue.js.map +0 -1
  487. package/dist/esm/parquetjs/parquet-thrift/ListType.js.map +0 -1
  488. package/dist/esm/parquetjs/parquet-thrift/LogicalType.js.map +0 -1
  489. package/dist/esm/parquetjs/parquet-thrift/MapType.js.map +0 -1
  490. package/dist/esm/parquetjs/parquet-thrift/MicroSeconds.js.map +0 -1
  491. package/dist/esm/parquetjs/parquet-thrift/MilliSeconds.js.map +0 -1
  492. package/dist/esm/parquetjs/parquet-thrift/NullType.js.map +0 -1
  493. package/dist/esm/parquetjs/parquet-thrift/OffsetIndex.js.map +0 -1
  494. package/dist/esm/parquetjs/parquet-thrift/PageEncodingStats.js.map +0 -1
  495. package/dist/esm/parquetjs/parquet-thrift/PageHeader.js.map +0 -1
  496. package/dist/esm/parquetjs/parquet-thrift/PageLocation.js.map +0 -1
  497. package/dist/esm/parquetjs/parquet-thrift/PageType.js.map +0 -1
  498. package/dist/esm/parquetjs/parquet-thrift/RowGroup.js.map +0 -1
  499. package/dist/esm/parquetjs/parquet-thrift/SchemaElement.js.map +0 -1
  500. package/dist/esm/parquetjs/parquet-thrift/SortingColumn.js.map +0 -1
  501. package/dist/esm/parquetjs/parquet-thrift/Statistics.js.map +0 -1
  502. package/dist/esm/parquetjs/parquet-thrift/StringType.js.map +0 -1
  503. package/dist/esm/parquetjs/parquet-thrift/TimeType.js.map +0 -1
  504. package/dist/esm/parquetjs/parquet-thrift/TimeUnit.js.map +0 -1
  505. package/dist/esm/parquetjs/parquet-thrift/TimestampType.js.map +0 -1
  506. package/dist/esm/parquetjs/parquet-thrift/Type.js.map +0 -1
  507. package/dist/esm/parquetjs/parquet-thrift/TypeDefinedOrder.js.map +0 -1
  508. package/dist/esm/parquetjs/parquet-thrift/UUIDType.js.map +0 -1
  509. package/dist/esm/parquetjs/parquet-thrift/index.js +0 -46
  510. package/dist/esm/parquetjs/parquet-thrift/index.js.map +0 -1
  511. package/dist/esm/parquetjs/parser/decoders.js.map +0 -1
  512. package/dist/esm/parquetjs/parser/parquet-reader.js.map +0 -1
  513. package/dist/esm/parquetjs/schema/declare.js.map +0 -1
  514. package/dist/esm/parquetjs/schema/schema.js.map +0 -1
  515. package/dist/esm/parquetjs/schema/shred.js.map +0 -1
  516. package/dist/esm/parquetjs/schema/types.js.map +0 -1
  517. package/dist/esm/parquetjs/utils/file-utils.js.map +0 -1
  518. package/dist/esm/parquetjs/utils/read-utils.js.map +0 -1
  519. package/dist/esm/workers/parquet-worker.js.map +0 -1
  520. package/dist/parquet-worker.js +0 -54
  521. package/dist/parquet-worker.js.map +0 -7
  522. package/dist/src/buffer-polyfill/buffer-polyfill.browser.d.ts.map +0 -1
  523. package/dist/src/buffer-polyfill/buffer-polyfill.node.d.ts.map +0 -1
  524. package/dist/src/buffer-polyfill/buffer.d.ts.map +0 -1
  525. package/dist/src/buffer-polyfill/index.d.ts.map +0 -1
  526. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts +0 -30
  527. package/dist/src/buffer-polyfill/install-buffer-polyfill.d.ts.map +0 -1
  528. package/dist/src/bundle.d.ts +0 -2
  529. package/dist/src/bundle.d.ts.map +0 -1
  530. package/dist/src/constants.d.ts.map +0 -1
  531. package/dist/src/index.d.ts.map +0 -1
  532. package/dist/src/lib/arrow/convert-columns-to-row-group.d.ts.map +0 -1
  533. package/dist/src/lib/arrow/convert-row-group-to-columns.d.ts.map +0 -1
  534. package/dist/src/lib/arrow/convert-schema-from-parquet.d.ts.map +0 -1
  535. package/dist/src/lib/arrow/convert-schema-to-parquet.d.ts.map +0 -1
  536. package/dist/src/lib/geo/decode-geo-column.d.ts.map +0 -1
  537. package/dist/src/lib/geo/decode-geo-metadata.d.ts.map +0 -1
  538. package/dist/src/lib/geo/geoparquet-metadata-schema.d.ts.map +0 -1
  539. package/dist/src/lib/parsers/get-parquet-schema.d.ts.map +0 -1
  540. package/dist/src/lib/parsers/parse-parquet-to-columns.d.ts.map +0 -1
  541. package/dist/src/lib/parsers/parse-parquet-to-rows.d.ts.map +0 -1
  542. package/dist/src/lib/wasm/encode-parquet-wasm.d.ts.map +0 -1
  543. package/dist/src/lib/wasm/load-wasm/index.d.ts.map +0 -1
  544. package/dist/src/lib/wasm/load-wasm/load-wasm-browser.d.ts.map +0 -1
  545. package/dist/src/lib/wasm/load-wasm/load-wasm-node.d.ts.map +0 -1
  546. package/dist/src/lib/wasm/parse-parquet-wasm.d.ts.map +0 -1
  547. package/dist/src/parquet-loader.d.ts.map +0 -1
  548. package/dist/src/parquet-wasm-loader.d.ts.map +0 -1
  549. package/dist/src/parquet-wasm-writer.d.ts.map +0 -1
  550. package/dist/src/parquet-writer.d.ts.map +0 -1
  551. package/dist/src/parquetjs/codecs/declare.d.ts.map +0 -1
  552. package/dist/src/parquetjs/codecs/dictionary.d.ts.map +0 -1
  553. package/dist/src/parquetjs/codecs/index.d.ts.map +0 -1
  554. package/dist/src/parquetjs/codecs/plain.d.ts.map +0 -1
  555. package/dist/src/parquetjs/codecs/rle.d.ts.map +0 -1
  556. package/dist/src/parquetjs/compression.d.ts.map +0 -1
  557. package/dist/src/parquetjs/encoder/parquet-encoder.d.ts.map +0 -1
  558. package/dist/src/parquetjs/parquet-thrift/BoundaryOrder.d.ts.map +0 -1
  559. package/dist/src/parquetjs/parquet-thrift/BsonType.d.ts.map +0 -1
  560. package/dist/src/parquetjs/parquet-thrift/ColumnChunk.d.ts.map +0 -1
  561. package/dist/src/parquetjs/parquet-thrift/ColumnIndex.d.ts.map +0 -1
  562. package/dist/src/parquetjs/parquet-thrift/ColumnMetaData.d.ts.map +0 -1
  563. package/dist/src/parquetjs/parquet-thrift/ColumnOrder.d.ts.map +0 -1
  564. package/dist/src/parquetjs/parquet-thrift/CompressionCodec.d.ts.map +0 -1
  565. package/dist/src/parquetjs/parquet-thrift/ConvertedType.d.ts.map +0 -1
  566. package/dist/src/parquetjs/parquet-thrift/DataPageHeader.d.ts.map +0 -1
  567. package/dist/src/parquetjs/parquet-thrift/DataPageHeaderV2.d.ts.map +0 -1
  568. package/dist/src/parquetjs/parquet-thrift/DateType.d.ts.map +0 -1
  569. package/dist/src/parquetjs/parquet-thrift/DecimalType.d.ts.map +0 -1
  570. package/dist/src/parquetjs/parquet-thrift/DictionaryPageHeader.d.ts.map +0 -1
  571. package/dist/src/parquetjs/parquet-thrift/Encoding.d.ts.map +0 -1
  572. package/dist/src/parquetjs/parquet-thrift/EnumType.d.ts.map +0 -1
  573. package/dist/src/parquetjs/parquet-thrift/FieldRepetitionType.d.ts.map +0 -1
  574. package/dist/src/parquetjs/parquet-thrift/FileMetaData.d.ts.map +0 -1
  575. package/dist/src/parquetjs/parquet-thrift/IndexPageHeader.d.ts.map +0 -1
  576. package/dist/src/parquetjs/parquet-thrift/IntType.d.ts.map +0 -1
  577. package/dist/src/parquetjs/parquet-thrift/JsonType.d.ts.map +0 -1
  578. package/dist/src/parquetjs/parquet-thrift/KeyValue.d.ts.map +0 -1
  579. package/dist/src/parquetjs/parquet-thrift/ListType.d.ts.map +0 -1
  580. package/dist/src/parquetjs/parquet-thrift/LogicalType.d.ts.map +0 -1
  581. package/dist/src/parquetjs/parquet-thrift/MapType.d.ts.map +0 -1
  582. package/dist/src/parquetjs/parquet-thrift/MicroSeconds.d.ts.map +0 -1
  583. package/dist/src/parquetjs/parquet-thrift/MilliSeconds.d.ts.map +0 -1
  584. package/dist/src/parquetjs/parquet-thrift/NullType.d.ts.map +0 -1
  585. package/dist/src/parquetjs/parquet-thrift/OffsetIndex.d.ts.map +0 -1
  586. package/dist/src/parquetjs/parquet-thrift/PageEncodingStats.d.ts.map +0 -1
  587. package/dist/src/parquetjs/parquet-thrift/PageHeader.d.ts.map +0 -1
  588. package/dist/src/parquetjs/parquet-thrift/PageLocation.d.ts.map +0 -1
  589. package/dist/src/parquetjs/parquet-thrift/PageType.d.ts.map +0 -1
  590. package/dist/src/parquetjs/parquet-thrift/RowGroup.d.ts.map +0 -1
  591. package/dist/src/parquetjs/parquet-thrift/SchemaElement.d.ts.map +0 -1
  592. package/dist/src/parquetjs/parquet-thrift/SortingColumn.d.ts.map +0 -1
  593. package/dist/src/parquetjs/parquet-thrift/Statistics.d.ts.map +0 -1
  594. package/dist/src/parquetjs/parquet-thrift/StringType.d.ts.map +0 -1
  595. package/dist/src/parquetjs/parquet-thrift/TimeType.d.ts.map +0 -1
  596. package/dist/src/parquetjs/parquet-thrift/TimeUnit.d.ts.map +0 -1
  597. package/dist/src/parquetjs/parquet-thrift/TimestampType.d.ts.map +0 -1
  598. package/dist/src/parquetjs/parquet-thrift/Type.d.ts.map +0 -1
  599. package/dist/src/parquetjs/parquet-thrift/TypeDefinedOrder.d.ts.map +0 -1
  600. package/dist/src/parquetjs/parquet-thrift/UUIDType.d.ts.map +0 -1
  601. package/dist/src/parquetjs/parquet-thrift/index.d.ts.map +0 -1
  602. package/dist/src/parquetjs/parser/decoders.d.ts.map +0 -1
  603. package/dist/src/parquetjs/parser/parquet-reader.d.ts.map +0 -1
  604. package/dist/src/parquetjs/schema/declare.d.ts.map +0 -1
  605. package/dist/src/parquetjs/schema/schema.d.ts.map +0 -1
  606. package/dist/src/parquetjs/schema/shred.d.ts.map +0 -1
  607. package/dist/src/parquetjs/schema/types.d.ts.map +0 -1
  608. package/dist/src/parquetjs/utils/file-utils.d.ts.map +0 -1
  609. package/dist/src/parquetjs/utils/read-utils.d.ts.map +0 -1
  610. package/dist/src/workers/parquet-worker.d.ts.map +0 -1
  611. package/dist/tsconfig.tsbuildinfo +0 -1
  612. package/src/bundle.ts +0 -4
  613. /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer-polyfill.browser.d.ts +0 -0
  614. /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer-polyfill.node.d.ts +0 -0
  615. /package/dist/{src/buffer-polyfill → buffer-polyfill}/buffer.d.ts +0 -0
  616. /package/dist/{src/buffer-polyfill → buffer-polyfill}/index.d.ts +0 -0
  617. /package/dist/{src/constants.d.ts → constants.d.ts} +0 -0
  618. /package/dist/{esm/constants.js → constants.js} +0 -0
  619. /package/dist/{src/index.d.ts → index.d.ts} +0 -0
  620. /package/dist/{src/lib → lib}/arrow/convert-columns-to-row-group.d.ts +0 -0
  621. /package/dist/{esm/lib → lib}/arrow/convert-columns-to-row-group.js +0 -0
  622. /package/dist/{src/lib → lib}/arrow/convert-row-group-to-columns.d.ts +0 -0
  623. /package/dist/{esm/lib → lib}/arrow/convert-row-group-to-columns.js +0 -0
  624. /package/dist/{src/lib → lib}/arrow/convert-schema-from-parquet.d.ts +0 -0
  625. /package/dist/{esm/lib → lib}/arrow/convert-schema-from-parquet.js +0 -0
  626. /package/dist/{src/lib → lib}/arrow/convert-schema-to-parquet.d.ts +0 -0
  627. /package/dist/{esm/lib → lib}/arrow/convert-schema-to-parquet.js +0 -0
  628. /package/dist/{src/lib → lib}/geo/decode-geo-column.d.ts +0 -0
  629. /package/dist/{src/lib → lib}/geo/decode-geo-metadata.d.ts +0 -0
  630. /package/dist/{src/lib → lib}/geo/geoparquet-metadata-schema.d.ts +0 -0
  631. /package/dist/{esm/lib → lib}/geo/geoparquet-metadata-schema.js +0 -0
  632. /package/dist/{es5/lib → lib}/geo/geoparquet-metadata-schema.json +0 -0
  633. /package/dist/{src/lib → lib}/parsers/get-parquet-schema.d.ts +0 -0
  634. /package/dist/{src/lib → lib}/parsers/parse-parquet-to-columns.d.ts +0 -0
  635. /package/dist/{src/lib → lib}/parsers/parse-parquet-to-rows.d.ts +0 -0
  636. /package/dist/{src/lib → lib}/wasm/encode-parquet-wasm.d.ts +0 -0
  637. /package/dist/{src/lib → lib}/wasm/load-wasm/index.d.ts +0 -0
  638. /package/dist/{src/lib → lib}/wasm/load-wasm/load-wasm-browser.d.ts +0 -0
  639. /package/dist/{esm/lib → lib}/wasm/load-wasm/load-wasm-browser.js +0 -0
  640. /package/dist/{src/lib → lib}/wasm/load-wasm/load-wasm-node.d.ts +0 -0
  641. /package/dist/{esm/lib → lib}/wasm/load-wasm/load-wasm-node.js +0 -0
  642. /package/dist/{src/lib → lib}/wasm/parse-parquet-wasm.d.ts +0 -0
  643. /package/dist/{es5/lib → lib}/wip/convert-schema-deep.java.disabled +0 -0
  644. /package/dist/{es5/lib → lib}/wip/convert-schema-deep.rs.disabled +0 -0
  645. /package/dist/{src/parquet-wasm-loader.d.ts → parquet-wasm-loader.d.ts} +0 -0
  646. /package/dist/{src/parquet-wasm-writer.d.ts → parquet-wasm-writer.d.ts} +0 -0
  647. /package/dist/{src/parquet-writer.d.ts → parquet-writer.d.ts} +0 -0
  648. /package/dist/{es5/parquetjs → parquetjs}/LICENSE +0 -0
  649. /package/dist/{src/parquetjs → parquetjs}/codecs/declare.d.ts +0 -0
  650. /package/dist/{esm/parquetjs → parquetjs}/codecs/declare.js +0 -0
  651. /package/dist/{src/parquetjs → parquetjs}/codecs/dictionary.d.ts +0 -0
  652. /package/dist/{src/parquetjs → parquetjs}/codecs/index.d.ts +0 -0
  653. /package/dist/{src/parquetjs → parquetjs}/codecs/plain.d.ts +0 -0
  654. /package/dist/{src/parquetjs → parquetjs}/codecs/rle.d.ts +0 -0
  655. /package/dist/{src/parquetjs → parquetjs}/compression.d.ts +0 -0
  656. /package/dist/{src/parquetjs → parquetjs}/encoder/parquet-encoder.d.ts +0 -0
  657. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/BoundaryOrder.d.ts +0 -0
  658. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/BoundaryOrder.js +0 -0
  659. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/BsonType.d.ts +0 -0
  660. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/BsonType.js +0 -0
  661. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnChunk.d.ts +0 -0
  662. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnIndex.d.ts +0 -0
  663. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnMetaData.d.ts +0 -0
  664. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ColumnOrder.d.ts +0 -0
  665. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/CompressionCodec.d.ts +0 -0
  666. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/CompressionCodec.js +0 -0
  667. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ConvertedType.d.ts +0 -0
  668. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ConvertedType.js +0 -0
  669. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DataPageHeader.d.ts +0 -0
  670. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DataPageHeaderV2.d.ts +0 -0
  671. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DateType.d.ts +0 -0
  672. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/DateType.js +0 -0
  673. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DecimalType.d.ts +0 -0
  674. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/DictionaryPageHeader.d.ts +0 -0
  675. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Encoding.d.ts +0 -0
  676. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Encoding.js +0 -0
  677. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/EnumType.d.ts +0 -0
  678. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/EnumType.js +0 -0
  679. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/FieldRepetitionType.d.ts +0 -0
  680. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/FieldRepetitionType.js +0 -0
  681. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/FileMetaData.d.ts +0 -0
  682. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/IndexPageHeader.d.ts +0 -0
  683. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/IndexPageHeader.js +0 -0
  684. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/IntType.d.ts +0 -0
  685. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/JsonType.d.ts +0 -0
  686. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/JsonType.js +0 -0
  687. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/KeyValue.d.ts +0 -0
  688. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/ListType.d.ts +0 -0
  689. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/ListType.js +0 -0
  690. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/LogicalType.d.ts +0 -0
  691. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MapType.d.ts +0 -0
  692. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MapType.js +0 -0
  693. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MicroSeconds.d.ts +0 -0
  694. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MicroSeconds.js +0 -0
  695. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/MilliSeconds.d.ts +0 -0
  696. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/MilliSeconds.js +0 -0
  697. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/NullType.d.ts +0 -0
  698. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/NullType.js +0 -0
  699. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/OffsetIndex.d.ts +0 -0
  700. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageEncodingStats.d.ts +0 -0
  701. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageHeader.d.ts +0 -0
  702. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageLocation.d.ts +0 -0
  703. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/PageType.d.ts +0 -0
  704. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/PageType.js +0 -0
  705. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/RowGroup.d.ts +0 -0
  706. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/SchemaElement.d.ts +0 -0
  707. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/SortingColumn.d.ts +0 -0
  708. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Statistics.d.ts +0 -0
  709. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/StringType.d.ts +0 -0
  710. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/StringType.js +0 -0
  711. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimeType.d.ts +0 -0
  712. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimeUnit.d.ts +0 -0
  713. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TimestampType.d.ts +0 -0
  714. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/Type.d.ts +0 -0
  715. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/Type.js +0 -0
  716. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/TypeDefinedOrder.d.ts +0 -0
  717. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/TypeDefinedOrder.js +0 -0
  718. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/UUIDType.d.ts +0 -0
  719. /package/dist/{esm/parquetjs → parquetjs}/parquet-thrift/UUIDType.js +0 -0
  720. /package/dist/{src/parquetjs → parquetjs}/parquet-thrift/index.d.ts +0 -0
  721. /package/dist/{src/parquetjs → parquetjs}/parser/decoders.d.ts +0 -0
  722. /package/dist/{src/parquetjs → parquetjs}/parser/parquet-reader.d.ts +0 -0
  723. /package/dist/{src/parquetjs → parquetjs}/schema/declare.d.ts +0 -0
  724. /package/dist/{src/parquetjs → parquetjs}/schema/schema.d.ts +0 -0
  725. /package/dist/{src/parquetjs → parquetjs}/schema/shred.d.ts +0 -0
  726. /package/dist/{src/parquetjs → parquetjs}/schema/types.d.ts +0 -0
  727. /package/dist/{src/parquetjs → parquetjs}/utils/read-utils.d.ts +0 -0
  728. /package/dist/{src/workers → workers}/parquet-worker.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"buffer.js","names":["_base64Js","_interopRequireDefault","require","_ieee","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","kMaxLength","exports","INSPECT_MAX_BYTES","Buffer","_Uint8Array","_inherits2","_super","arg","encodingOrOffset","length","_this","_classCallCheck2","from","size","RangeError","concat","TypeError","checked","_defineProperty2","_assertThisInitialized2","_createClass2","key","get","isBuffer","undefined","buffer","byteOffset","value","includes","val","encoding","indexOf","bidirectionalIndexOf","lastIndexOf","readInt8","offset","noAssert","checkOffset","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readIntBE","byteLength","i","mul","Math","pow","readIntLE","readBigInt64LE","validateNumber","first","last","boundsError","BigInt","readBigInt64BE","readUInt8","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readUIntLE","readUIntBE","readBigUInt64LE","lo","hi","readBigUInt64BE","readFloatLE","ieee754","read","readFloatBE","readDoubleLE","readDoubleBE","writeUInt8","Number","checkInt","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeUIntLE","maxBytes","writeUIntBE","writeBigUInt64LE","wrtBigUInt64LE","writeBigUInt64BE","wrtBigUInt64BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeBigInt64LE","writeBigInt64BE","writeFloatLE","writeFloat","writeFloatBE","writeDoubleLE","writeDouble","writeDoubleBE","write","string","isFinite","Error","remaining","loweredCase","hexWrite","utf8Write","asciiWrite","base64Write","ucs2Write","toLowerCase","copy","target","targetStart","start","end","len","Uint8Array","copyWithin","set","subarray","fill","isEncoding","code","charCodeAt","bytes","swap16","swap","swap32","swap64","toString","utf8Slice","_slowToString","inspect","str","max","replace","trim","equals","b","compare","thisStart","thisEnd","isInstance","_typeof2","x","y","min","thisCopy","slice","targetCopy","toJSON","type","data","Array","_arr","newBuf","Object","setPrototypeOf","hexSlice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","fromString","ArrayBuffer","isView","fromArrayView","fromArrayBuffer","SharedArrayBuffer","fromObject","Symbol","toPrimitive","_isBuffer","a","String","list","isArray","alloc","allocUnsafe","pos","buf","assertSize","allocUnsafeSlow","_wrapNativeSuper2","ext","checkIntBI","actual","fromArrayLike","array","arrayView","obj","numberIsNaN","mustMatch","utf8ToBytes","base64ToBytes","n","m","dir","arrayIndexOf","arr","indexSize","arrLength","valLength","foundIndex","found","j","strLen","parsed","parseInt","substr","blitBuffer","asciiToBytes","utf16leToBytes","base64","fromByteArray","res","firstByte","codePoint","bytesPerSequence","fourthByte","secondByte","tempCodePoint","thirdByte","push","decodeCodePointsArray","MAX_ARGUMENTS_LENGTH","codePoints","fromCharCode","ret","out","hexSliceLookupTable","checkIEEE754","littleEndian","errors","E","sym","getMessage","Base","_Base","NodeError","_super2","_this2","defineProperty","writable","configurable","name","stack","enumerable","message","range","input","msg","received","isInteger","abs","addNumericalSeparator","checkBounds","ERR_OUT_OF_RANGE","ERR_INVALID_ARG_TYPE","floor","ERR_BUFFER_OUT_OF_BOUNDS","INVALID_BASE64_RE","base64clean","split","units","Infinity","leadSurrogate","byteArray","c","toByteArray","src","dst","alphabet","table","i16"],"sources":["../../../src/buffer-polyfill/buffer.ts"],"sourcesContent":["// loaders.gl, MIT license\n// This file is forked from https://github.com/feross/buffer under MIT license\n// The code has primarily been converted to TypeScript.\n\n/* !\n * The buffer module from node.js, for the browser.\n * @author Feross Aboukhadijeh <https://feross.org>\n * @license MIT\n * https://github.com/feross/buffer/blob/master/AUTHORS.md\n */\n\n/**\n * The decision to include this polyfill in loaders.gl may seem controversial.\n * \n * It is based on the following reasoning:\n * - The Buffer API is used in the parquetjs library and likely other Node.js \n * libraries we will use in the future.\n * - While the goal is to convert code from Buffer to ArrayBuffer, the Thrift \n * code in Parquet may be autogenerated.\n * - Bundlers often require a polyfill to be included, this extra step is not \n * a great experience for loaders.gl users.\n * - The forked buffer polyfill module had old and generated some type errors.\n */\n\n/* eslint-disable */ // no-proto, max-statements, max-depth, complexity, no-continue, prefer-spread, no-constant-condition, consistent-return */\n\n// @ts-nocheck - this references don't work well in prototype assignment\n\nimport base64 from 'base64-js';\nimport ieee754 from 'ieee754';\n\nexport const kMaxLength = 0x7fffffff;\nexport const INSPECT_MAX_BYTES = 50;\n\ntype BufferEncoding = string;\n\n// const customInspectSymbol =\n// typeof Symbol === 'function' && typeof Symbol['for'] === 'function' // eslint-disable-line dot-notation\n// ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n// : null;\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\nexport class Buffer extends Uint8Array {\n static poolSize = 8192; // not used by this implementation\n\n // length: number; inherited\n\n get parent() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n\n get offset() {\n if (!Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n\n /** This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n * to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n * reliably in a browserify context because there could be multiple different\n * copies of the 'buffer' package in use. This method works even for Buffer\n * instances that were created from another copy of the `buffer` package.\n * @see: https://github.com/feross/buffer/issues/154\n */\n _isBuffer = true;\n\n /**\n * Allocates a new buffer containing the given {str}.\n *\n * @param str String to store in buffer.\n * @param encoding encoding to use, optional. Default is 'utf8'\n */\n constructor(str: string, encoding?: string);\n /**\n * Allocates a new buffer of {size} octets.\n *\n * @param size count of octets to allocate.\n */\n constructor(size: number);\n /**\n * Allocates a new buffer containing the given {array} of octets.\n *\n * @param array The octets to store.\n */\n constructor(array: Uint8Array);\n /**\n * Produces a Buffer backed by the same allocated memory as\n * the given {ArrayBuffer}.\n *\n *\n * @param arrayBuffer The ArrayBuffer with which to share memory.\n */\n constructor(arrayBuffer: ArrayBuffer);\n /**\n * Allocates a new buffer containing the given {array} of octets.\n *\n * @param array The octets to store.\n */\n constructor(array: any[]);\n /**\n * Copies the passed {buffer} data onto a new {Buffer} instance.\n *\n * @param buffer The buffer to copy.\n */\n constructor(buffer: Buffer);\n\n constructor(arg, encodingOrOffset?, length?: number) {\n if (typeof arg !== 'number') {\n return Buffer.from(arg, encodingOrOffset, length);\n }\n\n // Basic case, just a length\n const size = arg;\n if (size > kMaxLength) {\n throw new RangeError(`The value \"${size}\" is invalid for option \"size\"`);\n }\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError('The \"string\" argument must be of type string. Received type number');\n }\n super(size < 0 ? 0 : checked(size) | 0);\n return;\n }\n\n /**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\n\n /**\n * Allocates a new Buffer using an {array} of octets.\n *\n * @param array\n */\n static from(array: any[]): Buffer;\n /**\n * When passed a reference to the .buffer property of a TypedArray instance,\n * the newly created Buffer will share the same allocated memory as the TypedArray.\n * The optional {byteOffset} and {length} arguments specify a memory range\n * within the {arrayBuffer} that will be shared by the Buffer.\n *\n * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()\n * @param byteOffset\n * @param length\n */\n static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;\n /**\n * Copies the passed {buffer} data onto a new Buffer instance.\n *\n * @param buffer\n */\n static from(buffer: Buffer | Uint8Array): Buffer;\n /**\n * Creates a new Buffer containing the given JavaScript string {str}.\n * If provided, the {encoding} parameter identifies the character encoding.\n * If not provided, {encoding} defaults to 'utf8'.\n *\n * @param str\n */\n static from(str: string, encoding?: string): Buffer;\n\n static from(value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset);\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value);\n }\n\n if (value == null) {\n throw new TypeError(\n `${\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type '\n }${typeof value}`\n );\n }\n\n if (isInstance(value, ArrayBuffer) || (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (\n typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))\n ) {\n return fromArrayBuffer(value, encodingOrOffset, length);\n }\n\n if (typeof value === 'number') {\n throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n }\n\n const valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length);\n }\n\n const b = fromObject(value);\n if (b) return b;\n\n if (\n typeof Symbol !== 'undefined' &&\n Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function'\n ) {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length);\n }\n\n throw new TypeError(\n `${\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type '\n }${typeof value}`\n );\n }\n\n /**\n * Returns true if {obj} is a Buffer\n *\n * @param obj object to test.\n */\n static isBuffer(b: any): obj is Buffer {\n return b != null && b._isBuffer === true && b !== Buffer.prototype; // so Buffer.isBuffer(Buffer.prototype) will be false\n }\n\n /**\n * The same as buf1.compare(buf2).\n */\n static compare(a: Uint8Array | Buffer, b: Uint8Array | Buffer): number {\n if (!Buffer.isBuffer(a) && isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength);\n if (!Buffer.isBuffer(b) && isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength);\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n }\n\n if (a === b) return 0;\n\n let x = a.length;\n let y = b.length;\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }\n\n /**\n * Returns true if {encoding} is a valid encoding argument.\n * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'\n *\n * @param encoding string to test.\n */\n static isEncoding(encoding: string): boolean {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true;\n default:\n return false;\n }\n }\n\n /**\n * Returns a buffer which is the result of concatenating all the buffers in the list together.\n *\n * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.\n * If the list has exactly one item, then the first item of the list is returned.\n * If the list has more than one item, then a new Buffer is created.\n *\n * @param list An array of Buffer objects to concatenate\n * @param totalLength Total length of the buffers when concatenated.\n * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.\n */\n static concat(list: (Uint8Array | Buffer)[], length?: number): Buffer {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0);\n }\n\n let i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n const buffer = Buffer.allocUnsafe(length);\n let pos = 0;\n for (i = 0; i < list.length; ++i) {\n let buf = list[i];\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) {\n buf = Buffer.from(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n buf.copy(buffer, pos);\n } else {\n Uint8Array.prototype.set.call(buffer, buf, pos);\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers');\n } else {\n buf.copy(buffer, pos);\n }\n pos += buf.length;\n }\n return buffer;\n }\n\n /**\n * Allocates a new buffer of {size} octets.\n *\n * @param size count of octets to allocate.\n * @param fill if specified, buffer will be initialized by calling buf.fill(fill).\n * If parameter is omitted, buffer will be filled with zeros.\n * @param encoding encoding used for call to buf.fill while initializing\n */\n static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer {\n return alloc(size, fill, encoding);\n }\n\n /**\n * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents\n * of the newly created Buffer are unknown and may contain sensitive data.\n *\n * @param size count of octets to allocate\n */\n static allocUnsafe(size: number): Buffer {\n assertSize(size);\n return new Buffer(size);\n }\n\n /**\n * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents\n * of the newly created Buffer are unknown and may contain sensitive data.\n *\n * @param size count of octets to allocate\n */\n static allocUnsafeSlow(size: number): Buffer {\n return allocUnsafe(size);\n }\n\n includes(val: string | number | Buffer, byteOffset?: number, encoding?: string): boolean {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n }\n\n indexOf(val: string | number | Buffer, byteOffset?: number, encoding?: string): number {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n }\n\n lastIndexOf(val: string | number | Buffer, byteOffset?: number, encoding?: string): number {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n }\n\n readInt8(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n }\n\n readInt16LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset] | (this[offset + 1] << 8);\n return val & 0x8000 ? val | 0xffff0000 : val;\n }\n\n readInt16BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n const val = this[offset + 1] | (this[offset] << 8);\n return val & 0x8000 ? val | 0xffff0000 : val;\n }\n\n readInt32LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16) | (this[offset + 3] << 24)\n );\n }\n\n readInt32BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n (this[offset] << 24) | (this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3]\n );\n }\n\n readIntBE(offset: number, byteLength: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let i = byteLength;\n let mul = 1;\n let val = this[offset + --i];\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul;\n }\n mul *= 0x80;\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n return val;\n }\n\n readIntLE(offset: number, byteLength: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n mul *= 0x80;\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n\n return val;\n }\n\n readBigInt64LE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val =\n this[offset + 4] + this[offset + 5] * 2 ** 8 + this[offset + 6] * 2 ** 16 + (last << 24); // Overflow\n\n return (\n (BigInt(val) << BigInt(32)) +\n BigInt(first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24)\n );\n }\n\n readBigInt64BE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const val =\n (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset];\n\n return (\n (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last)\n );\n }\n\n readUInt8(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 1, this.length);\n return this[offset];\n }\n\n readUInt16LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return this[offset] | (this[offset + 1] << 8);\n }\n\n readUInt16BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 2, this.length);\n return (this[offset] << 8) | this[offset + 1];\n }\n\n readUInt32LE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n (this[offset] | (this[offset + 1] << 8) | (this[offset + 2] << 16)) +\n this[offset + 3] * 0x1000000\n );\n }\n\n readUInt32BE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n\n return (\n this[offset] * 0x1000000 +\n ((this[offset + 1] << 16) | (this[offset + 2] << 8) | this[offset + 3])\n );\n }\n\n readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) checkOffset(offset, byteLength, this.length);\n\n let val = this[offset];\n let mul = 1;\n let i = 0;\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul;\n }\n\n return val;\n }\n\n readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length);\n }\n\n let val = this[offset + --byteLength];\n let mul = 1;\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul;\n }\n\n return val;\n }\n\n readBigUInt64LE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const lo =\n first + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 24;\n\n const hi = this[++offset] + this[++offset] * 2 ** 8 + this[++offset] * 2 ** 16 + last * 2 ** 24;\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32));\n }\n\n readBigUInt64BE(offset: number): BigInt {\n offset = offset >>> 0;\n validateNumber(offset, 'offset');\n const first = this[offset];\n const last = this[offset + 7];\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8);\n }\n\n const hi =\n first * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + this[++offset];\n\n const lo = this[++offset] * 2 ** 24 + this[++offset] * 2 ** 16 + this[++offset] * 2 ** 8 + last;\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo);\n }\n\n readFloatLE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, true, 23, 4);\n }\n\n readFloatBE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 4, this.length);\n return ieee754.read(this, offset, false, 23, 4);\n }\n\n readDoubleLE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, true, 52, 8);\n }\n\n readDoubleBE(offset: number, noAssert?: boolean): number {\n offset = offset >>> 0;\n if (!noAssert) checkOffset(offset, 8, this.length);\n return ieee754.read(this, offset, false, 52, 8);\n }\n\n writeUInt8(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value & 0xff;\n return offset + 1;\n }\n\n writeUInt16LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n }\n\n writeUInt16BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n }\n\n writeUInt32LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n return offset + 4;\n }\n\n writeUInt32BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n }\n\n writeUIntLE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let mul = 1;\n let i = 0;\n this[offset] = value & 0xff;\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeUIntBE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1;\n checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n this[offset + i] = value & 0xff;\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeBigUInt64LE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'));\n }\n\n writeBigUInt64BE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'));\n }\n\n writeIntLE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = 0;\n let mul = 1;\n let sub = 0;\n this[offset] = value & 0xff;\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeIntBE(value, offset, byteLength, noAssert) {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n const limit = Math.pow(2, 8 * byteLength - 1);\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n\n let i = byteLength - 1;\n let mul = 1;\n let sub = 0;\n this[offset + i] = value & 0xff;\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1;\n }\n this[offset + i] = (((value / mul) >> 0) - sub) & 0xff;\n }\n\n return offset + byteLength;\n }\n\n writeInt8(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n }\n\n writeInt16LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n }\n\n writeInt16BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n }\n\n writeInt32LE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n }\n\n writeInt32BE(value: number, offset: number, noAssert?: boolean): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000);\n if (value < 0) value = 0xffffffff + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n }\n\n writeBigInt64LE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64LE(\n this,\n value,\n offset,\n -BigInt('0x8000000000000000'),\n BigInt('0x7fffffffffffffff')\n );\n }\n\n writeBigInt64BE(value: number, offset: number = 0): BigInt {\n return wrtBigUInt64BE(\n this,\n value,\n offset,\n -BigInt('0x8000000000000000'),\n BigInt('0x7fffffffffffffff')\n );\n }\n\n writeFloatLE(value: number, offset: number, noAssert?: boolean): number {\n return writeFloat(this, value, offset, true, noAssert);\n }\n\n writeFloatBE(value: number, offset: number, noAssert?: boolean): number {\n return writeFloat(this, value, offset, false, noAssert);\n }\n\n writeDoubleLE(value: number, offset: number, noAssert?: boolean): number {\n return writeDouble(this, value, offset, true, noAssert);\n }\n\n writeDoubleBE(value: number, offset: number, noAssert?: boolean): number {\n return writeDouble(this, value, offset, false, noAssert);\n }\n\n write(string: string, encoding?: BufferEncoding): number;\n write(string: string, offset: number, encoding?: BufferEncoding): number;\n write(string: string, offset: number, length: number, encoding?: BufferEncoding): number;\n write(string: string, offset, length, encoding): number {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8';\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = 'utf8';\n } else {\n encoding = length;\n length = undefined;\n }\n } else {\n throw new Error('Buffer.write(string, encoding, offset[, length]) is no longer supported');\n }\n\n const remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds');\n }\n\n if (!encoding) encoding = 'utf8';\n\n let loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length);\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length);\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length);\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length);\n\n default:\n if (loweredCase) throw new TypeError(`Unknown encoding: ${encoding}`);\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n }\n\n // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n copy(target: Buffer, targetStart?: number, start?: number, end?: number): number {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer');\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds');\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range');\n if (end < 0) throw new RangeError('sourceEnd out of bounds');\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n const len = end - start;\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n } else {\n Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n }\n\n return len;\n }\n\n // Usage:\n // buffer.fill(number[, offset[, end]])\n // buffer.fill(buffer[, offset[, end]])\n // buffer.fill(string[, offset[, end]][, encoding])\n fill(val: any, start?: number, end?: number, encoding?): this {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n encoding = end;\n end = this.length;\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string');\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError(`Unknown encoding: ${encoding}`);\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0);\n if ((encoding === 'utf8' && code < 128) || encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n } else if (typeof val === 'boolean') {\n val = Number(val);\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index');\n }\n\n if (end <= start) {\n return this;\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n let i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n const bytes = Buffer.isBuffer(val) ? val : Buffer.from(val, encoding);\n const len = bytes.length;\n if (len === 0) {\n throw new TypeError(`The value \"${val}\" is invalid for argument \"value\"`);\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this;\n }\n\n swap16() {\n const len = this.length;\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits');\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1);\n }\n return this;\n }\n\n swap32() {\n const len = this.length;\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits');\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3);\n swap(this, i + 1, i + 2);\n }\n return this;\n }\n\n swap64() {\n const len = this.length;\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits');\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7);\n swap(this, i + 1, i + 6);\n swap(this, i + 2, i + 5);\n swap(this, i + 3, i + 4);\n }\n return this;\n }\n\n toString(encoding?: string, start?: number, end?: number): string {\n const length = this.length;\n if (length === 0) return '';\n if (arguments.length === 0) return utf8Slice(this, 0, length);\n return this._slowToString(...arguments);\n }\n\n // toLocaleString(b) {\n // if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n // if (this === b) return true;\n // return Buffer.compare(this, b) === 0;\n // }\n\n inspect() {\n let str = '';\n const max = INSPECT_MAX_BYTES;\n str = this.toString('hex', 0, max)\n .replace(/(.{2})/g, '$1 ')\n .trim();\n if (this.length > max) str += ' ... ';\n return `<Buffer ${str}>`;\n }\n // if (customInspectSymbol) {\n // Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect;\n // }\n // }\n\n equals(b: Buffer): boolean {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer');\n if (this === b) return true;\n return Buffer.compare(this, b) === 0;\n }\n\n compare(\n target: Buffer | Uint8Array,\n start?: number,\n end?: number,\n thisStart?: number,\n thisEnd?: number\n ): number {\n if (!Buffer.isBuffer(target) && isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength);\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n `${\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' + 'Received type '\n }${typeof target}`\n );\n }\n\n if (start === undefined) {\n start = 0;\n }\n if (end === undefined) {\n end = target ? target.length : 0;\n }\n if (thisStart === undefined) {\n thisStart = 0;\n }\n if (thisEnd === undefined) {\n thisEnd = this.length;\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index');\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0;\n }\n if (thisStart >= thisEnd) {\n return -1;\n }\n if (start >= end) {\n return 1;\n }\n\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n\n if (this === target) return 0;\n\n let x = thisEnd - thisStart;\n let y = end - start;\n const len = Math.min(x, y);\n\n const thisCopy = this.slice(thisStart, thisEnd);\n const targetCopy = target.slice(start, end);\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n }\n\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n }\n\n toJSON(): {type: 'Buffer'; data: any[]} {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n }\n\n slice(start?: number, end?: number): this {\n const len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n const newBuf = this.subarray(start, end);\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype);\n\n return newBuf as unknown as Buffer;\n }\n\n // Typo support?\n\n // readUint8(offset: number, noAssert?: boolean): number {\n // return this.readUInt8(...arguments);\n // }\n\n // readUint16LE(offset: number, noAssert?: boolean): number {\n // return this.readUInt16LE(...arguments);\n // }\n\n // readUint16BE(offset: number, noAssert?: boolean): number {\n // return this.readUInt16BE(...arguments);\n // }\n\n // readUint32LE(offset: number, noAssert?: boolean): number {\n // return this.readUInt32LE(...arguments);\n // }\n\n // readUint32BE(offset: number, noAssert?: boolean): number {\n // return this.readUInt32BE(...arguments);\n // }\n\n // writeUint8() {\n // return this.writeUInt8(...arguments);\n // }\n\n // writeUint16LE\n // writeUint16LE\n // writeUint32LE = Buffer.prototype.\n // Buffer.prototype.writeUint32BE\n\n protected _slowToString(encoding, start, end) {\n let loweredCase = false;\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0;\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return '';\n }\n\n if (end === undefined || end > this.length) {\n end = this.length;\n }\n\n if (end <= 0) {\n return '';\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n\n if (end <= start) {\n return '';\n }\n\n if (!encoding) encoding = 'utf8';\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end);\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end);\n\n case 'ascii':\n return asciiSlice(this, start, end);\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end);\n\n case 'base64':\n return base64Slice(this, start, end);\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end);\n\n default:\n if (loweredCase) throw new TypeError(`Unknown encoding: ${encoding}`);\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n }\n}\n\nfunction checkInt(buf: Buffer, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n}\n\nfunction wrtBigUInt64LE(buf: Buffer, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n lo = lo >> 8;\n buf[offset++] = lo;\n let hi = Number((value >> BigInt(32)) & BigInt(0xffffffff));\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n hi = hi >> 8;\n buf[offset++] = hi;\n return offset;\n}\n\nfunction wrtBigUInt64BE(buf: Buffer, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7);\n\n let lo = Number(value & BigInt(0xffffffff));\n buf[offset + 7] = lo;\n lo = lo >> 8;\n buf[offset + 6] = lo;\n lo = lo >> 8;\n buf[offset + 5] = lo;\n lo = lo >> 8;\n buf[offset + 4] = lo;\n let hi = Number((value >> BigInt(32)) & BigInt(0xffffffff));\n buf[offset + 3] = hi;\n hi = hi >> 8;\n buf[offset + 2] = hi;\n hi = hi >> 8;\n buf[offset + 1] = hi;\n hi = hi >> 8;\n buf[offset] = hi;\n return offset + 8;\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\n// Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype);\n// Object.setPrototypeOf(Buffer, Uint8Array);\n\nfunction assertSize(size: number): void {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number');\n } else if (size < 0) {\n throw new RangeError(`The value \"${size}\" is invalid for option \"size\"`);\n }\n}\n\nfunction alloc(size, fill, encoding): Buffer {\n assertSize(size);\n if (size <= 0) {\n return new Buffer(size);\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? new Buffer(size).fill(fill, encoding)\n : new Buffer(size).fill(fill);\n }\n return new Buffer(size);\n}\n\nfunction fromString(string: string, encoding: BufferEncoding): Buffer {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8';\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError(`Unknown encoding: ${encoding}`);\n }\n\n const length = byteLength(string, encoding) | 0;\n let buf = new Buffer(length);\n\n const actual = buf.write(string, encoding);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf;\n}\n\nfunction fromArrayLike(array: ArrayLike<any>): Buffer {\n const length = array.length < 0 ? 0 : checked(array.length) | 0;\n const buf = new Buffer(length);\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf;\n}\n\nfunction fromArrayView(arrayView): Buffer {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView);\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return fromArrayLike(arrayView);\n}\n\nfunction fromArrayBuffer(array: ArrayBuffer, byteOffset: number, length: number): Buffer {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds');\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds');\n }\n\n let buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype);\n\n return buf;\n}\n\nfunction fromObject(obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0;\n const buf = new Buffer(len);\n\n if (buf.length === 0) {\n return buf;\n }\n\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return new Buffer(0);\n }\n return fromArrayLike(obj);\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data);\n }\n}\n\nfunction checked(length) {\n // Note: cannot use `length < kMaxLength` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength) {\n throw new RangeError(\n `${'Attempt to allocate Buffer larger than maximum ' + 'size: 0x'}${kMaxLength.toString(\n 16\n )} bytes`\n );\n }\n return length | 0;\n}\n\nfunction byteLength(string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length;\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength;\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n `${\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type '\n }${typeof string}`\n );\n }\n\n const len = string.length;\n const mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n\n // Use a for loop to avoid recursion\n let loweredCase = false;\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len;\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length;\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2;\n case 'hex':\n return len >>> 1;\n case 'base64':\n return base64ToBytes(string).length;\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length; // assume utf8\n }\n encoding = `${encoding}`.toLowerCase();\n loweredCase = true;\n }\n }\n}\n\n// Buffer.byteLength = byteLength;\n\nfunction swap(b, n, m) {\n const i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff;\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000;\n }\n byteOffset = Number(byteOffset); // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;\n byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding);\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1;\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === 'number') {\n val = val & 0xff; // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n }\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir);\n }\n\n throw new TypeError('val must be string, number or Buffer');\n}\n\nfunction arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n let indexSize = 1;\n let arrLength = arr.length;\n let valLength = val.length;\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (\n encoding === 'ucs2' ||\n encoding === 'ucs-2' ||\n encoding === 'utf16le' ||\n encoding === 'utf-16le'\n ) {\n if (arr.length < 2 || val.length < 2) {\n return -1;\n }\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n\n function read(buf, i) {\n if (indexSize === 1) {\n return buf[i];\n }\n return buf.readUInt16BE(i * indexSize);\n }\n\n let i;\n if (dir) {\n let foundIndex = -1;\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for (i = byteOffset; i >= 0; i--) {\n let found = true;\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n }\n if (found) return i;\n }\n }\n\n return -1;\n}\n\nfunction hexWrite(buf: Buffer, string, offset, length): number {\n offset = Number(offset) || 0;\n const remaining = buf.length - offset;\n if (!length) {\n length = remaining;\n } else {\n length = Number(length);\n if (length > remaining) {\n length = remaining;\n }\n }\n\n const strLen = string.length;\n\n if (length > strLen / 2) {\n length = strLen / 2;\n }\n let i;\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16);\n if (numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\n\nfunction utf8Write(buf: Buffer, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction asciiWrite(buf: Buffer, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length);\n}\n\nfunction base64Write(buf: Buffer, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length);\n}\n\nfunction ucs2Write(buf: Buffer, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n\nfunction base64Slice(buf: Buffer, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf);\n }\n return base64.fromByteArray(buf.slice(start, end));\n}\n\nfunction utf8Slice(buf: Buffer, start, end) {\n end = Math.min(buf.length, end);\n const res: number[] = [];\n\n let i = start;\n while (i < end) {\n const firstByte = buf[i];\n let codePoint: number | null = null;\n let bytesPerSequence = firstByte > 0xef ? 4 : firstByte > 0xdf ? 3 : firstByte > 0xbf ? 2 : 1;\n\n if (i + bytesPerSequence <= end) {\n let fourthByte;\n let secondByte;\n let tempCodePoint;\n let thirdByte;\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte;\n }\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xc0) === 0x80) {\n tempCodePoint = ((firstByte & 0x1f) << 0x6) | (secondByte & 0x3f);\n if (tempCodePoint > 0x7f) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xc0) === 0x80 && (thirdByte & 0xc0) === 0x80) {\n tempCodePoint =\n ((firstByte & 0xf) << 0xc) | ((secondByte & 0x3f) << 0x6) | (thirdByte & 0x3f);\n if (tempCodePoint > 0x7ff && (tempCodePoint < 0xd800 || tempCodePoint > 0xdfff)) {\n codePoint = tempCodePoint;\n }\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if (\n (secondByte & 0xc0) === 0x80 &&\n (thirdByte & 0xc0) === 0x80 &&\n (fourthByte & 0xc0) === 0x80\n ) {\n tempCodePoint =\n ((firstByte & 0xf) << 0x12) |\n ((secondByte & 0x3f) << 0xc) |\n ((thirdByte & 0x3f) << 0x6) |\n (fourthByte & 0x3f);\n if (tempCodePoint > 0xffff && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint;\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xfffd;\n bytesPerSequence = 1;\n } else if (codePoint > 0xffff) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n\n res.push(codePoint);\n i += bytesPerSequence;\n }\n\n return decodeCodePointsArray(res);\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000;\n\nfunction decodeCodePointsArray(codePoints: number[]): string {\n const len = codePoints.length;\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints); // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = '';\n let i = 0;\n while (i < len) {\n res += String.fromCharCode.apply(String, codePoints.slice(i, (i += MAX_ARGUMENTS_LENGTH)));\n }\n return res;\n}\n\nfunction asciiSlice(buf: Buffer, start, end): string {\n let ret = '';\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7f);\n }\n return ret;\n}\n\nfunction latin1Slice(buf: Buffer, start, end): string {\n let ret = '';\n end = Math.min(buf.length, end);\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i]);\n }\n return ret;\n}\n\nfunction hexSlice(buf: Buffer, start, end): string {\n const len = buf.length;\n\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n\n let out = '';\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]];\n }\n return out;\n}\n\nfunction utf16leSlice(buf: Buffer, start, end): string {\n const bytes = buf.slice(start, end);\n let res = '';\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n }\n return res;\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset(offset, ext, length): void {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError('offset is not uint');\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length');\n}\n\nfunction checkIEEE754(buf: Buffer, value, offset, ext, max, min): void {\n if (offset + ext > buf.length) throw new RangeError('Index out of range');\n if (offset < 0) throw new RangeError('Index out of range');\n}\n\nfunction writeFloat(buf: Buffer, value, offset, littleEndian, noAssert): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e38, -3.4028234663852886e38);\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n\nfunction writeDouble(buf: Buffer, value, offset, littleEndian, noAssert): number {\n value = Number(value);\n offset = offset >>> 0;\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157e308, -1.7976931348623157e308);\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors: Record<string, any> = {};\nfunction E(sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor() {\n super();\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n });\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`;\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack; // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name;\n }\n\n get code() {\n return sym;\n }\n\n set code(value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n });\n }\n\n toString() {\n return `${this.name} [${sym}]: ${this.message}`;\n }\n };\n}\n\nE(\n 'ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`;\n }\n\n return 'Attempt to access memory outside buffer bounds';\n },\n RangeError\n);\nE(\n 'ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`;\n },\n TypeError\n);\nE(\n 'ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`;\n let received = input;\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input));\n } else if (typeof input === 'bigint') {\n received = String(input);\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received);\n }\n received += 'n';\n }\n msg += ` It must be ${range}. Received ${received}`;\n return msg;\n },\n RangeError\n);\n\nfunction addNumericalSeparator(val) {\n let res = '';\n let i = val.length;\n const start = val[0] === '-' ? 1 : 0;\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`;\n }\n return `${val.slice(0, i)}${res}`;\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds(buf, offset, byteLength) {\n validateNumber(offset, 'offset');\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1));\n }\n}\n\nfunction checkIntBI(value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : '';\n let range;\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`;\n } else {\n range =\n `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`;\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`;\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value);\n }\n checkBounds(buf, offset, byteLength);\n}\n\nfunction validateNumber(value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value);\n }\n}\n\nfunction boundsError(value, length, type?) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type);\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value);\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS();\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', `>= ${type ? 1 : 0} and <= ${length}`, value);\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\n\nfunction base64clean(str: string): string {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0];\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '');\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return '';\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = `${str}=`;\n }\n return str;\n}\n\nfunction utf8ToBytes(string: string, units?: number): number[] {\n units = units || Infinity;\n let codePoint;\n const length = string.length;\n let leadSurrogate = null;\n const bytes: number[] = [];\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xd7ff && codePoint < 0xe000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xdbff) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n continue;\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue;\n }\n\n // 2 leads in a row\n if (codePoint < 0xdc00) {\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n leadSurrogate = codePoint;\n continue;\n }\n\n // valid surrogate pair\n codePoint = (((leadSurrogate - 0xd800) << 10) | (codePoint - 0xdc00)) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xef, 0xbf, 0xbd);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push((codePoint >> 0x6) | 0xc0, (codePoint & 0x3f) | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(\n (codePoint >> 0xc) | 0xe0,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(\n (codePoint >> 0x12) | 0xf0,\n ((codePoint >> 0xc) & 0x3f) | 0x80,\n ((codePoint >> 0x6) & 0x3f) | 0x80,\n (codePoint & 0x3f) | 0x80\n );\n } else {\n throw new Error('Invalid code point');\n }\n }\n\n return bytes;\n}\n\nfunction asciiToBytes(str: string): number[] {\n const byteArray: number[] = [];\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xff);\n }\n return byteArray;\n}\n\nfunction utf16leToBytes(str: string, units: number): number[] {\n let c;\n let hi;\n let lo;\n const byteArray: number[] = [];\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break;\n\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n\n return byteArray;\n}\n\nfunction base64ToBytes(str: string): Uint8Array {\n return base64.toByteArray(base64clean(str));\n}\n\nfunction blitBuffer(src, dst, offset, length): number {\n let i;\n for (i = 0; i < length; ++i) {\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance(obj, type): boolean {\n return (\n obj instanceof type ||\n (obj != null &&\n obj.constructor != null &&\n obj.constructor.name != null &&\n obj.constructor.name === type.name)\n );\n}\nfunction numberIsNaN(obj): boolean {\n // For IE11 support\n return obj !== obj; // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef';\n const table = new Array(256);\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16;\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j];\n }\n }\n return table;\n})();\n"],"mappings":";;;;;;;;;;;;;;;;AA4BA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA8B,SAAAE,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAP,KAAA,EAAAQ,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAS,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAR,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAQ,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA,sBAzB9B;AACA;AACA;AACA;AACA;AACA;AAsBO,IAAMC,UAAU,GAAG,UAAU;AAACC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AAC9B,IAAME,iBAAiB,GAAG,EAAE;AAACD,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AAAA,IAkBvBC,MAAM,aAAAC,WAAA;EAAA,IAAAC,UAAA,CAAArB,OAAA,EAAAmB,MAAA,EAAAC,WAAA;EAAA,IAAAE,MAAA,GAAA7B,YAAA,CAAA0B,MAAA;EAgEjB,SAAAA,OAAYI,GAAG,EAAEC,gBAAiB,EAAEC,MAAe,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,CAAA3B,OAAA,QAAAmB,MAAA;IACnD,IAAI,OAAOI,GAAG,KAAK,QAAQ,EAAE;MAC3B,WAAAf,2BAAA,CAAAR,OAAA,EAAA0B,KAAA,EAAOP,MAAM,CAACS,IAAI,CAACL,GAAG,EAAEC,gBAAgB,EAAEC,MAAM,CAAC;IACnD;IAGA,IAAMI,IAAI,GAAGN,GAAG;IAChB,IAAIM,IAAI,GAAGb,UAAU,EAAE;MACrB,MAAM,IAAIc,UAAU,gBAAAC,MAAA,CAAeF,IAAI,sCAAgC,CAAC;IAC1E;IACA,IAAI,OAAOL,gBAAgB,KAAK,QAAQ,EAAE;MACxC,MAAM,IAAIQ,SAAS,CAAC,oEAAoE,CAAC;IAC3F;IACAN,KAAA,GAAAJ,MAAA,CAAAR,IAAA,OAAMe,IAAI,GAAG,CAAC,GAAG,CAAC,GAAGI,OAAO,CAACJ,IAAI,CAAC,GAAG,CAAC;IAAE,IAAAK,gBAAA,CAAAlC,OAAA,MAAAmC,uBAAA,CAAAnC,OAAA,EAAA0B,KAAA,gBAvD9B,IAAI;IAwDd,WAAAlB,2BAAA,CAAAR,OAAA,EAAA0B,KAAA;EACF;EAAC,IAAAU,aAAA,CAAApC,OAAA,EAAAmB,MAAA;IAAAkB,GAAA;IAAAC,GAAA,EA1ED,SAAAA,IAAA,EAAa;MACX,IAAI,CAACnB,MAAM,CAACoB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAOC,SAAS;MAC5C,OAAO,IAAI,CAACC,MAAM;IACpB;EAAC;IAAAJ,GAAA;IAAAC,GAAA,EAED,SAAAA,IAAA,EAAa;MACX,IAAI,CAACnB,MAAM,CAACoB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAOC,SAAS;MAC5C,OAAO,IAAI,CAACE,UAAU;IACxB;EAAC;IAAAL,GAAA;IAAAM,KAAA,EAyTD,SAAAC,SAASC,GAA6B,EAAEH,UAAmB,EAAEI,QAAiB,EAAW;MACvF,OAAO,IAAI,CAACC,OAAO,CAACF,GAAG,EAAEH,UAAU,EAAEI,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvD;EAAC;IAAAT,GAAA;IAAAM,KAAA,EAED,SAAAI,QAAQF,GAA6B,EAAEH,UAAmB,EAAEI,QAAiB,EAAU;MACrF,OAAOE,oBAAoB,CAAC,IAAI,EAAEH,GAAG,EAAEH,UAAU,EAAEI,QAAQ,EAAE,IAAI,CAAC;IACpE;EAAC;IAAAT,GAAA;IAAAM,KAAA,EAED,SAAAM,YAAYJ,GAA6B,EAAEH,UAAmB,EAAEI,QAAiB,EAAU;MACzF,OAAOE,oBAAoB,CAAC,IAAI,EAAEH,GAAG,EAAEH,UAAU,EAAEI,QAAQ,EAAE,KAAK,CAAC;IACrE;EAAC;IAAAT,GAAA;IAAAM,KAAA,EAED,SAAAO,SAASC,MAAc,EAAEC,QAAkB,EAAU;MACnDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,IAAI,EAAE,IAAI,CAAC0B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,OAAO,IAAI,CAACA,MAAM,CAAC;MAC/C,OAAO,CAAC,IAAI,GAAG,IAAI,CAACA,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAW,YAAYH,MAAc,EAAEC,QAAkB,EAAU;MACtDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,IAAMoB,GAAG,GAAG,IAAI,CAACM,MAAM,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE;MAClD,OAAON,GAAG,GAAG,MAAM,GAAGA,GAAG,GAAG,UAAU,GAAGA,GAAG;IAC9C;EAAC;IAAAR,GAAA;IAAAM,KAAA,EAED,SAAAY,YAAYJ,MAAc,EAAEC,QAAkB,EAAU;MACtDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,IAAMoB,GAAG,GAAG,IAAI,CAACM,MAAM,GAAG,CAAC,CAAC,GAAI,IAAI,CAACA,MAAM,CAAC,IAAI,CAAE;MAClD,OAAON,GAAG,GAAG,MAAM,GAAGA,GAAG,GAAG,UAAU,GAAGA,GAAG;IAC9C;EAAC;IAAAR,GAAA;IAAAM,KAAA,EAED,SAAAa,YAAYL,MAAc,EAAEC,QAAkB,EAAU;MACtDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAElD,OACE,IAAI,CAAC0B,MAAM,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG;IAEhG;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAc,YAAYN,MAAc,EAAEC,QAAkB,EAAU;MACtDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAElD,OACG,IAAI,CAAC0B,MAAM,CAAC,IAAI,EAAE,GAAK,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GAAG,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC;IAEhG;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAe,UAAUP,MAAc,EAAEQ,UAAkB,EAAEP,QAAkB,EAAU;MACxED,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBQ,UAAU,GAAGA,UAAU,KAAK,CAAC;MAC7B,IAAI,CAACP,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAEQ,UAAU,EAAE,IAAI,CAAClC,MAAM,CAAC;MAE3D,IAAImC,CAAC,GAAGD,UAAU;MAClB,IAAIE,GAAG,GAAG,CAAC;MACX,IAAIhB,GAAG,GAAG,IAAI,CAACM,MAAM,GAAG,EAAES,CAAC,CAAC;MAC5B,OAAOA,CAAC,GAAG,CAAC,KAAKC,GAAG,IAAI,KAAK,CAAC,EAAE;QAC9BhB,GAAG,IAAI,IAAI,CAACM,MAAM,GAAG,EAAES,CAAC,CAAC,GAAGC,GAAG;MACjC;MACAA,GAAG,IAAI,IAAI;MAEX,IAAIhB,GAAG,IAAIgB,GAAG,EAAEhB,GAAG,IAAIiB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,UAAU,CAAC;MAElD,OAAOd,GAAG;IACZ;EAAC;IAAAR,GAAA;IAAAM,KAAA,EAED,SAAAqB,UAAUb,MAAc,EAAEQ,UAAkB,EAAEP,QAAkB,EAAU;MACxED,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBQ,UAAU,GAAGA,UAAU,KAAK,CAAC;MAC7B,IAAI,CAACP,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAEQ,UAAU,EAAE,IAAI,CAAClC,MAAM,CAAC;MAE3D,IAAIoB,GAAG,GAAG,IAAI,CAACM,MAAM,CAAC;MACtB,IAAIU,GAAG,GAAG,CAAC;MACX,IAAID,CAAC,GAAG,CAAC;MACT,OAAO,EAAEA,CAAC,GAAGD,UAAU,KAAKE,GAAG,IAAI,KAAK,CAAC,EAAE;QACzChB,GAAG,IAAI,IAAI,CAACM,MAAM,GAAGS,CAAC,CAAC,GAAGC,GAAG;MAC/B;MACAA,GAAG,IAAI,IAAI;MAEX,IAAIhB,GAAG,IAAIgB,GAAG,EAAEhB,GAAG,IAAIiB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,UAAU,CAAC;MAElD,OAAOd,GAAG;IACZ;EAAC;IAAAR,GAAA;IAAAM,KAAA,EAED,SAAAsB,eAAed,MAAc,EAAU;MACrCA,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBe,cAAc,CAACf,MAAM,EAAE,QAAQ,CAAC;MAChC,IAAMgB,KAAK,GAAG,IAAI,CAAChB,MAAM,CAAC;MAC1B,IAAMiB,IAAI,GAAG,IAAI,CAACjB,MAAM,GAAG,CAAC,CAAC;MAC7B,IAAIgB,KAAK,KAAK3B,SAAS,IAAI4B,IAAI,KAAK5B,SAAS,EAAE;QAC7C6B,WAAW,CAAClB,MAAM,EAAE,IAAI,CAAC1B,MAAM,GAAG,CAAC,CAAC;MACtC;MAEA,IAAMoB,GAAG,GACP,IAAI,CAACM,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAG,IAAI,CAACZ,MAAM,GAAG,CAAC,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,KAAIK,IAAI,IAAI,EAAE,CAAC;MAE1F,OACE,CAACE,MAAM,CAACzB,GAAG,CAAC,IAAIyB,MAAM,CAAC,EAAE,CAAC,IAC1BA,MAAM,CAACH,KAAK,GAAG,IAAI,CAAC,EAAEhB,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,EAAC;IAEjG;EAAC;IAAA1B,GAAA;IAAAM,KAAA,EAED,SAAA4B,eAAepB,MAAc,EAAU;MACrCA,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBe,cAAc,CAACf,MAAM,EAAE,QAAQ,CAAC;MAChC,IAAMgB,KAAK,GAAG,IAAI,CAAChB,MAAM,CAAC;MAC1B,IAAMiB,IAAI,GAAG,IAAI,CAACjB,MAAM,GAAG,CAAC,CAAC;MAC7B,IAAIgB,KAAK,KAAK3B,SAAS,IAAI4B,IAAI,KAAK5B,SAAS,EAAE;QAC7C6B,WAAW,CAAClB,MAAM,EAAE,IAAI,CAAC1B,MAAM,GAAG,CAAC,CAAC;MACtC;MAEA,IAAMoB,GAAG,GACP,CAACsB,KAAK,IAAI,EAAE,IACZ,IAAI,CAAC,EAAEhB,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IACxB,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IACvB,IAAI,CAAC,EAAEZ,MAAM,CAAC;MAEhB,OACE,CAACmB,MAAM,CAACzB,GAAG,CAAC,IAAIyB,MAAM,CAAC,EAAE,CAAC,IAC1BA,MAAM,CAAC,IAAI,CAAC,EAAEnB,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAGK,IAAI,CAAC;IAEhG;EAAC;IAAA/B,GAAA;IAAAM,KAAA,EAED,SAAA6B,UAAUrB,MAAc,EAAEC,QAAkB,EAAU;MACpDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAO,IAAI,CAAC0B,MAAM,CAAC;IACrB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAA8B,aAAatB,MAAc,EAAEC,QAAkB,EAAU;MACvDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAO,IAAI,CAAC0B,MAAM,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE;IAC/C;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAA+B,aAAavB,MAAc,EAAEC,QAAkB,EAAU;MACvDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAQ,IAAI,CAAC0B,MAAM,CAAC,IAAI,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC;IAC/C;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAgC,aAAaxB,MAAc,EAAEC,QAAkB,EAAU;MACvDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAElD,OACE,CAAC,IAAI,CAAC0B,MAAM,CAAC,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GAAI,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAG,IAClE,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAG,SAAS;IAEhC;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAiC,aAAazB,MAAc,EAAEC,QAAkB,EAAU;MACvDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAElD,OACE,IAAI,CAAC0B,MAAM,CAAC,GAAG,SAAS,IACtB,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,GAAK,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,IAAI,CAAE,GAAG,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,CAAC;IAE3E;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAkC,WAAW1B,MAAM,EAAEQ,UAAU,EAAEP,QAAQ,EAAE;MACvCD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBQ,UAAU,GAAGA,UAAU,KAAK,CAAC;MAC7B,IAAI,CAACP,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAEQ,UAAU,EAAE,IAAI,CAAClC,MAAM,CAAC;MAE3D,IAAIoB,GAAG,GAAG,IAAI,CAACM,MAAM,CAAC;MACtB,IAAIU,GAAG,GAAG,CAAC;MACX,IAAID,CAAC,GAAG,CAAC;MACT,OAAO,EAAEA,CAAC,GAAGD,UAAU,KAAKE,GAAG,IAAI,KAAK,CAAC,EAAE;QACzChB,GAAG,IAAI,IAAI,CAACM,MAAM,GAAGS,CAAC,CAAC,GAAGC,GAAG;MAC/B;MAEA,OAAOhB,GAAG;IACZ;EAAC;IAAAR,GAAA;IAAAM,KAAA,EAED,SAAAmC,WAAW3B,MAAM,EAAEQ,UAAU,EAAEP,QAAQ,EAAE;MACvCD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBQ,UAAU,GAAGA,UAAU,KAAK,CAAC;MAC7B,IAAI,CAACP,QAAQ,EAAE;QACbC,WAAW,CAACF,MAAM,EAAEQ,UAAU,EAAE,IAAI,CAAClC,MAAM,CAAC;MAC9C;MAEA,IAAIoB,GAAG,GAAG,IAAI,CAACM,MAAM,GAAG,EAAEQ,UAAU,CAAC;MACrC,IAAIE,GAAG,GAAG,CAAC;MACX,OAAOF,UAAU,GAAG,CAAC,KAAKE,GAAG,IAAI,KAAK,CAAC,EAAE;QACvChB,GAAG,IAAI,IAAI,CAACM,MAAM,GAAG,EAAEQ,UAAU,CAAC,GAAGE,GAAG;MAC1C;MAEA,OAAOhB,GAAG;IACZ;EAAC;IAAAR,GAAA;IAAAM,KAAA,EAED,SAAAoC,gBAAgB5B,MAAc,EAAU;MACtCA,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBe,cAAc,CAACf,MAAM,EAAE,QAAQ,CAAC;MAChC,IAAMgB,KAAK,GAAG,IAAI,CAAChB,MAAM,CAAC;MAC1B,IAAMiB,IAAI,GAAG,IAAI,CAACjB,MAAM,GAAG,CAAC,CAAC;MAC7B,IAAIgB,KAAK,KAAK3B,SAAS,IAAI4B,IAAI,KAAK5B,SAAS,EAAE;QAC7C6B,WAAW,CAAClB,MAAM,EAAE,IAAI,CAAC1B,MAAM,GAAG,CAAC,CAAC;MACtC;MAEA,IAAMuD,EAAE,GACNb,KAAK,GAAG,IAAI,CAAC,EAAEhB,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE;MAEvF,IAAMkB,EAAE,GAAG,IAAI,CAAC,EAAE9B,MAAM,CAAC,GAAG,IAAI,CAAC,EAAEA,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAGK,IAAI,GAAAN,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE;MAE/F,OAAOO,MAAM,CAACU,EAAE,CAAC,IAAIV,MAAM,CAACW,EAAE,CAAC,IAAIX,MAAM,CAAC,EAAE,CAAC,CAAC;IAChD;EAAC;IAAAjC,GAAA;IAAAM,KAAA,EAED,SAAAuC,gBAAgB/B,MAAc,EAAU;MACtCA,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBe,cAAc,CAACf,MAAM,EAAE,QAAQ,CAAC;MAChC,IAAMgB,KAAK,GAAG,IAAI,CAAChB,MAAM,CAAC;MAC1B,IAAMiB,IAAI,GAAG,IAAI,CAACjB,MAAM,GAAG,CAAC,CAAC;MAC7B,IAAIgB,KAAK,KAAK3B,SAAS,IAAI4B,IAAI,KAAK5B,SAAS,EAAE;QAC7C6B,WAAW,CAAClB,MAAM,EAAE,IAAI,CAAC1B,MAAM,GAAG,CAAC,CAAC;MACtC;MAEA,IAAMwD,EAAE,GACNd,KAAK,GAAAL,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC;MAEvF,IAAM6B,EAAE,GAAG,IAAI,CAAC,EAAE7B,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,IAAG,IAAI,CAAC,EAAEZ,MAAM,CAAC,GAAAW,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,CAAC,IAAGK,IAAI;MAE/F,OAAO,CAACE,MAAM,CAACW,EAAE,CAAC,IAAIX,MAAM,CAAC,EAAE,CAAC,IAAIA,MAAM,CAACU,EAAE,CAAC;IAChD;EAAC;IAAA3C,GAAA;IAAAM,KAAA,EAED,SAAAwC,YAAYhC,MAAc,EAAEC,QAAkB,EAAU;MACtDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAO2D,aAAO,CAACC,IAAI,CAAC,IAAI,EAAElC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAA2C,YAAYnC,MAAc,EAAEC,QAAkB,EAAU;MACtDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAO2D,aAAO,CAACC,IAAI,CAAC,IAAI,EAAElC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAA4C,aAAapC,MAAc,EAAEC,QAAkB,EAAU;MACvDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAO2D,aAAO,CAACC,IAAI,CAAC,IAAI,EAAElC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAA6C,aAAarC,MAAc,EAAEC,QAAkB,EAAU;MACvDD,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEC,WAAW,CAACF,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC1B,MAAM,CAAC;MAClD,OAAO2D,aAAO,CAACC,IAAI,CAAC,IAAI,EAAElC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAA8C,WAAW9C,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACpET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;MACxD,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAiD,cAAcjD,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACvET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;MAC1D,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC9B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAkD,cAAclD,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACvET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;MAC1D,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC1B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC/B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAmD,cAAcnD,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACvET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;MAC9D,IAAI,CAACA,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC/B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC/B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC9B,IAAI,CAACQ,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAoD,cAAcpD,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACvET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;MAC9D,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC3B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC/B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC9B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC/B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAqD,YAAYrD,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAEP,QAAQ,EAAE;MAC/CT,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBQ,UAAU,GAAGA,UAAU,KAAK,CAAC;MAC7B,IAAI,CAACP,QAAQ,EAAE;QACb,IAAM6C,QAAQ,GAAGnC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,UAAU,CAAC,GAAG,CAAC;QAChDgC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAEsC,QAAQ,EAAE,CAAC,CAAC;MACxD;MAEA,IAAIpC,GAAG,GAAG,CAAC;MACX,IAAID,CAAC,GAAG,CAAC;MACT,IAAI,CAACT,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,OAAO,EAAEiB,CAAC,GAAGD,UAAU,KAAKE,GAAG,IAAI,KAAK,CAAC,EAAE;QACzC,IAAI,CAACV,MAAM,GAAGS,CAAC,CAAC,GAAIjB,KAAK,GAAGkB,GAAG,GAAI,IAAI;MACzC;MAEA,OAAOV,MAAM,GAAGQ,UAAU;IAC5B;EAAC;IAAAtB,GAAA;IAAAM,KAAA,EAED,SAAAuD,YAAYvD,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAEP,QAAQ,EAAE;MAC/CT,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrBQ,UAAU,GAAGA,UAAU,KAAK,CAAC;MAC7B,IAAI,CAACP,QAAQ,EAAE;QACb,IAAM6C,QAAQ,GAAGnC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,UAAU,CAAC,GAAG,CAAC;QAChDgC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAEsC,QAAQ,EAAE,CAAC,CAAC;MACxD;MAEA,IAAIrC,CAAC,GAAGD,UAAU,GAAG,CAAC;MACtB,IAAIE,GAAG,GAAG,CAAC;MACX,IAAI,CAACV,MAAM,GAAGS,CAAC,CAAC,GAAGjB,KAAK,GAAG,IAAI;MAC/B,OAAO,EAAEiB,CAAC,IAAI,CAAC,KAAKC,GAAG,IAAI,KAAK,CAAC,EAAE;QACjC,IAAI,CAACV,MAAM,GAAGS,CAAC,CAAC,GAAIjB,KAAK,GAAGkB,GAAG,GAAI,IAAI;MACzC;MAEA,OAAOV,MAAM,GAAGQ,UAAU;IAC5B;EAAC;IAAAtB,GAAA;IAAAM,KAAA,EAED,SAAAwD,iBAAiBxD,KAAa,EAA8B;MAAA,IAA5BQ,MAAc,GAAA7C,SAAA,CAAAmB,MAAA,QAAAnB,SAAA,QAAAkC,SAAA,GAAAlC,SAAA,MAAG,CAAC;MAChD,OAAO8F,cAAc,CAAC,IAAI,EAAEzD,KAAK,EAAEQ,MAAM,EAAEmB,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrF;EAAC;IAAAjC,GAAA;IAAAM,KAAA,EAED,SAAA0D,iBAAiB1D,KAAa,EAA8B;MAAA,IAA5BQ,MAAc,GAAA7C,SAAA,CAAAmB,MAAA,QAAAnB,SAAA,QAAAkC,SAAA,GAAAlC,SAAA,MAAG,CAAC;MAChD,OAAOgG,cAAc,CAAC,IAAI,EAAE3D,KAAK,EAAEQ,MAAM,EAAEmB,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACrF;EAAC;IAAAjC,GAAA;IAAAM,KAAA,EAED,SAAA4D,WAAW5D,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAEP,QAAQ,EAAE;MAC9CT,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAE;QACb,IAAMoD,KAAK,GAAG1C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,UAAU,GAAG,CAAC,CAAC;QAE7CgC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAE6C,KAAK,GAAG,CAAC,EAAE,CAACA,KAAK,CAAC;MAC9D;MAEA,IAAI5C,CAAC,GAAG,CAAC;MACT,IAAIC,GAAG,GAAG,CAAC;MACX,IAAI4C,GAAG,GAAG,CAAC;MACX,IAAI,CAACtD,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,OAAO,EAAEiB,CAAC,GAAGD,UAAU,KAAKE,GAAG,IAAI,KAAK,CAAC,EAAE;QACzC,IAAIlB,KAAK,GAAG,CAAC,IAAI8D,GAAG,KAAK,CAAC,IAAI,IAAI,CAACtD,MAAM,GAAGS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;UACxD6C,GAAG,GAAG,CAAC;QACT;QACA,IAAI,CAACtD,MAAM,GAAGS,CAAC,CAAC,GAAI,CAAEjB,KAAK,GAAGkB,GAAG,IAAK,CAAC,IAAI4C,GAAG,GAAI,IAAI;MACxD;MAEA,OAAOtD,MAAM,GAAGQ,UAAU;IAC5B;EAAC;IAAAtB,GAAA;IAAAM,KAAA,EAED,SAAA+D,WAAW/D,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAEP,QAAQ,EAAE;MAC9CT,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAE;QACb,IAAMoD,KAAK,GAAG1C,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGJ,UAAU,GAAG,CAAC,CAAC;QAE7CgC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAEQ,UAAU,EAAE6C,KAAK,GAAG,CAAC,EAAE,CAACA,KAAK,CAAC;MAC9D;MAEA,IAAI5C,CAAC,GAAGD,UAAU,GAAG,CAAC;MACtB,IAAIE,GAAG,GAAG,CAAC;MACX,IAAI4C,GAAG,GAAG,CAAC;MACX,IAAI,CAACtD,MAAM,GAAGS,CAAC,CAAC,GAAGjB,KAAK,GAAG,IAAI;MAC/B,OAAO,EAAEiB,CAAC,IAAI,CAAC,KAAKC,GAAG,IAAI,KAAK,CAAC,EAAE;QACjC,IAAIlB,KAAK,GAAG,CAAC,IAAI8D,GAAG,KAAK,CAAC,IAAI,IAAI,CAACtD,MAAM,GAAGS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE;UACxD6C,GAAG,GAAG,CAAC;QACT;QACA,IAAI,CAACtD,MAAM,GAAGS,CAAC,CAAC,GAAI,CAAEjB,KAAK,GAAGkB,GAAG,IAAK,CAAC,IAAI4C,GAAG,GAAI,IAAI;MACxD;MAEA,OAAOtD,MAAM,GAAGQ,UAAU;IAC5B;EAAC;IAAAtB,GAAA;IAAAM,KAAA,EAED,SAAAgE,UAAUhE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACnET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC;MAC5D,IAAIR,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,IAAI,GAAGA,KAAK,GAAG,CAAC;MACvC,IAAI,CAACQ,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAiE,aAAajE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACtET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC;MAChE,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC9B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAkE,aAAalE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACtET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC;MAChE,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC1B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC/B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAmE,aAAanE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACtET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC;MACxE,IAAI,CAACA,MAAM,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC3B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC9B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC/B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC/B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAoE,aAAapE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACtET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;MACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;MACrB,IAAI,CAACC,QAAQ,EAAEuC,QAAQ,CAAC,IAAI,EAAEhD,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC;MACxE,IAAIR,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,UAAU,GAAGA,KAAK,GAAG,CAAC;MAC7C,IAAI,CAACQ,MAAM,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC3B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,EAAE;MAC/B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,KAAK,CAAC;MAC9B,IAAI,CAACQ,MAAM,GAAG,CAAC,CAAC,GAAGR,KAAK,GAAG,IAAI;MAC/B,OAAOQ,MAAM,GAAG,CAAC;IACnB;EAAC;IAAAd,GAAA;IAAAM,KAAA,EAED,SAAAqE,gBAAgBrE,KAAa,EAA8B;MAAA,IAA5BQ,MAAc,GAAA7C,SAAA,CAAAmB,MAAA,QAAAnB,SAAA,QAAAkC,SAAA,GAAAlC,SAAA,MAAG,CAAC;MAC/C,OAAO8F,cAAc,CACnB,IAAI,EACJzD,KAAK,EACLQ,MAAM,EACN,CAACmB,MAAM,CAAC,oBAAoB,CAAC,EAC7BA,MAAM,CAAC,oBAAoB,CAC7B,CAAC;IACH;EAAC;IAAAjC,GAAA;IAAAM,KAAA,EAED,SAAAsE,gBAAgBtE,KAAa,EAA8B;MAAA,IAA5BQ,MAAc,GAAA7C,SAAA,CAAAmB,MAAA,QAAAnB,SAAA,QAAAkC,SAAA,GAAAlC,SAAA,MAAG,CAAC;MAC/C,OAAOgG,cAAc,CACnB,IAAI,EACJ3D,KAAK,EACLQ,MAAM,EACN,CAACmB,MAAM,CAAC,oBAAoB,CAAC,EAC7BA,MAAM,CAAC,oBAAoB,CAC7B,CAAC;IACH;EAAC;IAAAjC,GAAA;IAAAM,KAAA,EAED,SAAAuE,aAAavE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACtE,OAAO+D,UAAU,CAAC,IAAI,EAAExE,KAAK,EAAEQ,MAAM,EAAE,IAAI,EAAEC,QAAQ,CAAC;IACxD;EAAC;IAAAf,GAAA;IAAAM,KAAA,EAED,SAAAyE,aAAazE,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACtE,OAAO+D,UAAU,CAAC,IAAI,EAAExE,KAAK,EAAEQ,MAAM,EAAE,KAAK,EAAEC,QAAQ,CAAC;IACzD;EAAC;IAAAf,GAAA;IAAAM,KAAA,EAED,SAAA0E,cAAc1E,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACvE,OAAOkE,WAAW,CAAC,IAAI,EAAE3E,KAAK,EAAEQ,MAAM,EAAE,IAAI,EAAEC,QAAQ,CAAC;IACzD;EAAC;IAAAf,GAAA;IAAAM,KAAA,EAED,SAAA4E,cAAc5E,KAAa,EAAEQ,MAAc,EAAEC,QAAkB,EAAU;MACvE,OAAOkE,WAAW,CAAC,IAAI,EAAE3E,KAAK,EAAEQ,MAAM,EAAE,KAAK,EAAEC,QAAQ,CAAC;IAC1D;EAAC;IAAAf,GAAA;IAAAM,KAAA,EAKD,SAAA6E,MAAMC,MAAc,EAAEtE,MAAM,EAAE1B,MAAM,EAAEqB,QAAQ,EAAU;MAEtD,IAAIK,MAAM,KAAKX,SAAS,EAAE;QACxBM,QAAQ,GAAG,MAAM;QACjBrB,MAAM,GAAG,IAAI,CAACA,MAAM;QACpB0B,MAAM,GAAG,CAAC;MAEZ,CAAC,MAAM,IAAI1B,MAAM,KAAKe,SAAS,IAAI,OAAOW,MAAM,KAAK,QAAQ,EAAE;QAC7DL,QAAQ,GAAGK,MAAM;QACjB1B,MAAM,GAAG,IAAI,CAACA,MAAM;QACpB0B,MAAM,GAAG,CAAC;MAEZ,CAAC,MAAM,IAAIuE,QAAQ,CAACvE,MAAM,CAAC,EAAE;QAC3BA,MAAM,GAAGA,MAAM,KAAK,CAAC;QACrB,IAAIuE,QAAQ,CAACjG,MAAM,CAAC,EAAE;UACpBA,MAAM,GAAGA,MAAM,KAAK,CAAC;UACrB,IAAIqB,QAAQ,KAAKN,SAAS,EAAEM,QAAQ,GAAG,MAAM;QAC/C,CAAC,MAAM;UACLA,QAAQ,GAAGrB,MAAM;UACjBA,MAAM,GAAGe,SAAS;QACpB;MACF,CAAC,MAAM;QACL,MAAM,IAAImF,KAAK,CAAC,yEAAyE,CAAC;MAC5F;MAEA,IAAMC,SAAS,GAAG,IAAI,CAACnG,MAAM,GAAG0B,MAAM;MACtC,IAAI1B,MAAM,KAAKe,SAAS,IAAIf,MAAM,GAAGmG,SAAS,EAAEnG,MAAM,GAAGmG,SAAS;MAElE,IAAKH,MAAM,CAAChG,MAAM,GAAG,CAAC,KAAKA,MAAM,GAAG,CAAC,IAAI0B,MAAM,GAAG,CAAC,CAAC,IAAKA,MAAM,GAAG,IAAI,CAAC1B,MAAM,EAAE;QAC7E,MAAM,IAAIK,UAAU,CAAC,wCAAwC,CAAC;MAChE;MAEA,IAAI,CAACgB,QAAQ,EAAEA,QAAQ,GAAG,MAAM;MAEhC,IAAI+E,WAAW,GAAG,KAAK;MACvB,SAAS;QACP,QAAQ/E,QAAQ;UACd,KAAK,KAAK;YACR,OAAOgF,QAAQ,CAAC,IAAI,EAAEL,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,CAAC;UAE/C,KAAK,MAAM;UACX,KAAK,OAAO;YACV,OAAOsG,SAAS,CAAC,IAAI,EAAEN,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,CAAC;UAEhD,KAAK,OAAO;UACZ,KAAK,QAAQ;UACb,KAAK,QAAQ;YACX,OAAOuG,UAAU,CAAC,IAAI,EAAEP,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,CAAC;UAEjD,KAAK,QAAQ;YAEX,OAAOwG,WAAW,CAAC,IAAI,EAAER,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,CAAC;UAElD,KAAK,MAAM;UACX,KAAK,OAAO;UACZ,KAAK,SAAS;UACd,KAAK,UAAU;YACb,OAAOyG,SAAS,CAAC,IAAI,EAAET,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,CAAC;UAEhD;YACE,IAAIoG,WAAW,EAAE,MAAM,IAAI7F,SAAS,sBAAAD,MAAA,CAAsBe,QAAQ,CAAE,CAAC;YACrEA,QAAQ,GAAG,GAAAf,MAAA,CAAGe,QAAQ,EAAGqF,WAAW,CAAC,CAAC;YACtCN,WAAW,GAAG,IAAI;QACtB;MACF;IACF;EAAC;IAAAxF,GAAA;IAAAM,KAAA,EAGD,SAAAyF,KAAKC,MAAc,EAAEC,WAAoB,EAAEC,KAAc,EAAEC,GAAY,EAAU;MAC/E,IAAI,CAACrH,MAAM,CAACoB,QAAQ,CAAC8F,MAAM,CAAC,EAAE,MAAM,IAAIrG,SAAS,CAAC,6BAA6B,CAAC;MAChF,IAAI,CAACuG,KAAK,EAAEA,KAAK,GAAG,CAAC;MACrB,IAAI,CAACC,GAAG,IAAIA,GAAG,KAAK,CAAC,EAAEA,GAAG,GAAG,IAAI,CAAC/G,MAAM;MACxC,IAAI6G,WAAW,IAAID,MAAM,CAAC5G,MAAM,EAAE6G,WAAW,GAAGD,MAAM,CAAC5G,MAAM;MAC7D,IAAI,CAAC6G,WAAW,EAAEA,WAAW,GAAG,CAAC;MACjC,IAAIE,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAGD,KAAK,EAAEC,GAAG,GAAGD,KAAK;MAGvC,IAAIC,GAAG,KAAKD,KAAK,EAAE,OAAO,CAAC;MAC3B,IAAIF,MAAM,CAAC5G,MAAM,KAAK,CAAC,IAAI,IAAI,CAACA,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC;MAGtD,IAAI6G,WAAW,GAAG,CAAC,EAAE;QACnB,MAAM,IAAIxG,UAAU,CAAC,2BAA2B,CAAC;MACnD;MACA,IAAIyG,KAAK,GAAG,CAAC,IAAIA,KAAK,IAAI,IAAI,CAAC9G,MAAM,EAAE,MAAM,IAAIK,UAAU,CAAC,oBAAoB,CAAC;MACjF,IAAI0G,GAAG,GAAG,CAAC,EAAE,MAAM,IAAI1G,UAAU,CAAC,yBAAyB,CAAC;MAG5D,IAAI0G,GAAG,GAAG,IAAI,CAAC/G,MAAM,EAAE+G,GAAG,GAAG,IAAI,CAAC/G,MAAM;MACxC,IAAI4G,MAAM,CAAC5G,MAAM,GAAG6G,WAAW,GAAGE,GAAG,GAAGD,KAAK,EAAE;QAC7CC,GAAG,GAAGH,MAAM,CAAC5G,MAAM,GAAG6G,WAAW,GAAGC,KAAK;MAC3C;MAEA,IAAME,GAAG,GAAGD,GAAG,GAAGD,KAAK;MAEvB,IAAI,IAAI,KAAKF,MAAM,IAAI,OAAOK,UAAU,CAAC9H,SAAS,CAAC+H,UAAU,KAAK,UAAU,EAAE;QAE5E,IAAI,CAACA,UAAU,CAACL,WAAW,EAAEC,KAAK,EAAEC,GAAG,CAAC;MAC1C,CAAC,MAAM;QACLE,UAAU,CAAC9H,SAAS,CAACgI,GAAG,CAAC9H,IAAI,CAACuH,MAAM,EAAE,IAAI,CAACQ,QAAQ,CAACN,KAAK,EAAEC,GAAG,CAAC,EAAEF,WAAW,CAAC;MAC/E;MAEA,OAAOG,GAAG;IACZ;EAAC;IAAApG,GAAA;IAAAM,KAAA,EAMD,SAAAmG,KAAKjG,GAAQ,EAAE0F,KAAc,EAAEC,GAAY,EAAE1F,QAAS,EAAQ;MAE5D,IAAI,OAAOD,GAAG,KAAK,QAAQ,EAAE;QAC3B,IAAI,OAAO0F,KAAK,KAAK,QAAQ,EAAE;UAC7BzF,QAAQ,GAAGyF,KAAK;UAChBA,KAAK,GAAG,CAAC;UACTC,GAAG,GAAG,IAAI,CAAC/G,MAAM;QACnB,CAAC,MAAM,IAAI,OAAO+G,GAAG,KAAK,QAAQ,EAAE;UAClC1F,QAAQ,GAAG0F,GAAG;UACdA,GAAG,GAAG,IAAI,CAAC/G,MAAM;QACnB;QACA,IAAIqB,QAAQ,KAAKN,SAAS,IAAI,OAAOM,QAAQ,KAAK,QAAQ,EAAE;UAC1D,MAAM,IAAId,SAAS,CAAC,2BAA2B,CAAC;QAClD;QACA,IAAI,OAAOc,QAAQ,KAAK,QAAQ,IAAI,CAAC3B,MAAM,CAAC4H,UAAU,CAACjG,QAAQ,CAAC,EAAE;UAChE,MAAM,IAAId,SAAS,sBAAAD,MAAA,CAAsBe,QAAQ,CAAE,CAAC;QACtD;QACA,IAAID,GAAG,CAACpB,MAAM,KAAK,CAAC,EAAE;UACpB,IAAMuH,IAAI,GAAGnG,GAAG,CAACoG,UAAU,CAAC,CAAC,CAAC;UAC9B,IAAKnG,QAAQ,KAAK,MAAM,IAAIkG,IAAI,GAAG,GAAG,IAAKlG,QAAQ,KAAK,QAAQ,EAAE;YAEhED,GAAG,GAAGmG,IAAI;UACZ;QACF;MACF,CAAC,MAAM,IAAI,OAAOnG,GAAG,KAAK,QAAQ,EAAE;QAClCA,GAAG,GAAGA,GAAG,GAAG,GAAG;MACjB,CAAC,MAAM,IAAI,OAAOA,GAAG,KAAK,SAAS,EAAE;QACnCA,GAAG,GAAG6C,MAAM,CAAC7C,GAAG,CAAC;MACnB;MAGA,IAAI0F,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC9G,MAAM,GAAG8G,KAAK,IAAI,IAAI,CAAC9G,MAAM,GAAG+G,GAAG,EAAE;QACzD,MAAM,IAAI1G,UAAU,CAAC,oBAAoB,CAAC;MAC5C;MAEA,IAAI0G,GAAG,IAAID,KAAK,EAAE;QAChB,OAAO,IAAI;MACb;MAEAA,KAAK,GAAGA,KAAK,KAAK,CAAC;MACnBC,GAAG,GAAGA,GAAG,KAAKhG,SAAS,GAAG,IAAI,CAACf,MAAM,GAAG+G,GAAG,KAAK,CAAC;MAEjD,IAAI,CAAC3F,GAAG,EAAEA,GAAG,GAAG,CAAC;MAEjB,IAAIe,CAAC;MACL,IAAI,OAAOf,GAAG,KAAK,QAAQ,EAAE;QAC3B,KAAKe,CAAC,GAAG2E,KAAK,EAAE3E,CAAC,GAAG4E,GAAG,EAAE,EAAE5E,CAAC,EAAE;UAC5B,IAAI,CAACA,CAAC,CAAC,GAAGf,GAAG;QACf;MACF,CAAC,MAAM;QACL,IAAMqG,KAAK,GAAG/H,MAAM,CAACoB,QAAQ,CAACM,GAAG,CAAC,GAAGA,GAAG,GAAG1B,MAAM,CAACS,IAAI,CAACiB,GAAG,EAAEC,QAAQ,CAAC;QACrE,IAAM2F,GAAG,GAAGS,KAAK,CAACzH,MAAM;QACxB,IAAIgH,GAAG,KAAK,CAAC,EAAE;UACb,MAAM,IAAIzG,SAAS,gBAAAD,MAAA,CAAec,GAAG,yCAAmC,CAAC;QAC3E;QACA,KAAKe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4E,GAAG,GAAGD,KAAK,EAAE,EAAE3E,CAAC,EAAE;UAChC,IAAI,CAACA,CAAC,GAAG2E,KAAK,CAAC,GAAGW,KAAK,CAACtF,CAAC,GAAG6E,GAAG,CAAC;QAClC;MACF;MAEA,OAAO,IAAI;IACb;EAAC;IAAApG,GAAA;IAAAM,KAAA,EAED,SAAAwG,OAAA,EAAS;MACP,IAAMV,GAAG,GAAG,IAAI,CAAChH,MAAM;MACvB,IAAIgH,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;QACjB,MAAM,IAAI3G,UAAU,CAAC,2CAA2C,CAAC;MACnE;MACA,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6E,GAAG,EAAE7E,CAAC,IAAI,CAAC,EAAE;QAC/BwF,IAAI,CAAC,IAAI,EAAExF,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;MACtB;MACA,OAAO,IAAI;IACb;EAAC;IAAAvB,GAAA;IAAAM,KAAA,EAED,SAAA0G,OAAA,EAAS;MACP,IAAMZ,GAAG,GAAG,IAAI,CAAChH,MAAM;MACvB,IAAIgH,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;QACjB,MAAM,IAAI3G,UAAU,CAAC,2CAA2C,CAAC;MACnE;MACA,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6E,GAAG,EAAE7E,CAAC,IAAI,CAAC,EAAE;QAC/BwF,IAAI,CAAC,IAAI,EAAExF,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;QACpBwF,IAAI,CAAC,IAAI,EAAExF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;MAC1B;MACA,OAAO,IAAI;IACb;EAAC;IAAAvB,GAAA;IAAAM,KAAA,EAED,SAAA2G,OAAA,EAAS;MACP,IAAMb,GAAG,GAAG,IAAI,CAAChH,MAAM;MACvB,IAAIgH,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;QACjB,MAAM,IAAI3G,UAAU,CAAC,2CAA2C,CAAC;MACnE;MACA,KAAK,IAAI8B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6E,GAAG,EAAE7E,CAAC,IAAI,CAAC,EAAE;QAC/BwF,IAAI,CAAC,IAAI,EAAExF,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;QACpBwF,IAAI,CAAC,IAAI,EAAExF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;QACxBwF,IAAI,CAAC,IAAI,EAAExF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;QACxBwF,IAAI,CAAC,IAAI,EAAExF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,CAAC,CAAC;MAC1B;MACA,OAAO,IAAI;IACb;EAAC;IAAAvB,GAAA;IAAAM,KAAA,EAED,SAAA4G,SAASzG,QAAiB,EAAEyF,KAAc,EAAEC,GAAY,EAAU;MAChE,IAAM/G,MAAM,GAAG,IAAI,CAACA,MAAM;MAC1B,IAAIA,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;MAC3B,IAAInB,SAAS,CAACmB,MAAM,KAAK,CAAC,EAAE,OAAO+H,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE/H,MAAM,CAAC;MAC7D,OAAO,IAAI,CAACgI,aAAa,CAAAlJ,KAAA,CAAlB,IAAI,EAAkBD,SAAS,CAAC;IACzC;EAAC;IAAA+B,GAAA;IAAAM,KAAA,EAQD,SAAA+G,QAAA,EAAU;MACR,IAAIC,GAAG,GAAG,EAAE;MACZ,IAAMC,GAAG,GAAG1I,iBAAiB;MAC7ByI,GAAG,GAAG,IAAI,CAACJ,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAEK,GAAG,CAAC,CAC/BC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CACzBC,IAAI,CAAC,CAAC;MACT,IAAI,IAAI,CAACrI,MAAM,GAAGmI,GAAG,EAAED,GAAG,IAAI,OAAO;MACrC,kBAAA5H,MAAA,CAAkB4H,GAAG;IACvB;EAAC;IAAAtH,GAAA;IAAAM,KAAA,EAMD,SAAAoH,OAAOC,CAAS,EAAW;MACzB,IAAI,CAAC7I,MAAM,CAACoB,QAAQ,CAACyH,CAAC,CAAC,EAAE,MAAM,IAAIhI,SAAS,CAAC,2BAA2B,CAAC;MACzE,IAAI,IAAI,KAAKgI,CAAC,EAAE,OAAO,IAAI;MAC3B,OAAO7I,MAAM,CAAC8I,OAAO,CAAC,IAAI,EAAED,CAAC,CAAC,KAAK,CAAC;IACtC;EAAC;IAAA3H,GAAA;IAAAM,KAAA,EAED,SAAAsH,QACE5B,MAA2B,EAC3BE,KAAc,EACdC,GAAY,EACZ0B,SAAkB,EAClBC,OAAgB,EACR;MACR,IAAI,CAAChJ,MAAM,CAACoB,QAAQ,CAAC8F,MAAM,CAAC,IAAI+B,UAAU,CAAC/B,MAAM,EAAEK,UAAU,CAAC,EAAE;QAC9DL,MAAM,GAAGlH,MAAM,CAACS,IAAI,CAACyG,MAAM,EAAEA,MAAM,CAAClF,MAAM,EAAEkF,MAAM,CAAC1E,UAAU,CAAC;MAChE;MACA,IAAI,CAACxC,MAAM,CAACoB,QAAQ,CAAC8F,MAAM,CAAC,EAAE;QAC5B,MAAM,IAAIrG,SAAS,IAAAD,MAAA,CAEf,kEAAkE,GAAG,gBAAgB,EAAAA,MAAA,KAAAsI,QAAA,CAAArK,OAAA,EAC7EqI,MAAM,EAClB,CAAC;MACH;MAEA,IAAIE,KAAK,KAAK/F,SAAS,EAAE;QACvB+F,KAAK,GAAG,CAAC;MACX;MACA,IAAIC,GAAG,KAAKhG,SAAS,EAAE;QACrBgG,GAAG,GAAGH,MAAM,GAAGA,MAAM,CAAC5G,MAAM,GAAG,CAAC;MAClC;MACA,IAAIyI,SAAS,KAAK1H,SAAS,EAAE;QAC3B0H,SAAS,GAAG,CAAC;MACf;MACA,IAAIC,OAAO,KAAK3H,SAAS,EAAE;QACzB2H,OAAO,GAAG,IAAI,CAAC1I,MAAM;MACvB;MAEA,IAAI8G,KAAK,GAAG,CAAC,IAAIC,GAAG,GAAGH,MAAM,CAAC5G,MAAM,IAAIyI,SAAS,GAAG,CAAC,IAAIC,OAAO,GAAG,IAAI,CAAC1I,MAAM,EAAE;QAC9E,MAAM,IAAIK,UAAU,CAAC,oBAAoB,CAAC;MAC5C;MAEA,IAAIoI,SAAS,IAAIC,OAAO,IAAI5B,KAAK,IAAIC,GAAG,EAAE;QACxC,OAAO,CAAC;MACV;MACA,IAAI0B,SAAS,IAAIC,OAAO,EAAE;QACxB,OAAO,CAAC,CAAC;MACX;MACA,IAAI5B,KAAK,IAAIC,GAAG,EAAE;QAChB,OAAO,CAAC;MACV;MAEAD,KAAK,MAAM,CAAC;MACZC,GAAG,MAAM,CAAC;MACV0B,SAAS,MAAM,CAAC;MAChBC,OAAO,MAAM,CAAC;MAEd,IAAI,IAAI,KAAK9B,MAAM,EAAE,OAAO,CAAC;MAE7B,IAAIiC,CAAC,GAAGH,OAAO,GAAGD,SAAS;MAC3B,IAAIK,CAAC,GAAG/B,GAAG,GAAGD,KAAK;MACnB,IAAME,GAAG,GAAG3E,IAAI,CAAC0G,GAAG,CAACF,CAAC,EAAEC,CAAC,CAAC;MAE1B,IAAME,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACR,SAAS,EAAEC,OAAO,CAAC;MAC/C,IAAMQ,UAAU,GAAGtC,MAAM,CAACqC,KAAK,CAACnC,KAAK,EAAEC,GAAG,CAAC;MAE3C,KAAK,IAAI5E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG6E,GAAG,EAAE,EAAE7E,CAAC,EAAE;QAC5B,IAAI6G,QAAQ,CAAC7G,CAAC,CAAC,KAAK+G,UAAU,CAAC/G,CAAC,CAAC,EAAE;UACjC0G,CAAC,GAAGG,QAAQ,CAAC7G,CAAC,CAAC;UACf2G,CAAC,GAAGI,UAAU,CAAC/G,CAAC,CAAC;UACjB;QACF;MACF;MAEA,IAAI0G,CAAC,GAAGC,CAAC,EAAE,OAAO,CAAC,CAAC;MACpB,IAAIA,CAAC,GAAGD,CAAC,EAAE,OAAO,CAAC;MACnB,OAAO,CAAC;IACV;EAAC;IAAAjI,GAAA;IAAAM,KAAA,EAED,SAAAiI,OAAA,EAAwC;MACtC,OAAO;QACLC,IAAI,EAAE,QAAQ;QACdC,IAAI,EAAEC,KAAK,CAACnK,SAAS,CAAC8J,KAAK,CAAC5J,IAAI,CAAC,IAAI,CAACkK,IAAI,IAAI,IAAI,EAAE,CAAC;MACvD,CAAC;IACH;EAAC;IAAA3I,GAAA;IAAAM,KAAA,EAED,SAAA+H,MAAMnC,KAAc,EAAEC,GAAY,EAAQ;MACxC,IAAMC,GAAG,GAAG,IAAI,CAAChH,MAAM;MACvB8G,KAAK,GAAG,CAAC,CAACA,KAAK;MACfC,GAAG,GAAGA,GAAG,KAAKhG,SAAS,GAAGiG,GAAG,GAAG,CAAC,CAACD,GAAG;MAErC,IAAID,KAAK,GAAG,CAAC,EAAE;QACbA,KAAK,IAAIE,GAAG;QACZ,IAAIF,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC;MAC1B,CAAC,MAAM,IAAIA,KAAK,GAAGE,GAAG,EAAE;QACtBF,KAAK,GAAGE,GAAG;MACb;MAEA,IAAID,GAAG,GAAG,CAAC,EAAE;QACXA,GAAG,IAAIC,GAAG;QACV,IAAID,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAG,CAAC;MACtB,CAAC,MAAM,IAAIA,GAAG,GAAGC,GAAG,EAAE;QACpBD,GAAG,GAAGC,GAAG;MACX;MAEA,IAAID,GAAG,GAAGD,KAAK,EAAEC,GAAG,GAAGD,KAAK;MAE5B,IAAM0C,MAAM,GAAG,IAAI,CAACpC,QAAQ,CAACN,KAAK,EAAEC,GAAG,CAAC;MAGxC0C,MAAM,CAACC,cAAc,CAACF,MAAM,EAAE9J,MAAM,CAACP,SAAS,CAAC;MAE/C,OAAOqK,MAAM;IACf;EAAC;IAAA5I,GAAA;IAAAM,KAAA,EAiCD,SAAA8G,cAAwB3G,QAAQ,EAAEyF,KAAK,EAAEC,GAAG,EAAE;MAC5C,IAAIX,WAAW,GAAG,KAAK;MASvB,IAAIU,KAAK,KAAK/F,SAAS,IAAI+F,KAAK,GAAG,CAAC,EAAE;QACpCA,KAAK,GAAG,CAAC;MACX;MAGA,IAAIA,KAAK,GAAG,IAAI,CAAC9G,MAAM,EAAE;QACvB,OAAO,EAAE;MACX;MAEA,IAAI+G,GAAG,KAAKhG,SAAS,IAAIgG,GAAG,GAAG,IAAI,CAAC/G,MAAM,EAAE;QAC1C+G,GAAG,GAAG,IAAI,CAAC/G,MAAM;MACnB;MAEA,IAAI+G,GAAG,IAAI,CAAC,EAAE;QACZ,OAAO,EAAE;MACX;MAGAA,GAAG,MAAM,CAAC;MACVD,KAAK,MAAM,CAAC;MAEZ,IAAIC,GAAG,IAAID,KAAK,EAAE;QAChB,OAAO,EAAE;MACX;MAEA,IAAI,CAACzF,QAAQ,EAAEA,QAAQ,GAAG,MAAM;MAEhC,OAAO,IAAI,EAAE;QACX,QAAQA,QAAQ;UACd,KAAK,KAAK;YACR,OAAOsI,QAAQ,CAAC,IAAI,EAAE7C,KAAK,EAAEC,GAAG,CAAC;UAEnC,KAAK,MAAM;UACX,KAAK,OAAO;YACV,OAAOgB,SAAS,CAAC,IAAI,EAAEjB,KAAK,EAAEC,GAAG,CAAC;UAEpC,KAAK,OAAO;YACV,OAAO6C,UAAU,CAAC,IAAI,EAAE9C,KAAK,EAAEC,GAAG,CAAC;UAErC,KAAK,QAAQ;UACb,KAAK,QAAQ;YACX,OAAO8C,WAAW,CAAC,IAAI,EAAE/C,KAAK,EAAEC,GAAG,CAAC;UAEtC,KAAK,QAAQ;YACX,OAAO+C,WAAW,CAAC,IAAI,EAAEhD,KAAK,EAAEC,GAAG,CAAC;UAEtC,KAAK,MAAM;UACX,KAAK,OAAO;UACZ,KAAK,SAAS;UACd,KAAK,UAAU;YACb,OAAOgD,YAAY,CAAC,IAAI,EAAEjD,KAAK,EAAEC,GAAG,CAAC;UAEvC;YACE,IAAIX,WAAW,EAAE,MAAM,IAAI7F,SAAS,sBAAAD,MAAA,CAAsBe,QAAQ,CAAE,CAAC;YACrEA,QAAQ,GAAG,GAAAf,MAAA,CAAGe,QAAQ,EAAGqF,WAAW,CAAC,CAAC;YACtCN,WAAW,GAAG,IAAI;QACtB;MACF;IACF;EAAC;IAAAxF,GAAA;IAAAM,KAAA,EA/mCD,SAAAf,KAAYe,KAAK,EAAEnB,gBAAgB,EAAEC,MAAM,EAAE;MAC3C,IAAI,OAAOkB,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO8I,UAAU,CAAC9I,KAAK,EAAEnB,gBAAgB,CAAC;MAC5C;MAEA,IAAIkK,WAAW,CAACC,MAAM,CAAChJ,KAAK,CAAC,EAAE;QAC7B,OAAOiJ,aAAa,CAACjJ,KAAK,CAAC;MAC7B;MAEA,IAAIA,KAAK,IAAI,IAAI,EAAE;QACjB,MAAM,IAAIX,SAAS,IAAAD,MAAA,CAEf,6EAA6E,GAC7E,sCAAsC,EAAAA,MAAA,KAAAsI,QAAA,CAAArK,OAAA,EAC9B2C,KAAK,EACjB,CAAC;MACH;MAEA,IAAIyH,UAAU,CAACzH,KAAK,EAAE+I,WAAW,CAAC,IAAK/I,KAAK,IAAIyH,UAAU,CAACzH,KAAK,CAACF,MAAM,EAAEiJ,WAAW,CAAE,EAAE;QACtF,OAAOG,eAAe,CAAClJ,KAAK,EAAEnB,gBAAgB,EAAEC,MAAM,CAAC;MACzD;MAEA,IACE,OAAOqK,iBAAiB,KAAK,WAAW,KACvC1B,UAAU,CAACzH,KAAK,EAAEmJ,iBAAiB,CAAC,IAClCnJ,KAAK,IAAIyH,UAAU,CAACzH,KAAK,CAACF,MAAM,EAAEqJ,iBAAiB,CAAE,CAAC,EACzD;QACA,OAAOD,eAAe,CAAClJ,KAAK,EAAEnB,gBAAgB,EAAEC,MAAM,CAAC;MACzD;MAEA,IAAI,OAAOkB,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAIX,SAAS,CAAC,uEAAuE,CAAC;MAC9F;MAEA,IAAMnB,OAAO,GAAG8B,KAAK,CAAC9B,OAAO,IAAI8B,KAAK,CAAC9B,OAAO,CAAC,CAAC;MAChD,IAAIA,OAAO,IAAI,IAAI,IAAIA,OAAO,KAAK8B,KAAK,EAAE;QACxC,OAAOxB,MAAM,CAACS,IAAI,CAACf,OAAO,EAAEW,gBAAgB,EAAEC,MAAM,CAAC;MACvD;MAEA,IAAMuI,CAAC,GAAG+B,UAAU,CAACpJ,KAAK,CAAC;MAC3B,IAAIqH,CAAC,EAAE,OAAOA,CAAC;MAEf,IACE,OAAOgC,MAAM,KAAK,WAAW,IAC7BA,MAAM,CAACC,WAAW,IAAI,IAAI,IAC1B,OAAOtJ,KAAK,CAACqJ,MAAM,CAACC,WAAW,CAAC,KAAK,UAAU,EAC/C;QACA,OAAO9K,MAAM,CAACS,IAAI,CAACe,KAAK,CAACqJ,MAAM,CAACC,WAAW,CAAC,CAAC,QAAQ,CAAC,EAAEzK,gBAAgB,EAAEC,MAAM,CAAC;MACnF;MAEA,MAAM,IAAIO,SAAS,IAAAD,MAAA,CAEf,6EAA6E,GAC7E,sCAAsC,EAAAA,MAAA,KAAAsI,QAAA,CAAArK,OAAA,EAC9B2C,KAAK,EACjB,CAAC;IACH;EAAC;IAAAN,GAAA;IAAAM,KAAA,EAOD,SAAAJ,SAAgByH,CAAM,EAAiB;MACrC,OAAOA,CAAC,IAAI,IAAI,IAAIA,CAAC,CAACkC,SAAS,KAAK,IAAI,IAAIlC,CAAC,KAAK7I,MAAM,CAACP,SAAS;IACpE;EAAC;IAAAyB,GAAA;IAAAM,KAAA,EAKD,SAAAsH,QAAekC,CAAsB,EAAEnC,CAAsB,EAAU;MACrE,IAAI,CAAC7I,MAAM,CAACoB,QAAQ,CAAC4J,CAAC,CAAC,IAAI/B,UAAU,CAAC+B,CAAC,EAAEzD,UAAU,CAAC,EAAEyD,CAAC,GAAGhL,MAAM,CAACS,IAAI,CAACuK,CAAC,EAAEA,CAAC,CAAChJ,MAAM,EAAEgJ,CAAC,CAACxI,UAAU,CAAC;MAChG,IAAI,CAACxC,MAAM,CAACoB,QAAQ,CAACyH,CAAC,CAAC,IAAII,UAAU,CAACJ,CAAC,EAAEtB,UAAU,CAAC,EAAEsB,CAAC,GAAG7I,MAAM,CAACS,IAAI,CAACoI,CAAC,EAAEA,CAAC,CAAC7G,MAAM,EAAE6G,CAAC,CAACrG,UAAU,CAAC;MAChG,IAAI,CAACxC,MAAM,CAACoB,QAAQ,CAAC4J,CAAC,CAAC,IAAI,CAAChL,MAAM,CAACoB,QAAQ,CAACyH,CAAC,CAAC,EAAE;QAC9C,MAAM,IAAIhI,SAAS,CAAC,uEAAuE,CAAC;MAC9F;MAEA,IAAImK,CAAC,KAAKnC,CAAC,EAAE,OAAO,CAAC;MAErB,IAAIM,CAAC,GAAG6B,CAAC,CAAC1K,MAAM;MAChB,IAAI8I,CAAC,GAAGP,CAAC,CAACvI,MAAM;MAEhB,KAAK,IAAImC,CAAC,GAAG,CAAC,EAAE6E,GAAG,GAAG3E,IAAI,CAAC0G,GAAG,CAACF,CAAC,EAAEC,CAAC,CAAC,EAAE3G,CAAC,GAAG6E,GAAG,EAAE,EAAE7E,CAAC,EAAE;QAClD,IAAIuI,CAAC,CAACvI,CAAC,CAAC,KAAKoG,CAAC,CAACpG,CAAC,CAAC,EAAE;UACjB0G,CAAC,GAAG6B,CAAC,CAACvI,CAAC,CAAC;UACR2G,CAAC,GAAGP,CAAC,CAACpG,CAAC,CAAC;UACR;QACF;MACF;MAEA,IAAI0G,CAAC,GAAGC,CAAC,EAAE,OAAO,CAAC,CAAC;MACpB,IAAIA,CAAC,GAAGD,CAAC,EAAE,OAAO,CAAC;MACnB,OAAO,CAAC;IACV;EAAC;IAAAjI,GAAA;IAAAM,KAAA,EAQD,SAAAoG,WAAkBjG,QAAgB,EAAW;MAC3C,QAAQsJ,MAAM,CAACtJ,QAAQ,CAAC,CAACqF,WAAW,CAAC,CAAC;QACpC,KAAK,KAAK;QACV,KAAK,MAAM;QACX,KAAK,OAAO;QACZ,KAAK,OAAO;QACZ,KAAK,QAAQ;QACb,KAAK,QAAQ;QACb,KAAK,QAAQ;QACb,KAAK,MAAM;QACX,KAAK,OAAO;QACZ,KAAK,SAAS;QACd,KAAK,UAAU;UACb,OAAO,IAAI;QACb;UACE,OAAO,KAAK;MAChB;IACF;EAAC;IAAA9F,GAAA;IAAAM,KAAA,EAaD,SAAAZ,OAAcsK,IAA6B,EAAE5K,MAAe,EAAU;MACpE,IAAI,CAACsJ,KAAK,CAACuB,OAAO,CAACD,IAAI,CAAC,EAAE;QACxB,MAAM,IAAIrK,SAAS,CAAC,6CAA6C,CAAC;MACpE;MAEA,IAAIqK,IAAI,CAAC5K,MAAM,KAAK,CAAC,EAAE;QACrB,OAAON,MAAM,CAACoL,KAAK,CAAC,CAAC,CAAC;MACxB;MAEA,IAAI3I,CAAC;MACL,IAAInC,MAAM,KAAKe,SAAS,EAAE;QACxBf,MAAM,GAAG,CAAC;QACV,KAAKmC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyI,IAAI,CAAC5K,MAAM,EAAE,EAAEmC,CAAC,EAAE;UAChCnC,MAAM,IAAI4K,IAAI,CAACzI,CAAC,CAAC,CAACnC,MAAM;QAC1B;MACF;MAEA,IAAMgB,MAAM,GAAGtB,MAAM,CAACqL,WAAW,CAAC/K,MAAM,CAAC;MACzC,IAAIgL,GAAG,GAAG,CAAC;MACX,KAAK7I,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGyI,IAAI,CAAC5K,MAAM,EAAE,EAAEmC,CAAC,EAAE;QAChC,IAAI8I,GAAG,GAAGL,IAAI,CAACzI,CAAC,CAAC;QACjB,IAAIwG,UAAU,CAACsC,GAAG,EAAEhE,UAAU,CAAC,EAAE;UAC/B,IAAI+D,GAAG,GAAGC,GAAG,CAACjL,MAAM,GAAGgB,MAAM,CAAChB,MAAM,EAAE;YACpC,IAAI,CAACN,MAAM,CAACoB,QAAQ,CAACmK,GAAG,CAAC,EAAE;cACzBA,GAAG,GAAGvL,MAAM,CAACS,IAAI,CAAC8K,GAAG,CAACjK,MAAM,EAAEiK,GAAG,CAAChK,UAAU,EAAEgK,GAAG,CAAC/I,UAAU,CAAC;YAC/D;YACA+I,GAAG,CAACtE,IAAI,CAAC3F,MAAM,EAAEgK,GAAG,CAAC;UACvB,CAAC,MAAM;YACL/D,UAAU,CAAC9H,SAAS,CAACgI,GAAG,CAAC9H,IAAI,CAAC2B,MAAM,EAAEiK,GAAG,EAAED,GAAG,CAAC;UACjD;QACF,CAAC,MAAM,IAAI,CAACtL,MAAM,CAACoB,QAAQ,CAACmK,GAAG,CAAC,EAAE;UAChC,MAAM,IAAI1K,SAAS,CAAC,6CAA6C,CAAC;QACpE,CAAC,MAAM;UACL0K,GAAG,CAACtE,IAAI,CAAC3F,MAAM,EAAEgK,GAAG,CAAC;QACvB;QACAA,GAAG,IAAIC,GAAG,CAACjL,MAAM;MACnB;MACA,OAAOgB,MAAM;IACf;EAAC;IAAAJ,GAAA;IAAAM,KAAA,EAUD,SAAA4J,MAAa1K,IAAY,EAAEiH,IAA+B,EAAEhG,QAAiB,EAAU;MACrF,OAAOyJ,MAAK,CAAC1K,IAAI,EAAEiH,IAAI,EAAEhG,QAAQ,CAAC;IACpC;EAAC;IAAAT,GAAA;IAAAM,KAAA,EAQD,SAAA6J,YAAmB3K,IAAY,EAAU;MACvC8K,UAAU,CAAC9K,IAAI,CAAC;MAChB,OAAO,IAAIV,MAAM,CAACU,IAAI,CAAC;IACzB;EAAC;IAAAQ,GAAA;IAAAM,KAAA,EAQD,SAAAiK,gBAAuB/K,IAAY,EAAU;MAC3C,OAAO2K,WAAW,CAAC3K,IAAI,CAAC;IAC1B;EAAC;EAAA,OAAAV,MAAA;AAAA,MAAA0L,iBAAA,CAAA7M,OAAA,EApUyB0I,UAAU;AAAAzH,OAAA,CAAAE,MAAA,GAAAA,MAAA;AAAA,IAAAe,gBAAA,CAAAlC,OAAA,EAAzBmB,MAAM,cACC,IAAI;AA2uCxB,SAASwE,QAAQA,CAAC+G,GAAW,EAAE/J,KAAK,EAAEQ,MAAM,EAAE2J,GAAG,EAAElD,GAAG,EAAEY,GAAG,EAAE;EAC3D,IAAI,CAACrJ,MAAM,CAACoB,QAAQ,CAACmK,GAAG,CAAC,EAAE,MAAM,IAAI1K,SAAS,CAAC,6CAA6C,CAAC;EAC7F,IAAIW,KAAK,GAAGiH,GAAG,IAAIjH,KAAK,GAAG6H,GAAG,EAAE,MAAM,IAAI1I,UAAU,CAAC,mCAAmC,CAAC;EACzF,IAAIqB,MAAM,GAAG2J,GAAG,GAAGJ,GAAG,CAACjL,MAAM,EAAE,MAAM,IAAIK,UAAU,CAAC,oBAAoB,CAAC;AAC3E;AAEA,SAASsE,cAAcA,CAACsG,GAAW,EAAE/J,KAAK,EAAEQ,MAAM,EAAEqH,GAAG,EAAEZ,GAAG,EAAE;EAC5DmD,UAAU,CAACpK,KAAK,EAAE6H,GAAG,EAAEZ,GAAG,EAAE8C,GAAG,EAAEvJ,MAAM,EAAE,CAAC,CAAC;EAE3C,IAAI6B,EAAE,GAAGU,MAAM,CAAC/C,KAAK,GAAG2B,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3CoI,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG6B,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZ0H,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG6B,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZ0H,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG6B,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZ0H,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG6B,EAAE;EAClB,IAAIC,EAAE,GAAGS,MAAM,CAAE/C,KAAK,IAAI2B,MAAM,CAAC,EAAE,CAAC,GAAIA,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3DoI,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG8B,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZyH,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG8B,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZyH,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG8B,EAAE;EAClBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZyH,GAAG,CAACvJ,MAAM,EAAE,CAAC,GAAG8B,EAAE;EAClB,OAAO9B,MAAM;AACf;AAEA,SAASmD,cAAcA,CAACoG,GAAW,EAAE/J,KAAK,EAAEQ,MAAM,EAAEqH,GAAG,EAAEZ,GAAG,EAAE;EAC5DmD,UAAU,CAACpK,KAAK,EAAE6H,GAAG,EAAEZ,GAAG,EAAE8C,GAAG,EAAEvJ,MAAM,EAAE,CAAC,CAAC;EAE3C,IAAI6B,EAAE,GAAGU,MAAM,CAAC/C,KAAK,GAAG2B,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3CoI,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG6B,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZ0H,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG6B,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZ0H,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG6B,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZ0H,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG6B,EAAE;EACpB,IAAIC,EAAE,GAAGS,MAAM,CAAE/C,KAAK,IAAI2B,MAAM,CAAC,EAAE,CAAC,GAAIA,MAAM,CAAC,UAAU,CAAC,CAAC;EAC3DoI,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG8B,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZyH,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG8B,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZyH,GAAG,CAACvJ,MAAM,GAAG,CAAC,CAAC,GAAG8B,EAAE;EACpBA,EAAE,GAAGA,EAAE,IAAI,CAAC;EACZyH,GAAG,CAACvJ,MAAM,CAAC,GAAG8B,EAAE;EAChB,OAAO9B,MAAM,GAAG,CAAC;AACnB;AAOA,SAASwJ,UAAUA,CAAC9K,IAAY,EAAQ;EACtC,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;IAC5B,MAAM,IAAIG,SAAS,CAAC,wCAAwC,CAAC;EAC/D,CAAC,MAAM,IAAIH,IAAI,GAAG,CAAC,EAAE;IACnB,MAAM,IAAIC,UAAU,gBAAAC,MAAA,CAAeF,IAAI,sCAAgC,CAAC;EAC1E;AACF;AAEA,SAAS0K,MAAKA,CAAC1K,IAAI,EAAEiH,IAAI,EAAEhG,QAAQ,EAAU;EAC3C6J,UAAU,CAAC9K,IAAI,CAAC;EAChB,IAAIA,IAAI,IAAI,CAAC,EAAE;IACb,OAAO,IAAIV,MAAM,CAACU,IAAI,CAAC;EACzB;EACA,IAAIiH,IAAI,KAAKtG,SAAS,EAAE;IAItB,OAAO,OAAOM,QAAQ,KAAK,QAAQ,GAC/B,IAAI3B,MAAM,CAACU,IAAI,CAAC,CAACiH,IAAI,CAACA,IAAI,EAAEhG,QAAQ,CAAC,GACrC,IAAI3B,MAAM,CAACU,IAAI,CAAC,CAACiH,IAAI,CAACA,IAAI,CAAC;EACjC;EACA,OAAO,IAAI3H,MAAM,CAACU,IAAI,CAAC;AACzB;AAEA,SAAS4J,UAAUA,CAAChE,MAAc,EAAE3E,QAAwB,EAAU;EACpE,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,KAAK,EAAE,EAAE;IACnDA,QAAQ,GAAG,MAAM;EACnB;EAEA,IAAI,CAAC3B,MAAM,CAAC4H,UAAU,CAACjG,QAAQ,CAAC,EAAE;IAChC,MAAM,IAAId,SAAS,sBAAAD,MAAA,CAAsBe,QAAQ,CAAE,CAAC;EACtD;EAEA,IAAMrB,MAAM,GAAGkC,UAAU,CAAC8D,MAAM,EAAE3E,QAAQ,CAAC,GAAG,CAAC;EAC/C,IAAI4J,GAAG,GAAG,IAAIvL,MAAM,CAACM,MAAM,CAAC;EAE5B,IAAMuL,MAAM,GAAGN,GAAG,CAAClF,KAAK,CAACC,MAAM,EAAE3E,QAAQ,CAAC;EAE1C,IAAIkK,MAAM,KAAKvL,MAAM,EAAE;IAIrBiL,GAAG,GAAGA,GAAG,CAAChC,KAAK,CAAC,CAAC,EAAEsC,MAAM,CAAC;EAC5B;EAEA,OAAON,GAAG;AACZ;AAEA,SAASO,aAAaA,CAACC,KAAqB,EAAU;EACpD,IAAMzL,MAAM,GAAGyL,KAAK,CAACzL,MAAM,GAAG,CAAC,GAAG,CAAC,GAAGQ,OAAO,CAACiL,KAAK,CAACzL,MAAM,CAAC,GAAG,CAAC;EAC/D,IAAMiL,GAAG,GAAG,IAAIvL,MAAM,CAACM,MAAM,CAAC;EAC9B,KAAK,IAAImC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnC,MAAM,EAAEmC,CAAC,IAAI,CAAC,EAAE;IAClC8I,GAAG,CAAC9I,CAAC,CAAC,GAAGsJ,KAAK,CAACtJ,CAAC,CAAC,GAAG,GAAG;EACzB;EACA,OAAO8I,GAAG;AACZ;AAEA,SAASd,aAAaA,CAACuB,SAAS,EAAU;EACxC,IAAI/C,UAAU,CAAC+C,SAAS,EAAEzE,UAAU,CAAC,EAAE;IACrC,IAAMN,IAAI,GAAG,IAAIM,UAAU,CAACyE,SAAS,CAAC;IACtC,OAAOtB,eAAe,CAACzD,IAAI,CAAC3F,MAAM,EAAE2F,IAAI,CAAC1F,UAAU,EAAE0F,IAAI,CAACzE,UAAU,CAAC;EACvE;EACA,OAAOsJ,aAAa,CAACE,SAAS,CAAC;AACjC;AAEA,SAAStB,eAAeA,CAACqB,KAAkB,EAAExK,UAAkB,EAAEjB,MAAc,EAAU;EACvF,IAAIiB,UAAU,GAAG,CAAC,IAAIwK,KAAK,CAACvJ,UAAU,GAAGjB,UAAU,EAAE;IACnD,MAAM,IAAIZ,UAAU,CAAC,sCAAsC,CAAC;EAC9D;EAEA,IAAIoL,KAAK,CAACvJ,UAAU,GAAGjB,UAAU,IAAIjB,MAAM,IAAI,CAAC,CAAC,EAAE;IACjD,MAAM,IAAIK,UAAU,CAAC,sCAAsC,CAAC;EAC9D;EAEA,IAAI4K,GAAG;EACP,IAAIhK,UAAU,KAAKF,SAAS,IAAIf,MAAM,KAAKe,SAAS,EAAE;IACpDkK,GAAG,GAAG,IAAIhE,UAAU,CAACwE,KAAK,CAAC;EAC7B,CAAC,MAAM,IAAIzL,MAAM,KAAKe,SAAS,EAAE;IAC/BkK,GAAG,GAAG,IAAIhE,UAAU,CAACwE,KAAK,EAAExK,UAAU,CAAC;EACzC,CAAC,MAAM;IACLgK,GAAG,GAAG,IAAIhE,UAAU,CAACwE,KAAK,EAAExK,UAAU,EAAEjB,MAAM,CAAC;EACjD;EAGAyJ,MAAM,CAACC,cAAc,CAACuB,GAAG,EAAEvL,MAAM,CAACP,SAAS,CAAC;EAE5C,OAAO8L,GAAG;AACZ;AAEA,SAASX,UAAUA,CAACqB,GAAG,EAAE;EACvB,IAAIjM,MAAM,CAACoB,QAAQ,CAAC6K,GAAG,CAAC,EAAE;IACxB,IAAM3E,GAAG,GAAGxG,OAAO,CAACmL,GAAG,CAAC3L,MAAM,CAAC,GAAG,CAAC;IACnC,IAAMiL,GAAG,GAAG,IAAIvL,MAAM,CAACsH,GAAG,CAAC;IAE3B,IAAIiE,GAAG,CAACjL,MAAM,KAAK,CAAC,EAAE;MACpB,OAAOiL,GAAG;IACZ;IAEAU,GAAG,CAAChF,IAAI,CAACsE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAEjE,GAAG,CAAC;IACxB,OAAOiE,GAAG;EACZ;EAEA,IAAIU,GAAG,CAAC3L,MAAM,KAAKe,SAAS,EAAE;IAC5B,IAAI,OAAO4K,GAAG,CAAC3L,MAAM,KAAK,QAAQ,IAAI4L,WAAW,CAACD,GAAG,CAAC3L,MAAM,CAAC,EAAE;MAC7D,OAAO,IAAIN,MAAM,CAAC,CAAC,CAAC;IACtB;IACA,OAAO8L,aAAa,CAACG,GAAG,CAAC;EAC3B;EAEA,IAAIA,GAAG,CAACvC,IAAI,KAAK,QAAQ,IAAIE,KAAK,CAACuB,OAAO,CAACc,GAAG,CAACtC,IAAI,CAAC,EAAE;IACpD,OAAOmC,aAAa,CAACG,GAAG,CAACtC,IAAI,CAAC;EAChC;AACF;AAEA,SAAS7I,OAAOA,CAACR,MAAM,EAAE;EAGvB,IAAIA,MAAM,IAAIT,UAAU,EAAE;IACxB,MAAM,IAAIc,UAAU,IAAAC,MAAA,CACf,iDAAiD,GAAG,UAAU,EAAAA,MAAA,CAAGf,UAAU,CAACuI,QAAQ,CACrF,EACF,CAAC,WACH,CAAC;EACH;EACA,OAAO9H,MAAM,GAAG,CAAC;AACnB;AAEA,SAASkC,UAAUA,CAAC8D,MAAM,EAAE3E,QAAQ,EAAE;EACpC,IAAI3B,MAAM,CAACoB,QAAQ,CAACkF,MAAM,CAAC,EAAE;IAC3B,OAAOA,MAAM,CAAChG,MAAM;EACtB;EACA,IAAIiK,WAAW,CAACC,MAAM,CAAClE,MAAM,CAAC,IAAI2C,UAAU,CAAC3C,MAAM,EAAEiE,WAAW,CAAC,EAAE;IACjE,OAAOjE,MAAM,CAAC9D,UAAU;EAC1B;EACA,IAAI,OAAO8D,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAM,IAAIzF,SAAS,IAAAD,MAAA,CAEf,4EAA4E,GAC5E,gBAAgB,EAAAA,MAAA,KAAAsI,QAAA,CAAArK,OAAA,EACRyH,MAAM,EAClB,CAAC;EACH;EAEA,IAAMgB,GAAG,GAAGhB,MAAM,CAAChG,MAAM;EACzB,IAAM6L,SAAS,GAAGhN,SAAS,CAACmB,MAAM,GAAG,CAAC,IAAInB,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;EAC/D,IAAI,CAACgN,SAAS,IAAI7E,GAAG,KAAK,CAAC,EAAE,OAAO,CAAC;EAGrC,IAAIZ,WAAW,GAAG,KAAK;EACvB,SAAS;IACP,QAAQ/E,QAAQ;MACd,KAAK,OAAO;MACZ,KAAK,QAAQ;MACb,KAAK,QAAQ;QACX,OAAO2F,GAAG;MACZ,KAAK,MAAM;MACX,KAAK,OAAO;QACV,OAAO8E,WAAW,CAAC9F,MAAM,CAAC,CAAChG,MAAM;MACnC,KAAK,MAAM;MACX,KAAK,OAAO;MACZ,KAAK,SAAS;MACd,KAAK,UAAU;QACb,OAAOgH,GAAG,GAAG,CAAC;MAChB,KAAK,KAAK;QACR,OAAOA,GAAG,KAAK,CAAC;MAClB,KAAK,QAAQ;QACX,OAAO+E,aAAa,CAAC/F,MAAM,CAAC,CAAChG,MAAM;MACrC;QACE,IAAIoG,WAAW,EAAE;UACf,OAAOyF,SAAS,GAAG,CAAC,CAAC,GAAGC,WAAW,CAAC9F,MAAM,CAAC,CAAChG,MAAM;QACpD;QACAqB,QAAQ,GAAG,GAAAf,MAAA,CAAGe,QAAQ,EAAGqF,WAAW,CAAC,CAAC;QACtCN,WAAW,GAAG,IAAI;IACtB;EACF;AACF;AAIA,SAASuB,IAAIA,CAACY,CAAC,EAAEyD,CAAC,EAAEC,CAAC,EAAE;EACrB,IAAM9J,CAAC,GAAGoG,CAAC,CAACyD,CAAC,CAAC;EACdzD,CAAC,CAACyD,CAAC,CAAC,GAAGzD,CAAC,CAAC0D,CAAC,CAAC;EACX1D,CAAC,CAAC0D,CAAC,CAAC,GAAG9J,CAAC;AACV;AAWA,SAASZ,oBAAoBA,CAACP,MAAM,EAAEI,GAAG,EAAEH,UAAU,EAAEI,QAAQ,EAAE6K,GAAG,EAAE;EAEpE,IAAIlL,MAAM,CAAChB,MAAM,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;EAGlC,IAAI,OAAOiB,UAAU,KAAK,QAAQ,EAAE;IAClCI,QAAQ,GAAGJ,UAAU;IACrBA,UAAU,GAAG,CAAC;EAChB,CAAC,MAAM,IAAIA,UAAU,GAAG,UAAU,EAAE;IAClCA,UAAU,GAAG,UAAU;EACzB,CAAC,MAAM,IAAIA,UAAU,GAAG,CAAC,UAAU,EAAE;IACnCA,UAAU,GAAG,CAAC,UAAU;EAC1B;EACAA,UAAU,GAAGgD,MAAM,CAAChD,UAAU,CAAC;EAC/B,IAAI2K,WAAW,CAAC3K,UAAU,CAAC,EAAE;IAE3BA,UAAU,GAAGiL,GAAG,GAAG,CAAC,GAAGlL,MAAM,CAAChB,MAAM,GAAG,CAAC;EAC1C;EAGA,IAAIiB,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGD,MAAM,CAAChB,MAAM,GAAGiB,UAAU;EAC3D,IAAIA,UAAU,IAAID,MAAM,CAAChB,MAAM,EAAE;IAC/B,IAAIkM,GAAG,EAAE,OAAO,CAAC,CAAC;IAClBjL,UAAU,GAAGD,MAAM,CAAChB,MAAM,GAAG,CAAC;EAChC,CAAC,MAAM,IAAIiB,UAAU,GAAG,CAAC,EAAE;IACzB,IAAIiL,GAAG,EAAEjL,UAAU,GAAG,CAAC,CAAC,KACnB,OAAO,CAAC,CAAC;EAChB;EAGA,IAAI,OAAOG,GAAG,KAAK,QAAQ,EAAE;IAC3BA,GAAG,GAAG1B,MAAM,CAACS,IAAI,CAACiB,GAAG,EAAEC,QAAQ,CAAC;EAClC;EAGA,IAAI3B,MAAM,CAACoB,QAAQ,CAACM,GAAG,CAAC,EAAE;IAExB,IAAIA,GAAG,CAACpB,MAAM,KAAK,CAAC,EAAE;MACpB,OAAO,CAAC,CAAC;IACX;IACA,OAAOmM,YAAY,CAACnL,MAAM,EAAEI,GAAG,EAAEH,UAAU,EAAEI,QAAQ,EAAE6K,GAAG,CAAC;EAC7D,CAAC,MAAM,IAAI,OAAO9K,GAAG,KAAK,QAAQ,EAAE;IAClCA,GAAG,GAAGA,GAAG,GAAG,IAAI;IAChB,IAAI,OAAO6F,UAAU,CAAC9H,SAAS,CAACmC,OAAO,KAAK,UAAU,EAAE;MACtD,IAAI4K,GAAG,EAAE;QACP,OAAOjF,UAAU,CAAC9H,SAAS,CAACmC,OAAO,CAACjC,IAAI,CAAC2B,MAAM,EAAEI,GAAG,EAAEH,UAAU,CAAC;MACnE;MACA,OAAOgG,UAAU,CAAC9H,SAAS,CAACqC,WAAW,CAACnC,IAAI,CAAC2B,MAAM,EAAEI,GAAG,EAAEH,UAAU,CAAC;IACvE;IACA,OAAOkL,YAAY,CAACnL,MAAM,EAAE,CAACI,GAAG,CAAC,EAAEH,UAAU,EAAEI,QAAQ,EAAE6K,GAAG,CAAC;EAC/D;EAEA,MAAM,IAAI3L,SAAS,CAAC,sCAAsC,CAAC;AAC7D;AAEA,SAAS4L,YAAYA,CAACC,GAAG,EAAEhL,GAAG,EAAEH,UAAU,EAAEI,QAAQ,EAAE6K,GAAG,EAAE;EACzD,IAAIG,SAAS,GAAG,CAAC;EACjB,IAAIC,SAAS,GAAGF,GAAG,CAACpM,MAAM;EAC1B,IAAIuM,SAAS,GAAGnL,GAAG,CAACpB,MAAM;EAE1B,IAAIqB,QAAQ,KAAKN,SAAS,EAAE;IAC1BM,QAAQ,GAAGsJ,MAAM,CAACtJ,QAAQ,CAAC,CAACqF,WAAW,CAAC,CAAC;IACzC,IACErF,QAAQ,KAAK,MAAM,IACnBA,QAAQ,KAAK,OAAO,IACpBA,QAAQ,KAAK,SAAS,IACtBA,QAAQ,KAAK,UAAU,EACvB;MACA,IAAI+K,GAAG,CAACpM,MAAM,GAAG,CAAC,IAAIoB,GAAG,CAACpB,MAAM,GAAG,CAAC,EAAE;QACpC,OAAO,CAAC,CAAC;MACX;MACAqM,SAAS,GAAG,CAAC;MACbC,SAAS,IAAI,CAAC;MACdC,SAAS,IAAI,CAAC;MACdtL,UAAU,IAAI,CAAC;IACjB;EACF;EAEA,SAAS2C,IAAIA,CAACqH,GAAG,EAAE9I,CAAC,EAAE;IACpB,IAAIkK,SAAS,KAAK,CAAC,EAAE;MACnB,OAAOpB,GAAG,CAAC9I,CAAC,CAAC;IACf;IACA,OAAO8I,GAAG,CAAChI,YAAY,CAACd,CAAC,GAAGkK,SAAS,CAAC;EACxC;EAEA,IAAIlK,CAAC;EACL,IAAI+J,GAAG,EAAE;IACP,IAAIM,UAAU,GAAG,CAAC,CAAC;IACnB,KAAKrK,CAAC,GAAGlB,UAAU,EAAEkB,CAAC,GAAGmK,SAAS,EAAEnK,CAAC,EAAE,EAAE;MACvC,IAAIyB,IAAI,CAACwI,GAAG,EAAEjK,CAAC,CAAC,KAAKyB,IAAI,CAACxC,GAAG,EAAEoL,UAAU,KAAK,CAAC,CAAC,GAAG,CAAC,GAAGrK,CAAC,GAAGqK,UAAU,CAAC,EAAE;QACtE,IAAIA,UAAU,KAAK,CAAC,CAAC,EAAEA,UAAU,GAAGrK,CAAC;QACrC,IAAIA,CAAC,GAAGqK,UAAU,GAAG,CAAC,KAAKD,SAAS,EAAE,OAAOC,UAAU,GAAGH,SAAS;MACrE,CAAC,MAAM;QACL,IAAIG,UAAU,KAAK,CAAC,CAAC,EAAErK,CAAC,IAAIA,CAAC,GAAGqK,UAAU;QAC1CA,UAAU,GAAG,CAAC,CAAC;MACjB;IACF;EACF,CAAC,MAAM;IACL,IAAIvL,UAAU,GAAGsL,SAAS,GAAGD,SAAS,EAAErL,UAAU,GAAGqL,SAAS,GAAGC,SAAS;IAC1E,KAAKpK,CAAC,GAAGlB,UAAU,EAAEkB,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAChC,IAAIsK,KAAK,GAAG,IAAI;MAChB,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,SAAS,EAAEG,CAAC,EAAE,EAAE;QAClC,IAAI9I,IAAI,CAACwI,GAAG,EAAEjK,CAAC,GAAGuK,CAAC,CAAC,KAAK9I,IAAI,CAACxC,GAAG,EAAEsL,CAAC,CAAC,EAAE;UACrCD,KAAK,GAAG,KAAK;UACb;QACF;MACF;MACA,IAAIA,KAAK,EAAE,OAAOtK,CAAC;IACrB;EACF;EAEA,OAAO,CAAC,CAAC;AACX;AAEA,SAASkE,QAAQA,CAAC4E,GAAW,EAAEjF,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,EAAU;EAC7D0B,MAAM,GAAGuC,MAAM,CAACvC,MAAM,CAAC,IAAI,CAAC;EAC5B,IAAMyE,SAAS,GAAG8E,GAAG,CAACjL,MAAM,GAAG0B,MAAM;EACrC,IAAI,CAAC1B,MAAM,EAAE;IACXA,MAAM,GAAGmG,SAAS;EACpB,CAAC,MAAM;IACLnG,MAAM,GAAGiE,MAAM,CAACjE,MAAM,CAAC;IACvB,IAAIA,MAAM,GAAGmG,SAAS,EAAE;MACtBnG,MAAM,GAAGmG,SAAS;IACpB;EACF;EAEA,IAAMwG,MAAM,GAAG3G,MAAM,CAAChG,MAAM;EAE5B,IAAIA,MAAM,GAAG2M,MAAM,GAAG,CAAC,EAAE;IACvB3M,MAAM,GAAG2M,MAAM,GAAG,CAAC;EACrB;EACA,IAAIxK,CAAC;EACL,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnC,MAAM,EAAE,EAAEmC,CAAC,EAAE;IAC3B,IAAMyK,MAAM,GAAGC,QAAQ,CAAC7G,MAAM,CAAC8G,MAAM,CAAC3K,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IACpD,IAAIyJ,WAAW,CAACgB,MAAM,CAAC,EAAE,OAAOzK,CAAC;IACjC8I,GAAG,CAACvJ,MAAM,GAAGS,CAAC,CAAC,GAAGyK,MAAM;EAC1B;EACA,OAAOzK,CAAC;AACV;AAEA,SAASmE,SAASA,CAAC2E,GAAW,EAAEjF,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,EAAE;EACtD,OAAO+M,UAAU,CAACjB,WAAW,CAAC9F,MAAM,EAAEiF,GAAG,CAACjL,MAAM,GAAG0B,MAAM,CAAC,EAAEuJ,GAAG,EAAEvJ,MAAM,EAAE1B,MAAM,CAAC;AAClF;AAEA,SAASuG,UAAUA,CAAC0E,GAAW,EAAEjF,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,EAAE;EACvD,OAAO+M,UAAU,CAACC,YAAY,CAAChH,MAAM,CAAC,EAAEiF,GAAG,EAAEvJ,MAAM,EAAE1B,MAAM,CAAC;AAC9D;AAEA,SAASwG,WAAWA,CAACyE,GAAW,EAAEjF,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,EAAE;EACxD,OAAO+M,UAAU,CAAChB,aAAa,CAAC/F,MAAM,CAAC,EAAEiF,GAAG,EAAEvJ,MAAM,EAAE1B,MAAM,CAAC;AAC/D;AAEA,SAASyG,SAASA,CAACwE,GAAW,EAAEjF,MAAM,EAAEtE,MAAM,EAAE1B,MAAM,EAAE;EACtD,OAAO+M,UAAU,CAACE,cAAc,CAACjH,MAAM,EAAEiF,GAAG,CAACjL,MAAM,GAAG0B,MAAM,CAAC,EAAEuJ,GAAG,EAAEvJ,MAAM,EAAE1B,MAAM,CAAC;AACrF;AAEA,SAAS8J,WAAWA,CAACmB,GAAW,EAAEnE,KAAK,EAAEC,GAAG,EAAE;EAC5C,IAAID,KAAK,KAAK,CAAC,IAAIC,GAAG,KAAKkE,GAAG,CAACjL,MAAM,EAAE;IACrC,OAAOkN,iBAAM,CAACC,aAAa,CAAClC,GAAG,CAAC;EAClC;EACA,OAAOiC,iBAAM,CAACC,aAAa,CAAClC,GAAG,CAAChC,KAAK,CAACnC,KAAK,EAAEC,GAAG,CAAC,CAAC;AACpD;AAEA,SAASgB,SAASA,CAACkD,GAAW,EAAEnE,KAAK,EAAEC,GAAG,EAAE;EAC1CA,GAAG,GAAG1E,IAAI,CAAC0G,GAAG,CAACkC,GAAG,CAACjL,MAAM,EAAE+G,GAAG,CAAC;EAC/B,IAAMqG,GAAa,GAAG,EAAE;EAExB,IAAIjL,CAAC,GAAG2E,KAAK;EACb,OAAO3E,CAAC,GAAG4E,GAAG,EAAE;IACd,IAAMsG,SAAS,GAAGpC,GAAG,CAAC9I,CAAC,CAAC;IACxB,IAAImL,SAAwB,GAAG,IAAI;IACnC,IAAIC,gBAAgB,GAAGF,SAAS,GAAG,IAAI,GAAG,CAAC,GAAGA,SAAS,GAAG,IAAI,GAAG,CAAC,GAAGA,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;IAE7F,IAAIlL,CAAC,GAAGoL,gBAAgB,IAAIxG,GAAG,EAAE;MAC/B,IAAIyG,UAAU;MACd,IAAIC,UAAU;MACd,IAAIC,aAAa;MACjB,IAAIC,SAAS;MAEb,QAAQJ,gBAAgB;QACtB,KAAK,CAAC;UACJ,IAAIF,SAAS,GAAG,IAAI,EAAE;YACpBC,SAAS,GAAGD,SAAS;UACvB;UACA;QACF,KAAK,CAAC;UACJI,UAAU,GAAGxC,GAAG,CAAC9I,CAAC,GAAG,CAAC,CAAC;UACvB,IAAI,CAACsL,UAAU,GAAG,IAAI,MAAM,IAAI,EAAE;YAChCC,aAAa,GAAI,CAACL,SAAS,GAAG,IAAI,KAAK,GAAG,GAAKI,UAAU,GAAG,IAAK;YACjE,IAAIC,aAAa,GAAG,IAAI,EAAE;cACxBJ,SAAS,GAAGI,aAAa;YAC3B;UACF;UACA;QACF,KAAK,CAAC;UACJD,UAAU,GAAGxC,GAAG,CAAC9I,CAAC,GAAG,CAAC,CAAC;UACvBwL,SAAS,GAAG1C,GAAG,CAAC9I,CAAC,GAAG,CAAC,CAAC;UACtB,IAAI,CAACsL,UAAU,GAAG,IAAI,MAAM,IAAI,IAAI,CAACE,SAAS,GAAG,IAAI,MAAM,IAAI,EAAE;YAC/DD,aAAa,GACV,CAACL,SAAS,GAAG,GAAG,KAAK,GAAG,GAAK,CAACI,UAAU,GAAG,IAAI,KAAK,GAAI,GAAIE,SAAS,GAAG,IAAK;YAChF,IAAID,aAAa,GAAG,KAAK,KAAKA,aAAa,GAAG,MAAM,IAAIA,aAAa,GAAG,MAAM,CAAC,EAAE;cAC/EJ,SAAS,GAAGI,aAAa;YAC3B;UACF;UACA;QACF,KAAK,CAAC;UACJD,UAAU,GAAGxC,GAAG,CAAC9I,CAAC,GAAG,CAAC,CAAC;UACvBwL,SAAS,GAAG1C,GAAG,CAAC9I,CAAC,GAAG,CAAC,CAAC;UACtBqL,UAAU,GAAGvC,GAAG,CAAC9I,CAAC,GAAG,CAAC,CAAC;UACvB,IACE,CAACsL,UAAU,GAAG,IAAI,MAAM,IAAI,IAC5B,CAACE,SAAS,GAAG,IAAI,MAAM,IAAI,IAC3B,CAACH,UAAU,GAAG,IAAI,MAAM,IAAI,EAC5B;YACAE,aAAa,GACV,CAACL,SAAS,GAAG,GAAG,KAAK,IAAI,GACzB,CAACI,UAAU,GAAG,IAAI,KAAK,GAAI,GAC3B,CAACE,SAAS,GAAG,IAAI,KAAK,GAAI,GAC1BH,UAAU,GAAG,IAAK;YACrB,IAAIE,aAAa,GAAG,MAAM,IAAIA,aAAa,GAAG,QAAQ,EAAE;cACtDJ,SAAS,GAAGI,aAAa;YAC3B;UACF;MACJ;IACF;IAEA,IAAIJ,SAAS,KAAK,IAAI,EAAE;MAGtBA,SAAS,GAAG,MAAM;MAClBC,gBAAgB,GAAG,CAAC;IACtB,CAAC,MAAM,IAAID,SAAS,GAAG,MAAM,EAAE;MAE7BA,SAAS,IAAI,OAAO;MACpBF,GAAG,CAACQ,IAAI,CAAGN,SAAS,KAAK,EAAE,GAAI,KAAK,GAAI,MAAM,CAAC;MAC/CA,SAAS,GAAG,MAAM,GAAIA,SAAS,GAAG,KAAM;IAC1C;IAEAF,GAAG,CAACQ,IAAI,CAACN,SAAS,CAAC;IACnBnL,CAAC,IAAIoL,gBAAgB;EACvB;EAEA,OAAOM,qBAAqB,CAACT,GAAG,CAAC;AACnC;AAKA,IAAMU,oBAAoB,GAAG,MAAM;AAEnC,SAASD,qBAAqBA,CAACE,UAAoB,EAAU;EAC3D,IAAM/G,GAAG,GAAG+G,UAAU,CAAC/N,MAAM;EAC7B,IAAIgH,GAAG,IAAI8G,oBAAoB,EAAE;IAC/B,OAAOnD,MAAM,CAACqD,YAAY,CAAClP,KAAK,CAAC6L,MAAM,EAAEoD,UAAU,CAAC;EACtD;EAGA,IAAIX,GAAG,GAAG,EAAE;EACZ,IAAIjL,CAAC,GAAG,CAAC;EACT,OAAOA,CAAC,GAAG6E,GAAG,EAAE;IACdoG,GAAG,IAAIzC,MAAM,CAACqD,YAAY,CAAClP,KAAK,CAAC6L,MAAM,EAAEoD,UAAU,CAAC9E,KAAK,CAAC9G,CAAC,EAAGA,CAAC,IAAI2L,oBAAqB,CAAC,CAAC;EAC5F;EACA,OAAOV,GAAG;AACZ;AAEA,SAASxD,UAAUA,CAACqB,GAAW,EAAEnE,KAAK,EAAEC,GAAG,EAAU;EACnD,IAAIkH,GAAG,GAAG,EAAE;EACZlH,GAAG,GAAG1E,IAAI,CAAC0G,GAAG,CAACkC,GAAG,CAACjL,MAAM,EAAE+G,GAAG,CAAC;EAE/B,KAAK,IAAI5E,CAAC,GAAG2E,KAAK,EAAE3E,CAAC,GAAG4E,GAAG,EAAE,EAAE5E,CAAC,EAAE;IAChC8L,GAAG,IAAItD,MAAM,CAACqD,YAAY,CAAC/C,GAAG,CAAC9I,CAAC,CAAC,GAAG,IAAI,CAAC;EAC3C;EACA,OAAO8L,GAAG;AACZ;AAEA,SAASpE,WAAWA,CAACoB,GAAW,EAAEnE,KAAK,EAAEC,GAAG,EAAU;EACpD,IAAIkH,GAAG,GAAG,EAAE;EACZlH,GAAG,GAAG1E,IAAI,CAAC0G,GAAG,CAACkC,GAAG,CAACjL,MAAM,EAAE+G,GAAG,CAAC;EAE/B,KAAK,IAAI5E,CAAC,GAAG2E,KAAK,EAAE3E,CAAC,GAAG4E,GAAG,EAAE,EAAE5E,CAAC,EAAE;IAChC8L,GAAG,IAAItD,MAAM,CAACqD,YAAY,CAAC/C,GAAG,CAAC9I,CAAC,CAAC,CAAC;EACpC;EACA,OAAO8L,GAAG;AACZ;AAEA,SAAStE,QAAQA,CAACsB,GAAW,EAAEnE,KAAK,EAAEC,GAAG,EAAU;EACjD,IAAMC,GAAG,GAAGiE,GAAG,CAACjL,MAAM;EAEtB,IAAI,CAAC8G,KAAK,IAAIA,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAG,CAAC;EAClC,IAAI,CAACC,GAAG,IAAIA,GAAG,GAAG,CAAC,IAAIA,GAAG,GAAGC,GAAG,EAAED,GAAG,GAAGC,GAAG;EAE3C,IAAIkH,GAAG,GAAG,EAAE;EACZ,KAAK,IAAI/L,CAAC,GAAG2E,KAAK,EAAE3E,CAAC,GAAG4E,GAAG,EAAE,EAAE5E,CAAC,EAAE;IAChC+L,GAAG,IAAIC,mBAAmB,CAAClD,GAAG,CAAC9I,CAAC,CAAC,CAAC;EACpC;EACA,OAAO+L,GAAG;AACZ;AAEA,SAASnE,YAAYA,CAACkB,GAAW,EAAEnE,KAAK,EAAEC,GAAG,EAAU;EACrD,IAAMU,KAAK,GAAGwD,GAAG,CAAChC,KAAK,CAACnC,KAAK,EAAEC,GAAG,CAAC;EACnC,IAAIqG,GAAG,GAAG,EAAE;EAEZ,KAAK,IAAIjL,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGsF,KAAK,CAACzH,MAAM,GAAG,CAAC,EAAEmC,CAAC,IAAI,CAAC,EAAE;IAC5CiL,GAAG,IAAIzC,MAAM,CAACqD,YAAY,CAACvG,KAAK,CAACtF,CAAC,CAAC,GAAGsF,KAAK,CAACtF,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;EAC3D;EACA,OAAOiL,GAAG;AACZ;AAKA,SAASxL,WAAWA,CAACF,MAAM,EAAE2J,GAAG,EAAErL,MAAM,EAAQ;EAC9C,IAAI0B,MAAM,GAAG,CAAC,KAAK,CAAC,IAAIA,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIrB,UAAU,CAAC,oBAAoB,CAAC;EAC9E,IAAIqB,MAAM,GAAG2J,GAAG,GAAGrL,MAAM,EAAE,MAAM,IAAIK,UAAU,CAAC,uCAAuC,CAAC;AAC1F;AAEA,SAAS+N,YAAYA,CAACnD,GAAW,EAAE/J,KAAK,EAAEQ,MAAM,EAAE2J,GAAG,EAAElD,GAAG,EAAEY,GAAG,EAAQ;EACrE,IAAIrH,MAAM,GAAG2J,GAAG,GAAGJ,GAAG,CAACjL,MAAM,EAAE,MAAM,IAAIK,UAAU,CAAC,oBAAoB,CAAC;EACzE,IAAIqB,MAAM,GAAG,CAAC,EAAE,MAAM,IAAIrB,UAAU,CAAC,oBAAoB,CAAC;AAC5D;AAEA,SAASqF,UAAUA,CAACuF,GAAW,EAAE/J,KAAK,EAAEQ,MAAM,EAAE2M,YAAY,EAAE1M,QAAQ,EAAU;EAC9ET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;EACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACC,QAAQ,EAAE;IACbyM,YAAY,CAACnD,GAAG,EAAE/J,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,qBAAqB,CAAC;EACpF;EACAiC,aAAO,CAACoC,KAAK,CAACkF,GAAG,EAAE/J,KAAK,EAAEQ,MAAM,EAAE2M,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;EACtD,OAAO3M,MAAM,GAAG,CAAC;AACnB;AAEA,SAASmE,WAAWA,CAACoF,GAAW,EAAE/J,KAAK,EAAEQ,MAAM,EAAE2M,YAAY,EAAE1M,QAAQ,EAAU;EAC/ET,KAAK,GAAG+C,MAAM,CAAC/C,KAAK,CAAC;EACrBQ,MAAM,GAAGA,MAAM,KAAK,CAAC;EACrB,IAAI,CAACC,QAAQ,EAAE;IACbyM,YAAY,CAACnD,GAAG,EAAE/J,KAAK,EAAEQ,MAAM,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,sBAAsB,CAAC;EACtF;EACAiC,aAAO,CAACoC,KAAK,CAACkF,GAAG,EAAE/J,KAAK,EAAEQ,MAAM,EAAE2M,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;EACtD,OAAO3M,MAAM,GAAG,CAAC;AACnB;AAMA,IAAM4M,MAA2B,GAAG,CAAC,CAAC;AACtC,SAASC,CAACA,CAACC,GAAG,EAAEC,UAAU,EAAEC,IAAI,EAAE;EAChCJ,MAAM,CAACE,GAAG,CAAC,aAAAG,KAAA;IAAA,IAAA/O,UAAA,CAAArB,OAAA,EAAAqQ,SAAA,EAAAD,KAAA;IAAA,IAAAE,OAAA,GAAA7Q,YAAA,CAAA4Q,SAAA;IACT,SAAAA,UAAA,EAAc;MAAA,IAAAE,MAAA;MAAA,IAAA5O,gBAAA,CAAA3B,OAAA,QAAAqQ,SAAA;MACZE,MAAA,GAAAD,OAAA,CAAAxP,IAAA;MAEAoK,MAAM,CAACsF,cAAc,KAAArO,uBAAA,CAAAnC,OAAA,EAAAuQ,MAAA,GAAO,SAAS,EAAE;QACrC5N,KAAK,EAAEuN,UAAU,CAAC3P,KAAK,KAAA4B,uBAAA,CAAAnC,OAAA,EAAAuQ,MAAA,GAAOjQ,SAAS,CAAC;QACxCmQ,QAAQ,EAAE,IAAI;QACdC,YAAY,EAAE;MAChB,CAAC,CAAC;MAGFH,MAAA,CAAKI,IAAI,MAAA5O,MAAA,CAAMwO,MAAA,CAAKI,IAAI,QAAA5O,MAAA,CAAKkO,GAAG,MAAG;MAGnCM,MAAA,CAAKK,KAAK;MAEV,OAAOL,MAAA,CAAKI,IAAI;MAAC,OAAAJ,MAAA;IACnB;IAAC,IAAAnO,aAAA,CAAApC,OAAA,EAAAqQ,SAAA;MAAAhO,GAAA;MAAAC,GAAA,EAED,SAAAA,IAAA,EAAW;QACT,OAAO2N,GAAG;MACZ,CAAC;MAAArH,GAAA,EAED,SAAAA,IAASjG,KAAK,EAAE;QACduI,MAAM,CAACsF,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE;UAClCE,YAAY,EAAE,IAAI;UAClBG,UAAU,EAAE,IAAI;UAChBlO,KAAK,EAALA,KAAK;UACL8N,QAAQ,EAAE;QACZ,CAAC,CAAC;MACJ;IAAC;MAAApO,GAAA;MAAAM,KAAA,EAED,SAAA4G,SAAA,EAAW;QACT,UAAAxH,MAAA,CAAU,IAAI,CAAC4O,IAAI,QAAA5O,MAAA,CAAKkO,GAAG,SAAAlO,MAAA,CAAM,IAAI,CAAC+O,OAAO;MAC/C;IAAC;IAAA,OAAAT,SAAA;EAAA,EAlCmCF,IAAI,CAmCzC;AACH;AAEAH,CAAC,CACC,0BAA0B,EAC1B,UAAUW,IAAI,EAAE;EACd,IAAIA,IAAI,EAAE;IACR,UAAA5O,MAAA,CAAU4O,IAAI;EAChB;EAEA,OAAO,gDAAgD;AACzD,CAAC,EACD7O,UACF,CAAC;AACDkO,CAAC,CACC,sBAAsB,EACtB,UAAUW,IAAI,EAAE3D,MAAM,EAAE;EACtB,gBAAAjL,MAAA,CAAe4O,IAAI,wDAAA5O,MAAA,KAAAsI,QAAA,CAAArK,OAAA,EAA2DgN,MAAM;AACtF,CAAC,EACDhL,SACF,CAAC;AACDgO,CAAC,CACC,kBAAkB,EAClB,UAAUrG,GAAG,EAAEoH,KAAK,EAAEC,KAAK,EAAE;EAC3B,IAAIC,GAAG,qBAAAlP,MAAA,CAAoB4H,GAAG,wBAAoB;EAClD,IAAIuH,QAAQ,GAAGF,KAAK;EACpB,IAAItL,MAAM,CAACyL,SAAS,CAACH,KAAK,CAAC,IAAIlN,IAAI,CAACsN,GAAG,CAACJ,KAAK,CAAC,GAAAlN,IAAA,CAAAC,GAAA,CAAG,CAAC,EAAI,EAAE,GAAE;IACxDmN,QAAQ,GAAGG,qBAAqB,CAACjF,MAAM,CAAC4E,KAAK,CAAC,CAAC;EACjD,CAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACpCE,QAAQ,GAAG9E,MAAM,CAAC4E,KAAK,CAAC;IACxB,IAAIA,KAAK,GAAAlN,IAAA,CAAAC,GAAA,CAAGO,MAAM,CAAC,CAAC,CAAC,EAAIA,MAAM,CAAC,EAAE,CAAC,KAAI0M,KAAK,GAAG,CAAAlN,IAAA,CAAAC,GAAA,CAAEO,MAAM,CAAC,CAAC,CAAC,EAAIA,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;MACzE4M,QAAQ,GAAGG,qBAAqB,CAACH,QAAQ,CAAC;IAC5C;IACAA,QAAQ,IAAI,GAAG;EACjB;EACAD,GAAG,mBAAAlP,MAAA,CAAmBgP,KAAK,iBAAAhP,MAAA,CAAcmP,QAAQ,CAAE;EACnD,OAAOD,GAAG;AACZ,CAAC,EACDnP,UACF,CAAC;AAED,SAASuP,qBAAqBA,CAACxO,GAAG,EAAE;EAClC,IAAIgM,GAAG,GAAG,EAAE;EACZ,IAAIjL,CAAC,GAAGf,GAAG,CAACpB,MAAM;EAClB,IAAM8G,KAAK,GAAG1F,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;EACpC,OAAOe,CAAC,IAAI2E,KAAK,GAAG,CAAC,EAAE3E,CAAC,IAAI,CAAC,EAAE;IAC7BiL,GAAG,OAAA9M,MAAA,CAAOc,GAAG,CAAC6H,KAAK,CAAC9G,CAAC,GAAG,CAAC,EAAEA,CAAC,CAAC,EAAA7B,MAAA,CAAG8M,GAAG,CAAE;EACvC;EACA,UAAA9M,MAAA,CAAUc,GAAG,CAAC6H,KAAK,CAAC,CAAC,EAAE9G,CAAC,CAAC,EAAA7B,MAAA,CAAG8M,GAAG;AACjC;AAKA,SAASyC,WAAWA,CAAC5E,GAAG,EAAEvJ,MAAM,EAAEQ,UAAU,EAAE;EAC5CO,cAAc,CAACf,MAAM,EAAE,QAAQ,CAAC;EAChC,IAAIuJ,GAAG,CAACvJ,MAAM,CAAC,KAAKX,SAAS,IAAIkK,GAAG,CAACvJ,MAAM,GAAGQ,UAAU,CAAC,KAAKnB,SAAS,EAAE;IACvE6B,WAAW,CAAClB,MAAM,EAAEuJ,GAAG,CAACjL,MAAM,IAAIkC,UAAU,GAAG,CAAC,CAAC,CAAC;EACpD;AACF;AAEA,SAASoJ,UAAUA,CAACpK,KAAK,EAAE6H,GAAG,EAAEZ,GAAG,EAAE8C,GAAG,EAAEvJ,MAAM,EAAEQ,UAAU,EAAE;EAC5D,IAAIhB,KAAK,GAAGiH,GAAG,IAAIjH,KAAK,GAAG6H,GAAG,EAAE;IAC9B,IAAMiD,CAAC,GAAG,OAAOjD,GAAG,KAAK,QAAQ,GAAG,GAAG,GAAG,EAAE;IAC5C,IAAIuG,KAAK;IACT,IAAIpN,UAAU,GAAG,CAAC,EAAE;MAClB,IAAI6G,GAAG,KAAK,CAAC,IAAIA,GAAG,KAAKlG,MAAM,CAAC,CAAC,CAAC,EAAE;QAClCyM,KAAK,UAAAhP,MAAA,CAAU0L,CAAC,cAAA1L,MAAA,CAAW0L,CAAC,UAAA1L,MAAA,CAAO,CAAC4B,UAAU,GAAG,CAAC,IAAI,CAAC,EAAA5B,MAAA,CAAG0L,CAAC,CAAE;MAC/D,CAAC,MAAM;QACLsD,KAAK,GACH,SAAAhP,MAAA,CAAS0L,CAAC,UAAA1L,MAAA,CAAO,CAAC4B,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA5B,MAAA,CAAG0L,CAAC,wBAAA1L,MAAA,CAC1C,CAAC4B,UAAU,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA5B,MAAA,CAAG0L,CAAC,CAAE;MACrC;IACF,CAAC,MAAM;MACLsD,KAAK,SAAAhP,MAAA,CAASyI,GAAG,EAAAzI,MAAA,CAAG0L,CAAC,cAAA1L,MAAA,CAAW6H,GAAG,EAAA7H,MAAA,CAAG0L,CAAC,CAAE;IAC3C;IACA,MAAM,IAAIsC,MAAM,CAACwB,gBAAgB,CAAC,OAAO,EAAER,KAAK,EAAEpO,KAAK,CAAC;EAC1D;EACA2O,WAAW,CAAC5E,GAAG,EAAEvJ,MAAM,EAAEQ,UAAU,CAAC;AACtC;AAEA,SAASO,cAAcA,CAACvB,KAAK,EAAEgO,IAAI,EAAE;EACnC,IAAI,OAAOhO,KAAK,KAAK,QAAQ,EAAE;IAC7B,MAAM,IAAIoN,MAAM,CAACyB,oBAAoB,CAACb,IAAI,EAAE,QAAQ,EAAEhO,KAAK,CAAC;EAC9D;AACF;AAEA,SAAS0B,WAAWA,CAAC1B,KAAK,EAAElB,MAAM,EAAEoJ,IAAK,EAAE;EACzC,IAAI/G,IAAI,CAAC2N,KAAK,CAAC9O,KAAK,CAAC,KAAKA,KAAK,EAAE;IAC/BuB,cAAc,CAACvB,KAAK,EAAEkI,IAAI,CAAC;IAC3B,MAAM,IAAIkF,MAAM,CAACwB,gBAAgB,CAAC1G,IAAI,IAAI,QAAQ,EAAE,YAAY,EAAElI,KAAK,CAAC;EAC1E;EAEA,IAAIlB,MAAM,GAAG,CAAC,EAAE;IACd,MAAM,IAAIsO,MAAM,CAAC2B,wBAAwB,CAAC,CAAC;EAC7C;EAEA,MAAM,IAAI3B,MAAM,CAACwB,gBAAgB,CAAC1G,IAAI,IAAI,QAAQ,QAAA9I,MAAA,CAAQ8I,IAAI,GAAG,CAAC,GAAG,CAAC,cAAA9I,MAAA,CAAWN,MAAM,GAAIkB,KAAK,CAAC;AACnG;AAKA,IAAMgP,iBAAiB,GAAG,mBAAmB;AAE7C,SAASC,WAAWA,CAACjI,GAAW,EAAU;EAExCA,GAAG,GAAGA,GAAG,CAACkI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;EAEvBlI,GAAG,GAAGA,GAAG,CAACG,IAAI,CAAC,CAAC,CAACD,OAAO,CAAC8H,iBAAiB,EAAE,EAAE,CAAC;EAE/C,IAAIhI,GAAG,CAAClI,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE;EAE7B,OAAOkI,GAAG,CAAClI,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;IAC3BkI,GAAG,MAAA5H,MAAA,CAAM4H,GAAG,MAAG;EACjB;EACA,OAAOA,GAAG;AACZ;AAEA,SAAS4D,WAAWA,CAAC9F,MAAc,EAAEqK,KAAc,EAAY;EAC7DA,KAAK,GAAGA,KAAK,IAAIC,QAAQ;EACzB,IAAIhD,SAAS;EACb,IAAMtN,MAAM,GAAGgG,MAAM,CAAChG,MAAM;EAC5B,IAAIuQ,aAAa,GAAG,IAAI;EACxB,IAAM9I,KAAe,GAAG,EAAE;EAE1B,KAAK,IAAItF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnC,MAAM,EAAE,EAAEmC,CAAC,EAAE;IAC/BmL,SAAS,GAAGtH,MAAM,CAACwB,UAAU,CAACrF,CAAC,CAAC;IAGhC,IAAImL,SAAS,GAAG,MAAM,IAAIA,SAAS,GAAG,MAAM,EAAE;MAE5C,IAAI,CAACiD,aAAa,EAAE;QAElB,IAAIjD,SAAS,GAAG,MAAM,EAAE;UAEtB,IAAI,CAAC+C,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE5I,KAAK,CAACmG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;UACnD;QACF,CAAC,MAAM,IAAIzL,CAAC,GAAG,CAAC,KAAKnC,MAAM,EAAE;UAE3B,IAAI,CAACqQ,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE5I,KAAK,CAACmG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;UACnD;QACF;QAGA2C,aAAa,GAAGjD,SAAS;QAEzB;MACF;MAGA,IAAIA,SAAS,GAAG,MAAM,EAAE;QACtB,IAAI,CAAC+C,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE5I,KAAK,CAACmG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;QACnD2C,aAAa,GAAGjD,SAAS;QACzB;MACF;MAGAA,SAAS,GAAG,CAAGiD,aAAa,GAAG,MAAM,IAAK,EAAE,GAAKjD,SAAS,GAAG,MAAO,IAAI,OAAO;IACjF,CAAC,MAAM,IAAIiD,aAAa,EAAE;MAExB,IAAI,CAACF,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE5I,KAAK,CAACmG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IACrD;IAEA2C,aAAa,GAAG,IAAI;IAGpB,IAAIjD,SAAS,GAAG,IAAI,EAAE;MACpB,IAAI,CAAC+C,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtB5I,KAAK,CAACmG,IAAI,CAACN,SAAS,CAAC;IACvB,CAAC,MAAM,IAAIA,SAAS,GAAG,KAAK,EAAE;MAC5B,IAAI,CAAC+C,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtB5I,KAAK,CAACmG,IAAI,CAAEN,SAAS,IAAI,GAAG,GAAI,IAAI,EAAGA,SAAS,GAAG,IAAI,GAAI,IAAI,CAAC;IAClE,CAAC,MAAM,IAAIA,SAAS,GAAG,OAAO,EAAE;MAC9B,IAAI,CAAC+C,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtB5I,KAAK,CAACmG,IAAI,CACPN,SAAS,IAAI,GAAG,GAAI,IAAI,EACvBA,SAAS,IAAI,GAAG,GAAI,IAAI,GAAI,IAAI,EACjCA,SAAS,GAAG,IAAI,GAAI,IACvB,CAAC;IACH,CAAC,MAAM,IAAIA,SAAS,GAAG,QAAQ,EAAE;MAC/B,IAAI,CAAC+C,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;MACtB5I,KAAK,CAACmG,IAAI,CACPN,SAAS,IAAI,IAAI,GAAI,IAAI,EACxBA,SAAS,IAAI,GAAG,GAAI,IAAI,GAAI,IAAI,EAChCA,SAAS,IAAI,GAAG,GAAI,IAAI,GAAI,IAAI,EACjCA,SAAS,GAAG,IAAI,GAAI,IACvB,CAAC;IACH,CAAC,MAAM;MACL,MAAM,IAAIpH,KAAK,CAAC,oBAAoB,CAAC;IACvC;EACF;EAEA,OAAOuB,KAAK;AACd;AAEA,SAASuF,YAAYA,CAAC9E,GAAW,EAAY;EAC3C,IAAMsI,SAAmB,GAAG,EAAE;EAC9B,KAAK,IAAIrO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+F,GAAG,CAAClI,MAAM,EAAE,EAAEmC,CAAC,EAAE;IAEnCqO,SAAS,CAAC5C,IAAI,CAAC1F,GAAG,CAACV,UAAU,CAACrF,CAAC,CAAC,GAAG,IAAI,CAAC;EAC1C;EACA,OAAOqO,SAAS;AAClB;AAEA,SAASvD,cAAcA,CAAC/E,GAAW,EAAEmI,KAAa,EAAY;EAC5D,IAAII,CAAC;EACL,IAAIjN,EAAE;EACN,IAAID,EAAE;EACN,IAAMiN,SAAmB,GAAG,EAAE;EAC9B,KAAK,IAAIrO,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+F,GAAG,CAAClI,MAAM,EAAE,EAAEmC,CAAC,EAAE;IACnC,IAAI,CAACkO,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE;IAEtBI,CAAC,GAAGvI,GAAG,CAACV,UAAU,CAACrF,CAAC,CAAC;IACrBqB,EAAE,GAAGiN,CAAC,IAAI,CAAC;IACXlN,EAAE,GAAGkN,CAAC,GAAG,GAAG;IACZD,SAAS,CAAC5C,IAAI,CAACrK,EAAE,CAAC;IAClBiN,SAAS,CAAC5C,IAAI,CAACpK,EAAE,CAAC;EACpB;EAEA,OAAOgN,SAAS;AAClB;AAEA,SAASzE,aAAaA,CAAC7D,GAAW,EAAc;EAC9C,OAAOgF,iBAAM,CAACwD,WAAW,CAACP,WAAW,CAACjI,GAAG,CAAC,CAAC;AAC7C;AAEA,SAAS6E,UAAUA,CAAC4D,GAAG,EAAEC,GAAG,EAAElP,MAAM,EAAE1B,MAAM,EAAU;EACpD,IAAImC,CAAC;EACL,KAAKA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnC,MAAM,EAAE,EAAEmC,CAAC,EAAE;IAC3B,IAAIA,CAAC,GAAGT,MAAM,IAAIkP,GAAG,CAAC5Q,MAAM,IAAImC,CAAC,IAAIwO,GAAG,CAAC3Q,MAAM,EAAE;IACjD4Q,GAAG,CAACzO,CAAC,GAAGT,MAAM,CAAC,GAAGiP,GAAG,CAACxO,CAAC,CAAC;EAC1B;EACA,OAAOA,CAAC;AACV;AAKA,SAASwG,UAAUA,CAACgD,GAAG,EAAEvC,IAAI,EAAW;EACtC,OACEuC,GAAG,YAAYvC,IAAI,IAClBuC,GAAG,IAAI,IAAI,IACVA,GAAG,CAACjN,WAAW,IAAI,IAAI,IACvBiN,GAAG,CAACjN,WAAW,CAACwQ,IAAI,IAAI,IAAI,IAC5BvD,GAAG,CAACjN,WAAW,CAACwQ,IAAI,KAAK9F,IAAI,CAAC8F,IAAK;AAEzC;AACA,SAAStD,WAAWA,CAACD,GAAG,EAAW;EAEjC,OAAOA,GAAG,KAAKA,GAAG;AACpB;AAIA,IAAMwC,mBAAmB,GAAI,YAAY;EACvC,IAAM0C,QAAQ,GAAG,kBAAkB;EACnC,IAAMC,KAAK,GAAG,IAAIxH,KAAK,CAAC,GAAG,CAAC;EAC5B,KAAK,IAAInH,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAE,EAAEA,CAAC,EAAE;IAC3B,IAAM4O,GAAG,GAAG5O,CAAC,GAAG,EAAE;IAClB,KAAK,IAAIuK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,EAAE,EAAE,EAAEA,CAAC,EAAE;MAC3BoE,KAAK,CAACC,GAAG,GAAGrE,CAAC,CAAC,GAAGmE,QAAQ,CAAC1O,CAAC,CAAC,GAAG0O,QAAQ,CAACnE,CAAC,CAAC;IAC5C;EACF;EACA,OAAOoE,KAAK;AACd,CAAC,CAAE,CAAC"}
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "Buffer", {
7
- enumerable: true,
8
- get: function get() {
9
- return _installBufferPolyfill.Buffer;
10
- }
11
- });
12
- Object.defineProperty(exports, "BufferPolyfill", {
13
- enumerable: true,
14
- get: function get() {
15
- return _buffer.Buffer;
16
- }
17
- });
18
- Object.defineProperty(exports, "installBufferPolyfill", {
19
- enumerable: true,
20
- get: function get() {
21
- return _bufferPolyfill.installBufferPolyfill;
22
- }
23
- });
24
- var _buffer = require("./buffer");
25
- var _installBufferPolyfill = require("./install-buffer-polyfill");
26
- var _bufferPolyfill = require("./buffer-polyfill.node");
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_buffer","require","_installBufferPolyfill","_bufferPolyfill"],"sources":["../../../src/buffer-polyfill/index.ts"],"sourcesContent":["// loaders.gl, MIT license\nexport {Buffer as BufferPolyfill} from './buffer';\nexport {Buffer} from './install-buffer-polyfill';\nexport {installBufferPolyfill} from './buffer-polyfill.node';\n\n// import { installBufferPolyfill } from \"./buffer-polyfill.node\";\n\n// installBufferPolyfill();\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Buffer = void 0;
7
- var _bufferPolyfill = require("./buffer-polyfill.node");
8
- var Buffer = (0, _bufferPolyfill.installBufferPolyfill)();
9
- exports.Buffer = Buffer;
10
- //# sourceMappingURL=install-buffer-polyfill.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"install-buffer-polyfill.js","names":["_bufferPolyfill","require","Buffer","installBufferPolyfill","exports"],"sources":["../../../src/buffer-polyfill/install-buffer-polyfill.ts"],"sourcesContent":["import {installBufferPolyfill} from './buffer-polyfill.node';\n\nexport const Buffer = installBufferPolyfill();\n"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAEO,IAAMC,MAAM,GAAG,IAAAC,qCAAqB,EAAC,CAAC;AAACC,OAAA,CAAAF,MAAA,GAAAA,MAAA"}
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- var moduleExports = require('./index');
4
- globalThis.loaders = globalThis.loaders || {};
5
- module.exports = Object.assign(globalThis.loaders, moduleExports);
6
- //# sourceMappingURL=bundle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bundle.js","names":["moduleExports","require","globalThis","loaders","module","exports","Object","assign"],"sources":["../../src/bundle.ts"],"sourcesContent":["// @ts-nocheck\nconst moduleExports = require('./index');\nglobalThis.loaders = globalThis.loaders || {};\nmodule.exports = Object.assign(globalThis.loaders, moduleExports);\n"],"mappings":";;AACA,IAAMA,aAAa,GAAGC,OAAO,CAAC,SAAS,CAAC;AACxCC,UAAU,CAACC,OAAO,GAAGD,UAAU,CAACC,OAAO,IAAI,CAAC,CAAC;AAC7CC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,CAACL,UAAU,CAACC,OAAO,EAAEH,aAAa,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.PARQUET_VERSION = exports.PARQUET_RDLVL_TYPE = exports.PARQUET_RDLVL_ENCODING = exports.PARQUET_MAGIC_ENCRYPTED = exports.PARQUET_MAGIC = void 0;
7
- var PARQUET_MAGIC = 'PAR1';
8
- exports.PARQUET_MAGIC = PARQUET_MAGIC;
9
- var PARQUET_MAGIC_ENCRYPTED = 'PARE';
10
- exports.PARQUET_MAGIC_ENCRYPTED = PARQUET_MAGIC_ENCRYPTED;
11
- var PARQUET_VERSION = 1;
12
- exports.PARQUET_VERSION = PARQUET_VERSION;
13
- var PARQUET_RDLVL_TYPE = 'INT32';
14
- exports.PARQUET_RDLVL_TYPE = PARQUET_RDLVL_TYPE;
15
- var PARQUET_RDLVL_ENCODING = 'RLE';
16
- exports.PARQUET_RDLVL_ENCODING = PARQUET_RDLVL_ENCODING;
17
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","names":["PARQUET_MAGIC","exports","PARQUET_MAGIC_ENCRYPTED","PARQUET_VERSION","PARQUET_RDLVL_TYPE","PARQUET_RDLVL_ENCODING"],"sources":["../../src/constants.ts"],"sourcesContent":["// Forked from https://github.com/kbajalc/parquets under MIT license (Copyright (c) 2017 ironSource Ltd.)\n/**\n * Parquet File Magic String\n */\nexport const PARQUET_MAGIC = 'PAR1';\nexport const PARQUET_MAGIC_ENCRYPTED = 'PARE';\n\n/**\n * Parquet File Format Version\n */\nexport const PARQUET_VERSION = 1;\n\n/**\n * Internal type used for repetition/definition levels\n */\nexport const PARQUET_RDLVL_TYPE = 'INT32';\nexport const PARQUET_RDLVL_ENCODING = 'RLE';\n"],"mappings":";;;;;;AAIO,IAAMA,aAAa,GAAG,MAAM;AAACC,OAAA,CAAAD,aAAA,GAAAA,aAAA;AAC7B,IAAME,uBAAuB,GAAG,MAAM;AAACD,OAAA,CAAAC,uBAAA,GAAAA,uBAAA;AAKvC,IAAMC,eAAe,GAAG,CAAC;AAACF,OAAA,CAAAE,eAAA,GAAAA,eAAA;AAK1B,IAAMC,kBAAkB,GAAG,OAAO;AAACH,OAAA,CAAAG,kBAAA,GAAAA,kBAAA;AACnC,IAAMC,sBAAsB,GAAG,KAAK;AAACJ,OAAA,CAAAI,sBAAA,GAAAA,sBAAA"}
package/dist/es5/index.js DELETED
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "Buffer", {
8
- enumerable: true,
9
- get: function get() {
10
- return _installBufferPolyfill.Buffer;
11
- }
12
- });
13
- Object.defineProperty(exports, "BufferPolyfill", {
14
- enumerable: true,
15
- get: function get() {
16
- return _bufferPolyfill.BufferPolyfill;
17
- }
18
- });
19
- Object.defineProperty(exports, "GEOPARQUET_METADATA_JSON_SCHEMA", {
20
- enumerable: true,
21
- get: function get() {
22
- return _geoparquetMetadataSchema.GEOPARQUET_METADATA_JSON_SCHEMA;
23
- }
24
- });
25
- exports.ParquetColumnarLoader = void 0;
26
- Object.defineProperty(exports, "ParquetEncoder", {
27
- enumerable: true,
28
- get: function get() {
29
- return _parquetEncoder.ParquetEncoder;
30
- }
31
- });
32
- exports.ParquetLoader = void 0;
33
- Object.defineProperty(exports, "ParquetReader", {
34
- enumerable: true,
35
- get: function get() {
36
- return _parquetReader.ParquetReader;
37
- }
38
- });
39
- Object.defineProperty(exports, "ParquetSchema", {
40
- enumerable: true,
41
- get: function get() {
42
- return _schema.ParquetSchema;
43
- }
44
- });
45
- Object.defineProperty(exports, "ParquetWorkerLoader", {
46
- enumerable: true,
47
- get: function get() {
48
- return _parquetLoader.ParquetLoader;
49
- }
50
- });
51
- Object.defineProperty(exports, "_ParquetWriter", {
52
- enumerable: true,
53
- get: function get() {
54
- return _parquetWriter.ParquetWriter;
55
- }
56
- });
57
- Object.defineProperty(exports, "convertParquetSchema", {
58
- enumerable: true,
59
- get: function get() {
60
- return _convertSchemaFromParquet.convertParquetSchema;
61
- }
62
- });
63
- Object.defineProperty(exports, "convertParquetToArrowSchema", {
64
- enumerable: true,
65
- get: function get() {
66
- return _convertSchemaFromParquet.convertParquetSchema;
67
- }
68
- });
69
- Object.defineProperty(exports, "getGeoMetadata", {
70
- enumerable: true,
71
- get: function get() {
72
- return _decodeGeoMetadata.getGeoMetadata;
73
- }
74
- });
75
- Object.defineProperty(exports, "installBufferPolyfill", {
76
- enumerable: true,
77
- get: function get() {
78
- return _bufferPolyfill.installBufferPolyfill;
79
- }
80
- });
81
- Object.defineProperty(exports, "preloadCompressions", {
82
- enumerable: true,
83
- get: function get() {
84
- return _compression.preloadCompressions;
85
- }
86
- });
87
- Object.defineProperty(exports, "setGeoMetadata", {
88
- enumerable: true,
89
- get: function get() {
90
- return _decodeGeoMetadata.setGeoMetadata;
91
- }
92
- });
93
- Object.defineProperty(exports, "unpackGeoMetadata", {
94
- enumerable: true,
95
- get: function get() {
96
- return _decodeGeoMetadata.unpackGeoMetadata;
97
- }
98
- });
99
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
100
- var _installBufferPolyfill = require("./buffer-polyfill/install-buffer-polyfill");
101
- var _parquetLoader = require("./parquet-loader");
102
- var _parseParquetToRows = require("./lib/parsers/parse-parquet-to-rows");
103
- var _parseParquetToColumns = require("./lib/parsers/parse-parquet-to-columns");
104
- var _parquetWriter = require("./parquet-writer");
105
- var _compression = require("./parquetjs/compression");
106
- var _schema = require("./parquetjs/schema/schema");
107
- var _parquetReader = require("./parquetjs/parser/parquet-reader");
108
- var _parquetEncoder = require("./parquetjs/encoder/parquet-encoder");
109
- var _convertSchemaFromParquet = require("./lib/arrow/convert-schema-from-parquet");
110
- var _geoparquetMetadataSchema = require("./lib/geo/geoparquet-metadata-schema");
111
- var _decodeGeoMetadata = require("./lib/geo/decode-geo-metadata");
112
- var _bufferPolyfill = require("./buffer-polyfill");
113
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
114
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
115
- var ParquetLoader = _objectSpread(_objectSpread({}, _parquetLoader.ParquetLoader), {}, {
116
- parse: _parseParquetToRows.parseParquet,
117
- parseFileInBatches: _parseParquetToRows.parseParquetFileInBatches
118
- });
119
- exports.ParquetLoader = ParquetLoader;
120
- var ParquetColumnarLoader = _objectSpread(_objectSpread({}, _parquetLoader.ParquetLoader), {}, {
121
- parse: _parseParquetToColumns.parseParquetInColumns,
122
- parseFileInBatches: _parseParquetToColumns.parseParquetFileInColumnarBatches
123
- });
124
- exports.ParquetColumnarLoader = ParquetColumnarLoader;
125
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_installBufferPolyfill","require","_parquetLoader","_parseParquetToRows","_parseParquetToColumns","_parquetWriter","_compression","_schema","_parquetReader","_parquetEncoder","_convertSchemaFromParquet","_geoparquetMetadataSchema","_decodeGeoMetadata","_bufferPolyfill","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","ParquetLoader","ParquetWorkerLoader","parse","parseParquet","parseFileInBatches","parseParquetFileInBatches","exports","ParquetColumnarLoader","ParquetColumnarWorkerLoader","parseParquetInColumns","parseParquetFileInColumnarBatches"],"sources":["../../src/index.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nexport {Buffer} from './buffer-polyfill/install-buffer-polyfill';\n\nimport type {LoaderWithParser} from '@loaders.gl/loader-utils';\nimport type {\n ObjectRowTable,\n ObjectRowTableBatch,\n ColumnarTable,\n ColumnarTableBatch,\n GeoJSONTable,\n GeoJSONTableBatch\n} from '@loaders.gl/schema';\n// import type {Table as ApacheArrowTable} from 'apache-arrow';\n\n// ParquetLoader\n\nimport {\n ParquetLoader as ParquetWorkerLoader,\n ParquetLoader as ParquetColumnarWorkerLoader,\n ParquetLoaderOptions\n} from './parquet-loader';\nimport {parseParquet, parseParquetFileInBatches} from './lib/parsers/parse-parquet-to-rows';\nimport {\n parseParquetInColumns,\n parseParquetFileInColumnarBatches\n} from './lib/parsers/parse-parquet-to-columns';\n\n// import type {ParquetWasmLoaderOptions} from './lib/wasm/parse-parquet-wasm';\n// import {parseParquetWasm} from './lib/wasm/parse-parquet-wasm';\n// import {ParquetWasmLoader as ParquetWasmWorkerLoader} from './parquet-wasm-loader';\n\nexport {ParquetWorkerLoader};\n// export {ParquetWasmWorkerLoader};\n\n/** ParquetJS table loader */\nexport const ParquetLoader: LoaderWithParser<\n ObjectRowTable | GeoJSONTable,\n ObjectRowTableBatch | GeoJSONTableBatch,\n ParquetLoaderOptions\n> = {\n ...ParquetWorkerLoader,\n parse: parseParquet,\n // @ts-expect-error\n parseFileInBatches: parseParquetFileInBatches\n};\n\n/** ParquetJS table loader */\nexport const ParquetColumnarLoader: LoaderWithParser<\n ColumnarTable,\n ColumnarTableBatch,\n ParquetLoaderOptions\n> = {\n ...ParquetColumnarWorkerLoader,\n parse: parseParquetInColumns,\n // @ts-expect-error\n parseFileInBatches: parseParquetFileInColumnarBatches\n};\n\n// export const ParquetWasmLoader: LoaderWithParser<\n// ApacheArrowTable,\n// never,\n// ParquetWasmLoaderOptions\n// > = {\n// ...ParquetWasmWorkerLoader,\n// // @ts-expect-error Getting strange errors in wasm\n// parse: () => {} // parseParquetWasm\n// };\n\n// ParquetWriter\n\nexport {ParquetWriter as _ParquetWriter} from './parquet-writer';\n// export {ParquetWasmWriter} from './parquet-wasm-writer';\n\n// EXPERIMENTAL - expose the internal parquetjs API\n\nexport {preloadCompressions} from './parquetjs/compression';\n\nexport {ParquetSchema} from './parquetjs/schema/schema';\nexport {ParquetReader} from './parquetjs/parser/parquet-reader';\nexport {ParquetEncoder} from './parquetjs/encoder/parquet-encoder';\n\nexport {\n convertParquetSchema,\n convertParquetSchema as convertParquetToArrowSchema\n} from './lib/arrow/convert-schema-from-parquet';\n\n// Geo Metadata\n// import {default as GEOPARQUET_METADATA_SCHEMA} from './lib/geo/geoparquet-metadata-schema.json';\n// export {GEOPARQUET_METADATA_SCHEMA};\nexport {GEOPARQUET_METADATA_JSON_SCHEMA} from './lib/geo/geoparquet-metadata-schema';\n\nexport type {GeoMetadata} from './lib/geo/decode-geo-metadata';\nexport {getGeoMetadata, setGeoMetadata, unpackGeoMetadata} from './lib/geo/decode-geo-metadata';\n\n// Experimental\nexport {BufferPolyfill, installBufferPolyfill} from './buffer-polyfill';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAAA,sBAAA,GAAAC,OAAA;AAeA,IAAAC,cAAA,GAAAD,OAAA;AAKA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAH,OAAA;AAgDA,IAAAI,cAAA,GAAAJ,OAAA;AAKA,IAAAK,YAAA,GAAAL,OAAA;AAEA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AAEA,IAAAS,yBAAA,GAAAT,OAAA;AAQA,IAAAU,yBAAA,GAAAV,OAAA;AAGA,IAAAW,kBAAA,GAAAX,OAAA;AAGA,IAAAY,eAAA,GAAAZ,OAAA;AAAwE,SAAAa,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AA5DjE,IAAMY,aAIZ,GAAAb,aAAA,CAAAA,aAAA,KACIc,4BAAmB;EACtBC,KAAK,EAAEC,gCAAY;EAEnBC,kBAAkB,EAAEC;AAAyB,EAC9C;AAACC,OAAA,CAAAN,aAAA,GAAAA,aAAA;AAGK,IAAMO,qBAIZ,GAAApB,aAAA,CAAAA,aAAA,KACIqB,4BAA2B;EAC9BN,KAAK,EAAEO,4CAAqB;EAE5BL,kBAAkB,EAAEM;AAAiC,EACtD;AAACJ,OAAA,CAAAC,qBAAA,GAAAA,qBAAA"}
@@ -1,2 +0,0 @@
1
- "use strict";
2
- //# sourceMappingURL=convert-columns-to-row-group.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-columns-to-row-group.js","names":[],"sources":["../../../../src/lib/arrow/convert-columns-to-row-group.ts"],"sourcesContent":[""],"mappings":""}
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.convertParquetRowGroupToColumns = convertParquetRowGroupToColumns;
8
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
- function convertParquetRowGroupToColumns(schema, rowGroup) {
10
- var columns = {};
11
- for (var _i = 0, _Object$entries = Object.entries(rowGroup.columnData); _i < _Object$entries.length; _i++) {
12
- var _Object$entries$_i = (0, _slicedToArray2.default)(_Object$entries[_i], 2),
13
- columnName = _Object$entries$_i[0],
14
- data = _Object$entries$_i[1];
15
- columns[columnName] = columns[columnName] || data.values;
16
- }
17
- return columns;
18
- }
19
- //# sourceMappingURL=convert-row-group-to-columns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-row-group-to-columns.js","names":["convertParquetRowGroupToColumns","schema","rowGroup","columns","_i","_Object$entries","Object","entries","columnData","length","_Object$entries$_i","_slicedToArray2","default","columnName","data","values"],"sources":["../../../../src/lib/arrow/convert-row-group-to-columns.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport {Schema} from '@loaders.gl/schema';\nimport {ParquetRowGroup} from '@loaders.gl/parquet/parquetjs/schema/declare';\n\nexport function convertParquetRowGroupToColumns(\n schema: Schema,\n rowGroup: ParquetRowGroup\n): Record<string, any[]> {\n const columns: Record<string, any[]> = {};\n for (const [columnName, data] of Object.entries(rowGroup.columnData)) {\n columns[columnName] = columns[columnName] || data.values;\n }\n return columns;\n}\n"],"mappings":";;;;;;;;AAKO,SAASA,+BAA+BA,CAC7CC,MAAc,EACdC,QAAyB,EACF;EACvB,IAAMC,OAA8B,GAAG,CAAC,CAAC;EACzC,SAAAC,EAAA,MAAAC,eAAA,GAAiCC,MAAM,CAACC,OAAO,CAACL,QAAQ,CAACM,UAAU,CAAC,EAAAJ,EAAA,GAAAC,eAAA,CAAAI,MAAA,EAAAL,EAAA,IAAE;IAAjE,IAAAM,kBAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAP,eAAA,CAAAD,EAAA;MAAOS,UAAU,GAAAH,kBAAA;MAAEI,IAAI,GAAAJ,kBAAA;IAC1BP,OAAO,CAACU,UAAU,CAAC,GAAGV,OAAO,CAACU,UAAU,CAAC,IAAIC,IAAI,CAACC,MAAM;EAC1D;EACA,OAAOZ,OAAO;AAChB"}