node-red-contrib-tak-registration 0.2.2 → 0.3.2

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 (1797) hide show
  1. package/README.md +17 -7
  2. package/node_modules/@turf/along/LICENSE +20 -0
  3. package/node_modules/@turf/along/README.md +69 -0
  4. package/node_modules/@turf/along/dist/es/index.js +50 -0
  5. package/node_modules/@turf/along/dist/es/package.json +1 -0
  6. package/node_modules/@turf/along/dist/js/index.d.ts +22 -0
  7. package/node_modules/@turf/along/dist/js/index.js +56 -0
  8. package/node_modules/@turf/along/package.json +95 -0
  9. package/node_modules/@turf/angle/LICENSE +20 -0
  10. package/node_modules/@turf/angle/README.md +64 -0
  11. package/node_modules/@turf/angle/dist/es/index.js +50 -0
  12. package/node_modules/@turf/angle/dist/es/package.json +1 -0
  13. package/node_modules/@turf/angle/dist/js/index.d.ts +22 -0
  14. package/node_modules/@turf/angle/dist/js/index.js +55 -0
  15. package/node_modules/@turf/angle/package.json +102 -0
  16. package/node_modules/@turf/area/LICENSE +20 -0
  17. package/node_modules/@turf/area/README.md +54 -0
  18. package/node_modules/@turf/area/dist/es/index.js +114 -0
  19. package/node_modules/@turf/area/dist/es/package.json +1 -0
  20. package/node_modules/@turf/area/dist/js/index.d.ts +17 -0
  21. package/node_modules/@turf/area/dist/js/index.js +117 -0
  22. package/node_modules/@turf/area/package.json +94 -0
  23. package/node_modules/@turf/bbox/LICENSE +20 -0
  24. package/node_modules/@turf/bbox/README.md +53 -0
  25. package/node_modules/@turf/bbox/dist/es/index.js +35 -0
  26. package/node_modules/@turf/bbox/dist/es/package.json +1 -0
  27. package/node_modules/@turf/bbox/dist/js/index.d.ts +17 -0
  28. package/node_modules/@turf/bbox/dist/js/index.js +37 -0
  29. package/node_modules/@turf/bbox/package.json +108 -0
  30. package/node_modules/@turf/bbox-clip/LICENSE +20 -0
  31. package/node_modules/@turf/bbox-clip/README.md +68 -0
  32. package/node_modules/@turf/bbox-clip/dist/es/index.js +68 -0
  33. package/node_modules/@turf/bbox-clip/dist/es/lib/lineclip.js +107 -0
  34. package/node_modules/@turf/bbox-clip/dist/es/package.json +1 -0
  35. package/node_modules/@turf/bbox-clip/dist/js/index.d.ts +20 -0
  36. package/node_modules/@turf/bbox-clip/dist/js/index.js +71 -0
  37. package/node_modules/@turf/bbox-clip/dist/js/lib/lineclip.d.ts +3 -0
  38. package/node_modules/@turf/bbox-clip/dist/js/lib/lineclip.js +111 -0
  39. package/node_modules/@turf/bbox-clip/package.json +108 -0
  40. package/node_modules/@turf/bbox-polygon/LICENSE +20 -0
  41. package/node_modules/@turf/bbox-polygon/README.md +66 -0
  42. package/node_modules/@turf/bbox-polygon/dist/es/index.js +36 -0
  43. package/node_modules/@turf/bbox-polygon/dist/es/package.json +1 -0
  44. package/node_modules/@turf/bbox-polygon/dist/js/index.d.ts +22 -0
  45. package/node_modules/@turf/bbox-polygon/dist/js/index.js +39 -0
  46. package/node_modules/@turf/bbox-polygon/package.json +92 -0
  47. package/node_modules/@turf/bearing/LICENSE +20 -0
  48. package/node_modules/@turf/bearing/README.md +67 -0
  49. package/node_modules/@turf/bearing/dist/es/index.js +57 -0
  50. package/node_modules/@turf/bearing/dist/es/package.json +1 -0
  51. package/node_modules/@turf/bearing/dist/js/index.d.ts +26 -0
  52. package/node_modules/@turf/bearing/dist/js/index.js +60 -0
  53. package/node_modules/@turf/bearing/package.json +96 -0
  54. package/node_modules/@turf/bezier-spline/LICENSE +20 -0
  55. package/node_modules/@turf/bezier-spline/README.md +79 -0
  56. package/node_modules/@turf/bezier-spline/dist/es/index.js +60 -0
  57. package/node_modules/@turf/bezier-spline/dist/es/lib/spline.js +158 -0
  58. package/node_modules/@turf/bezier-spline/dist/es/package.json +1 -0
  59. package/node_modules/@turf/bezier-spline/dist/js/index.d.ts +37 -0
  60. package/node_modules/@turf/bezier-spline/dist/js/index.js +65 -0
  61. package/node_modules/@turf/bezier-spline/dist/js/lib/spline.d.ts +62 -0
  62. package/node_modules/@turf/bezier-spline/dist/js/lib/spline.js +160 -0
  63. package/node_modules/@turf/bezier-spline/package.json +93 -0
  64. package/node_modules/@turf/boolean-clockwise/LICENSE +20 -0
  65. package/node_modules/@turf/boolean-clockwise/README.md +60 -0
  66. package/node_modules/@turf/boolean-clockwise/dist/es/index.js +30 -0
  67. package/node_modules/@turf/boolean-clockwise/dist/es/package.json +1 -0
  68. package/node_modules/@turf/boolean-clockwise/dist/js/index.d.ts +17 -0
  69. package/node_modules/@turf/boolean-clockwise/dist/js/index.js +33 -0
  70. package/node_modules/@turf/boolean-clockwise/package.json +110 -0
  71. package/node_modules/@turf/boolean-contains/LICENSE +20 -0
  72. package/node_modules/@turf/boolean-contains/README.md +63 -0
  73. package/node_modules/@turf/boolean-contains/dist/es/index.js +225 -0
  74. package/node_modules/@turf/boolean-contains/dist/es/package.json +1 -0
  75. package/node_modules/@turf/boolean-contains/dist/js/index.d.ts +46 -0
  76. package/node_modules/@turf/boolean-contains/dist/js/index.js +241 -0
  77. package/node_modules/@turf/boolean-contains/package.json +107 -0
  78. package/node_modules/@turf/boolean-crosses/LICENSE +20 -0
  79. package/node_modules/@turf/boolean-crosses/README.md +64 -0
  80. package/node_modules/@turf/boolean-crosses/dist/es/index.js +166 -0
  81. package/node_modules/@turf/boolean-crosses/dist/es/package.json +1 -0
  82. package/node_modules/@turf/boolean-crosses/dist/js/index.d.ts +21 -0
  83. package/node_modules/@turf/boolean-crosses/dist/js/index.js +171 -0
  84. package/node_modules/@turf/boolean-crosses/package.json +106 -0
  85. package/node_modules/@turf/boolean-disjoint/LICENSE +20 -0
  86. package/node_modules/@turf/boolean-disjoint/README.md +60 -0
  87. package/node_modules/@turf/boolean-disjoint/dist/es/index.js +168 -0
  88. package/node_modules/@turf/boolean-disjoint/dist/es/package.json +1 -0
  89. package/node_modules/@turf/boolean-disjoint/dist/js/index.d.ts +17 -0
  90. package/node_modules/@turf/boolean-disjoint/dist/js/index.js +173 -0
  91. package/node_modules/@turf/boolean-disjoint/package.json +106 -0
  92. package/node_modules/@turf/boolean-equal/LICENSE +20 -0
  93. package/node_modules/@turf/boolean-equal/README.md +66 -0
  94. package/node_modules/@turf/boolean-equal/dist/es/index.js +30 -0
  95. package/node_modules/@turf/boolean-equal/dist/es/package.json +1 -0
  96. package/node_modules/@turf/boolean-equal/dist/js/index.d.ts +21 -0
  97. package/node_modules/@turf/boolean-equal/dist/js/index.js +35 -0
  98. package/node_modules/@turf/boolean-equal/package.json +112 -0
  99. package/node_modules/@turf/boolean-intersects/LICENSE +20 -0
  100. package/node_modules/@turf/boolean-intersects/README.md +55 -0
  101. package/node_modules/@turf/boolean-intersects/dist/es/index.js +28 -0
  102. package/node_modules/@turf/boolean-intersects/dist/es/package.json +1 -0
  103. package/node_modules/@turf/boolean-intersects/dist/js/index.d.ts +16 -0
  104. package/node_modules/@turf/boolean-intersects/dist/js/index.js +34 -0
  105. package/node_modules/@turf/boolean-intersects/package.json +104 -0
  106. package/node_modules/@turf/boolean-overlap/LICENSE +20 -0
  107. package/node_modules/@turf/boolean-overlap/README.md +73 -0
  108. package/node_modules/@turf/boolean-overlap/dist/es/index.js +80 -0
  109. package/node_modules/@turf/boolean-overlap/dist/es/package.json +1 -0
  110. package/node_modules/@turf/boolean-overlap/dist/js/index.d.ts +23 -0
  111. package/node_modules/@turf/boolean-overlap/dist/js/index.js +86 -0
  112. package/node_modules/@turf/boolean-overlap/package.json +110 -0
  113. package/node_modules/@turf/boolean-parallel/LICENSE +20 -0
  114. package/node_modules/@turf/boolean-parallel/README.md +57 -0
  115. package/node_modules/@turf/boolean-parallel/dist/es/index.js +71 -0
  116. package/node_modules/@turf/boolean-parallel/dist/es/package.json +1 -0
  117. package/node_modules/@turf/boolean-parallel/dist/js/index.d.ts +17 -0
  118. package/node_modules/@turf/boolean-parallel/dist/js/index.js +76 -0
  119. package/node_modules/@turf/boolean-parallel/package.json +100 -0
  120. package/node_modules/@turf/boolean-point-in-polygon/LICENSE +20 -0
  121. package/node_modules/@turf/boolean-point-in-polygon/README.md +76 -0
  122. package/node_modules/@turf/boolean-point-in-polygon/dist/es/index.js +115 -0
  123. package/node_modules/@turf/boolean-point-in-polygon/dist/es/package.json +1 -0
  124. package/node_modules/@turf/boolean-point-in-polygon/dist/js/index.d.ts +28 -0
  125. package/node_modules/@turf/boolean-point-in-polygon/dist/js/index.js +118 -0
  126. package/node_modules/@turf/boolean-point-in-polygon/package.json +104 -0
  127. package/node_modules/@turf/boolean-point-on-line/LICENSE +20 -0
  128. package/node_modules/@turf/boolean-point-on-line/README.md +60 -0
  129. package/node_modules/@turf/boolean-point-on-line/dist/es/index.js +102 -0
  130. package/node_modules/@turf/boolean-point-on-line/dist/es/package.json +1 -0
  131. package/node_modules/@turf/boolean-point-on-line/dist/js/index.d.ts +23 -0
  132. package/node_modules/@turf/boolean-point-on-line/dist/js/index.js +104 -0
  133. package/node_modules/@turf/boolean-point-on-line/package.json +100 -0
  134. package/node_modules/@turf/boolean-within/LICENSE +20 -0
  135. package/node_modules/@turf/boolean-within/README.md +58 -0
  136. package/node_modules/@turf/boolean-within/dist/es/index.js +215 -0
  137. package/node_modules/@turf/boolean-within/dist/es/package.json +1 -0
  138. package/node_modules/@turf/boolean-within/dist/js/index.d.ts +20 -0
  139. package/node_modules/@turf/boolean-within/dist/js/index.js +220 -0
  140. package/node_modules/@turf/boolean-within/package.json +108 -0
  141. package/node_modules/@turf/buffer/LICENSE +20 -0
  142. package/node_modules/@turf/buffer/README.md +76 -0
  143. package/node_modules/@turf/buffer/dist/es/index.js +175 -0
  144. package/node_modules/@turf/buffer/dist/es/package.json +1 -0
  145. package/node_modules/@turf/buffer/dist/js/index.js +182 -0
  146. package/node_modules/@turf/buffer/index.d.ts +61 -0
  147. package/node_modules/@turf/buffer/package.json +112 -0
  148. package/node_modules/@turf/center/LICENSE +20 -0
  149. package/node_modules/@turf/center/README.md +71 -0
  150. package/node_modules/@turf/center/dist/es/index.js +34 -0
  151. package/node_modules/@turf/center/dist/es/package.json +1 -0
  152. package/node_modules/@turf/center/dist/js/index.d.ts +31 -0
  153. package/node_modules/@turf/center/dist/js/index.js +39 -0
  154. package/node_modules/@turf/center/package.json +101 -0
  155. package/node_modules/@turf/center-mean/LICENSE +20 -0
  156. package/node_modules/@turf/center-mean/README.md +75 -0
  157. package/node_modules/@turf/center-mean/dist/es/index.js +51 -0
  158. package/node_modules/@turf/center-mean/dist/es/package.json +1 -0
  159. package/node_modules/@turf/center-mean/dist/js/index.d.ts +35 -0
  160. package/node_modules/@turf/center-mean/dist/js/index.js +53 -0
  161. package/node_modules/@turf/center-mean/package.json +108 -0
  162. package/node_modules/@turf/center-median/LICENSE +20 -0
  163. package/node_modules/@turf/center-median/README.md +103 -0
  164. package/node_modules/@turf/center-median/dist/es/index.js +135 -0
  165. package/node_modules/@turf/center-median/dist/es/package.json +1 -0
  166. package/node_modules/@turf/center-median/dist/js/index.d.ts +62 -0
  167. package/node_modules/@turf/center-median/dist/js/index.js +140 -0
  168. package/node_modules/@turf/center-median/package.json +103 -0
  169. package/node_modules/@turf/center-of-mass/LICENSE +20 -0
  170. package/node_modules/@turf/center-of-mass/README.md +67 -0
  171. package/node_modules/@turf/center-of-mass/dist/es/index.js +81 -0
  172. package/node_modules/@turf/center-of-mass/dist/es/package.json +1 -0
  173. package/node_modules/@turf/center-of-mass/dist/js/index.d.ts +21 -0
  174. package/node_modules/@turf/center-of-mass/dist/js/index.js +86 -0
  175. package/node_modules/@turf/center-of-mass/package.json +95 -0
  176. package/node_modules/@turf/centroid/LICENSE +20 -0
  177. package/node_modules/@turf/centroid/README.md +62 -0
  178. package/node_modules/@turf/centroid/dist/es/index.js +32 -0
  179. package/node_modules/@turf/centroid/dist/es/package.json +1 -0
  180. package/node_modules/@turf/centroid/dist/js/index.d.ts +22 -0
  181. package/node_modules/@turf/centroid/dist/js/index.js +34 -0
  182. package/node_modules/@turf/centroid/package.json +101 -0
  183. package/node_modules/@turf/circle/LICENSE +20 -0
  184. package/node_modules/@turf/circle/README.md +71 -0
  185. package/node_modules/@turf/circle/dist/es/index.js +41 -0
  186. package/node_modules/@turf/circle/dist/es/package.json +1 -0
  187. package/node_modules/@turf/circle/dist/js/index.d.ts +27 -0
  188. package/node_modules/@turf/circle/dist/js/index.js +46 -0
  189. package/node_modules/@turf/circle/package.json +99 -0
  190. package/node_modules/@turf/clean-coords/LICENSE +20 -0
  191. package/node_modules/@turf/clean-coords/README.md +61 -0
  192. package/node_modules/@turf/clean-coords/dist/es/index.js +159 -0
  193. package/node_modules/@turf/clean-coords/dist/es/package.json +1 -0
  194. package/node_modules/@turf/clean-coords/dist/js/index.d.ts +22 -0
  195. package/node_modules/@turf/clean-coords/dist/js/index.js +161 -0
  196. package/node_modules/@turf/clean-coords/package.json +103 -0
  197. package/node_modules/@turf/clone/LICENSE +20 -0
  198. package/node_modules/@turf/clone/README.md +49 -0
  199. package/node_modules/@turf/clone/dist/es/index.js +157 -0
  200. package/node_modules/@turf/clone/dist/es/package.json +1 -0
  201. package/node_modules/@turf/clone/dist/js/index.d.ts +15 -0
  202. package/node_modules/@turf/clone/dist/js/index.js +159 -0
  203. package/node_modules/@turf/clone/package.json +109 -0
  204. package/node_modules/@turf/clusters/LICENSE +20 -0
  205. package/node_modules/@turf/clusters/README.md +208 -0
  206. package/node_modules/@turf/clusters/dist/es/index.js +294 -0
  207. package/node_modules/@turf/clusters/dist/es/package.json +1 -0
  208. package/node_modules/@turf/clusters/dist/js/index.d.ts +197 -0
  209. package/node_modules/@turf/clusters/dist/js/index.js +303 -0
  210. package/node_modules/@turf/clusters/package.json +98 -0
  211. package/node_modules/@turf/clusters-dbscan/LICENSE +20 -0
  212. package/node_modules/@turf/clusters-dbscan/README.md +73 -0
  213. package/node_modules/@turf/clusters-dbscan/dist/es/index.js +70 -0
  214. package/node_modules/@turf/clusters-dbscan/dist/es/package.json +1 -0
  215. package/node_modules/@turf/clusters-dbscan/dist/js/index.d.ts +35 -0
  216. package/node_modules/@turf/clusters-dbscan/dist/js/index.js +75 -0
  217. package/node_modules/@turf/clusters-dbscan/package.json +118 -0
  218. package/node_modules/@turf/clusters-kmeans/LICENSE +20 -0
  219. package/node_modules/@turf/clusters-kmeans/README.md +69 -0
  220. package/node_modules/@turf/clusters-kmeans/dist/es/index.js +57 -0
  221. package/node_modules/@turf/clusters-kmeans/dist/es/package.json +1 -0
  222. package/node_modules/@turf/clusters-kmeans/dist/js/index.d.ts +31 -0
  223. package/node_modules/@turf/clusters-kmeans/dist/js/index.js +62 -0
  224. package/node_modules/@turf/clusters-kmeans/package.json +119 -0
  225. package/node_modules/@turf/collect/LICENSE +20 -0
  226. package/node_modules/@turf/collect/README.md +73 -0
  227. package/node_modules/@turf/collect/dist/es/index.js +68 -0
  228. package/node_modules/@turf/collect/dist/es/package.json +1 -0
  229. package/node_modules/@turf/collect/dist/js/index.d.ts +33 -0
  230. package/node_modules/@turf/collect/dist/js/index.js +73 -0
  231. package/node_modules/@turf/collect/node_modules/quickselect/LICENSE +15 -0
  232. package/node_modules/@turf/collect/node_modules/quickselect/README.md +28 -0
  233. package/node_modules/@turf/collect/node_modules/quickselect/index.js +54 -0
  234. package/node_modules/@turf/collect/node_modules/quickselect/package.json +69 -0
  235. package/node_modules/@turf/collect/node_modules/quickselect/quickselect.js +63 -0
  236. package/node_modules/@turf/collect/node_modules/rbush/LICENSE +21 -0
  237. package/node_modules/@turf/collect/node_modules/rbush/README.md +291 -0
  238. package/node_modules/@turf/collect/node_modules/rbush/index.js +562 -0
  239. package/node_modules/@turf/collect/node_modules/rbush/package.json +85 -0
  240. package/node_modules/@turf/collect/node_modules/rbush/rbush.js +626 -0
  241. package/node_modules/@turf/collect/node_modules/rbush/rbush.min.js +1 -0
  242. package/node_modules/@turf/collect/package.json +101 -0
  243. package/node_modules/@turf/combine/LICENSE +20 -0
  244. package/node_modules/@turf/combine/README.md +81 -0
  245. package/node_modules/@turf/combine/dist/es/index.js +79 -0
  246. package/node_modules/@turf/combine/dist/es/package.json +1 -0
  247. package/node_modules/@turf/combine/dist/js/index.d.ts +27 -0
  248. package/node_modules/@turf/combine/dist/js/index.js +81 -0
  249. package/node_modules/@turf/combine/package.json +91 -0
  250. package/node_modules/@turf/concave/LICENSE +20 -0
  251. package/node_modules/@turf/concave/README.md +81 -0
  252. package/node_modules/@turf/concave/dist/es/index.js +83 -0
  253. package/node_modules/@turf/concave/dist/es/lib/turf-dissolve.js +71 -0
  254. package/node_modules/@turf/concave/dist/es/lib/turf-line-dissolve.js +105 -0
  255. package/node_modules/@turf/concave/dist/es/lib/turf-polygon-dissolve.js +36 -0
  256. package/node_modules/@turf/concave/dist/es/package.json +1 -0
  257. package/node_modules/@turf/concave/dist/js/index.d.ts +33 -0
  258. package/node_modules/@turf/concave/dist/js/index.js +88 -0
  259. package/node_modules/@turf/concave/dist/js/lib/turf-dissolve.d.ts +15 -0
  260. package/node_modules/@turf/concave/dist/js/lib/turf-dissolve.js +76 -0
  261. package/node_modules/@turf/concave/dist/js/lib/turf-line-dissolve.d.ts +14 -0
  262. package/node_modules/@turf/concave/dist/js/lib/turf-line-dissolve.js +110 -0
  263. package/node_modules/@turf/concave/dist/js/lib/turf-polygon-dissolve.d.ts +12 -0
  264. package/node_modules/@turf/concave/dist/js/lib/turf-polygon-dissolve.js +42 -0
  265. package/node_modules/@turf/concave/package.json +138 -0
  266. package/node_modules/@turf/convex/LICENSE +20 -0
  267. package/node_modules/@turf/convex/README.md +83 -0
  268. package/node_modules/@turf/convex/dist/es/index.js +51 -0
  269. package/node_modules/@turf/convex/dist/es/package.json +1 -0
  270. package/node_modules/@turf/convex/dist/js/index.d.ts +33 -0
  271. package/node_modules/@turf/convex/dist/js/index.js +57 -0
  272. package/node_modules/@turf/convex/package.json +94 -0
  273. package/node_modules/@turf/destination/LICENSE +20 -0
  274. package/node_modules/@turf/destination/README.md +75 -0
  275. package/node_modules/@turf/destination/dist/es/index.js +47 -0
  276. package/node_modules/@turf/destination/dist/es/package.json +1 -0
  277. package/node_modules/@turf/destination/dist/js/index.d.ts +31 -0
  278. package/node_modules/@turf/destination/dist/js/index.js +50 -0
  279. package/node_modules/@turf/destination/package.json +102 -0
  280. package/node_modules/@turf/difference/LICENSE +20 -0
  281. package/node_modules/@turf/difference/README.md +77 -0
  282. package/node_modules/@turf/difference/dist/es/index.js +53 -0
  283. package/node_modules/@turf/difference/dist/es/package.json +1 -0
  284. package/node_modules/@turf/difference/dist/js/index.js +60 -0
  285. package/node_modules/@turf/difference/index.d.ts +9 -0
  286. package/node_modules/@turf/difference/package.json +88 -0
  287. package/node_modules/@turf/dissolve/LICENSE +20 -0
  288. package/node_modules/@turf/dissolve/README.md +96 -0
  289. package/node_modules/@turf/dissolve/dist/es/index.js +81 -0
  290. package/node_modules/@turf/dissolve/dist/es/package.json +1 -0
  291. package/node_modules/@turf/dissolve/dist/js/index.js +89 -0
  292. package/node_modules/@turf/dissolve/index.d.ts +11 -0
  293. package/node_modules/@turf/dissolve/package.json +91 -0
  294. package/node_modules/@turf/distance/LICENSE +20 -0
  295. package/node_modules/@turf/distance/README.md +69 -0
  296. package/node_modules/@turf/distance/dist/es/index.js +39 -0
  297. package/node_modules/@turf/distance/dist/es/package.json +1 -0
  298. package/node_modules/@turf/distance/dist/js/index.d.ts +27 -0
  299. package/node_modules/@turf/distance/dist/js/index.js +41 -0
  300. package/node_modules/@turf/distance/package.json +109 -0
  301. package/node_modules/@turf/distance-weight/LICENSE +20 -0
  302. package/node_modules/@turf/distance-weight/README.md +64 -0
  303. package/node_modules/@turf/distance-weight/dist/es/index.js +105 -0
  304. package/node_modules/@turf/distance-weight/dist/es/package.json +1 -0
  305. package/node_modules/@turf/distance-weight/dist/js/index.d.ts +37 -0
  306. package/node_modules/@turf/distance-weight/dist/js/index.js +112 -0
  307. package/node_modules/@turf/distance-weight/package.json +99 -0
  308. package/node_modules/@turf/ellipse/LICENSE +20 -0
  309. package/node_modules/@turf/ellipse/README.md +72 -0
  310. package/node_modules/@turf/ellipse/dist/es/index.js +104 -0
  311. package/node_modules/@turf/ellipse/dist/es/package.json +1 -0
  312. package/node_modules/@turf/ellipse/dist/js/index.js +112 -0
  313. package/node_modules/@turf/ellipse/index.d.ts +15 -0
  314. package/node_modules/@turf/ellipse/package.json +101 -0
  315. package/node_modules/@turf/envelope/LICENSE +20 -0
  316. package/node_modules/@turf/envelope/README.md +61 -0
  317. package/node_modules/@turf/envelope/dist/es/index.js +26 -0
  318. package/node_modules/@turf/envelope/dist/es/package.json +1 -0
  319. package/node_modules/@turf/envelope/dist/js/index.js +34 -0
  320. package/node_modules/@turf/envelope/index.d.ts +6 -0
  321. package/node_modules/@turf/envelope/package.json +90 -0
  322. package/node_modules/@turf/explode/LICENSE +20 -0
  323. package/node_modules/@turf/explode/README.md +59 -0
  324. package/node_modules/@turf/explode/dist/es/index.js +35 -0
  325. package/node_modules/@turf/explode/dist/es/package.json +1 -0
  326. package/node_modules/@turf/explode/dist/js/index.js +38 -0
  327. package/node_modules/@turf/explode/index.d.ts +6 -0
  328. package/node_modules/@turf/explode/package.json +92 -0
  329. package/node_modules/@turf/flatten/LICENSE +20 -0
  330. package/node_modules/@turf/flatten/README.md +63 -0
  331. package/node_modules/@turf/flatten/dist/es/index.js +32 -0
  332. package/node_modules/@turf/flatten/dist/es/package.json +1 -0
  333. package/node_modules/@turf/flatten/dist/js/index.js +35 -0
  334. package/node_modules/@turf/flatten/index.d.ts +27 -0
  335. package/node_modules/@turf/flatten/package.json +100 -0
  336. package/node_modules/@turf/flip/LICENSE +20 -0
  337. package/node_modules/@turf/flip/README.md +57 -0
  338. package/node_modules/@turf/flip/dist/es/index.js +42 -0
  339. package/node_modules/@turf/flip/dist/es/package.json +1 -0
  340. package/node_modules/@turf/flip/dist/js/index.js +49 -0
  341. package/node_modules/@turf/flip/index.d.ts +8 -0
  342. package/node_modules/@turf/flip/package.json +90 -0
  343. package/node_modules/@turf/great-circle/LICENSE +20 -0
  344. package/node_modules/@turf/great-circle/README.md +74 -0
  345. package/node_modules/@turf/great-circle/dist/es/index.js +333 -0
  346. package/node_modules/@turf/great-circle/dist/es/package.json +1 -0
  347. package/node_modules/@turf/great-circle/dist/js/index.js +336 -0
  348. package/node_modules/@turf/great-circle/index.d.ts +20 -0
  349. package/node_modules/@turf/great-circle/package.json +105 -0
  350. package/node_modules/@turf/helpers/LICENSE +20 -0
  351. package/node_modules/@turf/helpers/README.md +579 -0
  352. package/node_modules/@turf/helpers/dist/es/index.js +696 -0
  353. package/node_modules/@turf/helpers/dist/es/lib/geojson.js +7 -0
  354. package/node_modules/@turf/helpers/dist/es/package.json +1 -0
  355. package/node_modules/@turf/helpers/dist/js/index.d.ts +482 -0
  356. package/node_modules/@turf/helpers/dist/js/index.js +724 -0
  357. package/node_modules/@turf/helpers/dist/js/lib/geojson.d.ts +193 -0
  358. package/node_modules/@turf/helpers/dist/js/lib/geojson.js +9 -0
  359. package/node_modules/@turf/helpers/package.json +211 -0
  360. package/node_modules/@turf/hex-grid/LICENSE +20 -0
  361. package/node_modules/@turf/hex-grid/README.md +82 -0
  362. package/node_modules/@turf/hex-grid/dist/es/index.js +157 -0
  363. package/node_modules/@turf/hex-grid/dist/es/package.json +1 -0
  364. package/node_modules/@turf/hex-grid/dist/js/index.d.ts +33 -0
  365. package/node_modules/@turf/hex-grid/dist/js/index.js +162 -0
  366. package/node_modules/@turf/hex-grid/package.json +126 -0
  367. package/node_modules/@turf/interpolate/LICENSE +20 -0
  368. package/node_modules/@turf/interpolate/README.md +74 -0
  369. package/node_modules/@turf/interpolate/dist/es/index.js +107 -0
  370. package/node_modules/@turf/interpolate/dist/es/package.json +1 -0
  371. package/node_modules/@turf/interpolate/dist/js/index.js +121 -0
  372. package/node_modules/@turf/interpolate/index.d.ts +25 -0
  373. package/node_modules/@turf/interpolate/package.json +105 -0
  374. package/node_modules/@turf/intersect/LICENSE +20 -0
  375. package/node_modules/@turf/intersect/README.md +81 -0
  376. package/node_modules/@turf/intersect/dist/es/index.js +50 -0
  377. package/node_modules/@turf/intersect/dist/es/package.json +1 -0
  378. package/node_modules/@turf/intersect/dist/js/index.d.ts +40 -0
  379. package/node_modules/@turf/intersect/dist/js/index.js +56 -0
  380. package/node_modules/@turf/intersect/package.json +96 -0
  381. package/node_modules/@turf/invariant/LICENSE +20 -0
  382. package/node_modules/@turf/invariant/README.md +202 -0
  383. package/node_modules/@turf/invariant/dist/es/index.js +223 -0
  384. package/node_modules/@turf/invariant/dist/es/package.json +1 -0
  385. package/node_modules/@turf/invariant/dist/js/index.d.ts +105 -0
  386. package/node_modules/@turf/invariant/dist/js/index.js +233 -0
  387. package/node_modules/@turf/invariant/package.json +154 -0
  388. package/node_modules/@turf/isobands/LICENSE +20 -0
  389. package/node_modules/@turf/isobands/README.md +64 -0
  390. package/node_modules/@turf/isobands/dist/es/index.js +3793 -0
  391. package/node_modules/@turf/isobands/dist/es/package.json +1 -0
  392. package/node_modules/@turf/isobands/dist/js/index.js +3804 -0
  393. package/node_modules/@turf/isobands/index.d.ts +19 -0
  394. package/node_modules/@turf/isobands/package.json +110 -0
  395. package/node_modules/@turf/isolines/LICENSE +20 -0
  396. package/node_modules/@turf/isolines/README.md +86 -0
  397. package/node_modules/@turf/isolines/dist/es/index.js +647 -0
  398. package/node_modules/@turf/isolines/dist/es/package.json +1 -0
  399. package/node_modules/@turf/isolines/dist/js/index.js +655 -0
  400. package/node_modules/@turf/isolines/index.d.ts +19 -0
  401. package/node_modules/@turf/isolines/package.json +106 -0
  402. package/node_modules/@turf/kinks/LICENSE +20 -0
  403. package/node_modules/@turf/kinks/README.md +79 -0
  404. package/node_modules/@turf/kinks/dist/es/index.js +136 -0
  405. package/node_modules/@turf/kinks/dist/es/lib/sweepline-intersections.js +288 -0
  406. package/node_modules/@turf/kinks/dist/es/package.json +1 -0
  407. package/node_modules/@turf/kinks/dist/js/index.d.ts +24 -0
  408. package/node_modules/@turf/kinks/dist/js/index.js +139 -0
  409. package/node_modules/@turf/kinks/dist/js/lib/sweepline-intersections.d.ts +2 -0
  410. package/node_modules/@turf/kinks/dist/js/lib/sweepline-intersections.js +290 -0
  411. package/node_modules/@turf/kinks/package.json +90 -0
  412. package/node_modules/@turf/length/LICENSE +20 -0
  413. package/node_modules/@turf/length/README.md +67 -0
  414. package/node_modules/@turf/length/dist/es/index.js +26 -0
  415. package/node_modules/@turf/length/dist/es/package.json +1 -0
  416. package/node_modules/@turf/length/dist/js/index.d.ts +20 -0
  417. package/node_modules/@turf/length/dist/js/index.js +32 -0
  418. package/node_modules/@turf/length/package.json +106 -0
  419. package/node_modules/@turf/line-arc/LICENSE +20 -0
  420. package/node_modules/@turf/line-arc/README.md +71 -0
  421. package/node_modules/@turf/line-arc/dist/es/index.js +70 -0
  422. package/node_modules/@turf/line-arc/dist/es/package.json +1 -0
  423. package/node_modules/@turf/line-arc/dist/js/index.d.ts +29 -0
  424. package/node_modules/@turf/line-arc/dist/js/index.js +76 -0
  425. package/node_modules/@turf/line-arc/package.json +92 -0
  426. package/node_modules/@turf/line-chunk/LICENSE +20 -0
  427. package/node_modules/@turf/line-chunk/README.md +74 -0
  428. package/node_modules/@turf/line-chunk/dist/es/index.js +87 -0
  429. package/node_modules/@turf/line-chunk/dist/es/package.json +1 -0
  430. package/node_modules/@turf/line-chunk/dist/js/index.js +95 -0
  431. package/node_modules/@turf/line-chunk/index.d.ts +25 -0
  432. package/node_modules/@turf/line-chunk/package.json +111 -0
  433. package/node_modules/@turf/line-intersect/LICENSE +20 -0
  434. package/node_modules/@turf/line-intersect/README.md +66 -0
  435. package/node_modules/@turf/line-intersect/dist/es/index.js +107 -0
  436. package/node_modules/@turf/line-intersect/dist/es/package.json +1 -0
  437. package/node_modules/@turf/line-intersect/dist/js/index.d.ts +18 -0
  438. package/node_modules/@turf/line-intersect/dist/js/index.js +112 -0
  439. package/node_modules/@turf/line-intersect/package.json +112 -0
  440. package/node_modules/@turf/line-offset/LICENSE +20 -0
  441. package/node_modules/@turf/line-offset/README.md +69 -0
  442. package/node_modules/@turf/line-offset/dist/es/index.js +243 -0
  443. package/node_modules/@turf/line-offset/dist/es/package.json +1 -0
  444. package/node_modules/@turf/line-offset/dist/js/index.js +246 -0
  445. package/node_modules/@turf/line-offset/index.d.ts +12 -0
  446. package/node_modules/@turf/line-offset/package.json +105 -0
  447. package/node_modules/@turf/line-overlap/LICENSE +20 -0
  448. package/node_modules/@turf/line-overlap/README.md +71 -0
  449. package/node_modules/@turf/line-overlap/dist/es/index.js +128 -0
  450. package/node_modules/@turf/line-overlap/dist/es/package.json +1 -0
  451. package/node_modules/@turf/line-overlap/dist/js/index.d.ts +23 -0
  452. package/node_modules/@turf/line-overlap/dist/js/index.js +133 -0
  453. package/node_modules/@turf/line-overlap/package.json +108 -0
  454. package/node_modules/@turf/line-segment/LICENSE +20 -0
  455. package/node_modules/@turf/line-segment/README.md +68 -0
  456. package/node_modules/@turf/line-segment/dist/es/index.js +93 -0
  457. package/node_modules/@turf/line-segment/dist/es/package.json +1 -0
  458. package/node_modules/@turf/line-segment/dist/js/index.d.ts +17 -0
  459. package/node_modules/@turf/line-segment/dist/js/index.js +95 -0
  460. package/node_modules/@turf/line-segment/package.json +96 -0
  461. package/node_modules/@turf/line-slice/LICENSE +20 -0
  462. package/node_modules/@turf/line-slice/README.md +74 -0
  463. package/node_modules/@turf/line-slice/dist/es/index.js +60 -0
  464. package/node_modules/@turf/line-slice/dist/es/package.json +1 -0
  465. package/node_modules/@turf/line-slice/dist/js/index.js +67 -0
  466. package/node_modules/@turf/line-slice/index.d.ts +10 -0
  467. package/node_modules/@turf/line-slice/package.json +93 -0
  468. package/node_modules/@turf/line-slice-along/LICENSE +20 -0
  469. package/node_modules/@turf/line-slice-along/README.md +72 -0
  470. package/node_modules/@turf/line-slice-along/dist/es/index.js +87 -0
  471. package/node_modules/@turf/line-slice-along/dist/es/package.json +1 -0
  472. package/node_modules/@turf/line-slice-along/dist/js/index.js +96 -0
  473. package/node_modules/@turf/line-slice-along/index.d.ts +13 -0
  474. package/node_modules/@turf/line-slice-along/package.json +90 -0
  475. package/node_modules/@turf/line-split/LICENSE +20 -0
  476. package/node_modules/@turf/line-split/README.md +57 -0
  477. package/node_modules/@turf/line-split/dist/es/index.js +215 -0
  478. package/node_modules/@turf/line-split/dist/es/package.json +1 -0
  479. package/node_modules/@turf/line-split/dist/js/index.js +228 -0
  480. package/node_modules/@turf/line-split/index.d.ts +22 -0
  481. package/node_modules/@turf/line-split/package.json +103 -0
  482. package/node_modules/@turf/line-to-polygon/LICENSE +20 -0
  483. package/node_modules/@turf/line-to-polygon/README.md +69 -0
  484. package/node_modules/@turf/line-to-polygon/dist/es/index.js +130 -0
  485. package/node_modules/@turf/line-to-polygon/dist/es/package.json +1 -0
  486. package/node_modules/@turf/line-to-polygon/dist/js/index.d.ts +27 -0
  487. package/node_modules/@turf/line-to-polygon/dist/js/index.js +135 -0
  488. package/node_modules/@turf/line-to-polygon/package.json +102 -0
  489. package/node_modules/@turf/mask/LICENSE +20 -0
  490. package/node_modules/@turf/mask/README.md +74 -0
  491. package/node_modules/@turf/mask/dist/es/index.js +79 -0
  492. package/node_modules/@turf/mask/dist/es/package.json +1 -0
  493. package/node_modules/@turf/mask/dist/js/index.js +86 -0
  494. package/node_modules/@turf/mask/index.d.ts +14 -0
  495. package/node_modules/@turf/mask/package.json +89 -0
  496. package/node_modules/@turf/meta/LICENSE +20 -0
  497. package/node_modules/@turf/meta/README.md +858 -0
  498. package/node_modules/@turf/meta/dist/es/index.js +1401 -0
  499. package/node_modules/@turf/meta/dist/es/package.json +1 -0
  500. package/node_modules/@turf/meta/dist/js/index.js +1421 -0
  501. package/node_modules/@turf/meta/index.d.ts +301 -0
  502. package/node_modules/@turf/meta/package.json +169 -0
  503. package/node_modules/@turf/midpoint/LICENSE +20 -0
  504. package/node_modules/@turf/midpoint/README.md +61 -0
  505. package/node_modules/@turf/midpoint/dist/es/index.js +31 -0
  506. package/node_modules/@turf/midpoint/dist/es/package.json +1 -0
  507. package/node_modules/@turf/midpoint/dist/js/index.js +40 -0
  508. package/node_modules/@turf/midpoint/index.d.ts +6 -0
  509. package/node_modules/@turf/midpoint/package.json +89 -0
  510. package/node_modules/@turf/moran-index/LICENSE +20 -0
  511. package/node_modules/@turf/moran-index/README.md +107 -0
  512. package/node_modules/@turf/moran-index/dist/es/index.js +133 -0
  513. package/node_modules/@turf/moran-index/dist/es/package.json +1 -0
  514. package/node_modules/@turf/moran-index/dist/js/index.d.ts +63 -0
  515. package/node_modules/@turf/moran-index/dist/js/index.js +139 -0
  516. package/node_modules/@turf/moran-index/package.json +97 -0
  517. package/node_modules/@turf/nearest-point/LICENSE +20 -0
  518. package/node_modules/@turf/nearest-point/README.md +69 -0
  519. package/node_modules/@turf/nearest-point/dist/es/index.js +49 -0
  520. package/node_modules/@turf/nearest-point/dist/es/package.json +1 -0
  521. package/node_modules/@turf/nearest-point/dist/js/index.d.ts +34 -0
  522. package/node_modules/@turf/nearest-point/dist/js/index.js +54 -0
  523. package/node_modules/@turf/nearest-point/package.json +97 -0
  524. package/node_modules/@turf/nearest-point-on-line/LICENSE +20 -0
  525. package/node_modules/@turf/nearest-point-on-line/README.md +83 -0
  526. package/node_modules/@turf/nearest-point-on-line/dist/es/index.js +88 -0
  527. package/node_modules/@turf/nearest-point-on-line/dist/es/package.json +1 -0
  528. package/node_modules/@turf/nearest-point-on-line/dist/js/index.d.ts +39 -0
  529. package/node_modules/@turf/nearest-point-on-line/dist/js/index.js +93 -0
  530. package/node_modules/@turf/nearest-point-on-line/package.json +98 -0
  531. package/node_modules/@turf/nearest-point-to-line/LICENSE +20 -0
  532. package/node_modules/@turf/nearest-point-to-line/README.md +86 -0
  533. package/node_modules/@turf/nearest-point-to-line/dist/es/index.js +91 -0
  534. package/node_modules/@turf/nearest-point-to-line/dist/es/package.json +1 -0
  535. package/node_modules/@turf/nearest-point-to-line/dist/js/index.d.ts +32 -0
  536. package/node_modules/@turf/nearest-point-to-line/dist/js/index.js +96 -0
  537. package/node_modules/@turf/nearest-point-to-line/package.json +106 -0
  538. package/node_modules/@turf/planepoint/LICENSE +20 -0
  539. package/node_modules/@turf/planepoint/README.md +79 -0
  540. package/node_modules/@turf/planepoint/dist/es/index.js +77 -0
  541. package/node_modules/@turf/planepoint/dist/es/package.json +1 -0
  542. package/node_modules/@turf/planepoint/dist/js/index.js +80 -0
  543. package/node_modules/@turf/planepoint/index.d.ts +9 -0
  544. package/node_modules/@turf/planepoint/package.json +88 -0
  545. package/node_modules/@turf/point-grid/LICENSE +20 -0
  546. package/node_modules/@turf/point-grid/README.md +80 -0
  547. package/node_modules/@turf/point-grid/dist/es/index.js +72 -0
  548. package/node_modules/@turf/point-grid/dist/es/package.json +1 -0
  549. package/node_modules/@turf/point-grid/dist/js/index.d.ts +28 -0
  550. package/node_modules/@turf/point-grid/dist/js/index.js +77 -0
  551. package/node_modules/@turf/point-grid/package.json +108 -0
  552. package/node_modules/@turf/point-on-feature/LICENSE +20 -0
  553. package/node_modules/@turf/point-on-feature/README.md +73 -0
  554. package/node_modules/@turf/point-on-feature/dist/es/index.js +149 -0
  555. package/node_modules/@turf/point-on-feature/dist/es/package.json +1 -0
  556. package/node_modules/@turf/point-on-feature/dist/js/index.js +159 -0
  557. package/node_modules/@turf/point-on-feature/index.d.ts +6 -0
  558. package/node_modules/@turf/point-on-feature/package.json +93 -0
  559. package/node_modules/@turf/point-to-line-distance/LICENSE +20 -0
  560. package/node_modules/@turf/point-to-line-distance/README.md +71 -0
  561. package/node_modules/@turf/point-to-line-distance/dist/es/index.js +106 -0
  562. package/node_modules/@turf/point-to-line-distance/dist/es/package.json +1 -0
  563. package/node_modules/@turf/point-to-line-distance/dist/js/index.d.ts +26 -0
  564. package/node_modules/@turf/point-to-line-distance/dist/js/index.js +111 -0
  565. package/node_modules/@turf/point-to-line-distance/package.json +106 -0
  566. package/node_modules/@turf/points-within-polygon/LICENSE +20 -0
  567. package/node_modules/@turf/points-within-polygon/README.md +86 -0
  568. package/node_modules/@turf/points-within-polygon/dist/es/index.js +71 -0
  569. package/node_modules/@turf/points-within-polygon/dist/es/package.json +1 -0
  570. package/node_modules/@turf/points-within-polygon/dist/js/index.js +78 -0
  571. package/node_modules/@turf/points-within-polygon/index.d.ts +21 -0
  572. package/node_modules/@turf/points-within-polygon/package.json +90 -0
  573. package/node_modules/@turf/polygon-smooth/LICENSE +20 -0
  574. package/node_modules/@turf/polygon-smooth/README.md +70 -0
  575. package/node_modules/@turf/polygon-smooth/dist/es/index.js +162 -0
  576. package/node_modules/@turf/polygon-smooth/dist/es/package.json +1 -0
  577. package/node_modules/@turf/polygon-smooth/dist/js/index.js +165 -0
  578. package/node_modules/@turf/polygon-smooth/index.d.ts +16 -0
  579. package/node_modules/@turf/polygon-smooth/package.json +95 -0
  580. package/node_modules/@turf/polygon-tangents/LICENSE +20 -0
  581. package/node_modules/@turf/polygon-tangents/README.md +67 -0
  582. package/node_modules/@turf/polygon-tangents/dist/es/index.js +147 -0
  583. package/node_modules/@turf/polygon-tangents/dist/es/package.json +1 -0
  584. package/node_modules/@turf/polygon-tangents/dist/js/index.js +156 -0
  585. package/node_modules/@turf/polygon-tangents/index.d.ts +16 -0
  586. package/node_modules/@turf/polygon-tangents/package.json +104 -0
  587. package/node_modules/@turf/polygon-to-line/LICENSE +20 -0
  588. package/node_modules/@turf/polygon-to-line/README.md +71 -0
  589. package/node_modules/@turf/polygon-to-line/dist/es/index.js +75 -0
  590. package/node_modules/@turf/polygon-to-line/dist/es/package.json +1 -0
  591. package/node_modules/@turf/polygon-to-line/dist/js/index.d.ts +37 -0
  592. package/node_modules/@turf/polygon-to-line/dist/js/index.js +81 -0
  593. package/node_modules/@turf/polygon-to-line/package.json +95 -0
  594. package/node_modules/@turf/polygonize/LICENSE +20 -0
  595. package/node_modules/@turf/polygonize/README.md +69 -0
  596. package/node_modules/@turf/polygonize/dist/es/index.js +46 -0
  597. package/node_modules/@turf/polygonize/dist/es/lib/Edge.js +77 -0
  598. package/node_modules/@turf/polygonize/dist/es/lib/EdgeRing.js +199 -0
  599. package/node_modules/@turf/polygonize/dist/es/lib/Graph.js +302 -0
  600. package/node_modules/@turf/polygonize/dist/es/lib/Node.js +93 -0
  601. package/node_modules/@turf/polygonize/dist/es/lib/util.js +66 -0
  602. package/node_modules/@turf/polygonize/dist/es/package.json +1 -0
  603. package/node_modules/@turf/polygonize/dist/js/index.d.ts +20 -0
  604. package/node_modules/@turf/polygonize/dist/js/index.js +52 -0
  605. package/node_modules/@turf/polygonize/dist/js/lib/Edge.d.ts +55 -0
  606. package/node_modules/@turf/polygonize/dist/js/lib/Edge.js +79 -0
  607. package/node_modules/@turf/polygonize/dist/js/lib/EdgeRing.d.ts +122 -0
  608. package/node_modules/@turf/polygonize/dist/js/lib/EdgeRing.js +204 -0
  609. package/node_modules/@turf/polygonize/dist/js/lib/Graph.d.ts +124 -0
  610. package/node_modules/@turf/polygonize/dist/js/lib/Graph.js +307 -0
  611. package/node_modules/@turf/polygonize/dist/js/lib/Node.d.ts +40 -0
  612. package/node_modules/@turf/polygonize/dist/js/lib/Node.js +95 -0
  613. package/node_modules/@turf/polygonize/dist/js/lib/util.d.ts +46 -0
  614. package/node_modules/@turf/polygonize/dist/js/lib/util.js +75 -0
  615. package/node_modules/@turf/polygonize/package.json +105 -0
  616. package/node_modules/@turf/projection/LICENSE +20 -0
  617. package/node_modules/@turf/projection/README.md +78 -0
  618. package/node_modules/@turf/projection/dist/es/index.js +137 -0
  619. package/node_modules/@turf/projection/dist/es/package.json +1 -0
  620. package/node_modules/@turf/projection/dist/js/index.d.ts +37 -0
  621. package/node_modules/@turf/projection/dist/js/index.js +144 -0
  622. package/node_modules/@turf/projection/package.json +113 -0
  623. package/node_modules/@turf/random/LICENSE +20 -0
  624. package/node_modules/@turf/random/README.md +129 -0
  625. package/node_modules/@turf/random/dist/es/index.js +188 -0
  626. package/node_modules/@turf/random/dist/es/package.json +1 -0
  627. package/node_modules/@turf/random/dist/js/index.d.ts +72 -0
  628. package/node_modules/@turf/random/dist/js/index.js +194 -0
  629. package/node_modules/@turf/random/package.json +88 -0
  630. package/node_modules/@turf/rectangle-grid/LICENSE +20 -0
  631. package/node_modules/@turf/rectangle-grid/README.md +60 -0
  632. package/node_modules/@turf/rectangle-grid/dist/es/index.js +77 -0
  633. package/node_modules/@turf/rectangle-grid/dist/es/package.json +1 -0
  634. package/node_modules/@turf/rectangle-grid/dist/js/index.d.ts +32 -0
  635. package/node_modules/@turf/rectangle-grid/dist/js/index.js +82 -0
  636. package/node_modules/@turf/rectangle-grid/package.json +104 -0
  637. package/node_modules/@turf/rewind/LICENSE +20 -0
  638. package/node_modules/@turf/rewind/README.md +64 -0
  639. package/node_modules/@turf/rewind/dist/es/index.js +134 -0
  640. package/node_modules/@turf/rewind/dist/es/package.json +1 -0
  641. package/node_modules/@turf/rewind/dist/js/index.js +142 -0
  642. package/node_modules/@turf/rewind/index.d.ts +12 -0
  643. package/node_modules/@turf/rewind/package.json +110 -0
  644. package/node_modules/@turf/rhumb-bearing/LICENSE +20 -0
  645. package/node_modules/@turf/rhumb-bearing/README.md +66 -0
  646. package/node_modules/@turf/rhumb-bearing/dist/es/index.js +69 -0
  647. package/node_modules/@turf/rhumb-bearing/dist/es/package.json +1 -0
  648. package/node_modules/@turf/rhumb-bearing/dist/js/index.d.ts +26 -0
  649. package/node_modules/@turf/rhumb-bearing/dist/js/index.js +71 -0
  650. package/node_modules/@turf/rhumb-bearing/package.json +112 -0
  651. package/node_modules/@turf/rhumb-destination/LICENSE +20 -0
  652. package/node_modules/@turf/rhumb-destination/README.md +73 -0
  653. package/node_modules/@turf/rhumb-destination/dist/es/index.js +86 -0
  654. package/node_modules/@turf/rhumb-destination/dist/es/package.json +1 -0
  655. package/node_modules/@turf/rhumb-destination/dist/js/index.d.ts +30 -0
  656. package/node_modules/@turf/rhumb-destination/dist/js/index.js +88 -0
  657. package/node_modules/@turf/rhumb-destination/package.json +116 -0
  658. package/node_modules/@turf/rhumb-distance/LICENSE +20 -0
  659. package/node_modules/@turf/rhumb-distance/README.md +67 -0
  660. package/node_modules/@turf/rhumb-distance/dist/es/index.js +84 -0
  661. package/node_modules/@turf/rhumb-distance/dist/es/package.json +1 -0
  662. package/node_modules/@turf/rhumb-distance/dist/js/index.d.ts +27 -0
  663. package/node_modules/@turf/rhumb-distance/dist/js/index.js +86 -0
  664. package/node_modules/@turf/rhumb-distance/package.json +113 -0
  665. package/node_modules/@turf/sample/LICENSE +20 -0
  666. package/node_modules/@turf/sample/README.md +62 -0
  667. package/node_modules/@turf/sample/dist/es/index.js +50 -0
  668. package/node_modules/@turf/sample/dist/es/package.json +1 -0
  669. package/node_modules/@turf/sample/dist/js/index.js +53 -0
  670. package/node_modules/@turf/sample/index.d.ts +9 -0
  671. package/node_modules/@turf/sample/package.json +85 -0
  672. package/node_modules/@turf/sector/LICENSE +20 -0
  673. package/node_modules/@turf/sector/README.md +74 -0
  674. package/node_modules/@turf/sector/dist/es/index.js +75 -0
  675. package/node_modules/@turf/sector/dist/es/package.json +1 -0
  676. package/node_modules/@turf/sector/dist/js/index.js +83 -0
  677. package/node_modules/@turf/sector/index.d.ts +16 -0
  678. package/node_modules/@turf/sector/package.json +91 -0
  679. package/node_modules/@turf/shortest-path/LICENSE +20 -0
  680. package/node_modules/@turf/shortest-path/README.md +86 -0
  681. package/node_modules/@turf/shortest-path/dist/es/index.js +589 -0
  682. package/node_modules/@turf/shortest-path/dist/es/package.json +1 -0
  683. package/node_modules/@turf/shortest-path/dist/js/index.js +601 -0
  684. package/node_modules/@turf/shortest-path/index.d.ts +22 -0
  685. package/node_modules/@turf/shortest-path/package.json +106 -0
  686. package/node_modules/@turf/simplify/LICENSE +20 -0
  687. package/node_modules/@turf/simplify/README.md +87 -0
  688. package/node_modules/@turf/simplify/dist/es/index.js +300 -0
  689. package/node_modules/@turf/simplify/dist/es/package.json +1 -0
  690. package/node_modules/@turf/simplify/dist/js/index.js +308 -0
  691. package/node_modules/@turf/simplify/index.d.ts +13 -0
  692. package/node_modules/@turf/simplify/package.json +104 -0
  693. package/node_modules/@turf/square/LICENSE +20 -0
  694. package/node_modules/@turf/square/README.md +51 -0
  695. package/node_modules/@turf/square/dist/es/index.js +44 -0
  696. package/node_modules/@turf/square/dist/es/package.json +1 -0
  697. package/node_modules/@turf/square/dist/js/index.js +51 -0
  698. package/node_modules/@turf/square/index.d.ts +6 -0
  699. package/node_modules/@turf/square/package.json +87 -0
  700. package/node_modules/@turf/square-grid/LICENSE +20 -0
  701. package/node_modules/@turf/square-grid/README.md +58 -0
  702. package/node_modules/@turf/square-grid/dist/es/index.js +28 -0
  703. package/node_modules/@turf/square-grid/dist/es/package.json +1 -0
  704. package/node_modules/@turf/square-grid/dist/js/index.d.ts +29 -0
  705. package/node_modules/@turf/square-grid/dist/js/index.js +34 -0
  706. package/node_modules/@turf/square-grid/package.json +95 -0
  707. package/node_modules/@turf/standard-deviational-ellipse/LICENSE +20 -0
  708. package/node_modules/@turf/standard-deviational-ellipse/README.md +94 -0
  709. package/node_modules/@turf/standard-deviational-ellipse/dist/es/index.js +151 -0
  710. package/node_modules/@turf/standard-deviational-ellipse/dist/es/package.json +1 -0
  711. package/node_modules/@turf/standard-deviational-ellipse/dist/js/index.js +160 -0
  712. package/node_modules/@turf/standard-deviational-ellipse/index.d.ts +37 -0
  713. package/node_modules/@turf/standard-deviational-ellipse/package.json +101 -0
  714. package/node_modules/@turf/tag/LICENSE +20 -0
  715. package/node_modules/@turf/tag/README.md +70 -0
  716. package/node_modules/@turf/tag/dist/es/index.js +56 -0
  717. package/node_modules/@turf/tag/dist/es/package.json +1 -0
  718. package/node_modules/@turf/tag/dist/js/index.js +64 -0
  719. package/node_modules/@turf/tag/index.d.ts +11 -0
  720. package/node_modules/@turf/tag/package.json +93 -0
  721. package/node_modules/@turf/tesselate/LICENSE +20 -0
  722. package/node_modules/@turf/tesselate/README.md +61 -0
  723. package/node_modules/@turf/tesselate/dist/es/index.js +79 -0
  724. package/node_modules/@turf/tesselate/dist/es/package.json +1 -0
  725. package/node_modules/@turf/tesselate/dist/js/index.js +86 -0
  726. package/node_modules/@turf/tesselate/index.d.ts +6 -0
  727. package/node_modules/@turf/tesselate/package.json +106 -0
  728. package/node_modules/@turf/tin/LICENSE +20 -0
  729. package/node_modules/@turf/tin/README.md +79 -0
  730. package/node_modules/@turf/tin/dist/es/index.js +240 -0
  731. package/node_modules/@turf/tin/dist/es/package.json +1 -0
  732. package/node_modules/@turf/tin/dist/js/index.d.ts +44 -0
  733. package/node_modules/@turf/tin/dist/js/index.js +243 -0
  734. package/node_modules/@turf/tin/package.json +90 -0
  735. package/node_modules/@turf/transform-rotate/LICENSE +20 -0
  736. package/node_modules/@turf/transform-rotate/README.md +67 -0
  737. package/node_modules/@turf/transform-rotate/dist/es/index.js +62 -0
  738. package/node_modules/@turf/transform-rotate/dist/es/package.json +1 -0
  739. package/node_modules/@turf/transform-rotate/dist/js/index.js +73 -0
  740. package/node_modules/@turf/transform-rotate/index.d.ts +13 -0
  741. package/node_modules/@turf/transform-rotate/package.json +107 -0
  742. package/node_modules/@turf/transform-scale/LICENSE +20 -0
  743. package/node_modules/@turf/transform-scale/README.md +66 -0
  744. package/node_modules/@turf/transform-scale/dist/es/index.js +144 -0
  745. package/node_modules/@turf/transform-scale/dist/es/package.json +1 -0
  746. package/node_modules/@turf/transform-scale/dist/js/index.js +157 -0
  747. package/node_modules/@turf/transform-scale/index.d.ts +13 -0
  748. package/node_modules/@turf/transform-scale/package.json +115 -0
  749. package/node_modules/@turf/transform-translate/LICENSE +20 -0
  750. package/node_modules/@turf/transform-translate/README.md +66 -0
  751. package/node_modules/@turf/transform-translate/dist/es/index.js +72 -0
  752. package/node_modules/@turf/transform-translate/dist/es/package.json +1 -0
  753. package/node_modules/@turf/transform-translate/dist/js/index.js +80 -0
  754. package/node_modules/@turf/transform-translate/index.d.ts +15 -0
  755. package/node_modules/@turf/transform-translate/package.json +105 -0
  756. package/node_modules/@turf/triangle-grid/LICENSE +20 -0
  757. package/node_modules/@turf/triangle-grid/README.md +72 -0
  758. package/node_modules/@turf/triangle-grid/dist/es/index.js +139 -0
  759. package/node_modules/@turf/triangle-grid/dist/es/package.json +1 -0
  760. package/node_modules/@turf/triangle-grid/dist/js/index.d.ts +28 -0
  761. package/node_modules/@turf/triangle-grid/dist/js/index.js +144 -0
  762. package/node_modules/@turf/triangle-grid/package.json +99 -0
  763. package/node_modules/@turf/truncate/LICENSE +20 -0
  764. package/node_modules/@turf/truncate/README.md +66 -0
  765. package/node_modules/@turf/truncate/dist/es/index.js +76 -0
  766. package/node_modules/@turf/truncate/dist/es/package.json +1 -0
  767. package/node_modules/@turf/truncate/dist/js/index.d.ts +30 -0
  768. package/node_modules/@turf/truncate/dist/js/index.js +78 -0
  769. package/node_modules/@turf/truncate/package.json +100 -0
  770. package/node_modules/@turf/turf/LICENSE +20 -0
  771. package/node_modules/@turf/turf/README.md +31 -0
  772. package/node_modules/@turf/turf/dist/es/index.js +118 -0
  773. package/node_modules/@turf/turf/dist/es/package.json +1 -0
  774. package/node_modules/@turf/turf/dist/js/index.js +984 -0
  775. package/node_modules/@turf/turf/index.d.ts +146 -0
  776. package/node_modules/@turf/turf/package.json +216 -0
  777. package/node_modules/@turf/turf/turf.min.js +88 -0
  778. package/node_modules/@turf/union/LICENSE +20 -0
  779. package/node_modules/@turf/union/README.md +77 -0
  780. package/node_modules/@turf/union/dist/es/index.js +46 -0
  781. package/node_modules/@turf/union/dist/es/package.json +1 -0
  782. package/node_modules/@turf/union/dist/js/index.d.ts +35 -0
  783. package/node_modules/@turf/union/dist/js/index.js +51 -0
  784. package/node_modules/@turf/union/package.json +94 -0
  785. package/node_modules/@turf/unkink-polygon/LICENSE +20 -0
  786. package/node_modules/@turf/unkink-polygon/README.md +60 -0
  787. package/node_modules/@turf/unkink-polygon/dist/es/index.js +790 -0
  788. package/node_modules/@turf/unkink-polygon/dist/es/package.json +1 -0
  789. package/node_modules/@turf/unkink-polygon/dist/js/index.js +799 -0
  790. package/node_modules/@turf/unkink-polygon/index.d.ts +13 -0
  791. package/node_modules/@turf/unkink-polygon/node_modules/quickselect/LICENSE +15 -0
  792. package/node_modules/@turf/unkink-polygon/node_modules/quickselect/README.md +28 -0
  793. package/node_modules/@turf/unkink-polygon/node_modules/quickselect/index.js +54 -0
  794. package/node_modules/@turf/unkink-polygon/node_modules/quickselect/package.json +69 -0
  795. package/node_modules/@turf/unkink-polygon/node_modules/quickselect/quickselect.js +63 -0
  796. package/node_modules/@turf/unkink-polygon/node_modules/rbush/LICENSE +21 -0
  797. package/node_modules/@turf/unkink-polygon/node_modules/rbush/README.md +291 -0
  798. package/node_modules/@turf/unkink-polygon/node_modules/rbush/index.js +562 -0
  799. package/node_modules/@turf/unkink-polygon/node_modules/rbush/package.json +85 -0
  800. package/node_modules/@turf/unkink-polygon/node_modules/rbush/rbush.js +626 -0
  801. package/node_modules/@turf/unkink-polygon/node_modules/rbush/rbush.min.js +1 -0
  802. package/node_modules/@turf/unkink-polygon/package.json +94 -0
  803. package/node_modules/@turf/voronoi/LICENSE +20 -0
  804. package/node_modules/@turf/voronoi/README.md +68 -0
  805. package/node_modules/@turf/voronoi/dist/es/index.js +66 -0
  806. package/node_modules/@turf/voronoi/dist/es/package.json +1 -0
  807. package/node_modules/@turf/voronoi/dist/js/index.js +69 -0
  808. package/node_modules/@turf/voronoi/index.d.ts +9 -0
  809. package/node_modules/@turf/voronoi/package.json +109 -0
  810. package/node_modules/@types/geojson/LICENSE +21 -0
  811. package/node_modules/@types/geojson/README.md +16 -0
  812. package/node_modules/@types/geojson/index.d.ts +175 -0
  813. package/node_modules/@types/geojson/package.json +69 -0
  814. package/node_modules/call-bind/.eslintignore +1 -0
  815. package/node_modules/call-bind/.eslintrc +17 -0
  816. package/node_modules/call-bind/.github/FUNDING.yml +12 -0
  817. package/node_modules/call-bind/.nycrc +13 -0
  818. package/node_modules/call-bind/CHANGELOG.md +42 -0
  819. package/node_modules/call-bind/LICENSE +21 -0
  820. package/node_modules/call-bind/README.md +2 -0
  821. package/node_modules/call-bind/callBound.js +15 -0
  822. package/node_modules/call-bind/index.js +47 -0
  823. package/node_modules/call-bind/package.json +111 -0
  824. package/node_modules/call-bind/test/callBound.js +55 -0
  825. package/node_modules/call-bind/test/index.js +66 -0
  826. package/node_modules/commander/CHANGELOG.md +419 -0
  827. package/node_modules/commander/LICENSE +22 -0
  828. package/node_modules/commander/Readme.md +428 -0
  829. package/node_modules/commander/index.js +1224 -0
  830. package/node_modules/commander/package.json +71 -0
  831. package/node_modules/commander/typings/index.d.ts +310 -0
  832. package/node_modules/concaveman/.travis.yml +4 -0
  833. package/node_modules/concaveman/LICENSE +15 -0
  834. package/node_modules/concaveman/README.md +52 -0
  835. package/node_modules/concaveman/index.js +383 -0
  836. package/node_modules/concaveman/package.json +69 -0
  837. package/node_modules/d3-array/.eslintrc.json +15 -0
  838. package/node_modules/d3-array/LICENSE +27 -0
  839. package/node_modules/d3-array/README.md +382 -0
  840. package/node_modules/d3-array/dist/d3-array.js +590 -0
  841. package/node_modules/d3-array/dist/d3-array.min.js +2 -0
  842. package/node_modules/d3-array/package.json +70 -0
  843. package/node_modules/d3-array/rollup.config.js +36 -0
  844. package/node_modules/d3-array/src/array.js +4 -0
  845. package/node_modules/d3-array/src/ascending.js +3 -0
  846. package/node_modules/d3-array/src/bisect.js +7 -0
  847. package/node_modules/d3-array/src/bisector.js +33 -0
  848. package/node_modules/d3-array/src/constant.js +5 -0
  849. package/node_modules/d3-array/src/cross.js +21 -0
  850. package/node_modules/d3-array/src/descending.js +3 -0
  851. package/node_modules/d3-array/src/deviation.js +6 -0
  852. package/node_modules/d3-array/src/extent.js +37 -0
  853. package/node_modules/d3-array/src/histogram.js +75 -0
  854. package/node_modules/d3-array/src/identity.js +3 -0
  855. package/node_modules/d3-array/src/index.js +27 -0
  856. package/node_modules/d3-array/src/max.js +34 -0
  857. package/node_modules/d3-array/src/mean.js +25 -0
  858. package/node_modules/d3-array/src/median.js +28 -0
  859. package/node_modules/d3-array/src/merge.js +21 -0
  860. package/node_modules/d3-array/src/min.js +34 -0
  861. package/node_modules/d3-array/src/number.js +3 -0
  862. package/node_modules/d3-array/src/pairs.js +10 -0
  863. package/node_modules/d3-array/src/permute.js +5 -0
  864. package/node_modules/d3-array/src/quantile.js +14 -0
  865. package/node_modules/d3-array/src/range.js +13 -0
  866. package/node_modules/d3-array/src/scan.js +20 -0
  867. package/node_modules/d3-array/src/shuffle.js +14 -0
  868. package/node_modules/d3-array/src/sum.js +20 -0
  869. package/node_modules/d3-array/src/threshold/freedmanDiaconis.js +9 -0
  870. package/node_modules/d3-array/src/threshold/scott.js +5 -0
  871. package/node_modules/d3-array/src/threshold/sturges.js +3 -0
  872. package/node_modules/d3-array/src/ticks.js +51 -0
  873. package/node_modules/d3-array/src/transpose.js +15 -0
  874. package/node_modules/d3-array/src/variance.js +33 -0
  875. package/node_modules/d3-array/src/zip.js +5 -0
  876. package/node_modules/d3-array/yarn.lock +939 -0
  877. package/node_modules/d3-geo/.eslintrc +13 -0
  878. package/node_modules/d3-geo/LICENSE +48 -0
  879. package/node_modules/d3-geo/README.md +619 -0
  880. package/node_modules/d3-geo/build/d3-geo.js +2987 -0
  881. package/node_modules/d3-geo/build/d3-geo.min.js +2 -0
  882. package/node_modules/d3-geo/img/albers.png +0 -0
  883. package/node_modules/d3-geo/img/albersUsa-parameters.png +0 -0
  884. package/node_modules/d3-geo/img/albersUsa.png +0 -0
  885. package/node_modules/d3-geo/img/azimuthalEqualArea.png +0 -0
  886. package/node_modules/d3-geo/img/azimuthalEquidistant.png +0 -0
  887. package/node_modules/d3-geo/img/conicConformal.png +0 -0
  888. package/node_modules/d3-geo/img/conicEqualArea.png +0 -0
  889. package/node_modules/d3-geo/img/conicEquidistant.png +0 -0
  890. package/node_modules/d3-geo/img/equirectangular.png +0 -0
  891. package/node_modules/d3-geo/img/gnomonic.png +0 -0
  892. package/node_modules/d3-geo/img/graticule.png +0 -0
  893. package/node_modules/d3-geo/img/mercator.png +0 -0
  894. package/node_modules/d3-geo/img/naturalEarth1.png +0 -0
  895. package/node_modules/d3-geo/img/orthographic.png +0 -0
  896. package/node_modules/d3-geo/img/stereographic.png +0 -0
  897. package/node_modules/d3-geo/img/transverseMercator.png +0 -0
  898. package/node_modules/d3-geo/index.js +30 -0
  899. package/node_modules/d3-geo/package.json +72 -0
  900. package/node_modules/d3-geo/rollup.config.js +15 -0
  901. package/node_modules/d3-geo/src/adder.js +40 -0
  902. package/node_modules/d3-geo/src/area.js +74 -0
  903. package/node_modules/d3-geo/src/bounds.js +176 -0
  904. package/node_modules/d3-geo/src/cartesian.js +33 -0
  905. package/node_modules/d3-geo/src/centroid.js +140 -0
  906. package/node_modules/d3-geo/src/circle.js +72 -0
  907. package/node_modules/d3-geo/src/clip/antimeridian.js +92 -0
  908. package/node_modules/d3-geo/src/clip/buffer.js +24 -0
  909. package/node_modules/d3-geo/src/clip/circle.js +181 -0
  910. package/node_modules/d3-geo/src/clip/extent.js +187 -0
  911. package/node_modules/d3-geo/src/clip/index.js +135 -0
  912. package/node_modules/d3-geo/src/clip/line.js +59 -0
  913. package/node_modules/d3-geo/src/clip/polygon.js +101 -0
  914. package/node_modules/d3-geo/src/compose.js +12 -0
  915. package/node_modules/d3-geo/src/constant.js +5 -0
  916. package/node_modules/d3-geo/src/contains.js +84 -0
  917. package/node_modules/d3-geo/src/distance.js +10 -0
  918. package/node_modules/d3-geo/src/graticule.js +105 -0
  919. package/node_modules/d3-geo/src/identity.js +3 -0
  920. package/node_modules/d3-geo/src/interpolate.js +36 -0
  921. package/node_modules/d3-geo/src/length.js +53 -0
  922. package/node_modules/d3-geo/src/math.js +35 -0
  923. package/node_modules/d3-geo/src/noop.js +1 -0
  924. package/node_modules/d3-geo/src/path/area.js +50 -0
  925. package/node_modules/d3-geo/src/path/bounds.js +28 -0
  926. package/node_modules/d3-geo/src/path/centroid.js +100 -0
  927. package/node_modules/d3-geo/src/path/context.js +45 -0
  928. package/node_modules/d3-geo/src/path/index.js +61 -0
  929. package/node_modules/d3-geo/src/path/measure.js +45 -0
  930. package/node_modules/d3-geo/src/path/string.js +59 -0
  931. package/node_modules/d3-geo/src/pointEqual.js +5 -0
  932. package/node_modules/d3-geo/src/polygonContains.js +68 -0
  933. package/node_modules/d3-geo/src/projection/albers.js +10 -0
  934. package/node_modules/d3-geo/src/projection/albersUsa.js +103 -0
  935. package/node_modules/d3-geo/src/projection/azimuthal.js +26 -0
  936. package/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +17 -0
  937. package/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +17 -0
  938. package/node_modules/d3-geo/src/projection/conic.js +15 -0
  939. package/node_modules/d3-geo/src/projection/conicConformal.js +35 -0
  940. package/node_modules/d3-geo/src/projection/conicEqualArea.js +30 -0
  941. package/node_modules/d3-geo/src/projection/conicEquidistant.js +29 -0
  942. package/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +15 -0
  943. package/node_modules/d3-geo/src/projection/equirectangular.js +12 -0
  944. package/node_modules/d3-geo/src/projection/fit.js +31 -0
  945. package/node_modules/d3-geo/src/projection/gnomonic.js +16 -0
  946. package/node_modules/d3-geo/src/projection/identity.js +52 -0
  947. package/node_modules/d3-geo/src/projection/index.js +106 -0
  948. package/node_modules/d3-geo/src/projection/mercator.js +52 -0
  949. package/node_modules/d3-geo/src/projection/naturalEarth1.js +28 -0
  950. package/node_modules/d3-geo/src/projection/orthographic.js +15 -0
  951. package/node_modules/d3-geo/src/projection/resample.js +102 -0
  952. package/node_modules/d3-geo/src/projection/stereographic.js +18 -0
  953. package/node_modules/d3-geo/src/projection/transverseMercator.js +27 -0
  954. package/node_modules/d3-geo/src/rotation.js +76 -0
  955. package/node_modules/d3-geo/src/stream.js +69 -0
  956. package/node_modules/d3-geo/src/transform.js +26 -0
  957. package/node_modules/d3-voronoi/.eslintrc +9 -0
  958. package/node_modules/d3-voronoi/.npmignore +3 -0
  959. package/node_modules/d3-voronoi/LICENSE +50 -0
  960. package/node_modules/d3-voronoi/README.md +160 -0
  961. package/node_modules/d3-voronoi/build/d3-voronoi.js +999 -0
  962. package/node_modules/d3-voronoi/build/d3-voronoi.min.js +2 -0
  963. package/node_modules/d3-voronoi/graph.png +0 -0
  964. package/node_modules/d3-voronoi/index.js +1 -0
  965. package/node_modules/d3-voronoi/package.json +65 -0
  966. package/node_modules/d3-voronoi/src/Beach.js +193 -0
  967. package/node_modules/d3-voronoi/src/Cell.js +126 -0
  968. package/node_modules/d3-voronoi/src/Circle.js +78 -0
  969. package/node_modules/d3-voronoi/src/Diagram.js +142 -0
  970. package/node_modules/d3-voronoi/src/Edge.js +168 -0
  971. package/node_modules/d3-voronoi/src/RedBlackTree.js +237 -0
  972. package/node_modules/d3-voronoi/src/constant.js +5 -0
  973. package/node_modules/d3-voronoi/src/point.js +7 -0
  974. package/node_modules/d3-voronoi/src/voronoi.js +48 -0
  975. package/node_modules/deep-equal/.eslintrc +22 -0
  976. package/node_modules/deep-equal/.travis.yml +12 -0
  977. package/node_modules/deep-equal/CHANGELOG.md +120 -0
  978. package/node_modules/deep-equal/LICENSE +21 -0
  979. package/node_modules/deep-equal/example/cmp.js +11 -0
  980. package/node_modules/deep-equal/index.js +112 -0
  981. package/node_modules/deep-equal/lib/is_arguments.js +1 -0
  982. package/node_modules/deep-equal/lib/keys.js +1 -0
  983. package/node_modules/deep-equal/package.json +117 -0
  984. package/node_modules/deep-equal/readme.markdown +57 -0
  985. package/node_modules/deep-equal/test/_tape.js +21 -0
  986. package/node_modules/deep-equal/test/cmp.js +344 -0
  987. package/node_modules/define-properties/.editorconfig +13 -0
  988. package/node_modules/define-properties/.eslintrc +12 -0
  989. package/node_modules/define-properties/.jscs.json +175 -0
  990. package/node_modules/define-properties/.travis.yml +233 -0
  991. package/node_modules/define-properties/CHANGELOG.md +44 -0
  992. package/node_modules/define-properties/LICENSE +21 -0
  993. package/node_modules/define-properties/README.md +86 -0
  994. package/node_modules/define-properties/index.js +58 -0
  995. package/node_modules/define-properties/package.json +97 -0
  996. package/node_modules/define-properties/test/index.js +125 -0
  997. package/node_modules/density-clustering/.jscsrc +64 -0
  998. package/node_modules/density-clustering/.jshintrc +5 -0
  999. package/node_modules/density-clustering/.remote-sync.json +13 -0
  1000. package/node_modules/density-clustering/CHANGELOG.md +11 -0
  1001. package/node_modules/density-clustering/LICENSE +22 -0
  1002. package/node_modules/density-clustering/README.md +171 -0
  1003. package/node_modules/density-clustering/bower.json +40 -0
  1004. package/node_modules/density-clustering/example/browser.html +20 -0
  1005. package/node_modules/density-clustering/example/dbscan.js +11 -0
  1006. package/node_modules/density-clustering/example/kmeans.js +11 -0
  1007. package/node_modules/density-clustering/example/optics.js +12 -0
  1008. package/node_modules/density-clustering/example/priorityQueue.js +12 -0
  1009. package/node_modules/density-clustering/gulpfile.js +30 -0
  1010. package/node_modules/density-clustering/lib/DBSCAN.js +236 -0
  1011. package/node_modules/density-clustering/lib/KMEANS.js +213 -0
  1012. package/node_modules/density-clustering/lib/OPTICS.js +269 -0
  1013. package/node_modules/density-clustering/lib/PriorityQueue.js +180 -0
  1014. package/node_modules/density-clustering/lib/Utils.js +37 -0
  1015. package/node_modules/density-clustering/lib/index.js +9 -0
  1016. package/node_modules/density-clustering/package.json +70 -0
  1017. package/node_modules/density-clustering/test/DBSCAN.test.js +73 -0
  1018. package/node_modules/density-clustering/test/KMEANS.test.js +70 -0
  1019. package/node_modules/density-clustering/test/OPTICS.test.js +98 -0
  1020. package/node_modules/density-clustering/test/PriorityQueue.test.js +27 -0
  1021. package/node_modules/earcut/LICENSE +15 -0
  1022. package/node_modules/earcut/README.md +246 -0
  1023. package/node_modules/earcut/dist/earcut.dev.js +690 -0
  1024. package/node_modules/earcut/dist/earcut.min.js +1 -0
  1025. package/node_modules/earcut/package.json +77 -0
  1026. package/node_modules/earcut/src/earcut.js +684 -0
  1027. package/node_modules/function-bind/.editorconfig +20 -0
  1028. package/node_modules/function-bind/.eslintrc +15 -0
  1029. package/node_modules/function-bind/.jscs.json +176 -0
  1030. package/node_modules/function-bind/.npmignore +22 -0
  1031. package/node_modules/function-bind/.travis.yml +168 -0
  1032. package/node_modules/function-bind/LICENSE +20 -0
  1033. package/node_modules/function-bind/README.md +48 -0
  1034. package/node_modules/function-bind/implementation.js +52 -0
  1035. package/node_modules/function-bind/index.js +5 -0
  1036. package/node_modules/function-bind/package.json +96 -0
  1037. package/node_modules/function-bind/test/.eslintrc +9 -0
  1038. package/node_modules/function-bind/test/index.js +252 -0
  1039. package/node_modules/geojson-equality/.npmignore +2 -0
  1040. package/node_modules/geojson-equality/LICENSE.md +22 -0
  1041. package/node_modules/geojson-equality/README.md +78 -0
  1042. package/node_modules/geojson-equality/dist/geojson-equality.js +295 -0
  1043. package/node_modules/geojson-equality/dist/geojson-equality.js.map +21 -0
  1044. package/node_modules/geojson-equality/dist/geojson-equality.min.js +1 -0
  1045. package/node_modules/geojson-equality/index.js +161 -0
  1046. package/node_modules/geojson-equality/package.json +74 -0
  1047. package/node_modules/geojson-equality/test/mocha.opts +1 -0
  1048. package/node_modules/geojson-equality/test/test.js +364 -0
  1049. package/node_modules/geojson-rbush/LICENSE +20 -0
  1050. package/node_modules/geojson-rbush/README.md +213 -0
  1051. package/node_modules/geojson-rbush/index.d.ts +19 -0
  1052. package/node_modules/geojson-rbush/index.js +208 -0
  1053. package/node_modules/geojson-rbush/package.json +89 -0
  1054. package/node_modules/get-intrinsic/.eslintignore +1 -0
  1055. package/node_modules/get-intrinsic/.eslintrc +43 -0
  1056. package/node_modules/get-intrinsic/.github/FUNDING.yml +12 -0
  1057. package/node_modules/get-intrinsic/.nycrc +13 -0
  1058. package/node_modules/get-intrinsic/CHANGELOG.md +64 -0
  1059. package/node_modules/get-intrinsic/LICENSE +21 -0
  1060. package/node_modules/get-intrinsic/README.md +65 -0
  1061. package/node_modules/get-intrinsic/index.js +330 -0
  1062. package/node_modules/get-intrinsic/package.json +106 -0
  1063. package/node_modules/get-intrinsic/test/GetIntrinsic.js +260 -0
  1064. package/node_modules/has/LICENSE-MIT +22 -0
  1065. package/node_modules/has/README.md +18 -0
  1066. package/node_modules/has/package.json +73 -0
  1067. package/node_modules/has/src/index.js +5 -0
  1068. package/node_modules/has/test/index.js +10 -0
  1069. package/node_modules/has-symbols/.eslintrc +11 -0
  1070. package/node_modules/has-symbols/.github/FUNDING.yml +12 -0
  1071. package/node_modules/has-symbols/.nycrc +9 -0
  1072. package/node_modules/has-symbols/CHANGELOG.md +75 -0
  1073. package/node_modules/has-symbols/LICENSE +21 -0
  1074. package/node_modules/has-symbols/README.md +46 -0
  1075. package/node_modules/has-symbols/index.js +13 -0
  1076. package/node_modules/has-symbols/package.json +127 -0
  1077. package/node_modules/has-symbols/shams.js +42 -0
  1078. package/node_modules/has-symbols/test/index.js +22 -0
  1079. package/node_modules/has-symbols/test/shams/core-js.js +28 -0
  1080. package/node_modules/has-symbols/test/shams/get-own-property-symbols.js +28 -0
  1081. package/node_modules/has-symbols/test/tests.js +56 -0
  1082. package/node_modules/has-tostringtag/.eslintrc +11 -0
  1083. package/node_modules/has-tostringtag/.github/FUNDING.yml +12 -0
  1084. package/node_modules/has-tostringtag/CHANGELOG.md +20 -0
  1085. package/node_modules/has-tostringtag/LICENSE +21 -0
  1086. package/node_modules/has-tostringtag/README.md +46 -0
  1087. package/node_modules/has-tostringtag/index.js +7 -0
  1088. package/node_modules/has-tostringtag/package.json +111 -0
  1089. package/node_modules/has-tostringtag/shams.js +7 -0
  1090. package/node_modules/has-tostringtag/test/index.js +21 -0
  1091. package/node_modules/has-tostringtag/test/shams/core-js.js +28 -0
  1092. package/node_modules/has-tostringtag/test/shams/get-own-property-symbols.js +28 -0
  1093. package/node_modules/has-tostringtag/test/tests.js +14 -0
  1094. package/node_modules/is-arguments/.editorconfig +20 -0
  1095. package/node_modules/is-arguments/.eslintignore +1 -0
  1096. package/node_modules/is-arguments/.eslintrc +10 -0
  1097. package/node_modules/is-arguments/.github/FUNDING.yml +12 -0
  1098. package/node_modules/is-arguments/.nycrc +9 -0
  1099. package/node_modules/is-arguments/CHANGELOG.md +179 -0
  1100. package/node_modules/is-arguments/LICENSE +20 -0
  1101. package/node_modules/is-arguments/README.md +47 -0
  1102. package/node_modules/is-arguments/index.js +33 -0
  1103. package/node_modules/is-arguments/package.json +116 -0
  1104. package/node_modules/is-arguments/test/index.js +44 -0
  1105. package/node_modules/is-date-object/.editorconfig +20 -0
  1106. package/node_modules/is-date-object/.eslintignore +1 -0
  1107. package/node_modules/is-date-object/.eslintrc +9 -0
  1108. package/node_modules/is-date-object/.github/FUNDING.yml +12 -0
  1109. package/node_modules/is-date-object/.nycrc +10 -0
  1110. package/node_modules/is-date-object/CHANGELOG.md +114 -0
  1111. package/node_modules/is-date-object/LICENSE +22 -0
  1112. package/node_modules/is-date-object/README.md +52 -0
  1113. package/node_modules/is-date-object/index.js +22 -0
  1114. package/node_modules/is-date-object/package.json +110 -0
  1115. package/node_modules/is-date-object/test/index.js +36 -0
  1116. package/node_modules/is-regex/.editorconfig +20 -0
  1117. package/node_modules/is-regex/.eslintignore +1 -0
  1118. package/node_modules/is-regex/.eslintrc +19 -0
  1119. package/node_modules/is-regex/.nycrc +10 -0
  1120. package/node_modules/is-regex/CHANGELOG.md +197 -0
  1121. package/node_modules/is-regex/LICENSE +20 -0
  1122. package/node_modules/is-regex/README.md +52 -0
  1123. package/node_modules/is-regex/index.js +58 -0
  1124. package/node_modules/is-regex/package.json +114 -0
  1125. package/node_modules/is-regex/test/index.js +104 -0
  1126. package/node_modules/object-assign/index.js +90 -0
  1127. package/node_modules/object-assign/license +21 -0
  1128. package/node_modules/object-assign/package.json +76 -0
  1129. package/node_modules/object-assign/readme.md +61 -0
  1130. package/node_modules/object-is/.eslintignore +1 -0
  1131. package/node_modules/object-is/.eslintrc +5 -0
  1132. package/node_modules/object-is/.nycrc +13 -0
  1133. package/node_modules/object-is/CHANGELOG.md +150 -0
  1134. package/node_modules/object-is/LICENSE +20 -0
  1135. package/node_modules/object-is/README.md +60 -0
  1136. package/node_modules/object-is/auto.js +3 -0
  1137. package/node_modules/object-is/implementation.js +19 -0
  1138. package/node_modules/object-is/index.js +18 -0
  1139. package/node_modules/object-is/package.json +114 -0
  1140. package/node_modules/object-is/polyfill.js +7 -0
  1141. package/node_modules/object-is/shim.js +14 -0
  1142. package/node_modules/object-is/test/implementation.js +12 -0
  1143. package/node_modules/object-is/test/index.js +12 -0
  1144. package/node_modules/object-is/test/shimmed.js +28 -0
  1145. package/node_modules/object-is/test/tests.js +57 -0
  1146. package/node_modules/object-keys/.editorconfig +13 -0
  1147. package/node_modules/object-keys/.eslintrc +17 -0
  1148. package/node_modules/object-keys/.travis.yml +277 -0
  1149. package/node_modules/object-keys/CHANGELOG.md +232 -0
  1150. package/node_modules/object-keys/LICENSE +21 -0
  1151. package/node_modules/object-keys/README.md +76 -0
  1152. package/node_modules/object-keys/implementation.js +122 -0
  1153. package/node_modules/object-keys/index.js +32 -0
  1154. package/node_modules/object-keys/isArguments.js +17 -0
  1155. package/node_modules/object-keys/package.json +118 -0
  1156. package/node_modules/object-keys/test/index.js +5 -0
  1157. package/node_modules/point-in-polygon/LICENSE +21 -0
  1158. package/node_modules/point-in-polygon/example/inside.js +6 -0
  1159. package/node_modules/point-in-polygon/flat.js +15 -0
  1160. package/node_modules/point-in-polygon/index.js +12 -0
  1161. package/node_modules/point-in-polygon/nested.js +18 -0
  1162. package/node_modules/point-in-polygon/package.json +61 -0
  1163. package/node_modules/point-in-polygon/readme.markdown +51 -0
  1164. package/node_modules/point-in-polygon/test/box-offset.js +24 -0
  1165. package/node_modules/point-in-polygon/test/box.js +34 -0
  1166. package/node_modules/point-in-polygon/test/flat-offset.js +24 -0
  1167. package/node_modules/point-in-polygon/test/flat.js +24 -0
  1168. package/node_modules/polygon-clipping/CHANGELOG.md +129 -0
  1169. package/node_modules/polygon-clipping/LICENSE.md +11 -0
  1170. package/node_modules/polygon-clipping/README.md +99 -0
  1171. package/node_modules/polygon-clipping/dist/polygon-clipping.cjs.js +1826 -0
  1172. package/node_modules/polygon-clipping/dist/polygon-clipping.d.ts +11 -0
  1173. package/node_modules/polygon-clipping/dist/polygon-clipping.esm.js +1820 -0
  1174. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.js +2557 -0
  1175. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.min.js +10 -0
  1176. package/node_modules/polygon-clipping/dist/polygon-clipping.umd.min.js.map +1 -0
  1177. package/node_modules/polygon-clipping/package.json +113 -0
  1178. package/node_modules/quickselect/LICENSE +15 -0
  1179. package/node_modules/quickselect/README.md +28 -0
  1180. package/node_modules/quickselect/index.js +54 -0
  1181. package/node_modules/quickselect/package.json +70 -0
  1182. package/node_modules/quickselect/quickselect.js +63 -0
  1183. package/node_modules/rbush/LICENSE +21 -0
  1184. package/node_modules/rbush/README.md +218 -0
  1185. package/node_modules/rbush/index.js +512 -0
  1186. package/node_modules/rbush/package.json +87 -0
  1187. package/node_modules/rbush/rbush.js +574 -0
  1188. package/node_modules/rbush/rbush.min.js +1 -0
  1189. package/node_modules/regexp.prototype.flags/.editorconfig +13 -0
  1190. package/node_modules/regexp.prototype.flags/.eslintrc +18 -0
  1191. package/node_modules/regexp.prototype.flags/.nycrc +9 -0
  1192. package/node_modules/regexp.prototype.flags/CHANGELOG.md +184 -0
  1193. package/node_modules/regexp.prototype.flags/LICENSE +22 -0
  1194. package/node_modules/regexp.prototype.flags/README.md +54 -0
  1195. package/node_modules/regexp.prototype.flags/auto.js +3 -0
  1196. package/node_modules/regexp.prototype.flags/implementation.js +33 -0
  1197. package/node_modules/regexp.prototype.flags/index.js +18 -0
  1198. package/node_modules/regexp.prototype.flags/package.json +124 -0
  1199. package/node_modules/regexp.prototype.flags/polyfill.js +36 -0
  1200. package/node_modules/regexp.prototype.flags/shim.js +26 -0
  1201. package/node_modules/regexp.prototype.flags/test/implementation.js +20 -0
  1202. package/node_modules/regexp.prototype.flags/test/index.js +17 -0
  1203. package/node_modules/regexp.prototype.flags/test/shimmed.js +47 -0
  1204. package/node_modules/regexp.prototype.flags/test/tests.js +141 -0
  1205. package/node_modules/robust-predicates/LICENSE +24 -0
  1206. package/node_modules/robust-predicates/README.md +82 -0
  1207. package/node_modules/robust-predicates/esm/incircle.js +765 -0
  1208. package/node_modules/robust-predicates/esm/insphere.js +775 -0
  1209. package/node_modules/robust-predicates/esm/orient2d.js +186 -0
  1210. package/node_modules/robust-predicates/esm/orient3d.js +462 -0
  1211. package/node_modules/robust-predicates/esm/util.js +138 -0
  1212. package/node_modules/robust-predicates/index.js +5 -0
  1213. package/node_modules/robust-predicates/package.json +95 -0
  1214. package/node_modules/robust-predicates/umd/incircle.js +910 -0
  1215. package/node_modules/robust-predicates/umd/incircle.min.js +1 -0
  1216. package/node_modules/robust-predicates/umd/insphere.js +925 -0
  1217. package/node_modules/robust-predicates/umd/insphere.min.js +1 -0
  1218. package/node_modules/robust-predicates/umd/orient2d.js +284 -0
  1219. package/node_modules/robust-predicates/umd/orient2d.min.js +1 -0
  1220. package/node_modules/robust-predicates/umd/orient3d.js +603 -0
  1221. package/node_modules/robust-predicates/umd/orient3d.min.js +1 -0
  1222. package/node_modules/robust-predicates/umd/predicates.js +2341 -0
  1223. package/node_modules/robust-predicates/umd/predicates.min.js +1 -0
  1224. package/node_modules/skmeans/.gitattributes +17 -0
  1225. package/node_modules/skmeans/.npmignore +52 -0
  1226. package/node_modules/skmeans/Gruntfile.js +49 -0
  1227. package/node_modules/skmeans/README.md +62 -0
  1228. package/node_modules/skmeans/browser.js +19 -0
  1229. package/node_modules/skmeans/dist/browser/skmeans.js +339 -0
  1230. package/node_modules/skmeans/dist/browser/skmeans.js.map +1 -0
  1231. package/node_modules/skmeans/dist/browser/skmeans.min.js +3 -0
  1232. package/node_modules/skmeans/dist/index.html +15 -0
  1233. package/node_modules/skmeans/dist/node/Gruntfile.js +49 -0
  1234. package/node_modules/skmeans/dist/node/Gruntfile.js.map +1 -0
  1235. package/node_modules/skmeans/dist/node/browser.js +19 -0
  1236. package/node_modules/skmeans/dist/node/browser.js.map +1 -0
  1237. package/node_modules/skmeans/dist/node/distance.js +39 -0
  1238. package/node_modules/skmeans/dist/node/distance.js.map +1 -0
  1239. package/node_modules/skmeans/dist/node/kinit.js +110 -0
  1240. package/node_modules/skmeans/dist/node/kinit.js.map +1 -0
  1241. package/node_modules/skmeans/dist/node/main.js +161 -0
  1242. package/node_modules/skmeans/dist/node/main.js.map +1 -0
  1243. package/node_modules/skmeans/distance.js +37 -0
  1244. package/node_modules/skmeans/kinit.js +102 -0
  1245. package/node_modules/skmeans/main.js +147 -0
  1246. package/node_modules/skmeans/package.json +68 -0
  1247. package/node_modules/skmeans/test/data/random_pts.js +1 -0
  1248. package/node_modules/skmeans/test/data/well-separated.js +1 -0
  1249. package/node_modules/skmeans/test/multi.js +15 -0
  1250. package/node_modules/skmeans/test/stats.js +65 -0
  1251. package/node_modules/skmeans/test/test.js +42 -0
  1252. package/node_modules/skmeans/test/test_rand.js +23 -0
  1253. package/node_modules/skmeans/test/test_ws.js +23 -0
  1254. package/node_modules/skmeans/test/uni.js +15 -0
  1255. package/node_modules/splaytree/Readme.md +221 -0
  1256. package/node_modules/splaytree/dist/splay.esm.js +673 -0
  1257. package/node_modules/splaytree/dist/splay.esm.js.map +1 -0
  1258. package/node_modules/splaytree/dist/splay.js +681 -0
  1259. package/node_modules/splaytree/dist/splay.js.map +1 -0
  1260. package/node_modules/splaytree/package.json +123 -0
  1261. package/node_modules/splaytree/src/index.ts +667 -0
  1262. package/node_modules/splaytree/src/node.ts +15 -0
  1263. package/node_modules/splaytree/src/types.ts +2 -0
  1264. package/node_modules/splaytree/typings/index.d.ts +82 -0
  1265. package/node_modules/splaytree/typings/node.d.ts +8 -0
  1266. package/node_modules/splaytree/typings/types.d.ts +2 -0
  1267. package/node_modules/tinyqueue/LICENSE +15 -0
  1268. package/node_modules/tinyqueue/README.md +59 -0
  1269. package/node_modules/tinyqueue/index.d.ts +11 -0
  1270. package/node_modules/tinyqueue/index.js +79 -0
  1271. package/node_modules/tinyqueue/package.json +78 -0
  1272. package/node_modules/tinyqueue/tinyqueue.js +93 -0
  1273. package/node_modules/tinyqueue/tinyqueue.min.js +1 -0
  1274. package/node_modules/topojson-client/LICENSE +13 -0
  1275. package/node_modules/topojson-client/README.md +242 -0
  1276. package/node_modules/topojson-client/bin/topo2geo +106 -0
  1277. package/node_modules/topojson-client/bin/topomerge +216 -0
  1278. package/node_modules/topojson-client/bin/topoquantize +74 -0
  1279. package/node_modules/topojson-client/dist/topojson-client.js +508 -0
  1280. package/node_modules/topojson-client/dist/topojson-client.min.js +2 -0
  1281. package/node_modules/topojson-client/package.json +77 -0
  1282. package/node_modules/topojson-client/src/bbox.js +39 -0
  1283. package/node_modules/topojson-client/src/bisect.js +9 -0
  1284. package/node_modules/topojson-client/src/feature.js +70 -0
  1285. package/node_modules/topojson-client/src/identity.js +3 -0
  1286. package/node_modules/topojson-client/src/index.js +8 -0
  1287. package/node_modules/topojson-client/src/merge.js +103 -0
  1288. package/node_modules/topojson-client/src/mesh.js +53 -0
  1289. package/node_modules/topojson-client/src/neighbors.js +45 -0
  1290. package/node_modules/topojson-client/src/quantize.js +54 -0
  1291. package/node_modules/topojson-client/src/reverse.js +4 -0
  1292. package/node_modules/topojson-client/src/stitch.js +73 -0
  1293. package/node_modules/topojson-client/src/transform.js +19 -0
  1294. package/node_modules/topojson-client/src/untransform.js +23 -0
  1295. package/node_modules/topojson-server/LICENSE +13 -0
  1296. package/node_modules/topojson-server/README.md +75 -0
  1297. package/node_modules/topojson-server/bin/geo2topo +125 -0
  1298. package/node_modules/topojson-server/dist/topojson-server.js +838 -0
  1299. package/node_modules/topojson-server/dist/topojson-server.min.js +2 -0
  1300. package/node_modules/topojson-server/package.json +75 -0
  1301. package/node_modules/topojson-server/src/bounds.js +46 -0
  1302. package/node_modules/topojson-server/src/cut.js +62 -0
  1303. package/node_modules/topojson-server/src/dedup.js +187 -0
  1304. package/node_modules/topojson-server/src/delta.js +30 -0
  1305. package/node_modules/topojson-server/src/extract.js +67 -0
  1306. package/node_modules/topojson-server/src/geometry.js +39 -0
  1307. package/node_modules/topojson-server/src/hash/hashmap.js +70 -0
  1308. package/node_modules/topojson-server/src/hash/hashset.js +53 -0
  1309. package/node_modules/topojson-server/src/hash/point-equal.js +3 -0
  1310. package/node_modules/topojson-server/src/hash/point-hash.js +13 -0
  1311. package/node_modules/topojson-server/src/index.js +1 -0
  1312. package/node_modules/topojson-server/src/join.js +116 -0
  1313. package/node_modules/topojson-server/src/object.js +1 -0
  1314. package/node_modules/topojson-server/src/prequantize.js +72 -0
  1315. package/node_modules/topojson-server/src/topology.js +80 -0
  1316. package/node_modules/turf-jsts/README.md +19 -0
  1317. package/node_modules/turf-jsts/jsts.js +18750 -0
  1318. package/node_modules/turf-jsts/jsts.min.js +1 -0
  1319. package/node_modules/turf-jsts/jsts.mjs +18742 -0
  1320. package/node_modules/turf-jsts/package.json +100 -0
  1321. package/node_modules/turf-jsts/src/Array.js +36 -0
  1322. package/node_modules/turf-jsts/src/Map.js +150 -0
  1323. package/node_modules/turf-jsts/src/Math.js +6 -0
  1324. package/node_modules/turf-jsts/src/Number.js +18 -0
  1325. package/node_modules/turf-jsts/src/extend.js +5 -0
  1326. package/node_modules/turf-jsts/src/hasInterface.js +3 -0
  1327. package/node_modules/turf-jsts/src/index.js +18 -0
  1328. package/node_modules/turf-jsts/src/inherits.js +4 -0
  1329. package/node_modules/turf-jsts/src/java/io/ByteArrayOutputStream.js +1 -0
  1330. package/node_modules/turf-jsts/src/java/io/IOException.js +1 -0
  1331. package/node_modules/turf-jsts/src/java/io/InputStream.js +1 -0
  1332. package/node_modules/turf-jsts/src/java/io/LineNumberReader.js +1 -0
  1333. package/node_modules/turf-jsts/src/java/io/OutputStream.js +1 -0
  1334. package/node_modules/turf-jsts/src/java/io/PrintStream.js +1 -0
  1335. package/node_modules/turf-jsts/src/java/io/Serializable.js +1 -0
  1336. package/node_modules/turf-jsts/src/java/io/StringReader.js +1 -0
  1337. package/node_modules/turf-jsts/src/java/io/StringWriter.js +1 -0
  1338. package/node_modules/turf-jsts/src/java/io/Writer.js +1 -0
  1339. package/node_modules/turf-jsts/src/java/lang/Character.js +4 -0
  1340. package/node_modules/turf-jsts/src/java/lang/Cloneable.js +1 -0
  1341. package/node_modules/turf-jsts/src/java/lang/Comparable.js +1 -0
  1342. package/node_modules/turf-jsts/src/java/lang/Double.js +7 -0
  1343. package/node_modules/turf-jsts/src/java/lang/Exception.js +1 -0
  1344. package/node_modules/turf-jsts/src/java/lang/IllegalArgumentException.js +8 -0
  1345. package/node_modules/turf-jsts/src/java/lang/Integer.js +14 -0
  1346. package/node_modules/turf-jsts/src/java/lang/RuntimeException.js +8 -0
  1347. package/node_modules/turf-jsts/src/java/lang/StringBuffer.js +16 -0
  1348. package/node_modules/turf-jsts/src/java/lang/System.js +15 -0
  1349. package/node_modules/turf-jsts/src/java/text/DecimalFormat.js +1 -0
  1350. package/node_modules/turf-jsts/src/java/text/DecimalFormatSymbols.js +1 -0
  1351. package/node_modules/turf-jsts/src/java/util/ArrayList.js +181 -0
  1352. package/node_modules/turf-jsts/src/java/util/Arrays.js +60 -0
  1353. package/node_modules/turf-jsts/src/java/util/Collection.js +58 -0
  1354. package/node_modules/turf-jsts/src/java/util/Collections.js +34 -0
  1355. package/node_modules/turf-jsts/src/java/util/Comparator.js +1 -0
  1356. package/node_modules/turf-jsts/src/java/util/EmptyStackException.js +15 -0
  1357. package/node_modules/turf-jsts/src/java/util/HashMap.js +61 -0
  1358. package/node_modules/turf-jsts/src/java/util/HashSet.js +151 -0
  1359. package/node_modules/turf-jsts/src/java/util/IndexOutOfBoundsException.js +15 -0
  1360. package/node_modules/turf-jsts/src/java/util/Iterator.js +24 -0
  1361. package/node_modules/turf-jsts/src/java/util/LinkedList.js +14 -0
  1362. package/node_modules/turf-jsts/src/java/util/List.js +32 -0
  1363. package/node_modules/turf-jsts/src/java/util/Map.js +53 -0
  1364. package/node_modules/turf-jsts/src/java/util/NoSuchElementException.js +15 -0
  1365. package/node_modules/turf-jsts/src/java/util/OperationNotSupported.js +15 -0
  1366. package/node_modules/turf-jsts/src/java/util/Set.js +21 -0
  1367. package/node_modules/turf-jsts/src/java/util/SortedMap.js +10 -0
  1368. package/node_modules/turf-jsts/src/java/util/SortedSet.js +11 -0
  1369. package/node_modules/turf-jsts/src/java/util/Stack.js +132 -0
  1370. package/node_modules/turf-jsts/src/java/util/TreeMap.js +246 -0
  1371. package/node_modules/turf-jsts/src/java/util/TreeSet.js +157 -0
  1372. package/node_modules/turf-jsts/src/org/locationtech/jts/JTSVersion.js +32 -0
  1373. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/Angle.js +105 -0
  1374. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/BoundaryNodeRule.js +66 -0
  1375. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/CGAlgorithms.js +194 -0
  1376. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/CGAlgorithms3D.js +65 -0
  1377. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/CGAlgorithmsDD.js +72 -0
  1378. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/Centroid.js +127 -0
  1379. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/ConvexHull.js +252 -0
  1380. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/HCoordinate.js +105 -0
  1381. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/InteriorPointArea.js +137 -0
  1382. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/InteriorPointLine.js +68 -0
  1383. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/InteriorPointPoint.js +45 -0
  1384. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/LineIntersector.js +156 -0
  1385. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/MCPointInRing.js +102 -0
  1386. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/MinimumBoundingCircle.js +170 -0
  1387. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/MinimumDiameter.js +165 -0
  1388. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/NonRobustCGAlgorithms.js +123 -0
  1389. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/NonRobustLineIntersector.js +147 -0
  1390. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/NotRepresentableException.js +13 -0
  1391. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/PointInRing.js +9 -0
  1392. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/PointLocator.js +120 -0
  1393. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/RayCrossingCounter.js +95 -0
  1394. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/RectangleLineIntersector.js +46 -0
  1395. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/RobustDeterminant.js +202 -0
  1396. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/RobustLineIntersector.js +231 -0
  1397. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/SimplePointInRing.js +19 -0
  1398. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/distance/DiscreteHausdorffDistance.js +139 -0
  1399. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/distance/DistanceToPoint.js +61 -0
  1400. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/distance/PointPairDistance.js +79 -0
  1401. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/locate/IndexedPointInAreaLocator.js +95 -0
  1402. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/locate/PointOnGeometryLocator.js +9 -0
  1403. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/locate/SimplePointInAreaLocator.js +54 -0
  1404. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/match/AreaSimilarityMeasure.js +15 -0
  1405. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/match/HausdorffSimilarityMeasure.js +27 -0
  1406. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/match/SimilarityMeasure.js +9 -0
  1407. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm/match/SimilarityMeasureCombiner.js +11 -0
  1408. package/node_modules/turf-jsts/src/org/locationtech/jts/algorithm.js +42 -0
  1409. package/node_modules/turf-jsts/src/org/locationtech/jts/densify/Densifier.js +93 -0
  1410. package/node_modules/turf-jsts/src/org/locationtech/jts/densify.js +2 -0
  1411. package/node_modules/turf-jsts/src/org/locationtech/jts/dissolve/DissolveEdgeGraph.js +14 -0
  1412. package/node_modules/turf-jsts/src/org/locationtech/jts/dissolve/DissolveHalfEdge.js +21 -0
  1413. package/node_modules/turf-jsts/src/org/locationtech/jts/dissolve/LineDissolver.js +152 -0
  1414. package/node_modules/turf-jsts/src/org/locationtech/jts/dissolve.js +4 -0
  1415. package/node_modules/turf-jsts/src/org/locationtech/jts/edgegraph/EdgeGraph.js +63 -0
  1416. package/node_modules/turf-jsts/src/org/locationtech/jts/edgegraph/EdgeGraphBuilder.js +53 -0
  1417. package/node_modules/turf-jsts/src/org/locationtech/jts/edgegraph/HalfEdge.js +143 -0
  1418. package/node_modules/turf-jsts/src/org/locationtech/jts/edgegraph/MarkHalfEdge.js +41 -0
  1419. package/node_modules/turf-jsts/src/org/locationtech/jts/edgegraph.js +5 -0
  1420. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Coordinate.js +202 -0
  1421. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateArrays.js +247 -0
  1422. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateFilter.js +9 -0
  1423. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateList.js +127 -0
  1424. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateSequence.js +26 -0
  1425. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateSequenceComparator.js +67 -0
  1426. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateSequenceFactory.js +23 -0
  1427. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateSequenceFilter.js +11 -0
  1428. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/CoordinateSequences.js +104 -0
  1429. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Dimension.js +60 -0
  1430. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Envelope.js +347 -0
  1431. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Geometry.js +209 -0
  1432. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/GeometryCollection.js +216 -0
  1433. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/GeometryCollectionIterator.js +68 -0
  1434. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/GeometryComponentFilter.js +9 -0
  1435. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/GeometryFactory.js +260 -0
  1436. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/GeometryFilter.js +9 -0
  1437. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/IntersectionMatrix.js +232 -0
  1438. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/LineSegment.js +276 -0
  1439. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/LineString.js +212 -0
  1440. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Lineal.js +8 -0
  1441. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/LinearRing.js +57 -0
  1442. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Location.js +28 -0
  1443. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/MultiLineString.js +69 -0
  1444. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/MultiPoint.js +55 -0
  1445. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/MultiPolygon.js +66 -0
  1446. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/OctagonalEnvelope.js +278 -0
  1447. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Point.js +145 -0
  1448. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Polygon.js +282 -0
  1449. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Polygonal.js +8 -0
  1450. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/PrecisionModel.js +136 -0
  1451. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Puntal.js +8 -0
  1452. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/TopologyException.js +23 -0
  1453. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/Triangle.js +143 -0
  1454. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/impl/CoordinateArraySequence.js +152 -0
  1455. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/impl/CoordinateArraySequenceFactory.js +40 -0
  1456. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/AbstractPreparedPolygonContains.js +62 -0
  1457. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/BasicPreparedGeometry.js +72 -0
  1458. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedGeometry.js +19 -0
  1459. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedGeometryFactory.js +26 -0
  1460. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedLineString.js +25 -0
  1461. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedLineStringIntersects.js +39 -0
  1462. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPoint.js +14 -0
  1463. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPolygon.js +59 -0
  1464. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPolygonContains.js +21 -0
  1465. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPolygonContainsProperly.js +29 -0
  1466. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPolygonCovers.js +25 -0
  1467. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPolygonIntersects.js +30 -0
  1468. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/prep/PreparedPolygonPredicate.js +63 -0
  1469. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/AffineTransformation.js +445 -0
  1470. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/AffineTransformationBuilder.js +49 -0
  1471. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/AffineTransformationFactory.js +72 -0
  1472. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/ComponentCoordinateExtracter.js +24 -0
  1473. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/GeometryCollectionMapper.js +26 -0
  1474. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/GeometryCombiner.js +80 -0
  1475. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/GeometryEditor.js +156 -0
  1476. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/GeometryExtracter.js +36 -0
  1477. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/GeometryMapper.js +36 -0
  1478. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/GeometryTransformer.js +127 -0
  1479. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/LineStringExtracter.js +37 -0
  1480. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/LinearComponentExtracter.js +98 -0
  1481. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/NoninvertibleTransformationException.js +10 -0
  1482. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/PointExtracter.js +38 -0
  1483. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/PolygonExtracter.js +34 -0
  1484. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/ShortCircuitedGeometryVisitor.js +25 -0
  1485. package/node_modules/turf-jsts/src/org/locationtech/jts/geom/util/SineStarFactory.js +50 -0
  1486. package/node_modules/turf-jsts/src/org/locationtech/jts/geom.js +73 -0
  1487. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/Depth.js +92 -0
  1488. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/DirectedEdge.js +147 -0
  1489. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/DirectedEdgeStar.js +239 -0
  1490. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/Edge.js +193 -0
  1491. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeEnd.js +103 -0
  1492. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeEndStar.js +177 -0
  1493. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeIntersection.js +55 -0
  1494. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeIntersectionList.js +78 -0
  1495. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeList.js +61 -0
  1496. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeNodingValidator.js +32 -0
  1497. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/EdgeRing.js +163 -0
  1498. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/GeometryGraph.js +255 -0
  1499. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/GraphComponent.js +53 -0
  1500. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/Label.js +147 -0
  1501. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/Node.js +95 -0
  1502. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/NodeFactory.js +13 -0
  1503. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/NodeMap.js +68 -0
  1504. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/PlanarGraph.js +142 -0
  1505. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/Position.js +16 -0
  1506. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/Quadrant.js +60 -0
  1507. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/TopologyLocation.js +129 -0
  1508. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/EdgeSetIntersector.js +8 -0
  1509. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/MonotoneChain.js +19 -0
  1510. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/MonotoneChainEdge.js +83 -0
  1511. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/MonotoneChainIndexer.js +41 -0
  1512. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/SegmentIntersector.js +115 -0
  1513. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/SimpleEdgeSetIntersector.js +53 -0
  1514. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/SimpleMCSweepLineIntersector.js +101 -0
  1515. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/SimpleSweepLineIntersector.js +101 -0
  1516. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/SweepLineEvent.js +65 -0
  1517. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph/index/SweepLineSegment.js +31 -0
  1518. package/node_modules/turf-jsts/src/org/locationtech/jts/geomgraph.js +34 -0
  1519. package/node_modules/turf-jsts/src/org/locationtech/jts/index/ArrayListVisitor.js +20 -0
  1520. package/node_modules/turf-jsts/src/org/locationtech/jts/index/ItemVisitor.js +9 -0
  1521. package/node_modules/turf-jsts/src/org/locationtech/jts/index/SpatialIndex.js +18 -0
  1522. package/node_modules/turf-jsts/src/org/locationtech/jts/index/bintree/Bintree.js +74 -0
  1523. package/node_modules/turf-jsts/src/org/locationtech/jts/index/bintree/Interval.js +73 -0
  1524. package/node_modules/turf-jsts/src/org/locationtech/jts/index/bintree/Key.js +46 -0
  1525. package/node_modules/turf-jsts/src/org/locationtech/jts/index/bintree/Node.js +94 -0
  1526. package/node_modules/turf-jsts/src/org/locationtech/jts/index/bintree/NodeBase.js +97 -0
  1527. package/node_modules/turf-jsts/src/org/locationtech/jts/index/bintree/Root.js +37 -0
  1528. package/node_modules/turf-jsts/src/org/locationtech/jts/index/chain/MonotoneChain.js +107 -0
  1529. package/node_modules/turf-jsts/src/org/locationtech/jts/index/chain/MonotoneChainBuilder.js +67 -0
  1530. package/node_modules/turf-jsts/src/org/locationtech/jts/index/chain/MonotoneChainOverlapAction.js +31 -0
  1531. package/node_modules/turf-jsts/src/org/locationtech/jts/index/chain/MonotoneChainSelectAction.js +25 -0
  1532. package/node_modules/turf-jsts/src/org/locationtech/jts/index/intervalrtree/IntervalRTreeBranchNode.js +31 -0
  1533. package/node_modules/turf-jsts/src/org/locationtech/jts/index/intervalrtree/IntervalRTreeLeafNode.js +24 -0
  1534. package/node_modules/turf-jsts/src/org/locationtech/jts/index/intervalrtree/IntervalRTreeNode.js +49 -0
  1535. package/node_modules/turf-jsts/src/org/locationtech/jts/index/intervalrtree/SortedPackedIntervalRTree.js +68 -0
  1536. package/node_modules/turf-jsts/src/org/locationtech/jts/index/intervalrtree.js +5 -0
  1537. package/node_modules/turf-jsts/src/org/locationtech/jts/index/kdtree/KdNode.js +68 -0
  1538. package/node_modules/turf-jsts/src/org/locationtech/jts/index/kdtree/KdNodeVisitor.js +9 -0
  1539. package/node_modules/turf-jsts/src/org/locationtech/jts/index/kdtree/KdTree.js +201 -0
  1540. package/node_modules/turf-jsts/src/org/locationtech/jts/index/kdtree.js +4 -0
  1541. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/DoubleBits.js +86 -0
  1542. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/IntervalSize.js +19 -0
  1543. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/Key.js +57 -0
  1544. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/Node.js +114 -0
  1545. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/NodeBase.js +131 -0
  1546. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/Quadtree.js +81 -0
  1547. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree/Root.js +39 -0
  1548. package/node_modules/turf-jsts/src/org/locationtech/jts/index/quadtree.js +8 -0
  1549. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/AbstractNode.js +45 -0
  1550. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/AbstractSTRtree.js +296 -0
  1551. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/Boundable.js +9 -0
  1552. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/BoundablePair.js +83 -0
  1553. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/GeometryItemDistance.js +15 -0
  1554. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/Interval.js +46 -0
  1555. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/ItemBoundable.js +25 -0
  1556. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/ItemDistance.js +9 -0
  1557. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/SIRtree.js +88 -0
  1558. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree/STRtree.js +234 -0
  1559. package/node_modules/turf-jsts/src/org/locationtech/jts/index/strtree.js +11 -0
  1560. package/node_modules/turf-jsts/src/org/locationtech/jts/index/sweepline/SweepLineEvent.js +53 -0
  1561. package/node_modules/turf-jsts/src/org/locationtech/jts/index/sweepline/SweepLineIndex.js +53 -0
  1562. package/node_modules/turf-jsts/src/org/locationtech/jts/index/sweepline/SweepLineInterval.js +34 -0
  1563. package/node_modules/turf-jsts/src/org/locationtech/jts/index/sweepline/SweepLineOverlapAction.js +9 -0
  1564. package/node_modules/turf-jsts/src/org/locationtech/jts/index/sweepline.js +5 -0
  1565. package/node_modules/turf-jsts/src/org/locationtech/jts/index.js +2 -0
  1566. package/node_modules/turf-jsts/src/org/locationtech/jts/io/GeoJSONParser.js +439 -0
  1567. package/node_modules/turf-jsts/src/org/locationtech/jts/io/GeoJSONReader.js +59 -0
  1568. package/node_modules/turf-jsts/src/org/locationtech/jts/io/GeoJSONWriter.js +36 -0
  1569. package/node_modules/turf-jsts/src/org/locationtech/jts/io/OL3Parser.js +181 -0
  1570. package/node_modules/turf-jsts/src/org/locationtech/jts/io/WKTParser.js +398 -0
  1571. package/node_modules/turf-jsts/src/org/locationtech/jts/io/WKTReader.js +62 -0
  1572. package/node_modules/turf-jsts/src/org/locationtech/jts/io/WKTWriter.js +53 -0
  1573. package/node_modules/turf-jsts/src/org/locationtech/jts/io.js +8 -0
  1574. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/ExtractLineByLocation.js +69 -0
  1575. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LengthIndexOfPoint.js +65 -0
  1576. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LengthIndexedLine.js +86 -0
  1577. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LengthLocationMap.js +106 -0
  1578. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LinearGeometryBuilder.js +74 -0
  1579. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LinearIterator.js +88 -0
  1580. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LinearLocation.js +207 -0
  1581. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LocationIndexOfLine.js +33 -0
  1582. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LocationIndexOfPoint.js +68 -0
  1583. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref/LocationIndexedLine.js +65 -0
  1584. package/node_modules/turf-jsts/src/org/locationtech/jts/linearref.js +11 -0
  1585. package/node_modules/turf-jsts/src/org/locationtech/jts/math/DD.js +639 -0
  1586. package/node_modules/turf-jsts/src/org/locationtech/jts/math/MathUtil.js +71 -0
  1587. package/node_modules/turf-jsts/src/org/locationtech/jts/math/Matrix.js +54 -0
  1588. package/node_modules/turf-jsts/src/org/locationtech/jts/math/Plane3D.js +41 -0
  1589. package/node_modules/turf-jsts/src/org/locationtech/jts/math/Vector2D.js +180 -0
  1590. package/node_modules/turf-jsts/src/org/locationtech/jts/math/Vector3D.js +97 -0
  1591. package/node_modules/turf-jsts/src/org/locationtech/jts/monkey.js +167 -0
  1592. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/BasicSegmentString.js +46 -0
  1593. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/FastNodingValidator.js +64 -0
  1594. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/FastSegmentSetIntersectionFinder.js +31 -0
  1595. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/InteriorIntersectionFinder.js +96 -0
  1596. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/InteriorIntersectionFinderAdder.js +41 -0
  1597. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/IntersectionAdder.js +90 -0
  1598. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/IteratedNoder.js +54 -0
  1599. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/MCIndexNoder.js +91 -0
  1600. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/MCIndexSegmentSetMutualIntersector.js +88 -0
  1601. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/NodableSegmentString.js +11 -0
  1602. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/NodedSegmentString.js +103 -0
  1603. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/Noder.js +10 -0
  1604. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/NodingValidator.js +105 -0
  1605. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/Octant.js +40 -0
  1606. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/OrientedCoordinateArray.js +46 -0
  1607. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/ScaledNoder.js +99 -0
  1608. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentIntersectionDetector.js +81 -0
  1609. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentIntersector.js +10 -0
  1610. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentNode.js +50 -0
  1611. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentNodeList.js +210 -0
  1612. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentPointComparator.js +48 -0
  1613. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentSetMutualIntersector.js +9 -0
  1614. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentString.js +14 -0
  1615. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentStringDissolver.js +58 -0
  1616. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SegmentStringUtil.js +49 -0
  1617. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SimpleNoder.js +37 -0
  1618. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SimpleSegmentSetMutualIntersector.js +35 -0
  1619. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/SinglePassNoder.js +20 -0
  1620. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/snapround/GeometryNoder.js +63 -0
  1621. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/snapround/HotPixel.js +126 -0
  1622. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/snapround/MCIndexPointSnapper.js +75 -0
  1623. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/snapround/MCIndexSnapRounder.js +90 -0
  1624. package/node_modules/turf-jsts/src/org/locationtech/jts/noding/snapround/SimpleSnapRounder.js +109 -0
  1625. package/node_modules/turf-jsts/src/org/locationtech/jts/noding.js +3 -0
  1626. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/boundary/BoundaryOp.js +117 -0
  1627. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/boundary.js +2 -0
  1628. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/BufferBuilder.js +150 -0
  1629. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/BufferInputLineSimplifier.js +98 -0
  1630. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/BufferOp.js +139 -0
  1631. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/BufferParameters.js +95 -0
  1632. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/BufferSubgraph.js +151 -0
  1633. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/OffsetCurveBuilder.js +170 -0
  1634. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/OffsetCurveSetBuilder.js +122 -0
  1635. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/OffsetSegmentGenerator.js +289 -0
  1636. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/OffsetSegmentString.js +68 -0
  1637. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/RightmostEdgeFinder.js +95 -0
  1638. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/SubgraphDepthLocater.js +111 -0
  1639. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/validate/BufferCurveMaximumDistanceFinder.js +92 -0
  1640. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/validate/BufferDistanceValidator.js +107 -0
  1641. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/validate/BufferResultValidator.js +116 -0
  1642. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/validate/DistanceToPointFinder.js +61 -0
  1643. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer/validate/PointPairDistance.js +75 -0
  1644. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/buffer.js +19 -0
  1645. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/ConnectedElementLocationFilter.js +28 -0
  1646. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/ConnectedElementPointFilter.js +27 -0
  1647. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/DistanceOp.js +239 -0
  1648. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/FacetSequence.js +114 -0
  1649. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/FacetSequenceTreeBuilder.js +57 -0
  1650. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/GeometryLocation.js +38 -0
  1651. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance/IndexedFacetDistance.js +45 -0
  1652. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance.js +8 -0
  1653. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance3d/AxisPlaneCoordinateSequence.js +80 -0
  1654. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance3d/Distance3DOp.js +312 -0
  1655. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance3d/PlanarPolygon3D.js +117 -0
  1656. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/distance3d.js +4 -0
  1657. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/geometrygraph/GeometryGraphOp.js +46 -0
  1658. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/geometrygraph.js +2 -0
  1659. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/issimple/IsSimpleOp.js +164 -0
  1660. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/issimple.js +2 -0
  1661. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge/EdgeString.js +46 -0
  1662. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge/LineMergeDirectedEdge.js +28 -0
  1663. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge/LineMergeEdge.js +17 -0
  1664. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge/LineMergeGraph.js +38 -0
  1665. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge/LineMerger.js +116 -0
  1666. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge/LineSequencer.js +249 -0
  1667. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/linemerge.js +7 -0
  1668. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/ConsistentPolygonRingChecker.js +74 -0
  1669. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/EdgeSetNoder.js +32 -0
  1670. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/LineBuilder.js +96 -0
  1671. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/MaximalEdgeRing.js +43 -0
  1672. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/MinimalEdgeRing.js +21 -0
  1673. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/OverlayNodeFactory.js +15 -0
  1674. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/OverlayOp.js +332 -0
  1675. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/PointBuilder.js +45 -0
  1676. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/PolygonBuilder.js +152 -0
  1677. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/snap/GeometrySnapper.js +115 -0
  1678. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/snap/LineStringSnapper.js +93 -0
  1679. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/snap/SnapIfNeededOverlayOp.js +57 -0
  1680. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/snap/SnapOverlayOp.js +73 -0
  1681. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/validate/FuzzyPointLocator.js +77 -0
  1682. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/validate/OffsetPointGenerator.js +55 -0
  1683. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay/validate/OverlayResultValidator.js +88 -0
  1684. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/overlay.js +21 -0
  1685. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/polygonize/EdgeRing.js +232 -0
  1686. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/polygonize/PolygonizeDirectedEdge.js +41 -0
  1687. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/polygonize/PolygonizeEdge.js +17 -0
  1688. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/polygonize/PolygonizeGraph.js +249 -0
  1689. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/polygonize/Polygonizer.js +186 -0
  1690. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/polygonize.js +6 -0
  1691. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/predicate/RectangleContains.js +64 -0
  1692. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/predicate/RectangleIntersects.js +158 -0
  1693. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/predicate.js +3 -0
  1694. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/EdgeEndBuilder.js +64 -0
  1695. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/EdgeEndBundle.js +96 -0
  1696. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/EdgeEndBundleStar.js +26 -0
  1697. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/RelateComputer.js +172 -0
  1698. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/RelateNode.js +21 -0
  1699. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/RelateNodeFactory.js +15 -0
  1700. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/RelateNodeGraph.js +52 -0
  1701. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate/RelateOp.js +109 -0
  1702. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/relate.js +9 -0
  1703. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/union/CascadedPolygonUnion.js +157 -0
  1704. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/union/PointGeometryUnion.js +47 -0
  1705. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/union/UnaryUnionOp.js +105 -0
  1706. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/union/UnionInteracting.js +75 -0
  1707. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/union/UnionOp.js +21 -0
  1708. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/union.js +6 -0
  1709. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/ConnectedInteriorTester.js +121 -0
  1710. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/ConsistentAreaTester.js +54 -0
  1711. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/IndexedNestedRingTester.js +60 -0
  1712. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/IsValidOp.js +324 -0
  1713. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/QuadtreeNestedRingTester.js +61 -0
  1714. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/RepeatedPointTester.js +56 -0
  1715. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/SimpleNestedRingTester.js +46 -0
  1716. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/SweeplineNestedRingTester.js +57 -0
  1717. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid/TopologyValidationError.js +48 -0
  1718. package/node_modules/turf-jsts/src/org/locationtech/jts/operation/valid.js +10 -0
  1719. package/node_modules/turf-jsts/src/org/locationtech/jts/operation.js +4 -0
  1720. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/DirectedEdge.js +101 -0
  1721. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/DirectedEdgeStar.js +79 -0
  1722. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/Edge.js +51 -0
  1723. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/GraphComponent.js +56 -0
  1724. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/Node.js +60 -0
  1725. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/NodeMap.js +29 -0
  1726. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/PlanarGraph.js +100 -0
  1727. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/Subgraph.js +43 -0
  1728. package/node_modules/turf-jsts/src/org/locationtech/jts/planargraph/algorithm/ConnectedSubgraphFinder.js +52 -0
  1729. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/CommonBits.js +67 -0
  1730. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/CommonBitsOp.js +63 -0
  1731. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/CommonBitsRemover.js +87 -0
  1732. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/CoordinatePrecisionReducerFilter.js +25 -0
  1733. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/EnhancedPrecisionOp.js +116 -0
  1734. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/GeometryPrecisionReducer.js +82 -0
  1735. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/MinimumClearance.js +132 -0
  1736. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/PrecisionReducerCoordinateOperation.js +39 -0
  1737. package/node_modules/turf-jsts/src/org/locationtech/jts/precision/SimpleMinimumClearance.js +126 -0
  1738. package/node_modules/turf-jsts/src/org/locationtech/jts/precision.js +10 -0
  1739. package/node_modules/turf-jsts/src/org/locationtech/jts/shape/GeometricShapeBuilder.js +54 -0
  1740. package/node_modules/turf-jsts/src/org/locationtech/jts/shape/fractal/KochSnowflakeBuilder.js +66 -0
  1741. package/node_modules/turf-jsts/src/org/locationtech/jts/shape/fractal/SierpinskiCarpetBuilder.js +57 -0
  1742. package/node_modules/turf-jsts/src/org/locationtech/jts/shape/random/RandomPointsBuilder.js +56 -0
  1743. package/node_modules/turf-jsts/src/org/locationtech/jts/shape/random/RandomPointsInGridBuilder.js +70 -0
  1744. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/DouglasPeuckerLineSimplifier.js +64 -0
  1745. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/DouglasPeuckerSimplifier.js +90 -0
  1746. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/LineSegmentIndex.js +63 -0
  1747. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/TaggedLineSegment.js +36 -0
  1748. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/TaggedLineString.js +78 -0
  1749. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/TaggedLineStringSimplifier.js +129 -0
  1750. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/TaggedLinesSimplifier.js +29 -0
  1751. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/TopologyPreservingSimplifier.js +88 -0
  1752. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/VWLineSimplifier.js +135 -0
  1753. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify/VWSimplifier.js +90 -0
  1754. package/node_modules/turf-jsts/src/org/locationtech/jts/simplify.js +11 -0
  1755. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/ConformingDelaunayTriangulationBuilder.js +95 -0
  1756. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/ConformingDelaunayTriangulator.js +216 -0
  1757. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/ConstraintEnforcementException.js +29 -0
  1758. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/ConstraintSplitPointFinder.js +9 -0
  1759. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/ConstraintVertex.js +34 -0
  1760. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/ConstraintVertexFactory.js +9 -0
  1761. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/DelaunayTriangulationBuilder.js +84 -0
  1762. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/IncrementalDelaunayTriangulator.js +50 -0
  1763. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/MidpointSplitPointFinder.js +16 -0
  1764. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/NonEncroachingSplitPointFinder.js +31 -0
  1765. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/Segment.js +96 -0
  1766. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/SplitSegment.js +56 -0
  1767. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/VertexTaggedGeometryDataMapper.js +48 -0
  1768. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/VoronoiDiagramBuilder.js +77 -0
  1769. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/EdgeConnectedTriangleTraversal.js +39 -0
  1770. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/LastFoundQuadEdgeLocator.js +32 -0
  1771. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/LocateFailureException.js +32 -0
  1772. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdge.js +146 -0
  1773. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdgeLocator.js +9 -0
  1774. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdgeSubdivision.js +456 -0
  1775. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdgeTriangle.js +191 -0
  1776. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/QuadEdgeUtil.js +19 -0
  1777. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/TraversalVisitor.js +9 -0
  1778. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/TrianglePredicate.js +113 -0
  1779. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/TriangleVisitor.js +9 -0
  1780. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge/Vertex.js +210 -0
  1781. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate/quadedge.js +5 -0
  1782. package/node_modules/turf-jsts/src/org/locationtech/jts/triangulate.js +15 -0
  1783. package/node_modules/turf-jsts/src/org/locationtech/jts/util/Assert.js +53 -0
  1784. package/node_modules/turf-jsts/src/org/locationtech/jts/util/AssertionFailedException.js +19 -0
  1785. package/node_modules/turf-jsts/src/org/locationtech/jts/util/CollectionUtil.js +35 -0
  1786. package/node_modules/turf-jsts/src/org/locationtech/jts/util/CoordinateArrayFilter.js +22 -0
  1787. package/node_modules/turf-jsts/src/org/locationtech/jts/util/CoordinateCountFilter.js +19 -0
  1788. package/node_modules/turf-jsts/src/org/locationtech/jts/util/GeometricShapeFactory.js +266 -0
  1789. package/node_modules/turf-jsts/src/org/locationtech/jts/util/Memory.js +47 -0
  1790. package/node_modules/turf-jsts/src/org/locationtech/jts/util/NumberUtil.js +11 -0
  1791. package/node_modules/turf-jsts/src/org/locationtech/jts/util/ObjectCounter.js +44 -0
  1792. package/node_modules/turf-jsts/src/org/locationtech/jts/util/PriorityQueue.js +55 -0
  1793. package/node_modules/turf-jsts/src/org/locationtech/jts/util/StringUtil.js +79 -0
  1794. package/node_modules/turf-jsts/src/org/locationtech/jts/util/UniqueCoordinateArrayFilter.js +33 -0
  1795. package/package.json +3 -1
  1796. package/tak-registration.html +6 -2
  1797. package/tak-registration.js +173 -22
@@ -0,0 +1,2557 @@
1
+ (function (global, factory) {
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
+ typeof define === 'function' && define.amd ? define(factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.polygonClipping = factory());
5
+ }(this, (function () { 'use strict';
6
+
7
+ function _classCallCheck(instance, Constructor) {
8
+ if (!(instance instanceof Constructor)) {
9
+ throw new TypeError("Cannot call a class as a function");
10
+ }
11
+ }
12
+
13
+ function _defineProperties(target, props) {
14
+ for (var i = 0; i < props.length; i++) {
15
+ var descriptor = props[i];
16
+ descriptor.enumerable = descriptor.enumerable || false;
17
+ descriptor.configurable = true;
18
+ if ("value" in descriptor) descriptor.writable = true;
19
+ Object.defineProperty(target, descriptor.key, descriptor);
20
+ }
21
+ }
22
+
23
+ function _createClass(Constructor, protoProps, staticProps) {
24
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
25
+ if (staticProps) _defineProperties(Constructor, staticProps);
26
+ return Constructor;
27
+ }
28
+
29
+ /**
30
+ * splaytree v3.1.0
31
+ * Fast Splay tree for Node and browser
32
+ *
33
+ * @author Alexander Milevski <info@w8r.name>
34
+ * @license MIT
35
+ * @preserve
36
+ */
37
+ var Node =
38
+ /** @class */
39
+ function () {
40
+ function Node(key, data) {
41
+ this.next = null;
42
+ this.key = key;
43
+ this.data = data;
44
+ this.left = null;
45
+ this.right = null;
46
+ }
47
+
48
+ return Node;
49
+ }();
50
+ /* follows "An implementation of top-down splaying"
51
+ * by D. Sleator <sleator@cs.cmu.edu> March 1992
52
+ */
53
+
54
+
55
+ function DEFAULT_COMPARE(a, b) {
56
+ return a > b ? 1 : a < b ? -1 : 0;
57
+ }
58
+ /**
59
+ * Simple top down splay, not requiring i to be in the tree t.
60
+ */
61
+
62
+
63
+ function splay(i, t, comparator) {
64
+ var N = new Node(null, null);
65
+ var l = N;
66
+ var r = N;
67
+
68
+ while (true) {
69
+ var cmp = comparator(i, t.key); //if (i < t.key) {
70
+
71
+ if (cmp < 0) {
72
+ if (t.left === null) break; //if (i < t.left.key) {
73
+
74
+ if (comparator(i, t.left.key) < 0) {
75
+ var y = t.left;
76
+ /* rotate right */
77
+
78
+ t.left = y.right;
79
+ y.right = t;
80
+ t = y;
81
+ if (t.left === null) break;
82
+ }
83
+
84
+ r.left = t;
85
+ /* link right */
86
+
87
+ r = t;
88
+ t = t.left; //} else if (i > t.key) {
89
+ } else if (cmp > 0) {
90
+ if (t.right === null) break; //if (i > t.right.key) {
91
+
92
+ if (comparator(i, t.right.key) > 0) {
93
+ var y = t.right;
94
+ /* rotate left */
95
+
96
+ t.right = y.left;
97
+ y.left = t;
98
+ t = y;
99
+ if (t.right === null) break;
100
+ }
101
+
102
+ l.right = t;
103
+ /* link left */
104
+
105
+ l = t;
106
+ t = t.right;
107
+ } else break;
108
+ }
109
+ /* assemble */
110
+
111
+
112
+ l.right = t.left;
113
+ r.left = t.right;
114
+ t.left = N.right;
115
+ t.right = N.left;
116
+ return t;
117
+ }
118
+
119
+ function insert(i, data, t, comparator) {
120
+ var node = new Node(i, data);
121
+
122
+ if (t === null) {
123
+ node.left = node.right = null;
124
+ return node;
125
+ }
126
+
127
+ t = splay(i, t, comparator);
128
+ var cmp = comparator(i, t.key);
129
+
130
+ if (cmp < 0) {
131
+ node.left = t.left;
132
+ node.right = t;
133
+ t.left = null;
134
+ } else if (cmp >= 0) {
135
+ node.right = t.right;
136
+ node.left = t;
137
+ t.right = null;
138
+ }
139
+
140
+ return node;
141
+ }
142
+
143
+ function split(key, v, comparator) {
144
+ var left = null;
145
+ var right = null;
146
+
147
+ if (v) {
148
+ v = splay(key, v, comparator);
149
+ var cmp = comparator(v.key, key);
150
+
151
+ if (cmp === 0) {
152
+ left = v.left;
153
+ right = v.right;
154
+ } else if (cmp < 0) {
155
+ right = v.right;
156
+ v.right = null;
157
+ left = v;
158
+ } else {
159
+ left = v.left;
160
+ v.left = null;
161
+ right = v;
162
+ }
163
+ }
164
+
165
+ return {
166
+ left: left,
167
+ right: right
168
+ };
169
+ }
170
+
171
+ function merge(left, right, comparator) {
172
+ if (right === null) return left;
173
+ if (left === null) return right;
174
+ right = splay(left.key, right, comparator);
175
+ right.left = left;
176
+ return right;
177
+ }
178
+ /**
179
+ * Prints level of the tree
180
+ */
181
+
182
+
183
+ function printRow(root, prefix, isTail, out, printNode) {
184
+ if (root) {
185
+ out("" + prefix + (isTail ? '└── ' : '├── ') + printNode(root) + "\n");
186
+ var indent = prefix + (isTail ? ' ' : '│ ');
187
+ if (root.left) printRow(root.left, indent, false, out, printNode);
188
+ if (root.right) printRow(root.right, indent, true, out, printNode);
189
+ }
190
+ }
191
+
192
+ var Tree =
193
+ /** @class */
194
+ function () {
195
+ function Tree(comparator) {
196
+ if (comparator === void 0) {
197
+ comparator = DEFAULT_COMPARE;
198
+ }
199
+
200
+ this._root = null;
201
+ this._size = 0;
202
+ this._comparator = comparator;
203
+ }
204
+ /**
205
+ * Inserts a key, allows duplicates
206
+ */
207
+
208
+
209
+ Tree.prototype.insert = function (key, data) {
210
+ this._size++;
211
+ return this._root = insert(key, data, this._root, this._comparator);
212
+ };
213
+ /**
214
+ * Adds a key, if it is not present in the tree
215
+ */
216
+
217
+
218
+ Tree.prototype.add = function (key, data) {
219
+ var node = new Node(key, data);
220
+
221
+ if (this._root === null) {
222
+ node.left = node.right = null;
223
+ this._size++;
224
+ this._root = node;
225
+ }
226
+
227
+ var comparator = this._comparator;
228
+ var t = splay(key, this._root, comparator);
229
+ var cmp = comparator(key, t.key);
230
+ if (cmp === 0) this._root = t;else {
231
+ if (cmp < 0) {
232
+ node.left = t.left;
233
+ node.right = t;
234
+ t.left = null;
235
+ } else if (cmp > 0) {
236
+ node.right = t.right;
237
+ node.left = t;
238
+ t.right = null;
239
+ }
240
+
241
+ this._size++;
242
+ this._root = node;
243
+ }
244
+ return this._root;
245
+ };
246
+ /**
247
+ * @param {Key} key
248
+ * @return {Node|null}
249
+ */
250
+
251
+
252
+ Tree.prototype.remove = function (key) {
253
+ this._root = this._remove(key, this._root, this._comparator);
254
+ };
255
+ /**
256
+ * Deletes i from the tree if it's there
257
+ */
258
+
259
+
260
+ Tree.prototype._remove = function (i, t, comparator) {
261
+ var x;
262
+ if (t === null) return null;
263
+ t = splay(i, t, comparator);
264
+ var cmp = comparator(i, t.key);
265
+
266
+ if (cmp === 0) {
267
+ /* found it */
268
+ if (t.left === null) {
269
+ x = t.right;
270
+ } else {
271
+ x = splay(i, t.left, comparator);
272
+ x.right = t.right;
273
+ }
274
+
275
+ this._size--;
276
+ return x;
277
+ }
278
+
279
+ return t;
280
+ /* It wasn't there */
281
+ };
282
+ /**
283
+ * Removes and returns the node with smallest key
284
+ */
285
+
286
+
287
+ Tree.prototype.pop = function () {
288
+ var node = this._root;
289
+
290
+ if (node) {
291
+ while (node.left) {
292
+ node = node.left;
293
+ }
294
+
295
+ this._root = splay(node.key, this._root, this._comparator);
296
+ this._root = this._remove(node.key, this._root, this._comparator);
297
+ return {
298
+ key: node.key,
299
+ data: node.data
300
+ };
301
+ }
302
+
303
+ return null;
304
+ };
305
+ /**
306
+ * Find without splaying
307
+ */
308
+
309
+
310
+ Tree.prototype.findStatic = function (key) {
311
+ var current = this._root;
312
+ var compare = this._comparator;
313
+
314
+ while (current) {
315
+ var cmp = compare(key, current.key);
316
+ if (cmp === 0) return current;else if (cmp < 0) current = current.left;else current = current.right;
317
+ }
318
+
319
+ return null;
320
+ };
321
+
322
+ Tree.prototype.find = function (key) {
323
+ if (this._root) {
324
+ this._root = splay(key, this._root, this._comparator);
325
+ if (this._comparator(key, this._root.key) !== 0) return null;
326
+ }
327
+
328
+ return this._root;
329
+ };
330
+
331
+ Tree.prototype.contains = function (key) {
332
+ var current = this._root;
333
+ var compare = this._comparator;
334
+
335
+ while (current) {
336
+ var cmp = compare(key, current.key);
337
+ if (cmp === 0) return true;else if (cmp < 0) current = current.left;else current = current.right;
338
+ }
339
+
340
+ return false;
341
+ };
342
+
343
+ Tree.prototype.forEach = function (visitor, ctx) {
344
+ var current = this._root;
345
+ var Q = [];
346
+ /* Initialize stack s */
347
+
348
+ var done = false;
349
+
350
+ while (!done) {
351
+ if (current !== null) {
352
+ Q.push(current);
353
+ current = current.left;
354
+ } else {
355
+ if (Q.length !== 0) {
356
+ current = Q.pop();
357
+ visitor.call(ctx, current);
358
+ current = current.right;
359
+ } else done = true;
360
+ }
361
+ }
362
+
363
+ return this;
364
+ };
365
+ /**
366
+ * Walk key range from `low` to `high`. Stops if `fn` returns a value.
367
+ */
368
+
369
+
370
+ Tree.prototype.range = function (low, high, fn, ctx) {
371
+ var Q = [];
372
+ var compare = this._comparator;
373
+ var node = this._root;
374
+ var cmp;
375
+
376
+ while (Q.length !== 0 || node) {
377
+ if (node) {
378
+ Q.push(node);
379
+ node = node.left;
380
+ } else {
381
+ node = Q.pop();
382
+ cmp = compare(node.key, high);
383
+
384
+ if (cmp > 0) {
385
+ break;
386
+ } else if (compare(node.key, low) >= 0) {
387
+ if (fn.call(ctx, node)) return this; // stop if smth is returned
388
+ }
389
+
390
+ node = node.right;
391
+ }
392
+ }
393
+
394
+ return this;
395
+ };
396
+ /**
397
+ * Returns array of keys
398
+ */
399
+
400
+
401
+ Tree.prototype.keys = function () {
402
+ var keys = [];
403
+ this.forEach(function (_a) {
404
+ var key = _a.key;
405
+ return keys.push(key);
406
+ });
407
+ return keys;
408
+ };
409
+ /**
410
+ * Returns array of all the data in the nodes
411
+ */
412
+
413
+
414
+ Tree.prototype.values = function () {
415
+ var values = [];
416
+ this.forEach(function (_a) {
417
+ var data = _a.data;
418
+ return values.push(data);
419
+ });
420
+ return values;
421
+ };
422
+
423
+ Tree.prototype.min = function () {
424
+ if (this._root) return this.minNode(this._root).key;
425
+ return null;
426
+ };
427
+
428
+ Tree.prototype.max = function () {
429
+ if (this._root) return this.maxNode(this._root).key;
430
+ return null;
431
+ };
432
+
433
+ Tree.prototype.minNode = function (t) {
434
+ if (t === void 0) {
435
+ t = this._root;
436
+ }
437
+
438
+ if (t) while (t.left) {
439
+ t = t.left;
440
+ }
441
+ return t;
442
+ };
443
+
444
+ Tree.prototype.maxNode = function (t) {
445
+ if (t === void 0) {
446
+ t = this._root;
447
+ }
448
+
449
+ if (t) while (t.right) {
450
+ t = t.right;
451
+ }
452
+ return t;
453
+ };
454
+ /**
455
+ * Returns node at given index
456
+ */
457
+
458
+
459
+ Tree.prototype.at = function (index) {
460
+ var current = this._root;
461
+ var done = false;
462
+ var i = 0;
463
+ var Q = [];
464
+
465
+ while (!done) {
466
+ if (current) {
467
+ Q.push(current);
468
+ current = current.left;
469
+ } else {
470
+ if (Q.length > 0) {
471
+ current = Q.pop();
472
+ if (i === index) return current;
473
+ i++;
474
+ current = current.right;
475
+ } else done = true;
476
+ }
477
+ }
478
+
479
+ return null;
480
+ };
481
+
482
+ Tree.prototype.next = function (d) {
483
+ var root = this._root;
484
+ var successor = null;
485
+
486
+ if (d.right) {
487
+ successor = d.right;
488
+
489
+ while (successor.left) {
490
+ successor = successor.left;
491
+ }
492
+
493
+ return successor;
494
+ }
495
+
496
+ var comparator = this._comparator;
497
+
498
+ while (root) {
499
+ var cmp = comparator(d.key, root.key);
500
+ if (cmp === 0) break;else if (cmp < 0) {
501
+ successor = root;
502
+ root = root.left;
503
+ } else root = root.right;
504
+ }
505
+
506
+ return successor;
507
+ };
508
+
509
+ Tree.prototype.prev = function (d) {
510
+ var root = this._root;
511
+ var predecessor = null;
512
+
513
+ if (d.left !== null) {
514
+ predecessor = d.left;
515
+
516
+ while (predecessor.right) {
517
+ predecessor = predecessor.right;
518
+ }
519
+
520
+ return predecessor;
521
+ }
522
+
523
+ var comparator = this._comparator;
524
+
525
+ while (root) {
526
+ var cmp = comparator(d.key, root.key);
527
+ if (cmp === 0) break;else if (cmp < 0) root = root.left;else {
528
+ predecessor = root;
529
+ root = root.right;
530
+ }
531
+ }
532
+
533
+ return predecessor;
534
+ };
535
+
536
+ Tree.prototype.clear = function () {
537
+ this._root = null;
538
+ this._size = 0;
539
+ return this;
540
+ };
541
+
542
+ Tree.prototype.toList = function () {
543
+ return toList(this._root);
544
+ };
545
+ /**
546
+ * Bulk-load items. Both array have to be same size
547
+ */
548
+
549
+
550
+ Tree.prototype.load = function (keys, values, presort) {
551
+ if (values === void 0) {
552
+ values = [];
553
+ }
554
+
555
+ if (presort === void 0) {
556
+ presort = false;
557
+ }
558
+
559
+ var size = keys.length;
560
+ var comparator = this._comparator; // sort if needed
561
+
562
+ if (presort) sort(keys, values, 0, size - 1, comparator);
563
+
564
+ if (this._root === null) {
565
+ // empty tree
566
+ this._root = loadRecursive(keys, values, 0, size);
567
+ this._size = size;
568
+ } else {
569
+ // that re-builds the whole tree from two in-order traversals
570
+ var mergedList = mergeLists(this.toList(), createList(keys, values), comparator);
571
+ size = this._size + size;
572
+ this._root = sortedListToBST({
573
+ head: mergedList
574
+ }, 0, size);
575
+ }
576
+
577
+ return this;
578
+ };
579
+
580
+ Tree.prototype.isEmpty = function () {
581
+ return this._root === null;
582
+ };
583
+
584
+ Object.defineProperty(Tree.prototype, "size", {
585
+ get: function get() {
586
+ return this._size;
587
+ },
588
+ enumerable: true,
589
+ configurable: true
590
+ });
591
+ Object.defineProperty(Tree.prototype, "root", {
592
+ get: function get() {
593
+ return this._root;
594
+ },
595
+ enumerable: true,
596
+ configurable: true
597
+ });
598
+
599
+ Tree.prototype.toString = function (printNode) {
600
+ if (printNode === void 0) {
601
+ printNode = function printNode(n) {
602
+ return String(n.key);
603
+ };
604
+ }
605
+
606
+ var out = [];
607
+ printRow(this._root, '', true, function (v) {
608
+ return out.push(v);
609
+ }, printNode);
610
+ return out.join('');
611
+ };
612
+
613
+ Tree.prototype.update = function (key, newKey, newData) {
614
+ var comparator = this._comparator;
615
+
616
+ var _a = split(key, this._root, comparator),
617
+ left = _a.left,
618
+ right = _a.right;
619
+
620
+ if (comparator(key, newKey) < 0) {
621
+ right = insert(newKey, newData, right, comparator);
622
+ } else {
623
+ left = insert(newKey, newData, left, comparator);
624
+ }
625
+
626
+ this._root = merge(left, right, comparator);
627
+ };
628
+
629
+ Tree.prototype.split = function (key) {
630
+ return split(key, this._root, this._comparator);
631
+ };
632
+
633
+ return Tree;
634
+ }();
635
+
636
+ function loadRecursive(keys, values, start, end) {
637
+ var size = end - start;
638
+
639
+ if (size > 0) {
640
+ var middle = start + Math.floor(size / 2);
641
+ var key = keys[middle];
642
+ var data = values[middle];
643
+ var node = new Node(key, data);
644
+ node.left = loadRecursive(keys, values, start, middle);
645
+ node.right = loadRecursive(keys, values, middle + 1, end);
646
+ return node;
647
+ }
648
+
649
+ return null;
650
+ }
651
+
652
+ function createList(keys, values) {
653
+ var head = new Node(null, null);
654
+ var p = head;
655
+
656
+ for (var i = 0; i < keys.length; i++) {
657
+ p = p.next = new Node(keys[i], values[i]);
658
+ }
659
+
660
+ p.next = null;
661
+ return head.next;
662
+ }
663
+
664
+ function toList(root) {
665
+ var current = root;
666
+ var Q = [];
667
+ var done = false;
668
+ var head = new Node(null, null);
669
+ var p = head;
670
+
671
+ while (!done) {
672
+ if (current) {
673
+ Q.push(current);
674
+ current = current.left;
675
+ } else {
676
+ if (Q.length > 0) {
677
+ current = p = p.next = Q.pop();
678
+ current = current.right;
679
+ } else done = true;
680
+ }
681
+ }
682
+
683
+ p.next = null; // that'll work even if the tree was empty
684
+
685
+ return head.next;
686
+ }
687
+
688
+ function sortedListToBST(list, start, end) {
689
+ var size = end - start;
690
+
691
+ if (size > 0) {
692
+ var middle = start + Math.floor(size / 2);
693
+ var left = sortedListToBST(list, start, middle);
694
+ var root = list.head;
695
+ root.left = left;
696
+ list.head = list.head.next;
697
+ root.right = sortedListToBST(list, middle + 1, end);
698
+ return root;
699
+ }
700
+
701
+ return null;
702
+ }
703
+
704
+ function mergeLists(l1, l2, compare) {
705
+ var head = new Node(null, null); // dummy
706
+
707
+ var p = head;
708
+ var p1 = l1;
709
+ var p2 = l2;
710
+
711
+ while (p1 !== null && p2 !== null) {
712
+ if (compare(p1.key, p2.key) < 0) {
713
+ p.next = p1;
714
+ p1 = p1.next;
715
+ } else {
716
+ p.next = p2;
717
+ p2 = p2.next;
718
+ }
719
+
720
+ p = p.next;
721
+ }
722
+
723
+ if (p1 !== null) {
724
+ p.next = p1;
725
+ } else if (p2 !== null) {
726
+ p.next = p2;
727
+ }
728
+
729
+ return head.next;
730
+ }
731
+
732
+ function sort(keys, values, left, right, compare) {
733
+ if (left >= right) return;
734
+ var pivot = keys[left + right >> 1];
735
+ var i = left - 1;
736
+ var j = right + 1;
737
+
738
+ while (true) {
739
+ do {
740
+ i++;
741
+ } while (compare(keys[i], pivot) < 0);
742
+
743
+ do {
744
+ j--;
745
+ } while (compare(keys[j], pivot) > 0);
746
+
747
+ if (i >= j) break;
748
+ var tmp = keys[i];
749
+ keys[i] = keys[j];
750
+ keys[j] = tmp;
751
+ tmp = values[i];
752
+ values[i] = values[j];
753
+ values[j] = tmp;
754
+ }
755
+
756
+ sort(keys, values, left, j, compare);
757
+ sort(keys, values, j + 1, right, compare);
758
+ }
759
+
760
+ /**
761
+ * A bounding box has the format:
762
+ *
763
+ * { ll: { x: xmin, y: ymin }, ur: { x: xmax, y: ymax } }
764
+ *
765
+ */
766
+ var isInBbox = function isInBbox(bbox, point) {
767
+ return bbox.ll.x <= point.x && point.x <= bbox.ur.x && bbox.ll.y <= point.y && point.y <= bbox.ur.y;
768
+ };
769
+ /* Returns either null, or a bbox (aka an ordered pair of points)
770
+ * If there is only one point of overlap, a bbox with identical points
771
+ * will be returned */
772
+
773
+ var getBboxOverlap = function getBboxOverlap(b1, b2) {
774
+ // check if the bboxes overlap at all
775
+ if (b2.ur.x < b1.ll.x || b1.ur.x < b2.ll.x || b2.ur.y < b1.ll.y || b1.ur.y < b2.ll.y) return null; // find the middle two X values
776
+
777
+ var lowerX = b1.ll.x < b2.ll.x ? b2.ll.x : b1.ll.x;
778
+ var upperX = b1.ur.x < b2.ur.x ? b1.ur.x : b2.ur.x; // find the middle two Y values
779
+
780
+ var lowerY = b1.ll.y < b2.ll.y ? b2.ll.y : b1.ll.y;
781
+ var upperY = b1.ur.y < b2.ur.y ? b1.ur.y : b2.ur.y; // put those middle values together to get the overlap
782
+
783
+ return {
784
+ ll: {
785
+ x: lowerX,
786
+ y: lowerY
787
+ },
788
+ ur: {
789
+ x: upperX,
790
+ y: upperY
791
+ }
792
+ };
793
+ };
794
+
795
+ /* Javascript doesn't do integer math. Everything is
796
+ * floating point with percision Number.EPSILON.
797
+ *
798
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/EPSILON
799
+ */
800
+ var epsilon = Number.EPSILON; // IE Polyfill
801
+
802
+ if (epsilon === undefined) epsilon = Math.pow(2, -52);
803
+ var EPSILON_SQ = epsilon * epsilon;
804
+ /* FLP comparator */
805
+
806
+ var cmp = function cmp(a, b) {
807
+ // check if they're both 0
808
+ if (-epsilon < a && a < epsilon) {
809
+ if (-epsilon < b && b < epsilon) {
810
+ return 0;
811
+ }
812
+ } // check if they're flp equal
813
+
814
+
815
+ var ab = a - b;
816
+
817
+ if (ab * ab < EPSILON_SQ * a * b) {
818
+ return 0;
819
+ } // normal comparison
820
+
821
+
822
+ return a < b ? -1 : 1;
823
+ };
824
+
825
+ /**
826
+ * This class rounds incoming values sufficiently so that
827
+ * floating points problems are, for the most part, avoided.
828
+ *
829
+ * Incoming points are have their x & y values tested against
830
+ * all previously seen x & y values. If either is 'too close'
831
+ * to a previously seen value, it's value is 'snapped' to the
832
+ * previously seen value.
833
+ *
834
+ * All points should be rounded by this class before being
835
+ * stored in any data structures in the rest of this algorithm.
836
+ */
837
+
838
+ var PtRounder = /*#__PURE__*/function () {
839
+ function PtRounder() {
840
+ _classCallCheck(this, PtRounder);
841
+
842
+ this.reset();
843
+ }
844
+
845
+ _createClass(PtRounder, [{
846
+ key: "reset",
847
+ value: function reset() {
848
+ this.xRounder = new CoordRounder();
849
+ this.yRounder = new CoordRounder();
850
+ }
851
+ }, {
852
+ key: "round",
853
+ value: function round(x, y) {
854
+ return {
855
+ x: this.xRounder.round(x),
856
+ y: this.yRounder.round(y)
857
+ };
858
+ }
859
+ }]);
860
+
861
+ return PtRounder;
862
+ }();
863
+
864
+ var CoordRounder = /*#__PURE__*/function () {
865
+ function CoordRounder() {
866
+ _classCallCheck(this, CoordRounder);
867
+
868
+ this.tree = new Tree(); // preseed with 0 so we don't end up with values < Number.EPSILON
869
+
870
+ this.round(0);
871
+ } // Note: this can rounds input values backwards or forwards.
872
+ // You might ask, why not restrict this to just rounding
873
+ // forwards? Wouldn't that allow left endpoints to always
874
+ // remain left endpoints during splitting (never change to
875
+ // right). No - it wouldn't, because we snap intersections
876
+ // to endpoints (to establish independence from the segment
877
+ // angle for t-intersections).
878
+
879
+
880
+ _createClass(CoordRounder, [{
881
+ key: "round",
882
+ value: function round(coord) {
883
+ var node = this.tree.add(coord);
884
+ var prevNode = this.tree.prev(node);
885
+
886
+ if (prevNode !== null && cmp(node.key, prevNode.key) === 0) {
887
+ this.tree.remove(coord);
888
+ return prevNode.key;
889
+ }
890
+
891
+ var nextNode = this.tree.next(node);
892
+
893
+ if (nextNode !== null && cmp(node.key, nextNode.key) === 0) {
894
+ this.tree.remove(coord);
895
+ return nextNode.key;
896
+ }
897
+
898
+ return coord;
899
+ }
900
+ }]);
901
+
902
+ return CoordRounder;
903
+ }(); // singleton available by import
904
+
905
+
906
+ var rounder = new PtRounder();
907
+
908
+ /* Cross Product of two vectors with first point at origin */
909
+
910
+ var crossProduct = function crossProduct(a, b) {
911
+ return a.x * b.y - a.y * b.x;
912
+ };
913
+ /* Dot Product of two vectors with first point at origin */
914
+
915
+ var dotProduct = function dotProduct(a, b) {
916
+ return a.x * b.x + a.y * b.y;
917
+ };
918
+ /* Comparator for two vectors with same starting point */
919
+
920
+ var compareVectorAngles = function compareVectorAngles(basePt, endPt1, endPt2) {
921
+ var v1 = {
922
+ x: endPt1.x - basePt.x,
923
+ y: endPt1.y - basePt.y
924
+ };
925
+ var v2 = {
926
+ x: endPt2.x - basePt.x,
927
+ y: endPt2.y - basePt.y
928
+ };
929
+ var kross = crossProduct(v1, v2);
930
+ return cmp(kross, 0);
931
+ };
932
+ var length = function length(v) {
933
+ return Math.sqrt(dotProduct(v, v));
934
+ };
935
+ /* Get the sine of the angle from pShared -> pAngle to pShaed -> pBase */
936
+
937
+ var sineOfAngle = function sineOfAngle(pShared, pBase, pAngle) {
938
+ var vBase = {
939
+ x: pBase.x - pShared.x,
940
+ y: pBase.y - pShared.y
941
+ };
942
+ var vAngle = {
943
+ x: pAngle.x - pShared.x,
944
+ y: pAngle.y - pShared.y
945
+ };
946
+ return crossProduct(vAngle, vBase) / length(vAngle) / length(vBase);
947
+ };
948
+ /* Get the cosine of the angle from pShared -> pAngle to pShaed -> pBase */
949
+
950
+ var cosineOfAngle = function cosineOfAngle(pShared, pBase, pAngle) {
951
+ var vBase = {
952
+ x: pBase.x - pShared.x,
953
+ y: pBase.y - pShared.y
954
+ };
955
+ var vAngle = {
956
+ x: pAngle.x - pShared.x,
957
+ y: pAngle.y - pShared.y
958
+ };
959
+ return dotProduct(vAngle, vBase) / length(vAngle) / length(vBase);
960
+ };
961
+ /* Get the x coordinate where the given line (defined by a point and vector)
962
+ * crosses the horizontal line with the given y coordiante.
963
+ * In the case of parrallel lines (including overlapping ones) returns null. */
964
+
965
+ var horizontalIntersection = function horizontalIntersection(pt, v, y) {
966
+ if (v.y === 0) return null;
967
+ return {
968
+ x: pt.x + v.x / v.y * (y - pt.y),
969
+ y: y
970
+ };
971
+ };
972
+ /* Get the y coordinate where the given line (defined by a point and vector)
973
+ * crosses the vertical line with the given x coordiante.
974
+ * In the case of parrallel lines (including overlapping ones) returns null. */
975
+
976
+ var verticalIntersection = function verticalIntersection(pt, v, x) {
977
+ if (v.x === 0) return null;
978
+ return {
979
+ x: x,
980
+ y: pt.y + v.y / v.x * (x - pt.x)
981
+ };
982
+ };
983
+ /* Get the intersection of two lines, each defined by a base point and a vector.
984
+ * In the case of parrallel lines (including overlapping ones) returns null. */
985
+
986
+ var intersection = function intersection(pt1, v1, pt2, v2) {
987
+ // take some shortcuts for vertical and horizontal lines
988
+ // this also ensures we don't calculate an intersection and then discover
989
+ // it's actually outside the bounding box of the line
990
+ if (v1.x === 0) return verticalIntersection(pt2, v2, pt1.x);
991
+ if (v2.x === 0) return verticalIntersection(pt1, v1, pt2.x);
992
+ if (v1.y === 0) return horizontalIntersection(pt2, v2, pt1.y);
993
+ if (v2.y === 0) return horizontalIntersection(pt1, v1, pt2.y); // General case for non-overlapping segments.
994
+ // This algorithm is based on Schneider and Eberly.
995
+ // http://www.cimec.org.ar/~ncalvo/Schneider_Eberly.pdf - pg 244
996
+
997
+ var kross = crossProduct(v1, v2);
998
+ if (kross == 0) return null;
999
+ var ve = {
1000
+ x: pt2.x - pt1.x,
1001
+ y: pt2.y - pt1.y
1002
+ };
1003
+ var d1 = crossProduct(ve, v1) / kross;
1004
+ var d2 = crossProduct(ve, v2) / kross; // take the average of the two calculations to minimize rounding error
1005
+
1006
+ var x1 = pt1.x + d2 * v1.x,
1007
+ x2 = pt2.x + d1 * v2.x;
1008
+ var y1 = pt1.y + d2 * v1.y,
1009
+ y2 = pt2.y + d1 * v2.y;
1010
+ var x = (x1 + x2) / 2;
1011
+ var y = (y1 + y2) / 2;
1012
+ return {
1013
+ x: x,
1014
+ y: y
1015
+ };
1016
+ };
1017
+
1018
+ var SweepEvent = /*#__PURE__*/function () {
1019
+ _createClass(SweepEvent, null, [{
1020
+ key: "compare",
1021
+ // for ordering sweep events in the sweep event queue
1022
+ value: function compare(a, b) {
1023
+ // favor event with a point that the sweep line hits first
1024
+ var ptCmp = SweepEvent.comparePoints(a.point, b.point);
1025
+ if (ptCmp !== 0) return ptCmp; // the points are the same, so link them if needed
1026
+
1027
+ if (a.point !== b.point) a.link(b); // favor right events over left
1028
+
1029
+ if (a.isLeft !== b.isLeft) return a.isLeft ? 1 : -1; // we have two matching left or right endpoints
1030
+ // ordering of this case is the same as for their segments
1031
+
1032
+ return Segment.compare(a.segment, b.segment);
1033
+ } // for ordering points in sweep line order
1034
+
1035
+ }, {
1036
+ key: "comparePoints",
1037
+ value: function comparePoints(aPt, bPt) {
1038
+ if (aPt.x < bPt.x) return -1;
1039
+ if (aPt.x > bPt.x) return 1;
1040
+ if (aPt.y < bPt.y) return -1;
1041
+ if (aPt.y > bPt.y) return 1;
1042
+ return 0;
1043
+ } // Warning: 'point' input will be modified and re-used (for performance)
1044
+
1045
+ }]);
1046
+
1047
+ function SweepEvent(point, isLeft) {
1048
+ _classCallCheck(this, SweepEvent);
1049
+
1050
+ if (point.events === undefined) point.events = [this];else point.events.push(this);
1051
+ this.point = point;
1052
+ this.isLeft = isLeft; // this.segment, this.otherSE set by factory
1053
+ }
1054
+
1055
+ _createClass(SweepEvent, [{
1056
+ key: "link",
1057
+ value: function link(other) {
1058
+ if (other.point === this.point) {
1059
+ throw new Error('Tried to link already linked events');
1060
+ }
1061
+
1062
+ var otherEvents = other.point.events;
1063
+
1064
+ for (var i = 0, iMax = otherEvents.length; i < iMax; i++) {
1065
+ var evt = otherEvents[i];
1066
+ this.point.events.push(evt);
1067
+ evt.point = this.point;
1068
+ }
1069
+
1070
+ this.checkForConsuming();
1071
+ }
1072
+ /* Do a pass over our linked events and check to see if any pair
1073
+ * of segments match, and should be consumed. */
1074
+
1075
+ }, {
1076
+ key: "checkForConsuming",
1077
+ value: function checkForConsuming() {
1078
+ // FIXME: The loops in this method run O(n^2) => no good.
1079
+ // Maintain little ordered sweep event trees?
1080
+ // Can we maintaining an ordering that avoids the need
1081
+ // for the re-sorting with getLeftmostComparator in geom-out?
1082
+ // Compare each pair of events to see if other events also match
1083
+ var numEvents = this.point.events.length;
1084
+
1085
+ for (var i = 0; i < numEvents; i++) {
1086
+ var evt1 = this.point.events[i];
1087
+ if (evt1.segment.consumedBy !== undefined) continue;
1088
+
1089
+ for (var j = i + 1; j < numEvents; j++) {
1090
+ var evt2 = this.point.events[j];
1091
+ if (evt2.consumedBy !== undefined) continue;
1092
+ if (evt1.otherSE.point.events !== evt2.otherSE.point.events) continue;
1093
+ evt1.segment.consume(evt2.segment);
1094
+ }
1095
+ }
1096
+ }
1097
+ }, {
1098
+ key: "getAvailableLinkedEvents",
1099
+ value: function getAvailableLinkedEvents() {
1100
+ // point.events is always of length 2 or greater
1101
+ var events = [];
1102
+
1103
+ for (var i = 0, iMax = this.point.events.length; i < iMax; i++) {
1104
+ var evt = this.point.events[i];
1105
+
1106
+ if (evt !== this && !evt.segment.ringOut && evt.segment.isInResult()) {
1107
+ events.push(evt);
1108
+ }
1109
+ }
1110
+
1111
+ return events;
1112
+ }
1113
+ /**
1114
+ * Returns a comparator function for sorting linked events that will
1115
+ * favor the event that will give us the smallest left-side angle.
1116
+ * All ring construction starts as low as possible heading to the right,
1117
+ * so by always turning left as sharp as possible we'll get polygons
1118
+ * without uncessary loops & holes.
1119
+ *
1120
+ * The comparator function has a compute cache such that it avoids
1121
+ * re-computing already-computed values.
1122
+ */
1123
+
1124
+ }, {
1125
+ key: "getLeftmostComparator",
1126
+ value: function getLeftmostComparator(baseEvent) {
1127
+ var _this = this;
1128
+
1129
+ var cache = new Map();
1130
+
1131
+ var fillCache = function fillCache(linkedEvent) {
1132
+ var nextEvent = linkedEvent.otherSE;
1133
+ cache.set(linkedEvent, {
1134
+ sine: sineOfAngle(_this.point, baseEvent.point, nextEvent.point),
1135
+ cosine: cosineOfAngle(_this.point, baseEvent.point, nextEvent.point)
1136
+ });
1137
+ };
1138
+
1139
+ return function (a, b) {
1140
+ if (!cache.has(a)) fillCache(a);
1141
+ if (!cache.has(b)) fillCache(b);
1142
+
1143
+ var _cache$get = cache.get(a),
1144
+ asine = _cache$get.sine,
1145
+ acosine = _cache$get.cosine;
1146
+
1147
+ var _cache$get2 = cache.get(b),
1148
+ bsine = _cache$get2.sine,
1149
+ bcosine = _cache$get2.cosine; // both on or above x-axis
1150
+
1151
+
1152
+ if (asine >= 0 && bsine >= 0) {
1153
+ if (acosine < bcosine) return 1;
1154
+ if (acosine > bcosine) return -1;
1155
+ return 0;
1156
+ } // both below x-axis
1157
+
1158
+
1159
+ if (asine < 0 && bsine < 0) {
1160
+ if (acosine < bcosine) return -1;
1161
+ if (acosine > bcosine) return 1;
1162
+ return 0;
1163
+ } // one above x-axis, one below
1164
+
1165
+
1166
+ if (bsine < asine) return -1;
1167
+ if (bsine > asine) return 1;
1168
+ return 0;
1169
+ };
1170
+ }
1171
+ }]);
1172
+
1173
+ return SweepEvent;
1174
+ }();
1175
+
1176
+ // segments and sweep events when all else is identical
1177
+
1178
+ var segmentId = 0;
1179
+
1180
+ var Segment = /*#__PURE__*/function () {
1181
+ _createClass(Segment, null, [{
1182
+ key: "compare",
1183
+
1184
+ /* This compare() function is for ordering segments in the sweep
1185
+ * line tree, and does so according to the following criteria:
1186
+ *
1187
+ * Consider the vertical line that lies an infinestimal step to the
1188
+ * right of the right-more of the two left endpoints of the input
1189
+ * segments. Imagine slowly moving a point up from negative infinity
1190
+ * in the increasing y direction. Which of the two segments will that
1191
+ * point intersect first? That segment comes 'before' the other one.
1192
+ *
1193
+ * If neither segment would be intersected by such a line, (if one
1194
+ * or more of the segments are vertical) then the line to be considered
1195
+ * is directly on the right-more of the two left inputs.
1196
+ */
1197
+ value: function compare(a, b) {
1198
+ var alx = a.leftSE.point.x;
1199
+ var blx = b.leftSE.point.x;
1200
+ var arx = a.rightSE.point.x;
1201
+ var brx = b.rightSE.point.x; // check if they're even in the same vertical plane
1202
+
1203
+ if (brx < alx) return 1;
1204
+ if (arx < blx) return -1;
1205
+ var aly = a.leftSE.point.y;
1206
+ var bly = b.leftSE.point.y;
1207
+ var ary = a.rightSE.point.y;
1208
+ var bry = b.rightSE.point.y; // is left endpoint of segment B the right-more?
1209
+
1210
+ if (alx < blx) {
1211
+ // are the two segments in the same horizontal plane?
1212
+ if (bly < aly && bly < ary) return 1;
1213
+ if (bly > aly && bly > ary) return -1; // is the B left endpoint colinear to segment A?
1214
+
1215
+ var aCmpBLeft = a.comparePoint(b.leftSE.point);
1216
+ if (aCmpBLeft < 0) return 1;
1217
+ if (aCmpBLeft > 0) return -1; // is the A right endpoint colinear to segment B ?
1218
+
1219
+ var bCmpARight = b.comparePoint(a.rightSE.point);
1220
+ if (bCmpARight !== 0) return bCmpARight; // colinear segments, consider the one with left-more
1221
+ // left endpoint to be first (arbitrary?)
1222
+
1223
+ return -1;
1224
+ } // is left endpoint of segment A the right-more?
1225
+
1226
+
1227
+ if (alx > blx) {
1228
+ if (aly < bly && aly < bry) return -1;
1229
+ if (aly > bly && aly > bry) return 1; // is the A left endpoint colinear to segment B?
1230
+
1231
+ var bCmpALeft = b.comparePoint(a.leftSE.point);
1232
+ if (bCmpALeft !== 0) return bCmpALeft; // is the B right endpoint colinear to segment A?
1233
+
1234
+ var aCmpBRight = a.comparePoint(b.rightSE.point);
1235
+ if (aCmpBRight < 0) return 1;
1236
+ if (aCmpBRight > 0) return -1; // colinear segments, consider the one with left-more
1237
+ // left endpoint to be first (arbitrary?)
1238
+
1239
+ return 1;
1240
+ } // if we get here, the two left endpoints are in the same
1241
+ // vertical plane, ie alx === blx
1242
+ // consider the lower left-endpoint to come first
1243
+
1244
+
1245
+ if (aly < bly) return -1;
1246
+ if (aly > bly) return 1; // left endpoints are identical
1247
+ // check for colinearity by using the left-more right endpoint
1248
+ // is the A right endpoint more left-more?
1249
+
1250
+ if (arx < brx) {
1251
+ var _bCmpARight = b.comparePoint(a.rightSE.point);
1252
+
1253
+ if (_bCmpARight !== 0) return _bCmpARight;
1254
+ } // is the B right endpoint more left-more?
1255
+
1256
+
1257
+ if (arx > brx) {
1258
+ var _aCmpBRight = a.comparePoint(b.rightSE.point);
1259
+
1260
+ if (_aCmpBRight < 0) return 1;
1261
+ if (_aCmpBRight > 0) return -1;
1262
+ }
1263
+
1264
+ if (arx !== brx) {
1265
+ // are these two [almost] vertical segments with opposite orientation?
1266
+ // if so, the one with the lower right endpoint comes first
1267
+ var ay = ary - aly;
1268
+ var ax = arx - alx;
1269
+ var by = bry - bly;
1270
+ var bx = brx - blx;
1271
+ if (ay > ax && by < bx) return 1;
1272
+ if (ay < ax && by > bx) return -1;
1273
+ } // we have colinear segments with matching orientation
1274
+ // consider the one with more left-more right endpoint to be first
1275
+
1276
+
1277
+ if (arx > brx) return 1;
1278
+ if (arx < brx) return -1; // if we get here, two two right endpoints are in the same
1279
+ // vertical plane, ie arx === brx
1280
+ // consider the lower right-endpoint to come first
1281
+
1282
+ if (ary < bry) return -1;
1283
+ if (ary > bry) return 1; // right endpoints identical as well, so the segments are idential
1284
+ // fall back on creation order as consistent tie-breaker
1285
+
1286
+ if (a.id < b.id) return -1;
1287
+ if (a.id > b.id) return 1; // identical segment, ie a === b
1288
+
1289
+ return 0;
1290
+ }
1291
+ /* Warning: a reference to ringWindings input will be stored,
1292
+ * and possibly will be later modified */
1293
+
1294
+ }]);
1295
+
1296
+ function Segment(leftSE, rightSE, rings, windings) {
1297
+ _classCallCheck(this, Segment);
1298
+
1299
+ this.id = ++segmentId;
1300
+ this.leftSE = leftSE;
1301
+ leftSE.segment = this;
1302
+ leftSE.otherSE = rightSE;
1303
+ this.rightSE = rightSE;
1304
+ rightSE.segment = this;
1305
+ rightSE.otherSE = leftSE;
1306
+ this.rings = rings;
1307
+ this.windings = windings; // left unset for performance, set later in algorithm
1308
+ // this.ringOut, this.consumedBy, this.prev
1309
+ }
1310
+
1311
+ _createClass(Segment, [{
1312
+ key: "replaceRightSE",
1313
+
1314
+ /* When a segment is split, the rightSE is replaced with a new sweep event */
1315
+ value: function replaceRightSE(newRightSE) {
1316
+ this.rightSE = newRightSE;
1317
+ this.rightSE.segment = this;
1318
+ this.rightSE.otherSE = this.leftSE;
1319
+ this.leftSE.otherSE = this.rightSE;
1320
+ }
1321
+ }, {
1322
+ key: "bbox",
1323
+ value: function bbox() {
1324
+ var y1 = this.leftSE.point.y;
1325
+ var y2 = this.rightSE.point.y;
1326
+ return {
1327
+ ll: {
1328
+ x: this.leftSE.point.x,
1329
+ y: y1 < y2 ? y1 : y2
1330
+ },
1331
+ ur: {
1332
+ x: this.rightSE.point.x,
1333
+ y: y1 > y2 ? y1 : y2
1334
+ }
1335
+ };
1336
+ }
1337
+ /* A vector from the left point to the right */
1338
+
1339
+ }, {
1340
+ key: "vector",
1341
+ value: function vector() {
1342
+ return {
1343
+ x: this.rightSE.point.x - this.leftSE.point.x,
1344
+ y: this.rightSE.point.y - this.leftSE.point.y
1345
+ };
1346
+ }
1347
+ }, {
1348
+ key: "isAnEndpoint",
1349
+ value: function isAnEndpoint(pt) {
1350
+ return pt.x === this.leftSE.point.x && pt.y === this.leftSE.point.y || pt.x === this.rightSE.point.x && pt.y === this.rightSE.point.y;
1351
+ }
1352
+ /* Compare this segment with a point.
1353
+ *
1354
+ * A point P is considered to be colinear to a segment if there
1355
+ * exists a distance D such that if we travel along the segment
1356
+ * from one * endpoint towards the other a distance D, we find
1357
+ * ourselves at point P.
1358
+ *
1359
+ * Return value indicates:
1360
+ *
1361
+ * 1: point lies above the segment (to the left of vertical)
1362
+ * 0: point is colinear to segment
1363
+ * -1: point lies below the segment (to the right of vertical)
1364
+ */
1365
+
1366
+ }, {
1367
+ key: "comparePoint",
1368
+ value: function comparePoint(point) {
1369
+ if (this.isAnEndpoint(point)) return 0;
1370
+ var lPt = this.leftSE.point;
1371
+ var rPt = this.rightSE.point;
1372
+ var v = this.vector(); // Exactly vertical segments.
1373
+
1374
+ if (lPt.x === rPt.x) {
1375
+ if (point.x === lPt.x) return 0;
1376
+ return point.x < lPt.x ? 1 : -1;
1377
+ } // Nearly vertical segments with an intersection.
1378
+ // Check to see where a point on the line with matching Y coordinate is.
1379
+
1380
+
1381
+ var yDist = (point.y - lPt.y) / v.y;
1382
+ var xFromYDist = lPt.x + yDist * v.x;
1383
+ if (point.x === xFromYDist) return 0; // General case.
1384
+ // Check to see where a point on the line with matching X coordinate is.
1385
+
1386
+ var xDist = (point.x - lPt.x) / v.x;
1387
+ var yFromXDist = lPt.y + xDist * v.y;
1388
+ if (point.y === yFromXDist) return 0;
1389
+ return point.y < yFromXDist ? -1 : 1;
1390
+ }
1391
+ /**
1392
+ * Given another segment, returns the first non-trivial intersection
1393
+ * between the two segments (in terms of sweep line ordering), if it exists.
1394
+ *
1395
+ * A 'non-trivial' intersection is one that will cause one or both of the
1396
+ * segments to be split(). As such, 'trivial' vs. 'non-trivial' intersection:
1397
+ *
1398
+ * * endpoint of segA with endpoint of segB --> trivial
1399
+ * * endpoint of segA with point along segB --> non-trivial
1400
+ * * endpoint of segB with point along segA --> non-trivial
1401
+ * * point along segA with point along segB --> non-trivial
1402
+ *
1403
+ * If no non-trivial intersection exists, return null
1404
+ * Else, return null.
1405
+ */
1406
+
1407
+ }, {
1408
+ key: "getIntersection",
1409
+ value: function getIntersection(other) {
1410
+ // If bboxes don't overlap, there can't be any intersections
1411
+ var tBbox = this.bbox();
1412
+ var oBbox = other.bbox();
1413
+ var bboxOverlap = getBboxOverlap(tBbox, oBbox);
1414
+ if (bboxOverlap === null) return null; // We first check to see if the endpoints can be considered intersections.
1415
+ // This will 'snap' intersections to endpoints if possible, and will
1416
+ // handle cases of colinearity.
1417
+
1418
+ var tlp = this.leftSE.point;
1419
+ var trp = this.rightSE.point;
1420
+ var olp = other.leftSE.point;
1421
+ var orp = other.rightSE.point; // does each endpoint touch the other segment?
1422
+ // note that we restrict the 'touching' definition to only allow segments
1423
+ // to touch endpoints that lie forward from where we are in the sweep line pass
1424
+
1425
+ var touchesOtherLSE = isInBbox(tBbox, olp) && this.comparePoint(olp) === 0;
1426
+ var touchesThisLSE = isInBbox(oBbox, tlp) && other.comparePoint(tlp) === 0;
1427
+ var touchesOtherRSE = isInBbox(tBbox, orp) && this.comparePoint(orp) === 0;
1428
+ var touchesThisRSE = isInBbox(oBbox, trp) && other.comparePoint(trp) === 0; // do left endpoints match?
1429
+
1430
+ if (touchesThisLSE && touchesOtherLSE) {
1431
+ // these two cases are for colinear segments with matching left
1432
+ // endpoints, and one segment being longer than the other
1433
+ if (touchesThisRSE && !touchesOtherRSE) return trp;
1434
+ if (!touchesThisRSE && touchesOtherRSE) return orp; // either the two segments match exactly (two trival intersections)
1435
+ // or just on their left endpoint (one trivial intersection
1436
+
1437
+ return null;
1438
+ } // does this left endpoint matches (other doesn't)
1439
+
1440
+
1441
+ if (touchesThisLSE) {
1442
+ // check for segments that just intersect on opposing endpoints
1443
+ if (touchesOtherRSE) {
1444
+ if (tlp.x === orp.x && tlp.y === orp.y) return null;
1445
+ } // t-intersection on left endpoint
1446
+
1447
+
1448
+ return tlp;
1449
+ } // does other left endpoint matches (this doesn't)
1450
+
1451
+
1452
+ if (touchesOtherLSE) {
1453
+ // check for segments that just intersect on opposing endpoints
1454
+ if (touchesThisRSE) {
1455
+ if (trp.x === olp.x && trp.y === olp.y) return null;
1456
+ } // t-intersection on left endpoint
1457
+
1458
+
1459
+ return olp;
1460
+ } // trivial intersection on right endpoints
1461
+
1462
+
1463
+ if (touchesThisRSE && touchesOtherRSE) return null; // t-intersections on just one right endpoint
1464
+
1465
+ if (touchesThisRSE) return trp;
1466
+ if (touchesOtherRSE) return orp; // None of our endpoints intersect. Look for a general intersection between
1467
+ // infinite lines laid over the segments
1468
+
1469
+ var pt = intersection(tlp, this.vector(), olp, other.vector()); // are the segments parrallel? Note that if they were colinear with overlap,
1470
+ // they would have an endpoint intersection and that case was already handled above
1471
+
1472
+ if (pt === null) return null; // is the intersection found between the lines not on the segments?
1473
+
1474
+ if (!isInBbox(bboxOverlap, pt)) return null; // round the the computed point if needed
1475
+
1476
+ return rounder.round(pt.x, pt.y);
1477
+ }
1478
+ /**
1479
+ * Split the given segment into multiple segments on the given points.
1480
+ * * Each existing segment will retain its leftSE and a new rightSE will be
1481
+ * generated for it.
1482
+ * * A new segment will be generated which will adopt the original segment's
1483
+ * rightSE, and a new leftSE will be generated for it.
1484
+ * * If there are more than two points given to split on, new segments
1485
+ * in the middle will be generated with new leftSE and rightSE's.
1486
+ * * An array of the newly generated SweepEvents will be returned.
1487
+ *
1488
+ * Warning: input array of points is modified
1489
+ */
1490
+
1491
+ }, {
1492
+ key: "split",
1493
+ value: function split(point) {
1494
+ var newEvents = [];
1495
+ var alreadyLinked = point.events !== undefined;
1496
+ var newLeftSE = new SweepEvent(point, true);
1497
+ var newRightSE = new SweepEvent(point, false);
1498
+ var oldRightSE = this.rightSE;
1499
+ this.replaceRightSE(newRightSE);
1500
+ newEvents.push(newRightSE);
1501
+ newEvents.push(newLeftSE);
1502
+ var newSeg = new Segment(newLeftSE, oldRightSE, this.rings.slice(), this.windings.slice()); // when splitting a nearly vertical downward-facing segment,
1503
+ // sometimes one of the resulting new segments is vertical, in which
1504
+ // case its left and right events may need to be swapped
1505
+
1506
+ if (SweepEvent.comparePoints(newSeg.leftSE.point, newSeg.rightSE.point) > 0) {
1507
+ newSeg.swapEvents();
1508
+ }
1509
+
1510
+ if (SweepEvent.comparePoints(this.leftSE.point, this.rightSE.point) > 0) {
1511
+ this.swapEvents();
1512
+ } // in the point we just used to create new sweep events with was already
1513
+ // linked to other events, we need to check if either of the affected
1514
+ // segments should be consumed
1515
+
1516
+
1517
+ if (alreadyLinked) {
1518
+ newLeftSE.checkForConsuming();
1519
+ newRightSE.checkForConsuming();
1520
+ }
1521
+
1522
+ return newEvents;
1523
+ }
1524
+ /* Swap which event is left and right */
1525
+
1526
+ }, {
1527
+ key: "swapEvents",
1528
+ value: function swapEvents() {
1529
+ var tmpEvt = this.rightSE;
1530
+ this.rightSE = this.leftSE;
1531
+ this.leftSE = tmpEvt;
1532
+ this.leftSE.isLeft = true;
1533
+ this.rightSE.isLeft = false;
1534
+
1535
+ for (var i = 0, iMax = this.windings.length; i < iMax; i++) {
1536
+ this.windings[i] *= -1;
1537
+ }
1538
+ }
1539
+ /* Consume another segment. We take their rings under our wing
1540
+ * and mark them as consumed. Use for perfectly overlapping segments */
1541
+
1542
+ }, {
1543
+ key: "consume",
1544
+ value: function consume(other) {
1545
+ var consumer = this;
1546
+ var consumee = other;
1547
+
1548
+ while (consumer.consumedBy) {
1549
+ consumer = consumer.consumedBy;
1550
+ }
1551
+
1552
+ while (consumee.consumedBy) {
1553
+ consumee = consumee.consumedBy;
1554
+ }
1555
+
1556
+ var cmp = Segment.compare(consumer, consumee);
1557
+ if (cmp === 0) return; // already consumed
1558
+ // the winner of the consumption is the earlier segment
1559
+ // according to sweep line ordering
1560
+
1561
+ if (cmp > 0) {
1562
+ var tmp = consumer;
1563
+ consumer = consumee;
1564
+ consumee = tmp;
1565
+ } // make sure a segment doesn't consume it's prev
1566
+
1567
+
1568
+ if (consumer.prev === consumee) {
1569
+ var _tmp = consumer;
1570
+ consumer = consumee;
1571
+ consumee = _tmp;
1572
+ }
1573
+
1574
+ for (var i = 0, iMax = consumee.rings.length; i < iMax; i++) {
1575
+ var ring = consumee.rings[i];
1576
+ var winding = consumee.windings[i];
1577
+ var index = consumer.rings.indexOf(ring);
1578
+
1579
+ if (index === -1) {
1580
+ consumer.rings.push(ring);
1581
+ consumer.windings.push(winding);
1582
+ } else consumer.windings[index] += winding;
1583
+ }
1584
+
1585
+ consumee.rings = null;
1586
+ consumee.windings = null;
1587
+ consumee.consumedBy = consumer; // mark sweep events consumed as to maintain ordering in sweep event queue
1588
+
1589
+ consumee.leftSE.consumedBy = consumer.leftSE;
1590
+ consumee.rightSE.consumedBy = consumer.rightSE;
1591
+ }
1592
+ /* The first segment previous segment chain that is in the result */
1593
+
1594
+ }, {
1595
+ key: "prevInResult",
1596
+ value: function prevInResult() {
1597
+ if (this._prevInResult !== undefined) return this._prevInResult;
1598
+ if (!this.prev) this._prevInResult = null;else if (this.prev.isInResult()) this._prevInResult = this.prev;else this._prevInResult = this.prev.prevInResult();
1599
+ return this._prevInResult;
1600
+ }
1601
+ }, {
1602
+ key: "beforeState",
1603
+ value: function beforeState() {
1604
+ if (this._beforeState !== undefined) return this._beforeState;
1605
+ if (!this.prev) this._beforeState = {
1606
+ rings: [],
1607
+ windings: [],
1608
+ multiPolys: []
1609
+ };else {
1610
+ var seg = this.prev.consumedBy || this.prev;
1611
+ this._beforeState = seg.afterState();
1612
+ }
1613
+ return this._beforeState;
1614
+ }
1615
+ }, {
1616
+ key: "afterState",
1617
+ value: function afterState() {
1618
+ if (this._afterState !== undefined) return this._afterState;
1619
+ var beforeState = this.beforeState();
1620
+ this._afterState = {
1621
+ rings: beforeState.rings.slice(0),
1622
+ windings: beforeState.windings.slice(0),
1623
+ multiPolys: []
1624
+ };
1625
+ var ringsAfter = this._afterState.rings;
1626
+ var windingsAfter = this._afterState.windings;
1627
+ var mpsAfter = this._afterState.multiPolys; // calculate ringsAfter, windingsAfter
1628
+
1629
+ for (var i = 0, iMax = this.rings.length; i < iMax; i++) {
1630
+ var ring = this.rings[i];
1631
+ var winding = this.windings[i];
1632
+ var index = ringsAfter.indexOf(ring);
1633
+
1634
+ if (index === -1) {
1635
+ ringsAfter.push(ring);
1636
+ windingsAfter.push(winding);
1637
+ } else windingsAfter[index] += winding;
1638
+ } // calcualte polysAfter
1639
+
1640
+
1641
+ var polysAfter = [];
1642
+ var polysExclude = [];
1643
+
1644
+ for (var _i = 0, _iMax = ringsAfter.length; _i < _iMax; _i++) {
1645
+ if (windingsAfter[_i] === 0) continue; // non-zero rule
1646
+
1647
+ var _ring = ringsAfter[_i];
1648
+ var poly = _ring.poly;
1649
+ if (polysExclude.indexOf(poly) !== -1) continue;
1650
+ if (_ring.isExterior) polysAfter.push(poly);else {
1651
+ if (polysExclude.indexOf(poly) === -1) polysExclude.push(poly);
1652
+
1653
+ var _index = polysAfter.indexOf(_ring.poly);
1654
+
1655
+ if (_index !== -1) polysAfter.splice(_index, 1);
1656
+ }
1657
+ } // calculate multiPolysAfter
1658
+
1659
+
1660
+ for (var _i2 = 0, _iMax2 = polysAfter.length; _i2 < _iMax2; _i2++) {
1661
+ var mp = polysAfter[_i2].multiPoly;
1662
+ if (mpsAfter.indexOf(mp) === -1) mpsAfter.push(mp);
1663
+ }
1664
+
1665
+ return this._afterState;
1666
+ }
1667
+ /* Is this segment part of the final result? */
1668
+
1669
+ }, {
1670
+ key: "isInResult",
1671
+ value: function isInResult() {
1672
+ // if we've been consumed, we're not in the result
1673
+ if (this.consumedBy) return false;
1674
+ if (this._isInResult !== undefined) return this._isInResult;
1675
+ var mpsBefore = this.beforeState().multiPolys;
1676
+ var mpsAfter = this.afterState().multiPolys;
1677
+
1678
+ switch (operation.type) {
1679
+ case 'union':
1680
+ {
1681
+ // UNION - included iff:
1682
+ // * On one side of us there is 0 poly interiors AND
1683
+ // * On the other side there is 1 or more.
1684
+ var noBefores = mpsBefore.length === 0;
1685
+ var noAfters = mpsAfter.length === 0;
1686
+ this._isInResult = noBefores !== noAfters;
1687
+ break;
1688
+ }
1689
+
1690
+ case 'intersection':
1691
+ {
1692
+ // INTERSECTION - included iff:
1693
+ // * on one side of us all multipolys are rep. with poly interiors AND
1694
+ // * on the other side of us, not all multipolys are repsented
1695
+ // with poly interiors
1696
+ var least;
1697
+ var most;
1698
+
1699
+ if (mpsBefore.length < mpsAfter.length) {
1700
+ least = mpsBefore.length;
1701
+ most = mpsAfter.length;
1702
+ } else {
1703
+ least = mpsAfter.length;
1704
+ most = mpsBefore.length;
1705
+ }
1706
+
1707
+ this._isInResult = most === operation.numMultiPolys && least < most;
1708
+ break;
1709
+ }
1710
+
1711
+ case 'xor':
1712
+ {
1713
+ // XOR - included iff:
1714
+ // * the difference between the number of multipolys represented
1715
+ // with poly interiors on our two sides is an odd number
1716
+ var diff = Math.abs(mpsBefore.length - mpsAfter.length);
1717
+ this._isInResult = diff % 2 === 1;
1718
+ break;
1719
+ }
1720
+
1721
+ case 'difference':
1722
+ {
1723
+ // DIFFERENCE included iff:
1724
+ // * on exactly one side, we have just the subject
1725
+ var isJustSubject = function isJustSubject(mps) {
1726
+ return mps.length === 1 && mps[0].isSubject;
1727
+ };
1728
+
1729
+ this._isInResult = isJustSubject(mpsBefore) !== isJustSubject(mpsAfter);
1730
+ break;
1731
+ }
1732
+
1733
+ default:
1734
+ throw new Error("Unrecognized operation type found ".concat(operation.type));
1735
+ }
1736
+
1737
+ return this._isInResult;
1738
+ }
1739
+ }], [{
1740
+ key: "fromRing",
1741
+ value: function fromRing(pt1, pt2, ring) {
1742
+ var leftPt, rightPt, winding; // ordering the two points according to sweep line ordering
1743
+
1744
+ var cmpPts = SweepEvent.comparePoints(pt1, pt2);
1745
+
1746
+ if (cmpPts < 0) {
1747
+ leftPt = pt1;
1748
+ rightPt = pt2;
1749
+ winding = 1;
1750
+ } else if (cmpPts > 0) {
1751
+ leftPt = pt2;
1752
+ rightPt = pt1;
1753
+ winding = -1;
1754
+ } else throw new Error("Tried to create degenerate segment at [".concat(pt1.x, ", ").concat(pt1.y, "]"));
1755
+
1756
+ var leftSE = new SweepEvent(leftPt, true);
1757
+ var rightSE = new SweepEvent(rightPt, false);
1758
+ return new Segment(leftSE, rightSE, [ring], [winding]);
1759
+ }
1760
+ }]);
1761
+
1762
+ return Segment;
1763
+ }();
1764
+
1765
+ var RingIn = /*#__PURE__*/function () {
1766
+ function RingIn(geomRing, poly, isExterior) {
1767
+ _classCallCheck(this, RingIn);
1768
+
1769
+ if (!Array.isArray(geomRing) || geomRing.length === 0) {
1770
+ throw new Error('Input geometry is not a valid Polygon or MultiPolygon');
1771
+ }
1772
+
1773
+ this.poly = poly;
1774
+ this.isExterior = isExterior;
1775
+ this.segments = [];
1776
+
1777
+ if (typeof geomRing[0][0] !== 'number' || typeof geomRing[0][1] !== 'number') {
1778
+ throw new Error('Input geometry is not a valid Polygon or MultiPolygon');
1779
+ }
1780
+
1781
+ var firstPoint = rounder.round(geomRing[0][0], geomRing[0][1]);
1782
+ this.bbox = {
1783
+ ll: {
1784
+ x: firstPoint.x,
1785
+ y: firstPoint.y
1786
+ },
1787
+ ur: {
1788
+ x: firstPoint.x,
1789
+ y: firstPoint.y
1790
+ }
1791
+ };
1792
+ var prevPoint = firstPoint;
1793
+
1794
+ for (var i = 1, iMax = geomRing.length; i < iMax; i++) {
1795
+ if (typeof geomRing[i][0] !== 'number' || typeof geomRing[i][1] !== 'number') {
1796
+ throw new Error('Input geometry is not a valid Polygon or MultiPolygon');
1797
+ }
1798
+
1799
+ var point = rounder.round(geomRing[i][0], geomRing[i][1]); // skip repeated points
1800
+
1801
+ if (point.x === prevPoint.x && point.y === prevPoint.y) continue;
1802
+ this.segments.push(Segment.fromRing(prevPoint, point, this));
1803
+ if (point.x < this.bbox.ll.x) this.bbox.ll.x = point.x;
1804
+ if (point.y < this.bbox.ll.y) this.bbox.ll.y = point.y;
1805
+ if (point.x > this.bbox.ur.x) this.bbox.ur.x = point.x;
1806
+ if (point.y > this.bbox.ur.y) this.bbox.ur.y = point.y;
1807
+ prevPoint = point;
1808
+ } // add segment from last to first if last is not the same as first
1809
+
1810
+
1811
+ if (firstPoint.x !== prevPoint.x || firstPoint.y !== prevPoint.y) {
1812
+ this.segments.push(Segment.fromRing(prevPoint, firstPoint, this));
1813
+ }
1814
+ }
1815
+
1816
+ _createClass(RingIn, [{
1817
+ key: "getSweepEvents",
1818
+ value: function getSweepEvents() {
1819
+ var sweepEvents = [];
1820
+
1821
+ for (var i = 0, iMax = this.segments.length; i < iMax; i++) {
1822
+ var segment = this.segments[i];
1823
+ sweepEvents.push(segment.leftSE);
1824
+ sweepEvents.push(segment.rightSE);
1825
+ }
1826
+
1827
+ return sweepEvents;
1828
+ }
1829
+ }]);
1830
+
1831
+ return RingIn;
1832
+ }();
1833
+ var PolyIn = /*#__PURE__*/function () {
1834
+ function PolyIn(geomPoly, multiPoly) {
1835
+ _classCallCheck(this, PolyIn);
1836
+
1837
+ if (!Array.isArray(geomPoly)) {
1838
+ throw new Error('Input geometry is not a valid Polygon or MultiPolygon');
1839
+ }
1840
+
1841
+ this.exteriorRing = new RingIn(geomPoly[0], this, true); // copy by value
1842
+
1843
+ this.bbox = {
1844
+ ll: {
1845
+ x: this.exteriorRing.bbox.ll.x,
1846
+ y: this.exteriorRing.bbox.ll.y
1847
+ },
1848
+ ur: {
1849
+ x: this.exteriorRing.bbox.ur.x,
1850
+ y: this.exteriorRing.bbox.ur.y
1851
+ }
1852
+ };
1853
+ this.interiorRings = [];
1854
+
1855
+ for (var i = 1, iMax = geomPoly.length; i < iMax; i++) {
1856
+ var ring = new RingIn(geomPoly[i], this, false);
1857
+ if (ring.bbox.ll.x < this.bbox.ll.x) this.bbox.ll.x = ring.bbox.ll.x;
1858
+ if (ring.bbox.ll.y < this.bbox.ll.y) this.bbox.ll.y = ring.bbox.ll.y;
1859
+ if (ring.bbox.ur.x > this.bbox.ur.x) this.bbox.ur.x = ring.bbox.ur.x;
1860
+ if (ring.bbox.ur.y > this.bbox.ur.y) this.bbox.ur.y = ring.bbox.ur.y;
1861
+ this.interiorRings.push(ring);
1862
+ }
1863
+
1864
+ this.multiPoly = multiPoly;
1865
+ }
1866
+
1867
+ _createClass(PolyIn, [{
1868
+ key: "getSweepEvents",
1869
+ value: function getSweepEvents() {
1870
+ var sweepEvents = this.exteriorRing.getSweepEvents();
1871
+
1872
+ for (var i = 0, iMax = this.interiorRings.length; i < iMax; i++) {
1873
+ var ringSweepEvents = this.interiorRings[i].getSweepEvents();
1874
+
1875
+ for (var j = 0, jMax = ringSweepEvents.length; j < jMax; j++) {
1876
+ sweepEvents.push(ringSweepEvents[j]);
1877
+ }
1878
+ }
1879
+
1880
+ return sweepEvents;
1881
+ }
1882
+ }]);
1883
+
1884
+ return PolyIn;
1885
+ }();
1886
+ var MultiPolyIn = /*#__PURE__*/function () {
1887
+ function MultiPolyIn(geom, isSubject) {
1888
+ _classCallCheck(this, MultiPolyIn);
1889
+
1890
+ if (!Array.isArray(geom)) {
1891
+ throw new Error('Input geometry is not a valid Polygon or MultiPolygon');
1892
+ }
1893
+
1894
+ try {
1895
+ // if the input looks like a polygon, convert it to a multipolygon
1896
+ if (typeof geom[0][0][0] === 'number') geom = [geom];
1897
+ } catch (ex) {// The input is either malformed or has empty arrays.
1898
+ // In either case, it will be handled later on.
1899
+ }
1900
+
1901
+ this.polys = [];
1902
+ this.bbox = {
1903
+ ll: {
1904
+ x: Number.POSITIVE_INFINITY,
1905
+ y: Number.POSITIVE_INFINITY
1906
+ },
1907
+ ur: {
1908
+ x: Number.NEGATIVE_INFINITY,
1909
+ y: Number.NEGATIVE_INFINITY
1910
+ }
1911
+ };
1912
+
1913
+ for (var i = 0, iMax = geom.length; i < iMax; i++) {
1914
+ var poly = new PolyIn(geom[i], this);
1915
+ if (poly.bbox.ll.x < this.bbox.ll.x) this.bbox.ll.x = poly.bbox.ll.x;
1916
+ if (poly.bbox.ll.y < this.bbox.ll.y) this.bbox.ll.y = poly.bbox.ll.y;
1917
+ if (poly.bbox.ur.x > this.bbox.ur.x) this.bbox.ur.x = poly.bbox.ur.x;
1918
+ if (poly.bbox.ur.y > this.bbox.ur.y) this.bbox.ur.y = poly.bbox.ur.y;
1919
+ this.polys.push(poly);
1920
+ }
1921
+
1922
+ this.isSubject = isSubject;
1923
+ }
1924
+
1925
+ _createClass(MultiPolyIn, [{
1926
+ key: "getSweepEvents",
1927
+ value: function getSweepEvents() {
1928
+ var sweepEvents = [];
1929
+
1930
+ for (var i = 0, iMax = this.polys.length; i < iMax; i++) {
1931
+ var polySweepEvents = this.polys[i].getSweepEvents();
1932
+
1933
+ for (var j = 0, jMax = polySweepEvents.length; j < jMax; j++) {
1934
+ sweepEvents.push(polySweepEvents[j]);
1935
+ }
1936
+ }
1937
+
1938
+ return sweepEvents;
1939
+ }
1940
+ }]);
1941
+
1942
+ return MultiPolyIn;
1943
+ }();
1944
+
1945
+ var RingOut = /*#__PURE__*/function () {
1946
+ _createClass(RingOut, null, [{
1947
+ key: "factory",
1948
+
1949
+ /* Given the segments from the sweep line pass, compute & return a series
1950
+ * of closed rings from all the segments marked to be part of the result */
1951
+ value: function factory(allSegments) {
1952
+ var ringsOut = [];
1953
+
1954
+ for (var i = 0, iMax = allSegments.length; i < iMax; i++) {
1955
+ var segment = allSegments[i];
1956
+ if (!segment.isInResult() || segment.ringOut) continue;
1957
+ var prevEvent = null;
1958
+ var event = segment.leftSE;
1959
+ var nextEvent = segment.rightSE;
1960
+ var events = [event];
1961
+ var startingPoint = event.point;
1962
+ var intersectionLEs = [];
1963
+ /* Walk the chain of linked events to form a closed ring */
1964
+
1965
+ while (true) {
1966
+ prevEvent = event;
1967
+ event = nextEvent;
1968
+ events.push(event);
1969
+ /* Is the ring complete? */
1970
+
1971
+ if (event.point === startingPoint) break;
1972
+
1973
+ while (true) {
1974
+ var availableLEs = event.getAvailableLinkedEvents();
1975
+ /* Did we hit a dead end? This shouldn't happen. Indicates some earlier
1976
+ * part of the algorithm malfunctioned... please file a bug report. */
1977
+
1978
+ if (availableLEs.length === 0) {
1979
+ var firstPt = events[0].point;
1980
+ var lastPt = events[events.length - 1].point;
1981
+ throw new Error("Unable to complete output ring starting at [".concat(firstPt.x, ",") + " ".concat(firstPt.y, "]. Last matching segment found ends at") + " [".concat(lastPt.x, ", ").concat(lastPt.y, "]."));
1982
+ }
1983
+ /* Only one way to go, so cotinue on the path */
1984
+
1985
+
1986
+ if (availableLEs.length === 1) {
1987
+ nextEvent = availableLEs[0].otherSE;
1988
+ break;
1989
+ }
1990
+ /* We must have an intersection. Check for a completed loop */
1991
+
1992
+
1993
+ var indexLE = null;
1994
+
1995
+ for (var j = 0, jMax = intersectionLEs.length; j < jMax; j++) {
1996
+ if (intersectionLEs[j].point === event.point) {
1997
+ indexLE = j;
1998
+ break;
1999
+ }
2000
+ }
2001
+ /* Found a completed loop. Cut that off and make a ring */
2002
+
2003
+
2004
+ if (indexLE !== null) {
2005
+ var intersectionLE = intersectionLEs.splice(indexLE)[0];
2006
+ var ringEvents = events.splice(intersectionLE.index);
2007
+ ringEvents.unshift(ringEvents[0].otherSE);
2008
+ ringsOut.push(new RingOut(ringEvents.reverse()));
2009
+ continue;
2010
+ }
2011
+ /* register the intersection */
2012
+
2013
+
2014
+ intersectionLEs.push({
2015
+ index: events.length,
2016
+ point: event.point
2017
+ });
2018
+ /* Choose the left-most option to continue the walk */
2019
+
2020
+ var comparator = event.getLeftmostComparator(prevEvent);
2021
+ nextEvent = availableLEs.sort(comparator)[0].otherSE;
2022
+ break;
2023
+ }
2024
+ }
2025
+
2026
+ ringsOut.push(new RingOut(events));
2027
+ }
2028
+
2029
+ return ringsOut;
2030
+ }
2031
+ }]);
2032
+
2033
+ function RingOut(events) {
2034
+ _classCallCheck(this, RingOut);
2035
+
2036
+ this.events = events;
2037
+
2038
+ for (var i = 0, iMax = events.length; i < iMax; i++) {
2039
+ events[i].segment.ringOut = this;
2040
+ }
2041
+
2042
+ this.poly = null;
2043
+ }
2044
+
2045
+ _createClass(RingOut, [{
2046
+ key: "getGeom",
2047
+ value: function getGeom() {
2048
+ // Remove superfluous points (ie extra points along a straight line),
2049
+ var prevPt = this.events[0].point;
2050
+ var points = [prevPt];
2051
+
2052
+ for (var i = 1, iMax = this.events.length - 1; i < iMax; i++) {
2053
+ var _pt = this.events[i].point;
2054
+ var _nextPt = this.events[i + 1].point;
2055
+ if (compareVectorAngles(_pt, prevPt, _nextPt) === 0) continue;
2056
+ points.push(_pt);
2057
+ prevPt = _pt;
2058
+ } // ring was all (within rounding error of angle calc) colinear points
2059
+
2060
+
2061
+ if (points.length === 1) return null; // check if the starting point is necessary
2062
+
2063
+ var pt = points[0];
2064
+ var nextPt = points[1];
2065
+ if (compareVectorAngles(pt, prevPt, nextPt) === 0) points.shift();
2066
+ points.push(points[0]);
2067
+ var step = this.isExteriorRing() ? 1 : -1;
2068
+ var iStart = this.isExteriorRing() ? 0 : points.length - 1;
2069
+ var iEnd = this.isExteriorRing() ? points.length : -1;
2070
+ var orderedPoints = [];
2071
+
2072
+ for (var _i = iStart; _i != iEnd; _i += step) {
2073
+ orderedPoints.push([points[_i].x, points[_i].y]);
2074
+ }
2075
+
2076
+ return orderedPoints;
2077
+ }
2078
+ }, {
2079
+ key: "isExteriorRing",
2080
+ value: function isExteriorRing() {
2081
+ if (this._isExteriorRing === undefined) {
2082
+ var enclosing = this.enclosingRing();
2083
+ this._isExteriorRing = enclosing ? !enclosing.isExteriorRing() : true;
2084
+ }
2085
+
2086
+ return this._isExteriorRing;
2087
+ }
2088
+ }, {
2089
+ key: "enclosingRing",
2090
+ value: function enclosingRing() {
2091
+ if (this._enclosingRing === undefined) {
2092
+ this._enclosingRing = this._calcEnclosingRing();
2093
+ }
2094
+
2095
+ return this._enclosingRing;
2096
+ }
2097
+ /* Returns the ring that encloses this one, if any */
2098
+
2099
+ }, {
2100
+ key: "_calcEnclosingRing",
2101
+ value: function _calcEnclosingRing() {
2102
+ // start with the ealier sweep line event so that the prevSeg
2103
+ // chain doesn't lead us inside of a loop of ours
2104
+ var leftMostEvt = this.events[0];
2105
+
2106
+ for (var i = 1, iMax = this.events.length; i < iMax; i++) {
2107
+ var evt = this.events[i];
2108
+ if (SweepEvent.compare(leftMostEvt, evt) > 0) leftMostEvt = evt;
2109
+ }
2110
+
2111
+ var prevSeg = leftMostEvt.segment.prevInResult();
2112
+ var prevPrevSeg = prevSeg ? prevSeg.prevInResult() : null;
2113
+
2114
+ while (true) {
2115
+ // no segment found, thus no ring can enclose us
2116
+ if (!prevSeg) return null; // no segments below prev segment found, thus the ring of the prev
2117
+ // segment must loop back around and enclose us
2118
+
2119
+ if (!prevPrevSeg) return prevSeg.ringOut; // if the two segments are of different rings, the ring of the prev
2120
+ // segment must either loop around us or the ring of the prev prev
2121
+ // seg, which would make us and the ring of the prev peers
2122
+
2123
+ if (prevPrevSeg.ringOut !== prevSeg.ringOut) {
2124
+ if (prevPrevSeg.ringOut.enclosingRing() !== prevSeg.ringOut) {
2125
+ return prevSeg.ringOut;
2126
+ } else return prevSeg.ringOut.enclosingRing();
2127
+ } // two segments are from the same ring, so this was a penisula
2128
+ // of that ring. iterate downward, keep searching
2129
+
2130
+
2131
+ prevSeg = prevPrevSeg.prevInResult();
2132
+ prevPrevSeg = prevSeg ? prevSeg.prevInResult() : null;
2133
+ }
2134
+ }
2135
+ }]);
2136
+
2137
+ return RingOut;
2138
+ }();
2139
+ var PolyOut = /*#__PURE__*/function () {
2140
+ function PolyOut(exteriorRing) {
2141
+ _classCallCheck(this, PolyOut);
2142
+
2143
+ this.exteriorRing = exteriorRing;
2144
+ exteriorRing.poly = this;
2145
+ this.interiorRings = [];
2146
+ }
2147
+
2148
+ _createClass(PolyOut, [{
2149
+ key: "addInterior",
2150
+ value: function addInterior(ring) {
2151
+ this.interiorRings.push(ring);
2152
+ ring.poly = this;
2153
+ }
2154
+ }, {
2155
+ key: "getGeom",
2156
+ value: function getGeom() {
2157
+ var geom = [this.exteriorRing.getGeom()]; // exterior ring was all (within rounding error of angle calc) colinear points
2158
+
2159
+ if (geom[0] === null) return null;
2160
+
2161
+ for (var i = 0, iMax = this.interiorRings.length; i < iMax; i++) {
2162
+ var ringGeom = this.interiorRings[i].getGeom(); // interior ring was all (within rounding error of angle calc) colinear points
2163
+
2164
+ if (ringGeom === null) continue;
2165
+ geom.push(ringGeom);
2166
+ }
2167
+
2168
+ return geom;
2169
+ }
2170
+ }]);
2171
+
2172
+ return PolyOut;
2173
+ }();
2174
+ var MultiPolyOut = /*#__PURE__*/function () {
2175
+ function MultiPolyOut(rings) {
2176
+ _classCallCheck(this, MultiPolyOut);
2177
+
2178
+ this.rings = rings;
2179
+ this.polys = this._composePolys(rings);
2180
+ }
2181
+
2182
+ _createClass(MultiPolyOut, [{
2183
+ key: "getGeom",
2184
+ value: function getGeom() {
2185
+ var geom = [];
2186
+
2187
+ for (var i = 0, iMax = this.polys.length; i < iMax; i++) {
2188
+ var polyGeom = this.polys[i].getGeom(); // exterior ring was all (within rounding error of angle calc) colinear points
2189
+
2190
+ if (polyGeom === null) continue;
2191
+ geom.push(polyGeom);
2192
+ }
2193
+
2194
+ return geom;
2195
+ }
2196
+ }, {
2197
+ key: "_composePolys",
2198
+ value: function _composePolys(rings) {
2199
+ var polys = [];
2200
+
2201
+ for (var i = 0, iMax = rings.length; i < iMax; i++) {
2202
+ var ring = rings[i];
2203
+ if (ring.poly) continue;
2204
+ if (ring.isExteriorRing()) polys.push(new PolyOut(ring));else {
2205
+ var enclosingRing = ring.enclosingRing();
2206
+ if (!enclosingRing.poly) polys.push(new PolyOut(enclosingRing));
2207
+ enclosingRing.poly.addInterior(ring);
2208
+ }
2209
+ }
2210
+
2211
+ return polys;
2212
+ }
2213
+ }]);
2214
+
2215
+ return MultiPolyOut;
2216
+ }();
2217
+
2218
+ /**
2219
+ * NOTE: We must be careful not to change any segments while
2220
+ * they are in the SplayTree. AFAIK, there's no way to tell
2221
+ * the tree to rebalance itself - thus before splitting
2222
+ * a segment that's in the tree, we remove it from the tree,
2223
+ * do the split, then re-insert it. (Even though splitting a
2224
+ * segment *shouldn't* change its correct position in the
2225
+ * sweep line tree, the reality is because of rounding errors,
2226
+ * it sometimes does.)
2227
+ */
2228
+
2229
+ var SweepLine = /*#__PURE__*/function () {
2230
+ function SweepLine(queue) {
2231
+ var comparator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Segment.compare;
2232
+
2233
+ _classCallCheck(this, SweepLine);
2234
+
2235
+ this.queue = queue;
2236
+ this.tree = new Tree(comparator);
2237
+ this.segments = [];
2238
+ }
2239
+
2240
+ _createClass(SweepLine, [{
2241
+ key: "process",
2242
+ value: function process(event) {
2243
+ var segment = event.segment;
2244
+ var newEvents = []; // if we've already been consumed by another segment,
2245
+ // clean up our body parts and get out
2246
+
2247
+ if (event.consumedBy) {
2248
+ if (event.isLeft) this.queue.remove(event.otherSE);else this.tree.remove(segment);
2249
+ return newEvents;
2250
+ }
2251
+
2252
+ var node = event.isLeft ? this.tree.insert(segment) : this.tree.find(segment);
2253
+ if (!node) throw new Error("Unable to find segment #".concat(segment.id, " ") + "[".concat(segment.leftSE.point.x, ", ").concat(segment.leftSE.point.y, "] -> ") + "[".concat(segment.rightSE.point.x, ", ").concat(segment.rightSE.point.y, "] ") + 'in SweepLine tree. Please submit a bug report.');
2254
+ var prevNode = node;
2255
+ var nextNode = node;
2256
+ var prevSeg = undefined;
2257
+ var nextSeg = undefined; // skip consumed segments still in tree
2258
+
2259
+ while (prevSeg === undefined) {
2260
+ prevNode = this.tree.prev(prevNode);
2261
+ if (prevNode === null) prevSeg = null;else if (prevNode.key.consumedBy === undefined) prevSeg = prevNode.key;
2262
+ } // skip consumed segments still in tree
2263
+
2264
+
2265
+ while (nextSeg === undefined) {
2266
+ nextNode = this.tree.next(nextNode);
2267
+ if (nextNode === null) nextSeg = null;else if (nextNode.key.consumedBy === undefined) nextSeg = nextNode.key;
2268
+ }
2269
+
2270
+ if (event.isLeft) {
2271
+ // Check for intersections against the previous segment in the sweep line
2272
+ var prevMySplitter = null;
2273
+
2274
+ if (prevSeg) {
2275
+ var prevInter = prevSeg.getIntersection(segment);
2276
+
2277
+ if (prevInter !== null) {
2278
+ if (!segment.isAnEndpoint(prevInter)) prevMySplitter = prevInter;
2279
+
2280
+ if (!prevSeg.isAnEndpoint(prevInter)) {
2281
+ var newEventsFromSplit = this._splitSafely(prevSeg, prevInter);
2282
+
2283
+ for (var i = 0, iMax = newEventsFromSplit.length; i < iMax; i++) {
2284
+ newEvents.push(newEventsFromSplit[i]);
2285
+ }
2286
+ }
2287
+ }
2288
+ } // Check for intersections against the next segment in the sweep line
2289
+
2290
+
2291
+ var nextMySplitter = null;
2292
+
2293
+ if (nextSeg) {
2294
+ var nextInter = nextSeg.getIntersection(segment);
2295
+
2296
+ if (nextInter !== null) {
2297
+ if (!segment.isAnEndpoint(nextInter)) nextMySplitter = nextInter;
2298
+
2299
+ if (!nextSeg.isAnEndpoint(nextInter)) {
2300
+ var _newEventsFromSplit = this._splitSafely(nextSeg, nextInter);
2301
+
2302
+ for (var _i = 0, _iMax = _newEventsFromSplit.length; _i < _iMax; _i++) {
2303
+ newEvents.push(_newEventsFromSplit[_i]);
2304
+ }
2305
+ }
2306
+ }
2307
+ } // For simplicity, even if we find more than one intersection we only
2308
+ // spilt on the 'earliest' (sweep-line style) of the intersections.
2309
+ // The other intersection will be handled in a future process().
2310
+
2311
+
2312
+ if (prevMySplitter !== null || nextMySplitter !== null) {
2313
+ var mySplitter = null;
2314
+ if (prevMySplitter === null) mySplitter = nextMySplitter;else if (nextMySplitter === null) mySplitter = prevMySplitter;else {
2315
+ var cmpSplitters = SweepEvent.comparePoints(prevMySplitter, nextMySplitter);
2316
+ mySplitter = cmpSplitters <= 0 ? prevMySplitter : nextMySplitter;
2317
+ } // Rounding errors can cause changes in ordering,
2318
+ // so remove afected segments and right sweep events before splitting
2319
+
2320
+ this.queue.remove(segment.rightSE);
2321
+ newEvents.push(segment.rightSE);
2322
+
2323
+ var _newEventsFromSplit2 = segment.split(mySplitter);
2324
+
2325
+ for (var _i2 = 0, _iMax2 = _newEventsFromSplit2.length; _i2 < _iMax2; _i2++) {
2326
+ newEvents.push(_newEventsFromSplit2[_i2]);
2327
+ }
2328
+ }
2329
+
2330
+ if (newEvents.length > 0) {
2331
+ // We found some intersections, so re-do the current event to
2332
+ // make sure sweep line ordering is totally consistent for later
2333
+ // use with the segment 'prev' pointers
2334
+ this.tree.remove(segment);
2335
+ newEvents.push(event);
2336
+ } else {
2337
+ // done with left event
2338
+ this.segments.push(segment);
2339
+ segment.prev = prevSeg;
2340
+ }
2341
+ } else {
2342
+ // event.isRight
2343
+ // since we're about to be removed from the sweep line, check for
2344
+ // intersections between our previous and next segments
2345
+ if (prevSeg && nextSeg) {
2346
+ var inter = prevSeg.getIntersection(nextSeg);
2347
+
2348
+ if (inter !== null) {
2349
+ if (!prevSeg.isAnEndpoint(inter)) {
2350
+ var _newEventsFromSplit3 = this._splitSafely(prevSeg, inter);
2351
+
2352
+ for (var _i3 = 0, _iMax3 = _newEventsFromSplit3.length; _i3 < _iMax3; _i3++) {
2353
+ newEvents.push(_newEventsFromSplit3[_i3]);
2354
+ }
2355
+ }
2356
+
2357
+ if (!nextSeg.isAnEndpoint(inter)) {
2358
+ var _newEventsFromSplit4 = this._splitSafely(nextSeg, inter);
2359
+
2360
+ for (var _i4 = 0, _iMax4 = _newEventsFromSplit4.length; _i4 < _iMax4; _i4++) {
2361
+ newEvents.push(_newEventsFromSplit4[_i4]);
2362
+ }
2363
+ }
2364
+ }
2365
+ }
2366
+
2367
+ this.tree.remove(segment);
2368
+ }
2369
+
2370
+ return newEvents;
2371
+ }
2372
+ /* Safely split a segment that is currently in the datastructures
2373
+ * IE - a segment other than the one that is currently being processed. */
2374
+
2375
+ }, {
2376
+ key: "_splitSafely",
2377
+ value: function _splitSafely(seg, pt) {
2378
+ // Rounding errors can cause changes in ordering,
2379
+ // so remove afected segments and right sweep events before splitting
2380
+ // removeNode() doesn't work, so have re-find the seg
2381
+ // https://github.com/w8r/splay-tree/pull/5
2382
+ this.tree.remove(seg);
2383
+ var rightSE = seg.rightSE;
2384
+ this.queue.remove(rightSE);
2385
+ var newEvents = seg.split(pt);
2386
+ newEvents.push(rightSE); // splitting can trigger consumption
2387
+
2388
+ if (seg.consumedBy === undefined) this.tree.insert(seg);
2389
+ return newEvents;
2390
+ }
2391
+ }]);
2392
+
2393
+ return SweepLine;
2394
+ }();
2395
+
2396
+ var POLYGON_CLIPPING_MAX_QUEUE_SIZE = typeof process !== 'undefined' && process.env.POLYGON_CLIPPING_MAX_QUEUE_SIZE || 1000000;
2397
+ var POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS = typeof process !== 'undefined' && process.env.POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS || 1000000;
2398
+ var Operation = /*#__PURE__*/function () {
2399
+ function Operation() {
2400
+ _classCallCheck(this, Operation);
2401
+ }
2402
+
2403
+ _createClass(Operation, [{
2404
+ key: "run",
2405
+ value: function run(type, geom, moreGeoms) {
2406
+ operation.type = type;
2407
+ rounder.reset();
2408
+ /* Convert inputs to MultiPoly objects */
2409
+
2410
+ var multipolys = [new MultiPolyIn(geom, true)];
2411
+
2412
+ for (var i = 0, iMax = moreGeoms.length; i < iMax; i++) {
2413
+ multipolys.push(new MultiPolyIn(moreGeoms[i], false));
2414
+ }
2415
+
2416
+ operation.numMultiPolys = multipolys.length;
2417
+ /* BBox optimization for difference operation
2418
+ * If the bbox of a multipolygon that's part of the clipping doesn't
2419
+ * intersect the bbox of the subject at all, we can just drop that
2420
+ * multiploygon. */
2421
+
2422
+ if (operation.type === 'difference') {
2423
+ // in place removal
2424
+ var subject = multipolys[0];
2425
+ var _i = 1;
2426
+
2427
+ while (_i < multipolys.length) {
2428
+ if (getBboxOverlap(multipolys[_i].bbox, subject.bbox) !== null) _i++;else multipolys.splice(_i, 1);
2429
+ }
2430
+ }
2431
+ /* BBox optimization for intersection operation
2432
+ * If we can find any pair of multipolygons whose bbox does not overlap,
2433
+ * then the result will be empty. */
2434
+
2435
+
2436
+ if (operation.type === 'intersection') {
2437
+ // TODO: this is O(n^2) in number of polygons. By sorting the bboxes,
2438
+ // it could be optimized to O(n * ln(n))
2439
+ for (var _i2 = 0, _iMax = multipolys.length; _i2 < _iMax; _i2++) {
2440
+ var mpA = multipolys[_i2];
2441
+
2442
+ for (var j = _i2 + 1, jMax = multipolys.length; j < jMax; j++) {
2443
+ if (getBboxOverlap(mpA.bbox, multipolys[j].bbox) === null) return [];
2444
+ }
2445
+ }
2446
+ }
2447
+ /* Put segment endpoints in a priority queue */
2448
+
2449
+
2450
+ var queue = new Tree(SweepEvent.compare);
2451
+
2452
+ for (var _i3 = 0, _iMax2 = multipolys.length; _i3 < _iMax2; _i3++) {
2453
+ var sweepEvents = multipolys[_i3].getSweepEvents();
2454
+
2455
+ for (var _j = 0, _jMax = sweepEvents.length; _j < _jMax; _j++) {
2456
+ queue.insert(sweepEvents[_j]);
2457
+
2458
+ if (queue.size > POLYGON_CLIPPING_MAX_QUEUE_SIZE) {
2459
+ // prevents an infinite loop, an otherwise common manifestation of bugs
2460
+ throw new Error('Infinite loop when putting segment endpoints in a priority queue ' + '(queue size too big). Please file a bug report.');
2461
+ }
2462
+ }
2463
+ }
2464
+ /* Pass the sweep line over those endpoints */
2465
+
2466
+
2467
+ var sweepLine = new SweepLine(queue);
2468
+ var prevQueueSize = queue.size;
2469
+ var node = queue.pop();
2470
+
2471
+ while (node) {
2472
+ var evt = node.key;
2473
+
2474
+ if (queue.size === prevQueueSize) {
2475
+ // prevents an infinite loop, an otherwise common manifestation of bugs
2476
+ var seg = evt.segment;
2477
+ throw new Error("Unable to pop() ".concat(evt.isLeft ? 'left' : 'right', " SweepEvent ") + "[".concat(evt.point.x, ", ").concat(evt.point.y, "] from segment #").concat(seg.id, " ") + "[".concat(seg.leftSE.point.x, ", ").concat(seg.leftSE.point.y, "] -> ") + "[".concat(seg.rightSE.point.x, ", ").concat(seg.rightSE.point.y, "] from queue. ") + 'Please file a bug report.');
2478
+ }
2479
+
2480
+ if (queue.size > POLYGON_CLIPPING_MAX_QUEUE_SIZE) {
2481
+ // prevents an infinite loop, an otherwise common manifestation of bugs
2482
+ throw new Error('Infinite loop when passing sweep line over endpoints ' + '(queue size too big). Please file a bug report.');
2483
+ }
2484
+
2485
+ if (sweepLine.segments.length > POLYGON_CLIPPING_MAX_SWEEPLINE_SEGMENTS) {
2486
+ // prevents an infinite loop, an otherwise common manifestation of bugs
2487
+ throw new Error('Infinite loop when passing sweep line over endpoints ' + '(too many sweep line segments). Please file a bug report.');
2488
+ }
2489
+
2490
+ var newEvents = sweepLine.process(evt);
2491
+
2492
+ for (var _i4 = 0, _iMax3 = newEvents.length; _i4 < _iMax3; _i4++) {
2493
+ var _evt = newEvents[_i4];
2494
+ if (_evt.consumedBy === undefined) queue.insert(_evt);
2495
+ }
2496
+
2497
+ prevQueueSize = queue.size;
2498
+ node = queue.pop();
2499
+ } // free some memory we don't need anymore
2500
+
2501
+
2502
+ rounder.reset();
2503
+ /* Collect and compile segments we're keeping into a multipolygon */
2504
+
2505
+ var ringsOut = RingOut.factory(sweepLine.segments);
2506
+ var result = new MultiPolyOut(ringsOut);
2507
+ return result.getGeom();
2508
+ }
2509
+ }]);
2510
+
2511
+ return Operation;
2512
+ }(); // singleton available by import
2513
+
2514
+ var operation = new Operation();
2515
+
2516
+ var union = function union(geom) {
2517
+ for (var _len = arguments.length, moreGeoms = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2518
+ moreGeoms[_key - 1] = arguments[_key];
2519
+ }
2520
+
2521
+ return operation.run('union', geom, moreGeoms);
2522
+ };
2523
+
2524
+ var intersection$1 = function intersection(geom) {
2525
+ for (var _len2 = arguments.length, moreGeoms = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
2526
+ moreGeoms[_key2 - 1] = arguments[_key2];
2527
+ }
2528
+
2529
+ return operation.run('intersection', geom, moreGeoms);
2530
+ };
2531
+
2532
+ var xor = function xor(geom) {
2533
+ for (var _len3 = arguments.length, moreGeoms = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
2534
+ moreGeoms[_key3 - 1] = arguments[_key3];
2535
+ }
2536
+
2537
+ return operation.run('xor', geom, moreGeoms);
2538
+ };
2539
+
2540
+ var difference = function difference(subjectGeom) {
2541
+ for (var _len4 = arguments.length, clippingGeoms = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
2542
+ clippingGeoms[_key4 - 1] = arguments[_key4];
2543
+ }
2544
+
2545
+ return operation.run('difference', subjectGeom, clippingGeoms);
2546
+ };
2547
+
2548
+ var index = {
2549
+ union: union,
2550
+ intersection: intersection$1,
2551
+ xor: xor,
2552
+ difference: difference
2553
+ };
2554
+
2555
+ return index;
2556
+
2557
+ })));