eoapi-cdk 5.4.1 → 6.0.1

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 (1276) hide show
  1. package/.jsii +360 -831
  2. package/CHANGELOG.md +19 -0
  3. package/lib/bastion-host/index.js +1 -1
  4. package/lib/{bootstrapper/runtime → database/bootstrapper_runtime}/Dockerfile +5 -3
  5. package/lib/database/index.d.ts +34 -5
  6. package/lib/database/index.js +66 -12
  7. package/lib/index.d.ts +1 -1
  8. package/lib/index.js +2 -2
  9. package/lib/ingestor-api/index.d.ts +15 -43
  10. package/lib/ingestor-api/index.js +40 -28
  11. package/lib/ingestor-api/runtime/Dockerfile +16 -0
  12. package/lib/ingestor-api/runtime/requirements.txt +2 -2
  13. package/lib/ingestor-api/runtime/src/handler.py +1 -1
  14. package/lib/ingestor-api/runtime/src/main.py +8 -0
  15. package/lib/stac-api/index.d.ts +10 -24
  16. package/lib/stac-api/index.js +24 -28
  17. package/lib/stac-api/runtime/Dockerfile +13 -0
  18. package/lib/stac-api/runtime/requirements.txt +0 -1
  19. package/lib/stac-browser/index.js +1 -1
  20. package/lib/tipg-api/index.d.ts +9 -23
  21. package/lib/tipg-api/index.js +22 -18
  22. package/lib/tipg-api/runtime/Dockerfile +17 -0
  23. package/lib/tipg-api/runtime/src/handler.py +1 -1
  24. package/lib/titiler-pgstac-api/index.d.ts +6 -39
  25. package/lib/titiler-pgstac-api/index.js +20 -18
  26. package/lib/titiler-pgstac-api/runtime/Dockerfile +19 -0
  27. package/lib/titiler-pgstac-api/runtime/requirements.txt +1 -2
  28. package/lib/titiler-pgstac-api/runtime/src/handler.py +1 -1
  29. package/lib/utils/index.d.ts +2 -0
  30. package/lib/utils/index.js +3 -0
  31. package/node_modules/@gulp-sourcemaps/map-sources/LICENSE +21 -0
  32. package/node_modules/@gulp-sourcemaps/map-sources/README.md +52 -0
  33. package/node_modules/@gulp-sourcemaps/map-sources/index.js +30 -0
  34. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/LICENSE +21 -0
  35. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/README.md +92 -0
  36. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/index.js +19 -0
  37. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/normalize-path/package.json +78 -0
  38. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/through2/LICENSE.md +9 -0
  39. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/through2/README.md +134 -0
  40. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/through2/package.json +33 -0
  41. package/node_modules/@gulp-sourcemaps/map-sources/node_modules/through2/through2.js +96 -0
  42. package/node_modules/@gulp-sourcemaps/map-sources/package.json +47 -0
  43. package/node_modules/acorn/.npmignore +10 -0
  44. package/node_modules/acorn/AUTHORS +62 -0
  45. package/node_modules/acorn/CHANGELOG.md +286 -0
  46. package/node_modules/acorn/LICENSE +19 -0
  47. package/node_modules/acorn/README.md +409 -0
  48. package/node_modules/acorn/bin/acorn +67 -0
  49. package/node_modules/acorn/dist/.keep +0 -0
  50. package/node_modules/acorn/dist/acorn.es.js +3401 -0
  51. package/node_modules/acorn/dist/acorn.js +3433 -0
  52. package/node_modules/acorn/dist/acorn_loose.es.js +1364 -0
  53. package/node_modules/acorn/dist/acorn_loose.js +1374 -0
  54. package/node_modules/acorn/dist/walk.es.js +342 -0
  55. package/node_modules/acorn/dist/walk.js +360 -0
  56. package/node_modules/acorn/package.json +46 -0
  57. package/node_modules/acorn/src/bin/acorn.js +60 -0
  58. package/node_modules/acorn/src/expression.js +819 -0
  59. package/node_modules/acorn/src/identifier.js +81 -0
  60. package/node_modules/acorn/src/index.js +77 -0
  61. package/node_modules/acorn/src/location.js +26 -0
  62. package/node_modules/acorn/src/locutil.js +42 -0
  63. package/node_modules/acorn/src/loose/expression.js +562 -0
  64. package/node_modules/acorn/src/loose/index.js +48 -0
  65. package/node_modules/acorn/src/loose/parseutil.js +1 -0
  66. package/node_modules/acorn/src/loose/state.js +161 -0
  67. package/node_modules/acorn/src/loose/statement.js +450 -0
  68. package/node_modules/acorn/src/loose/tokenize.js +108 -0
  69. package/node_modules/acorn/src/lval.js +219 -0
  70. package/node_modules/acorn/src/node.js +50 -0
  71. package/node_modules/acorn/src/options.js +128 -0
  72. package/node_modules/acorn/src/parseutil.js +128 -0
  73. package/node_modules/acorn/src/state.js +111 -0
  74. package/node_modules/acorn/src/statement.js +744 -0
  75. package/node_modules/acorn/src/tokencontext.js +110 -0
  76. package/node_modules/acorn/src/tokenize.js +686 -0
  77. package/node_modules/acorn/src/tokentype.js +147 -0
  78. package/node_modules/acorn/src/util.js +9 -0
  79. package/node_modules/acorn/src/walk/index.js +342 -0
  80. package/node_modules/acorn/src/whitespace.js +13 -0
  81. package/node_modules/arr-diff/LICENSE +21 -0
  82. package/node_modules/arr-diff/README.md +74 -0
  83. package/node_modules/arr-diff/index.js +58 -0
  84. package/node_modules/arr-diff/package.json +49 -0
  85. package/node_modules/arr-flatten/LICENSE +21 -0
  86. package/node_modules/arr-flatten/README.md +86 -0
  87. package/node_modules/arr-flatten/index.js +22 -0
  88. package/node_modules/arr-flatten/package.json +76 -0
  89. package/node_modules/array-unique/LICENSE +21 -0
  90. package/node_modules/array-unique/README.md +51 -0
  91. package/node_modules/array-unique/index.js +28 -0
  92. package/node_modules/array-unique/package.json +37 -0
  93. package/node_modules/atob/LICENSE +230 -0
  94. package/node_modules/atob/LICENSE.DOCS +319 -0
  95. package/node_modules/atob/README.md +49 -0
  96. package/node_modules/atob/bin/atob.js +6 -0
  97. package/node_modules/atob/bower.json +24 -0
  98. package/node_modules/atob/browser-atob.js +44 -0
  99. package/node_modules/atob/node-atob.js +7 -0
  100. package/node_modules/atob/package.json +24 -0
  101. package/node_modules/atob/test.js +18 -0
  102. package/node_modules/balanced-match/.github/FUNDING.yml +2 -0
  103. package/node_modules/balanced-match/LICENSE.md +21 -0
  104. package/node_modules/balanced-match/README.md +97 -0
  105. package/node_modules/balanced-match/index.js +62 -0
  106. package/node_modules/balanced-match/package.json +48 -0
  107. package/node_modules/brace-expansion/LICENSE +21 -0
  108. package/node_modules/brace-expansion/README.md +129 -0
  109. package/node_modules/brace-expansion/index.js +201 -0
  110. package/node_modules/brace-expansion/package.json +47 -0
  111. package/node_modules/clone-stats/LICENSE.md +21 -0
  112. package/node_modules/clone-stats/README.md +17 -0
  113. package/node_modules/clone-stats/index.js +13 -0
  114. package/node_modules/clone-stats/package.json +31 -0
  115. package/node_modules/clone-stats/test.js +36 -0
  116. package/node_modules/code-point-at/index.js +32 -0
  117. package/node_modules/code-point-at/license +21 -0
  118. package/node_modules/code-point-at/package.json +38 -0
  119. package/node_modules/code-point-at/readme.md +32 -0
  120. package/node_modules/concat-map/.travis.yml +4 -0
  121. package/node_modules/concat-map/LICENSE +18 -0
  122. package/node_modules/concat-map/README.markdown +62 -0
  123. package/node_modules/concat-map/example/map.js +6 -0
  124. package/node_modules/concat-map/index.js +13 -0
  125. package/node_modules/concat-map/package.json +43 -0
  126. package/node_modules/concat-map/test/map.js +39 -0
  127. package/node_modules/convert-source-map/LICENSE +23 -0
  128. package/node_modules/convert-source-map/README.md +123 -0
  129. package/node_modules/convert-source-map/index.js +179 -0
  130. package/node_modules/convert-source-map/package.json +41 -0
  131. package/node_modules/core-util-is/LICENSE +19 -0
  132. package/node_modules/core-util-is/README.md +3 -0
  133. package/node_modules/core-util-is/lib/util.js +107 -0
  134. package/node_modules/core-util-is/package.json +38 -0
  135. package/node_modules/css/History.md +75 -0
  136. package/node_modules/css/LICENSE +9 -0
  137. package/node_modules/css/Readme.md +314 -0
  138. package/node_modules/css/index.js +2 -0
  139. package/node_modules/css/lib/parse/index.js +603 -0
  140. package/node_modules/css/lib/stringify/compiler.js +50 -0
  141. package/node_modules/css/lib/stringify/compress.js +199 -0
  142. package/node_modules/css/lib/stringify/identity.js +254 -0
  143. package/node_modules/css/lib/stringify/index.js +47 -0
  144. package/node_modules/css/lib/stringify/source-map-support.js +126 -0
  145. package/node_modules/css/package.json +39 -0
  146. package/node_modules/debug-fabulous/LICENSE +21 -0
  147. package/node_modules/debug-fabulous/README.md +29 -0
  148. package/node_modules/debug-fabulous/index.js +11 -0
  149. package/node_modules/debug-fabulous/node_modules/debug/.coveralls.yml +1 -0
  150. package/node_modules/debug-fabulous/node_modules/debug/.eslintrc +11 -0
  151. package/node_modules/debug-fabulous/node_modules/debug/.npmignore +9 -0
  152. package/node_modules/debug-fabulous/node_modules/debug/.travis.yml +14 -0
  153. package/node_modules/debug-fabulous/node_modules/debug/CHANGELOG.md +362 -0
  154. package/node_modules/debug-fabulous/node_modules/debug/LICENSE +19 -0
  155. package/node_modules/debug-fabulous/node_modules/debug/Makefile +50 -0
  156. package/node_modules/debug-fabulous/node_modules/debug/README.md +312 -0
  157. package/node_modules/debug-fabulous/node_modules/debug/component.json +19 -0
  158. package/node_modules/debug-fabulous/node_modules/debug/karma.conf.js +70 -0
  159. package/node_modules/debug-fabulous/node_modules/debug/node.js +1 -0
  160. package/node_modules/debug-fabulous/node_modules/debug/package.json +49 -0
  161. package/node_modules/debug-fabulous/node_modules/debug/src/browser.js +185 -0
  162. package/node_modules/debug-fabulous/node_modules/debug/src/debug.js +202 -0
  163. package/node_modules/debug-fabulous/node_modules/debug/src/index.js +10 -0
  164. package/node_modules/debug-fabulous/node_modules/debug/src/inspector-log.js +15 -0
  165. package/node_modules/debug-fabulous/node_modules/debug/src/node.js +248 -0
  166. package/node_modules/debug-fabulous/node_modules/ms/index.js +152 -0
  167. package/node_modules/debug-fabulous/node_modules/ms/license.md +21 -0
  168. package/node_modules/debug-fabulous/node_modules/ms/package.json +37 -0
  169. package/node_modules/debug-fabulous/node_modules/ms/readme.md +51 -0
  170. package/node_modules/debug-fabulous/node_modules/object-assign/index.js +83 -0
  171. package/node_modules/debug-fabulous/node_modules/object-assign/license +21 -0
  172. package/node_modules/debug-fabulous/node_modules/object-assign/package.json +42 -0
  173. package/node_modules/debug-fabulous/node_modules/object-assign/readme.md +56 -0
  174. package/node_modules/debug-fabulous/package.json +32 -0
  175. package/node_modules/debug-fabulous/src/lazy-debug.js +9 -0
  176. package/node_modules/debug-fabulous/src/lazy-eval.js +50 -0
  177. package/node_modules/decode-uri-component/index.js +94 -0
  178. package/node_modules/decode-uri-component/license +9 -0
  179. package/node_modules/decode-uri-component/package.json +37 -0
  180. package/node_modules/decode-uri-component/readme.md +83 -0
  181. package/node_modules/detect-newline/index.js +24 -0
  182. package/node_modules/detect-newline/license +21 -0
  183. package/node_modules/detect-newline/package.json +37 -0
  184. package/node_modules/detect-newline/readme.md +42 -0
  185. package/node_modules/duplexify/.travis.yml +6 -0
  186. package/node_modules/duplexify/LICENSE +21 -0
  187. package/node_modules/duplexify/README.md +97 -0
  188. package/node_modules/duplexify/example.js +21 -0
  189. package/node_modules/duplexify/index.js +234 -0
  190. package/node_modules/duplexify/package.json +39 -0
  191. package/node_modules/duplexify/test.js +295 -0
  192. package/node_modules/end-of-stream/LICENSE +21 -0
  193. package/node_modules/end-of-stream/README.md +54 -0
  194. package/node_modules/end-of-stream/index.js +94 -0
  195. package/node_modules/end-of-stream/package.json +37 -0
  196. package/node_modules/error-ex/LICENSE +21 -0
  197. package/node_modules/error-ex/README.md +144 -0
  198. package/node_modules/error-ex/index.js +141 -0
  199. package/node_modules/error-ex/package.json +46 -0
  200. package/node_modules/expand-brackets/LICENSE +21 -0
  201. package/node_modules/expand-brackets/README.md +107 -0
  202. package/node_modules/expand-brackets/index.js +163 -0
  203. package/node_modules/expand-brackets/package.json +62 -0
  204. package/node_modules/expand-range/LICENSE +24 -0
  205. package/node_modules/expand-range/README.md +145 -0
  206. package/node_modules/expand-range/index.js +43 -0
  207. package/node_modules/expand-range/node_modules/fill-range/LICENSE +21 -0
  208. package/node_modules/expand-range/node_modules/fill-range/README.md +317 -0
  209. package/node_modules/expand-range/node_modules/fill-range/index.js +408 -0
  210. package/node_modules/expand-range/node_modules/fill-range/package.json +78 -0
  211. package/node_modules/expand-range/node_modules/is-number/LICENSE +21 -0
  212. package/node_modules/expand-range/node_modules/is-number/README.md +103 -0
  213. package/node_modules/expand-range/node_modules/is-number/index.js +19 -0
  214. package/node_modules/expand-range/node_modules/is-number/package.json +59 -0
  215. package/node_modules/expand-range/node_modules/kind-of/LICENSE +21 -0
  216. package/node_modules/expand-range/node_modules/kind-of/README.md +261 -0
  217. package/node_modules/expand-range/node_modules/kind-of/index.js +116 -0
  218. package/node_modules/expand-range/node_modules/kind-of/package.json +90 -0
  219. package/node_modules/expand-range/package.json +73 -0
  220. package/node_modules/extend/.editorconfig +20 -0
  221. package/node_modules/extend/.eslintrc +17 -0
  222. package/node_modules/extend/.jscs.json +175 -0
  223. package/node_modules/extend/.travis.yml +230 -0
  224. package/node_modules/extend/CHANGELOG.md +83 -0
  225. package/node_modules/extend/LICENSE +23 -0
  226. package/node_modules/extend/README.md +81 -0
  227. package/node_modules/extend/component.json +32 -0
  228. package/node_modules/extend/index.js +117 -0
  229. package/node_modules/extend/package.json +42 -0
  230. package/node_modules/extend-shallow/LICENSE +21 -0
  231. package/node_modules/extend-shallow/README.md +61 -0
  232. package/node_modules/extend-shallow/index.js +33 -0
  233. package/node_modules/extend-shallow/package.json +56 -0
  234. package/node_modules/extglob/LICENSE +21 -0
  235. package/node_modules/extglob/README.md +88 -0
  236. package/node_modules/extglob/index.js +178 -0
  237. package/node_modules/extglob/node_modules/is-extglob/LICENSE +21 -0
  238. package/node_modules/extglob/node_modules/is-extglob/README.md +75 -0
  239. package/node_modules/extglob/node_modules/is-extglob/index.js +11 -0
  240. package/node_modules/extglob/node_modules/is-extglob/package.json +48 -0
  241. package/node_modules/extglob/package.json +60 -0
  242. package/node_modules/filename-regex/LICENSE +21 -0
  243. package/node_modules/filename-regex/README.md +63 -0
  244. package/node_modules/filename-regex/index.js +10 -0
  245. package/node_modules/filename-regex/package.json +50 -0
  246. package/node_modules/first-chunk-stream/index.js +93 -0
  247. package/node_modules/first-chunk-stream/package.json +36 -0
  248. package/node_modules/first-chunk-stream/readme.md +62 -0
  249. package/node_modules/for-in/LICENSE +21 -0
  250. package/node_modules/for-in/README.md +85 -0
  251. package/node_modules/for-in/index.js +16 -0
  252. package/node_modules/for-in/package.json +68 -0
  253. package/node_modules/for-own/LICENSE +21 -0
  254. package/node_modules/for-own/README.md +85 -0
  255. package/node_modules/for-own/index.js +19 -0
  256. package/node_modules/for-own/package.json +70 -0
  257. package/node_modules/function-bind/.editorconfig +20 -0
  258. package/node_modules/function-bind/.eslintrc +15 -0
  259. package/node_modules/function-bind/.jscs.json +176 -0
  260. package/node_modules/function-bind/.npmignore +22 -0
  261. package/node_modules/function-bind/.travis.yml +168 -0
  262. package/node_modules/function-bind/LICENSE +20 -0
  263. package/node_modules/function-bind/README.md +48 -0
  264. package/node_modules/function-bind/implementation.js +52 -0
  265. package/node_modules/function-bind/index.js +5 -0
  266. package/node_modules/function-bind/package.json +63 -0
  267. package/node_modules/function-bind/test/.eslintrc +9 -0
  268. package/node_modules/function-bind/test/index.js +252 -0
  269. package/node_modules/glob-base/LICENSE +21 -0
  270. package/node_modules/glob-base/README.md +158 -0
  271. package/node_modules/glob-base/index.js +51 -0
  272. package/node_modules/glob-base/node_modules/glob-parent/.npmignore +4 -0
  273. package/node_modules/glob-base/node_modules/glob-parent/.travis.yml +8 -0
  274. package/node_modules/glob-base/node_modules/glob-parent/LICENSE +15 -0
  275. package/node_modules/glob-base/node_modules/glob-parent/README.md +43 -0
  276. package/node_modules/glob-base/node_modules/glob-parent/index.js +10 -0
  277. package/node_modules/glob-base/node_modules/glob-parent/package.json +35 -0
  278. package/node_modules/glob-base/node_modules/glob-parent/test.js +28 -0
  279. package/node_modules/glob-base/node_modules/is-extglob/LICENSE +21 -0
  280. package/node_modules/glob-base/node_modules/is-extglob/README.md +75 -0
  281. package/node_modules/glob-base/node_modules/is-extglob/index.js +11 -0
  282. package/node_modules/glob-base/node_modules/is-extglob/package.json +48 -0
  283. package/node_modules/glob-base/node_modules/is-glob/LICENSE +21 -0
  284. package/node_modules/glob-base/node_modules/is-glob/README.md +105 -0
  285. package/node_modules/glob-base/node_modules/is-glob/index.js +14 -0
  286. package/node_modules/glob-base/node_modules/is-glob/package.json +60 -0
  287. package/node_modules/glob-base/package.json +52 -0
  288. package/node_modules/glob-stream/LICENSE +21 -0
  289. package/node_modules/glob-stream/README.md +95 -0
  290. package/node_modules/glob-stream/index.js +209 -0
  291. package/node_modules/glob-stream/node_modules/braces/LICENSE +21 -0
  292. package/node_modules/glob-stream/node_modules/braces/README.md +248 -0
  293. package/node_modules/glob-stream/node_modules/braces/index.js +399 -0
  294. package/node_modules/glob-stream/node_modules/braces/package.json +83 -0
  295. package/node_modules/glob-stream/node_modules/glob/LICENSE +15 -0
  296. package/node_modules/glob-stream/node_modules/glob/README.md +377 -0
  297. package/node_modules/glob-stream/node_modules/glob/common.js +245 -0
  298. package/node_modules/glob-stream/node_modules/glob/glob.js +752 -0
  299. package/node_modules/glob-stream/node_modules/glob/package.json +42 -0
  300. package/node_modules/glob-stream/node_modules/glob/sync.js +460 -0
  301. package/node_modules/glob-stream/node_modules/glob-parent/LICENSE +15 -0
  302. package/node_modules/glob-stream/node_modules/glob-parent/README.md +109 -0
  303. package/node_modules/glob-stream/node_modules/glob-parent/index.js +24 -0
  304. package/node_modules/glob-stream/node_modules/glob-parent/package.json +42 -0
  305. package/node_modules/glob-stream/node_modules/is-glob/LICENSE +21 -0
  306. package/node_modules/glob-stream/node_modules/is-glob/README.md +142 -0
  307. package/node_modules/glob-stream/node_modules/is-glob/index.js +25 -0
  308. package/node_modules/glob-stream/node_modules/is-glob/package.json +80 -0
  309. package/node_modules/glob-stream/node_modules/isarray/README.md +54 -0
  310. package/node_modules/glob-stream/node_modules/isarray/build/build.js +209 -0
  311. package/node_modules/glob-stream/node_modules/isarray/component.json +19 -0
  312. package/node_modules/glob-stream/node_modules/isarray/index.js +3 -0
  313. package/node_modules/glob-stream/node_modules/isarray/package.json +25 -0
  314. package/node_modules/glob-stream/node_modules/kind-of/LICENSE +21 -0
  315. package/node_modules/glob-stream/node_modules/kind-of/README.md +261 -0
  316. package/node_modules/glob-stream/node_modules/kind-of/index.js +116 -0
  317. package/node_modules/glob-stream/node_modules/kind-of/package.json +90 -0
  318. package/node_modules/glob-stream/node_modules/micromatch/LICENSE +21 -0
  319. package/node_modules/glob-stream/node_modules/micromatch/README.md +689 -0
  320. package/node_modules/glob-stream/node_modules/micromatch/index.js +431 -0
  321. package/node_modules/glob-stream/node_modules/micromatch/lib/chars.js +67 -0
  322. package/node_modules/glob-stream/node_modules/micromatch/lib/expand.js +304 -0
  323. package/node_modules/glob-stream/node_modules/micromatch/lib/glob.js +193 -0
  324. package/node_modules/glob-stream/node_modules/micromatch/lib/utils.js +149 -0
  325. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-extglob/LICENSE +21 -0
  326. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-extglob/README.md +75 -0
  327. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-extglob/index.js +11 -0
  328. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-extglob/package.json +48 -0
  329. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-glob/LICENSE +21 -0
  330. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-glob/README.md +105 -0
  331. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-glob/index.js +14 -0
  332. package/node_modules/glob-stream/node_modules/micromatch/node_modules/is-glob/package.json +60 -0
  333. package/node_modules/glob-stream/node_modules/micromatch/package.json +114 -0
  334. package/node_modules/glob-stream/node_modules/normalize-path/LICENSE +21 -0
  335. package/node_modules/glob-stream/node_modules/normalize-path/README.md +92 -0
  336. package/node_modules/glob-stream/node_modules/normalize-path/index.js +19 -0
  337. package/node_modules/glob-stream/node_modules/normalize-path/package.json +78 -0
  338. package/node_modules/glob-stream/node_modules/readable-stream/.npmignore +5 -0
  339. package/node_modules/glob-stream/node_modules/readable-stream/LICENSE +18 -0
  340. package/node_modules/glob-stream/node_modules/readable-stream/README.md +15 -0
  341. package/node_modules/glob-stream/node_modules/readable-stream/duplex.js +1 -0
  342. package/node_modules/glob-stream/node_modules/readable-stream/lib/_stream_duplex.js +89 -0
  343. package/node_modules/glob-stream/node_modules/readable-stream/lib/_stream_passthrough.js +46 -0
  344. package/node_modules/glob-stream/node_modules/readable-stream/lib/_stream_readable.js +982 -0
  345. package/node_modules/glob-stream/node_modules/readable-stream/lib/_stream_transform.js +210 -0
  346. package/node_modules/glob-stream/node_modules/readable-stream/lib/_stream_writable.js +386 -0
  347. package/node_modules/glob-stream/node_modules/readable-stream/package.json +32 -0
  348. package/node_modules/glob-stream/node_modules/readable-stream/passthrough.js +1 -0
  349. package/node_modules/glob-stream/node_modules/readable-stream/readable.js +11 -0
  350. package/node_modules/glob-stream/node_modules/readable-stream/transform.js +1 -0
  351. package/node_modules/glob-stream/node_modules/readable-stream/writable.js +1 -0
  352. package/node_modules/glob-stream/node_modules/string_decoder/.npmignore +2 -0
  353. package/node_modules/glob-stream/node_modules/string_decoder/LICENSE +20 -0
  354. package/node_modules/glob-stream/node_modules/string_decoder/README.md +7 -0
  355. package/node_modules/glob-stream/node_modules/string_decoder/index.js +221 -0
  356. package/node_modules/glob-stream/node_modules/string_decoder/package.json +25 -0
  357. package/node_modules/glob-stream/node_modules/through2/.npmignore +3 -0
  358. package/node_modules/glob-stream/node_modules/through2/LICENSE +39 -0
  359. package/node_modules/glob-stream/node_modules/through2/README.md +132 -0
  360. package/node_modules/glob-stream/node_modules/through2/package.json +31 -0
  361. package/node_modules/glob-stream/node_modules/through2/through2.js +96 -0
  362. package/node_modules/glob-stream/package.json +51 -0
  363. package/node_modules/graceful-fs/LICENSE +15 -0
  364. package/node_modules/graceful-fs/README.md +143 -0
  365. package/node_modules/graceful-fs/clone.js +23 -0
  366. package/node_modules/graceful-fs/graceful-fs.js +448 -0
  367. package/node_modules/graceful-fs/legacy-streams.js +118 -0
  368. package/node_modules/graceful-fs/package.json +50 -0
  369. package/node_modules/graceful-fs/polyfills.js +355 -0
  370. package/node_modules/gulp-sourcemaps/LICENSE.md +15 -0
  371. package/node_modules/gulp-sourcemaps/README.md +395 -0
  372. package/node_modules/gulp-sourcemaps/index.js +7 -0
  373. package/node_modules/gulp-sourcemaps/node_modules/strip-bom/index.js +17 -0
  374. package/node_modules/gulp-sourcemaps/node_modules/strip-bom/license +21 -0
  375. package/node_modules/gulp-sourcemaps/node_modules/strip-bom/package.json +42 -0
  376. package/node_modules/gulp-sourcemaps/node_modules/strip-bom/readme.md +39 -0
  377. package/node_modules/gulp-sourcemaps/node_modules/through2/LICENSE.md +9 -0
  378. package/node_modules/gulp-sourcemaps/node_modules/through2/README.md +134 -0
  379. package/node_modules/gulp-sourcemaps/node_modules/through2/package.json +33 -0
  380. package/node_modules/gulp-sourcemaps/node_modules/through2/through2.js +96 -0
  381. package/node_modules/gulp-sourcemaps/package.json +64 -0
  382. package/node_modules/gulp-sourcemaps/src/init/index.internals.js +122 -0
  383. package/node_modules/gulp-sourcemaps/src/init/index.js +141 -0
  384. package/node_modules/gulp-sourcemaps/src/utils.js +81 -0
  385. package/node_modules/gulp-sourcemaps/src/write/index.internals.js +181 -0
  386. package/node_modules/gulp-sourcemaps/src/write/index.js +71 -0
  387. package/node_modules/has/LICENSE-MIT +22 -0
  388. package/node_modules/has/README.md +18 -0
  389. package/node_modules/has/package.json +48 -0
  390. package/node_modules/has/src/index.js +5 -0
  391. package/node_modules/has/test/index.js +10 -0
  392. package/node_modules/has-ansi/index.js +4 -0
  393. package/node_modules/has-ansi/license +21 -0
  394. package/node_modules/has-ansi/node_modules/ansi-regex/index.js +4 -0
  395. package/node_modules/has-ansi/node_modules/ansi-regex/license +21 -0
  396. package/node_modules/has-ansi/node_modules/ansi-regex/package.json +64 -0
  397. package/node_modules/has-ansi/node_modules/ansi-regex/readme.md +39 -0
  398. package/node_modules/has-ansi/package.json +55 -0
  399. package/node_modules/has-ansi/readme.md +36 -0
  400. package/node_modules/hosted-git-info/CHANGELOG.md +151 -0
  401. package/node_modules/hosted-git-info/LICENSE +13 -0
  402. package/node_modules/hosted-git-info/README.md +133 -0
  403. package/node_modules/hosted-git-info/git-host-info.js +79 -0
  404. package/node_modules/hosted-git-info/git-host.js +156 -0
  405. package/node_modules/hosted-git-info/index.js +148 -0
  406. package/node_modules/hosted-git-info/package.json +40 -0
  407. package/node_modules/inflight/LICENSE +15 -0
  408. package/node_modules/inflight/README.md +37 -0
  409. package/node_modules/inflight/inflight.js +54 -0
  410. package/node_modules/inflight/package.json +29 -0
  411. package/node_modules/inherits/LICENSE +16 -0
  412. package/node_modules/inherits/README.md +42 -0
  413. package/node_modules/inherits/inherits.js +9 -0
  414. package/node_modules/inherits/inherits_browser.js +27 -0
  415. package/node_modules/inherits/package.json +29 -0
  416. package/node_modules/invert-kv/index.js +15 -0
  417. package/node_modules/invert-kv/package.json +33 -0
  418. package/node_modules/invert-kv/readme.md +25 -0
  419. package/node_modules/is-arrayish/.editorconfig +18 -0
  420. package/node_modules/is-arrayish/.istanbul.yml +4 -0
  421. package/node_modules/is-arrayish/.npmignore +5 -0
  422. package/node_modules/is-arrayish/.travis.yml +17 -0
  423. package/node_modules/is-arrayish/LICENSE +21 -0
  424. package/node_modules/is-arrayish/README.md +16 -0
  425. package/node_modules/is-arrayish/index.js +10 -0
  426. package/node_modules/is-arrayish/package.json +34 -0
  427. package/node_modules/is-buffer/LICENSE +21 -0
  428. package/node_modules/is-buffer/README.md +53 -0
  429. package/node_modules/is-buffer/index.js +21 -0
  430. package/node_modules/is-buffer/package.json +51 -0
  431. package/node_modules/is-buffer/test/basic.js +24 -0
  432. package/node_modules/is-core-module/.eslintrc +18 -0
  433. package/node_modules/is-core-module/.nycrc +9 -0
  434. package/node_modules/is-core-module/CHANGELOG.md +151 -0
  435. package/node_modules/is-core-module/LICENSE +20 -0
  436. package/node_modules/is-core-module/README.md +40 -0
  437. package/node_modules/is-core-module/core.json +155 -0
  438. package/node_modules/is-core-module/index.js +69 -0
  439. package/node_modules/is-core-module/package.json +72 -0
  440. package/node_modules/is-core-module/test/index.js +133 -0
  441. package/node_modules/is-dotfile/LICENSE +21 -0
  442. package/node_modules/is-dotfile/README.md +95 -0
  443. package/node_modules/is-dotfile/index.js +14 -0
  444. package/node_modules/is-dotfile/package.json +69 -0
  445. package/node_modules/is-equal-shallow/LICENSE +21 -0
  446. package/node_modules/is-equal-shallow/README.md +90 -0
  447. package/node_modules/is-equal-shallow/index.js +27 -0
  448. package/node_modules/is-equal-shallow/package.json +54 -0
  449. package/node_modules/is-extendable/LICENSE +21 -0
  450. package/node_modules/is-extendable/README.md +72 -0
  451. package/node_modules/is-extendable/index.js +13 -0
  452. package/node_modules/is-extendable/package.json +51 -0
  453. package/node_modules/is-extglob/LICENSE +21 -0
  454. package/node_modules/is-extglob/README.md +107 -0
  455. package/node_modules/is-extglob/index.js +20 -0
  456. package/node_modules/is-extglob/package.json +69 -0
  457. package/node_modules/is-posix-bracket/LICENSE +21 -0
  458. package/node_modules/is-posix-bracket/README.md +88 -0
  459. package/node_modules/is-posix-bracket/index.js +10 -0
  460. package/node_modules/is-posix-bracket/package.json +64 -0
  461. package/node_modules/is-primitive/LICENSE +21 -0
  462. package/node_modules/is-primitive/README.md +57 -0
  463. package/node_modules/is-primitive/index.js +13 -0
  464. package/node_modules/is-primitive/package.json +46 -0
  465. package/node_modules/is-utf8/LICENSE +9 -0
  466. package/node_modules/is-utf8/README.md +16 -0
  467. package/node_modules/is-utf8/is-utf8.js +76 -0
  468. package/node_modules/is-utf8/package.json +19 -0
  469. package/node_modules/is-valid-glob/LICENSE +21 -0
  470. package/node_modules/is-valid-glob/README.md +88 -0
  471. package/node_modules/is-valid-glob/index.js +21 -0
  472. package/node_modules/is-valid-glob/package.json +51 -0
  473. package/node_modules/isarray/.npmignore +1 -0
  474. package/node_modules/isarray/.travis.yml +4 -0
  475. package/node_modules/isarray/Makefile +6 -0
  476. package/node_modules/isarray/README.md +60 -0
  477. package/node_modules/isarray/component.json +19 -0
  478. package/node_modules/isarray/index.js +5 -0
  479. package/node_modules/isarray/package.json +45 -0
  480. package/node_modules/isarray/test.js +20 -0
  481. package/node_modules/isobject/LICENSE +21 -0
  482. package/node_modules/isobject/README.md +112 -0
  483. package/node_modules/isobject/index.js +14 -0
  484. package/node_modules/isobject/package.json +67 -0
  485. package/node_modules/json-stable-stringify-without-jsonify/.npmignore +1 -0
  486. package/node_modules/json-stable-stringify-without-jsonify/.travis.yml +4 -0
  487. package/node_modules/json-stable-stringify-without-jsonify/LICENSE +18 -0
  488. package/node_modules/json-stable-stringify-without-jsonify/example/key_cmp.js +7 -0
  489. package/node_modules/json-stable-stringify-without-jsonify/example/nested.js +3 -0
  490. package/node_modules/json-stable-stringify-without-jsonify/example/str.js +3 -0
  491. package/node_modules/json-stable-stringify-without-jsonify/example/value_cmp.js +7 -0
  492. package/node_modules/json-stable-stringify-without-jsonify/index.js +82 -0
  493. package/node_modules/json-stable-stringify-without-jsonify/package.json +43 -0
  494. package/node_modules/json-stable-stringify-without-jsonify/readme.markdown +132 -0
  495. package/node_modules/json-stable-stringify-without-jsonify/test/cmp.js +11 -0
  496. package/node_modules/json-stable-stringify-without-jsonify/test/nested.js +42 -0
  497. package/node_modules/json-stable-stringify-without-jsonify/test/replacer.js +74 -0
  498. package/node_modules/json-stable-stringify-without-jsonify/test/space.js +59 -0
  499. package/node_modules/json-stable-stringify-without-jsonify/test/str.js +32 -0
  500. package/node_modules/json-stable-stringify-without-jsonify/test/to-json.js +20 -0
  501. package/node_modules/kind-of/CHANGELOG.md +160 -0
  502. package/node_modules/kind-of/LICENSE +21 -0
  503. package/node_modules/kind-of/README.md +367 -0
  504. package/node_modules/kind-of/index.js +129 -0
  505. package/node_modules/kind-of/package.json +88 -0
  506. package/node_modules/lazy-debug-legacy/.npmignore +4 -0
  507. package/node_modules/lazy-debug-legacy/LICENSE.md +21 -0
  508. package/node_modules/lazy-debug-legacy/README.md +40 -0
  509. package/node_modules/lazy-debug-legacy/package.json +74 -0
  510. package/node_modules/lazy-debug-legacy/src/functions.js +116 -0
  511. package/node_modules/lazy-debug-legacy/src/index.js +30 -0
  512. package/node_modules/lazystream/LICENSE +23 -0
  513. package/node_modules/lazystream/README.md +114 -0
  514. package/node_modules/lazystream/lib/lazystream.js +54 -0
  515. package/node_modules/lazystream/package.json +46 -0
  516. package/node_modules/lazystream/test/data.md +13 -0
  517. package/node_modules/lazystream/test/fs_test.js +69 -0
  518. package/node_modules/lazystream/test/helper.js +39 -0
  519. package/node_modules/lazystream/test/pipe_test.js +36 -0
  520. package/node_modules/lazystream/test/readable_test.js +90 -0
  521. package/node_modules/lazystream/test/writable_test.js +59 -0
  522. package/node_modules/lcid/index.js +22 -0
  523. package/node_modules/lcid/lcid.json +203 -0
  524. package/node_modules/lcid/license +21 -0
  525. package/node_modules/lcid/package.json +46 -0
  526. package/node_modules/lcid/readme.md +35 -0
  527. package/node_modules/lodash._reinterpolate/LICENSE.txt +22 -0
  528. package/node_modules/lodash._reinterpolate/README.md +20 -0
  529. package/node_modules/lodash._reinterpolate/index.js +13 -0
  530. package/node_modules/lodash._reinterpolate/package.json +18 -0
  531. package/node_modules/lodash.assign/LICENSE +47 -0
  532. package/node_modules/lodash.assign/README.md +18 -0
  533. package/node_modules/lodash.assign/index.js +637 -0
  534. package/node_modules/lodash.assign/package.json +17 -0
  535. package/node_modules/lodash.assigninwith/LICENSE +47 -0
  536. package/node_modules/lodash.assigninwith/README.md +18 -0
  537. package/node_modules/lodash.assigninwith/index.js +624 -0
  538. package/node_modules/lodash.assigninwith/package.json +17 -0
  539. package/node_modules/lodash.isequal/LICENSE +47 -0
  540. package/node_modules/lodash.isequal/README.md +18 -0
  541. package/node_modules/lodash.isequal/index.js +1848 -0
  542. package/node_modules/lodash.isequal/package.json +16 -0
  543. package/node_modules/lodash.keys/LICENSE +47 -0
  544. package/node_modules/lodash.keys/README.md +18 -0
  545. package/node_modules/lodash.keys/index.js +401 -0
  546. package/node_modules/lodash.keys/package.json +17 -0
  547. package/node_modules/lodash.rest/LICENSE +47 -0
  548. package/node_modules/lodash.rest/README.md +18 -0
  549. package/node_modules/lodash.rest/index.js +323 -0
  550. package/node_modules/lodash.rest/package.json +17 -0
  551. package/node_modules/lodash.template/LICENSE +47 -0
  552. package/node_modules/lodash.template/README.md +18 -0
  553. package/node_modules/lodash.template/index.js +657 -0
  554. package/node_modules/lodash.template/package.json +25 -0
  555. package/node_modules/lodash.templatesettings/LICENSE +47 -0
  556. package/node_modules/lodash.templatesettings/README.md +18 -0
  557. package/node_modules/lodash.templatesettings/index.js +382 -0
  558. package/node_modules/lodash.templatesettings/package.json +19 -0
  559. package/node_modules/lodash.tostring/LICENSE +47 -0
  560. package/node_modules/lodash.tostring/README.md +18 -0
  561. package/node_modules/lodash.tostring/index.js +137 -0
  562. package/node_modules/lodash.tostring/package.json +17 -0
  563. package/node_modules/map-stream/.npmignore +3 -0
  564. package/node_modules/map-stream/.travis.yml +4 -0
  565. package/node_modules/map-stream/LICENCE +24 -0
  566. package/node_modules/map-stream/examples/pretty.js +26 -0
  567. package/node_modules/map-stream/index.js +145 -0
  568. package/node_modules/map-stream/package/.npmignore +3 -0
  569. package/node_modules/map-stream/package/.travis.yml +4 -0
  570. package/node_modules/map-stream/package/LICENCE +22 -0
  571. package/node_modules/map-stream/package/examples/pretty.js +26 -0
  572. package/node_modules/map-stream/package/index.js +145 -0
  573. package/node_modules/map-stream/package/package.json +24 -0
  574. package/node_modules/map-stream/package/readme.markdown +37 -0
  575. package/node_modules/map-stream/package/test/simple-map.asynct.js +318 -0
  576. package/node_modules/map-stream/package.json +24 -0
  577. package/node_modules/map-stream/readme.markdown +37 -0
  578. package/node_modules/map-stream/test/simple-map.asynct.js +318 -0
  579. package/node_modules/math-random/.travis.yml +6 -0
  580. package/node_modules/math-random/browser.js +17 -0
  581. package/node_modules/math-random/node.js +13 -0
  582. package/node_modules/math-random/package.json +16 -0
  583. package/node_modules/math-random/readme.md +26 -0
  584. package/node_modules/math-random/test.js +21 -0
  585. package/node_modules/minimatch/LICENSE +15 -0
  586. package/node_modules/minimatch/README.md +230 -0
  587. package/node_modules/minimatch/minimatch.js +947 -0
  588. package/node_modules/minimatch/package.json +33 -0
  589. package/node_modules/minimist/.travis.yml +8 -0
  590. package/node_modules/minimist/LICENSE +18 -0
  591. package/node_modules/minimist/example/parse.js +2 -0
  592. package/node_modules/minimist/index.js +249 -0
  593. package/node_modules/minimist/package.json +45 -0
  594. package/node_modules/minimist/readme.markdown +98 -0
  595. package/node_modules/minimist/test/all_bool.js +32 -0
  596. package/node_modules/minimist/test/bool.js +178 -0
  597. package/node_modules/minimist/test/dash.js +31 -0
  598. package/node_modules/minimist/test/default_bool.js +35 -0
  599. package/node_modules/minimist/test/dotted.js +22 -0
  600. package/node_modules/minimist/test/kv_short.js +16 -0
  601. package/node_modules/minimist/test/long.js +31 -0
  602. package/node_modules/minimist/test/num.js +36 -0
  603. package/node_modules/minimist/test/parse.js +197 -0
  604. package/node_modules/minimist/test/parse_modified.js +9 -0
  605. package/node_modules/minimist/test/proto.js +60 -0
  606. package/node_modules/minimist/test/short.js +67 -0
  607. package/node_modules/minimist/test/stop_early.js +15 -0
  608. package/node_modules/minimist/test/unknown.js +102 -0
  609. package/node_modules/minimist/test/whitespace.js +8 -0
  610. package/node_modules/mkdirp/LICENSE +21 -0
  611. package/node_modules/mkdirp/bin/cmd.js +33 -0
  612. package/node_modules/mkdirp/bin/usage.txt +12 -0
  613. package/node_modules/mkdirp/index.js +102 -0
  614. package/node_modules/mkdirp/package.json +33 -0
  615. package/node_modules/mkdirp/readme.markdown +100 -0
  616. package/node_modules/module/.npmignore +1 -0
  617. package/node_modules/module/LICENSE +21 -0
  618. package/node_modules/module/README.md +35 -0
  619. package/node_modules/module/dist/cli.js +57 -0
  620. package/node_modules/module/dist/index.js +61 -0
  621. package/node_modules/module/node_modules/ansi-regex/index.js +4 -0
  622. package/node_modules/module/node_modules/ansi-regex/license +21 -0
  623. package/node_modules/module/node_modules/ansi-regex/package.json +64 -0
  624. package/node_modules/module/node_modules/ansi-regex/readme.md +39 -0
  625. package/node_modules/module/node_modules/ansi-styles/index.js +65 -0
  626. package/node_modules/module/node_modules/ansi-styles/license +21 -0
  627. package/node_modules/module/node_modules/ansi-styles/package.json +50 -0
  628. package/node_modules/module/node_modules/ansi-styles/readme.md +86 -0
  629. package/node_modules/module/node_modules/camelcase/index.js +56 -0
  630. package/node_modules/module/node_modules/camelcase/license +21 -0
  631. package/node_modules/module/node_modules/camelcase/package.json +39 -0
  632. package/node_modules/module/node_modules/camelcase/readme.md +57 -0
  633. package/node_modules/module/node_modules/chalk/index.js +116 -0
  634. package/node_modules/module/node_modules/chalk/license +21 -0
  635. package/node_modules/module/node_modules/chalk/package.json +70 -0
  636. package/node_modules/module/node_modules/chalk/readme.md +213 -0
  637. package/node_modules/module/node_modules/cliui/CHANGELOG.md +15 -0
  638. package/node_modules/module/node_modules/cliui/LICENSE.txt +14 -0
  639. package/node_modules/module/node_modules/cliui/README.md +110 -0
  640. package/node_modules/module/node_modules/cliui/index.js +316 -0
  641. package/node_modules/module/node_modules/cliui/package.json +64 -0
  642. package/node_modules/module/node_modules/concat-stream/LICENSE +24 -0
  643. package/node_modules/module/node_modules/concat-stream/index.js +136 -0
  644. package/node_modules/module/node_modules/concat-stream/package.json +54 -0
  645. package/node_modules/module/node_modules/concat-stream/readme.md +100 -0
  646. package/node_modules/module/node_modules/decamelize/index.js +13 -0
  647. package/node_modules/module/node_modules/decamelize/license +21 -0
  648. package/node_modules/module/node_modules/decamelize/package.json +38 -0
  649. package/node_modules/module/node_modules/decamelize/readme.md +48 -0
  650. package/node_modules/module/node_modules/escape-string-regexp/index.js +11 -0
  651. package/node_modules/module/node_modules/escape-string-regexp/license +21 -0
  652. package/node_modules/module/node_modules/escape-string-regexp/package.json +41 -0
  653. package/node_modules/module/node_modules/escape-string-regexp/readme.md +27 -0
  654. package/node_modules/module/node_modules/find-up/index.js +53 -0
  655. package/node_modules/module/node_modules/find-up/license +21 -0
  656. package/node_modules/module/node_modules/find-up/package.json +51 -0
  657. package/node_modules/module/node_modules/find-up/readme.md +72 -0
  658. package/node_modules/module/node_modules/is-fullwidth-code-point/index.js +46 -0
  659. package/node_modules/module/node_modules/is-fullwidth-code-point/license +21 -0
  660. package/node_modules/module/node_modules/is-fullwidth-code-point/package.json +45 -0
  661. package/node_modules/module/node_modules/is-fullwidth-code-point/readme.md +39 -0
  662. package/node_modules/module/node_modules/load-json-file/index.js +21 -0
  663. package/node_modules/module/node_modules/load-json-file/license +21 -0
  664. package/node_modules/module/node_modules/load-json-file/package.json +46 -0
  665. package/node_modules/module/node_modules/load-json-file/readme.md +45 -0
  666. package/node_modules/module/node_modules/parse-json/index.js +35 -0
  667. package/node_modules/module/node_modules/parse-json/license +21 -0
  668. package/node_modules/module/node_modules/parse-json/package.json +46 -0
  669. package/node_modules/module/node_modules/parse-json/readme.md +83 -0
  670. package/node_modules/module/node_modules/parse-json/vendor/parse.js +752 -0
  671. package/node_modules/module/node_modules/parse-json/vendor/unicode.js +71 -0
  672. package/node_modules/module/node_modules/path-exists/index.js +24 -0
  673. package/node_modules/module/node_modules/path-exists/license +21 -0
  674. package/node_modules/module/node_modules/path-exists/package.json +40 -0
  675. package/node_modules/module/node_modules/path-exists/readme.md +45 -0
  676. package/node_modules/module/node_modules/path-type/index.js +29 -0
  677. package/node_modules/module/node_modules/path-type/license +21 -0
  678. package/node_modules/module/node_modules/path-type/package.json +52 -0
  679. package/node_modules/module/node_modules/path-type/readme.md +42 -0
  680. package/node_modules/module/node_modules/pify/index.js +68 -0
  681. package/node_modules/module/node_modules/pify/license +21 -0
  682. package/node_modules/module/node_modules/pify/package.json +48 -0
  683. package/node_modules/module/node_modules/pify/readme.md +119 -0
  684. package/node_modules/module/node_modules/pkg-conf/index.js +62 -0
  685. package/node_modules/module/node_modules/pkg-conf/license +21 -0
  686. package/node_modules/module/node_modules/pkg-conf/package.json +51 -0
  687. package/node_modules/module/node_modules/pkg-conf/readme.md +86 -0
  688. package/node_modules/module/node_modules/process-nextick-args/.travis.yml +12 -0
  689. package/node_modules/module/node_modules/process-nextick-args/index.js +43 -0
  690. package/node_modules/module/node_modules/process-nextick-args/license.md +19 -0
  691. package/node_modules/module/node_modules/process-nextick-args/package.json +22 -0
  692. package/node_modules/module/node_modules/process-nextick-args/readme.md +18 -0
  693. package/node_modules/module/node_modules/process-nextick-args/test.js +24 -0
  694. package/node_modules/module/node_modules/read-pkg/index.js +48 -0
  695. package/node_modules/module/node_modules/read-pkg/license +21 -0
  696. package/node_modules/module/node_modules/read-pkg/package.json +42 -0
  697. package/node_modules/module/node_modules/read-pkg/readme.md +79 -0
  698. package/node_modules/module/node_modules/read-pkg-up/index.js +31 -0
  699. package/node_modules/module/node_modules/read-pkg-up/license +21 -0
  700. package/node_modules/module/node_modules/read-pkg-up/package.json +59 -0
  701. package/node_modules/module/node_modules/read-pkg-up/readme.md +79 -0
  702. package/node_modules/module/node_modules/readable-stream/.npmignore +5 -0
  703. package/node_modules/module/node_modules/readable-stream/.travis.yml +52 -0
  704. package/node_modules/module/node_modules/readable-stream/.zuul.yml +1 -0
  705. package/node_modules/module/node_modules/readable-stream/LICENSE +18 -0
  706. package/node_modules/module/node_modules/readable-stream/README.md +36 -0
  707. package/node_modules/module/node_modules/readable-stream/doc/stream.markdown +1760 -0
  708. package/node_modules/module/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  709. package/node_modules/module/node_modules/readable-stream/duplex.js +1 -0
  710. package/node_modules/module/node_modules/readable-stream/lib/_stream_duplex.js +75 -0
  711. package/node_modules/module/node_modules/readable-stream/lib/_stream_passthrough.js +26 -0
  712. package/node_modules/module/node_modules/readable-stream/lib/_stream_readable.js +880 -0
  713. package/node_modules/module/node_modules/readable-stream/lib/_stream_transform.js +180 -0
  714. package/node_modules/module/node_modules/readable-stream/lib/_stream_writable.js +516 -0
  715. package/node_modules/module/node_modules/readable-stream/package.json +37 -0
  716. package/node_modules/module/node_modules/readable-stream/passthrough.js +1 -0
  717. package/node_modules/module/node_modules/readable-stream/readable.js +12 -0
  718. package/node_modules/module/node_modules/readable-stream/transform.js +1 -0
  719. package/node_modules/module/node_modules/readable-stream/writable.js +1 -0
  720. package/node_modules/module/node_modules/string-width/index.js +37 -0
  721. package/node_modules/module/node_modules/string-width/license +21 -0
  722. package/node_modules/module/node_modules/string-width/package.json +56 -0
  723. package/node_modules/module/node_modules/string-width/readme.md +42 -0
  724. package/node_modules/module/node_modules/string_decoder/.npmignore +2 -0
  725. package/node_modules/module/node_modules/string_decoder/LICENSE +20 -0
  726. package/node_modules/module/node_modules/string_decoder/README.md +7 -0
  727. package/node_modules/module/node_modules/string_decoder/index.js +221 -0
  728. package/node_modules/module/node_modules/string_decoder/package.json +25 -0
  729. package/node_modules/module/node_modules/strip-ansi/index.js +6 -0
  730. package/node_modules/module/node_modules/strip-ansi/license +21 -0
  731. package/node_modules/module/node_modules/strip-ansi/package.json +57 -0
  732. package/node_modules/module/node_modules/strip-ansi/readme.md +33 -0
  733. package/node_modules/module/node_modules/strip-bom/index.js +17 -0
  734. package/node_modules/module/node_modules/strip-bom/license +21 -0
  735. package/node_modules/module/node_modules/strip-bom/package.json +42 -0
  736. package/node_modules/module/node_modules/strip-bom/readme.md +39 -0
  737. package/node_modules/module/node_modules/supports-color/index.js +50 -0
  738. package/node_modules/module/node_modules/supports-color/license +21 -0
  739. package/node_modules/module/node_modules/supports-color/package.json +49 -0
  740. package/node_modules/module/node_modules/supports-color/readme.md +36 -0
  741. package/node_modules/module/node_modules/wrap-ansi/index.js +168 -0
  742. package/node_modules/module/node_modules/wrap-ansi/license +21 -0
  743. package/node_modules/module/node_modules/wrap-ansi/package.json +68 -0
  744. package/node_modules/module/node_modules/wrap-ansi/readme.md +73 -0
  745. package/node_modules/module/node_modules/y18n/CHANGELOG.md +6 -0
  746. package/node_modules/module/node_modules/y18n/LICENSE +13 -0
  747. package/node_modules/module/node_modules/y18n/README.md +91 -0
  748. package/node_modules/module/node_modules/y18n/index.js +172 -0
  749. package/node_modules/module/node_modules/y18n/package.json +37 -0
  750. package/node_modules/module/node_modules/yargs/CHANGELOG.md +589 -0
  751. package/node_modules/module/node_modules/yargs/LICENSE +22 -0
  752. package/node_modules/module/node_modules/yargs/README.md +1482 -0
  753. package/node_modules/module/node_modules/yargs/completion.sh.hbs +28 -0
  754. package/node_modules/module/node_modules/yargs/index.js +31 -0
  755. package/node_modules/module/node_modules/yargs/lib/command.js +151 -0
  756. package/node_modules/module/node_modules/yargs/lib/completion.js +99 -0
  757. package/node_modules/module/node_modules/yargs/lib/obj-filter.js +10 -0
  758. package/node_modules/module/node_modules/yargs/lib/usage.js +405 -0
  759. package/node_modules/module/node_modules/yargs/lib/validation.js +279 -0
  760. package/node_modules/module/node_modules/yargs/locales/de.json +37 -0
  761. package/node_modules/module/node_modules/yargs/locales/en.json +37 -0
  762. package/node_modules/module/node_modules/yargs/locales/es.json +37 -0
  763. package/node_modules/module/node_modules/yargs/locales/fr.json +37 -0
  764. package/node_modules/module/node_modules/yargs/locales/id.json +38 -0
  765. package/node_modules/module/node_modules/yargs/locales/it.json +37 -0
  766. package/node_modules/module/node_modules/yargs/locales/ja.json +37 -0
  767. package/node_modules/module/node_modules/yargs/locales/ko.json +37 -0
  768. package/node_modules/module/node_modules/yargs/locales/nb.json +37 -0
  769. package/node_modules/module/node_modules/yargs/locales/pirate.json +12 -0
  770. package/node_modules/module/node_modules/yargs/locales/pl.json +37 -0
  771. package/node_modules/module/node_modules/yargs/locales/pt.json +37 -0
  772. package/node_modules/module/node_modules/yargs/locales/pt_BR.json +37 -0
  773. package/node_modules/module/node_modules/yargs/locales/tr.json +37 -0
  774. package/node_modules/module/node_modules/yargs/locales/zh.json +37 -0
  775. package/node_modules/module/node_modules/yargs/package.json +72 -0
  776. package/node_modules/module/node_modules/yargs/yargs.js +730 -0
  777. package/node_modules/module/node_modules/yargs-parser/CHANGELOG.md +40 -0
  778. package/node_modules/module/node_modules/yargs-parser/LICENSE.txt +14 -0
  779. package/node_modules/module/node_modules/yargs-parser/README.md +209 -0
  780. package/node_modules/module/node_modules/yargs-parser/index.js +689 -0
  781. package/node_modules/module/node_modules/yargs-parser/lib/tokenize-arg-string.js +34 -0
  782. package/node_modules/module/node_modules/yargs-parser/node_modules/camelcase/index.js +56 -0
  783. package/node_modules/module/node_modules/yargs-parser/node_modules/camelcase/license +21 -0
  784. package/node_modules/module/node_modules/yargs-parser/node_modules/camelcase/package.json +39 -0
  785. package/node_modules/module/node_modules/yargs-parser/node_modules/camelcase/readme.md +57 -0
  786. package/node_modules/module/node_modules/yargs-parser/package.json +44 -0
  787. package/node_modules/module/package.json +51 -0
  788. package/node_modules/module/templates/README.md +3 -0
  789. package/node_modules/module/templates/cli.js +6 -0
  790. package/node_modules/module/templates/gitignore +2 -0
  791. package/node_modules/module/templates/index.js +5 -0
  792. package/node_modules/module/templates/package.json +9 -0
  793. package/node_modules/normalize-package-data/AUTHORS +4 -0
  794. package/node_modules/normalize-package-data/LICENSE +30 -0
  795. package/node_modules/normalize-package-data/README.md +106 -0
  796. package/node_modules/normalize-package-data/lib/extract_description.js +14 -0
  797. package/node_modules/normalize-package-data/lib/fixer.js +418 -0
  798. package/node_modules/normalize-package-data/lib/make_warning.js +23 -0
  799. package/node_modules/normalize-package-data/lib/normalize.js +39 -0
  800. package/node_modules/normalize-package-data/lib/safe_format.js +9 -0
  801. package/node_modules/normalize-package-data/lib/typos.json +25 -0
  802. package/node_modules/normalize-package-data/lib/warning_messages.json +30 -0
  803. package/node_modules/normalize-package-data/node_modules/semver/CHANGELOG.md +39 -0
  804. package/node_modules/normalize-package-data/node_modules/semver/LICENSE +15 -0
  805. package/node_modules/normalize-package-data/node_modules/semver/README.md +412 -0
  806. package/node_modules/normalize-package-data/node_modules/semver/bin/semver +160 -0
  807. package/node_modules/normalize-package-data/node_modules/semver/package.json +28 -0
  808. package/node_modules/normalize-package-data/node_modules/semver/range.bnf +16 -0
  809. package/node_modules/normalize-package-data/node_modules/semver/semver.js +1483 -0
  810. package/node_modules/normalize-package-data/package.json +31 -0
  811. package/node_modules/number-is-nan/index.js +4 -0
  812. package/node_modules/number-is-nan/license +21 -0
  813. package/node_modules/number-is-nan/package.json +35 -0
  814. package/node_modules/number-is-nan/readme.md +28 -0
  815. package/node_modules/object-assign/index.js +90 -0
  816. package/node_modules/object-assign/license +21 -0
  817. package/node_modules/object-assign/package.json +42 -0
  818. package/node_modules/object-assign/readme.md +61 -0
  819. package/node_modules/object.omit/LICENSE +21 -0
  820. package/node_modules/object.omit/README.md +118 -0
  821. package/node_modules/object.omit/index.js +40 -0
  822. package/node_modules/object.omit/package.json +67 -0
  823. package/node_modules/once/LICENSE +15 -0
  824. package/node_modules/once/README.md +79 -0
  825. package/node_modules/once/once.js +42 -0
  826. package/node_modules/once/package.json +33 -0
  827. package/node_modules/ordered-read-streams/LICENSE +20 -0
  828. package/node_modules/ordered-read-streams/README.md +65 -0
  829. package/node_modules/ordered-read-streams/index.js +81 -0
  830. package/node_modules/ordered-read-streams/node_modules/is-stream/index.js +21 -0
  831. package/node_modules/ordered-read-streams/node_modules/is-stream/license +21 -0
  832. package/node_modules/ordered-read-streams/node_modules/is-stream/package.json +38 -0
  833. package/node_modules/ordered-read-streams/node_modules/is-stream/readme.md +42 -0
  834. package/node_modules/ordered-read-streams/package.json +25 -0
  835. package/node_modules/os-homedir/index.js +24 -0
  836. package/node_modules/os-homedir/license +21 -0
  837. package/node_modules/os-homedir/package.json +41 -0
  838. package/node_modules/os-homedir/readme.md +31 -0
  839. package/node_modules/os-locale/index.js +127 -0
  840. package/node_modules/os-locale/license +21 -0
  841. package/node_modules/os-locale/package.json +43 -0
  842. package/node_modules/os-locale/readme.md +47 -0
  843. package/node_modules/parse-glob/LICENSE +21 -0
  844. package/node_modules/parse-glob/README.md +115 -0
  845. package/node_modules/parse-glob/index.js +156 -0
  846. package/node_modules/parse-glob/node_modules/is-extglob/LICENSE +21 -0
  847. package/node_modules/parse-glob/node_modules/is-extglob/README.md +75 -0
  848. package/node_modules/parse-glob/node_modules/is-extglob/index.js +11 -0
  849. package/node_modules/parse-glob/node_modules/is-extglob/package.json +48 -0
  850. package/node_modules/parse-glob/node_modules/is-glob/LICENSE +21 -0
  851. package/node_modules/parse-glob/node_modules/is-glob/README.md +105 -0
  852. package/node_modules/parse-glob/node_modules/is-glob/index.js +14 -0
  853. package/node_modules/parse-glob/node_modules/is-glob/package.json +60 -0
  854. package/node_modules/parse-glob/package.json +62 -0
  855. package/node_modules/path-dirname/index.js +143 -0
  856. package/node_modules/path-dirname/license +22 -0
  857. package/node_modules/path-dirname/package.json +29 -0
  858. package/node_modules/path-dirname/readme.md +53 -0
  859. package/node_modules/path-is-absolute/index.js +20 -0
  860. package/node_modules/path-is-absolute/license +21 -0
  861. package/node_modules/path-is-absolute/package.json +43 -0
  862. package/node_modules/path-is-absolute/readme.md +59 -0
  863. package/node_modules/path-parse/LICENSE +21 -0
  864. package/node_modules/path-parse/README.md +42 -0
  865. package/node_modules/path-parse/index.js +75 -0
  866. package/node_modules/path-parse/package.json +33 -0
  867. package/node_modules/pinkie/index.js +292 -0
  868. package/node_modules/pinkie/license +21 -0
  869. package/node_modules/pinkie/package.json +36 -0
  870. package/node_modules/pinkie/readme.md +83 -0
  871. package/node_modules/pinkie-promise/index.js +3 -0
  872. package/node_modules/pinkie-promise/license +21 -0
  873. package/node_modules/pinkie-promise/package.json +35 -0
  874. package/node_modules/pinkie-promise/readme.md +28 -0
  875. package/node_modules/preserve/.gitattributes +14 -0
  876. package/node_modules/preserve/.jshintrc +24 -0
  877. package/node_modules/preserve/.npmignore +53 -0
  878. package/node_modules/preserve/.travis.yml +3 -0
  879. package/node_modules/preserve/.verb.md +59 -0
  880. package/node_modules/preserve/LICENSE +24 -0
  881. package/node_modules/preserve/README.md +90 -0
  882. package/node_modules/preserve/index.js +54 -0
  883. package/node_modules/preserve/package.json +48 -0
  884. package/node_modules/preserve/test.js +48 -0
  885. package/node_modules/process-nextick-args/index.js +45 -0
  886. package/node_modules/process-nextick-args/license.md +19 -0
  887. package/node_modules/process-nextick-args/package.json +25 -0
  888. package/node_modules/process-nextick-args/readme.md +18 -0
  889. package/node_modules/randomatic/LICENSE +21 -0
  890. package/node_modules/randomatic/README.md +193 -0
  891. package/node_modules/randomatic/index.js +95 -0
  892. package/node_modules/randomatic/node_modules/is-number/LICENSE +21 -0
  893. package/node_modules/randomatic/node_modules/is-number/README.md +135 -0
  894. package/node_modules/randomatic/node_modules/is-number/index.js +21 -0
  895. package/node_modules/randomatic/node_modules/is-number/package.json +76 -0
  896. package/node_modules/randomatic/package.json +80 -0
  897. package/node_modules/readable-stream/.travis.yml +34 -0
  898. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  899. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  900. package/node_modules/readable-stream/LICENSE +47 -0
  901. package/node_modules/readable-stream/README.md +58 -0
  902. package/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +60 -0
  903. package/node_modules/readable-stream/duplex-browser.js +1 -0
  904. package/node_modules/readable-stream/duplex.js +1 -0
  905. package/node_modules/readable-stream/lib/_stream_duplex.js +131 -0
  906. package/node_modules/readable-stream/lib/_stream_passthrough.js +47 -0
  907. package/node_modules/readable-stream/lib/_stream_readable.js +1019 -0
  908. package/node_modules/readable-stream/lib/_stream_transform.js +214 -0
  909. package/node_modules/readable-stream/lib/_stream_writable.js +687 -0
  910. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +79 -0
  911. package/node_modules/readable-stream/lib/internal/streams/destroy.js +74 -0
  912. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  913. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  914. package/node_modules/readable-stream/package.json +52 -0
  915. package/node_modules/readable-stream/passthrough.js +1 -0
  916. package/node_modules/readable-stream/readable-browser.js +7 -0
  917. package/node_modules/readable-stream/readable.js +19 -0
  918. package/node_modules/readable-stream/transform.js +1 -0
  919. package/node_modules/readable-stream/writable-browser.js +1 -0
  920. package/node_modules/readable-stream/writable.js +8 -0
  921. package/node_modules/regex-cache/LICENSE +21 -0
  922. package/node_modules/regex-cache/README.md +166 -0
  923. package/node_modules/regex-cache/index.js +68 -0
  924. package/node_modules/regex-cache/package.json +64 -0
  925. package/node_modules/remove-trailing-separator/history.md +17 -0
  926. package/node_modules/remove-trailing-separator/index.js +17 -0
  927. package/node_modules/remove-trailing-separator/license +3 -0
  928. package/node_modules/remove-trailing-separator/package.json +37 -0
  929. package/node_modules/remove-trailing-separator/readme.md +51 -0
  930. package/node_modules/repeat-element/LICENSE +21 -0
  931. package/node_modules/repeat-element/README.md +99 -0
  932. package/node_modules/repeat-element/index.js +22 -0
  933. package/node_modules/repeat-element/package.json +49 -0
  934. package/node_modules/repeat-string/LICENSE +21 -0
  935. package/node_modules/repeat-string/README.md +136 -0
  936. package/node_modules/repeat-string/index.js +70 -0
  937. package/node_modules/repeat-string/package.json +77 -0
  938. package/node_modules/replace-ext/.npmignore +6 -0
  939. package/node_modules/replace-ext/.travis.yml +8 -0
  940. package/node_modules/replace-ext/LICENSE +20 -0
  941. package/node_modules/replace-ext/README.md +44 -0
  942. package/node_modules/replace-ext/index.js +9 -0
  943. package/node_modules/replace-ext/package.json +35 -0
  944. package/node_modules/replace-ext/test/main.js +51 -0
  945. package/node_modules/require-main-filename/.npmignore +3 -0
  946. package/node_modules/require-main-filename/.travis.yml +8 -0
  947. package/node_modules/require-main-filename/LICENSE.txt +14 -0
  948. package/node_modules/require-main-filename/README.md +26 -0
  949. package/node_modules/require-main-filename/index.js +18 -0
  950. package/node_modules/require-main-filename/package.json +30 -0
  951. package/node_modules/require-main-filename/test.js +36 -0
  952. package/node_modules/resolve/.editorconfig +37 -0
  953. package/node_modules/resolve/.eslintrc +65 -0
  954. package/node_modules/resolve/.github/FUNDING.yml +12 -0
  955. package/node_modules/resolve/LICENSE +21 -0
  956. package/node_modules/resolve/SECURITY.md +3 -0
  957. package/node_modules/resolve/async.js +3 -0
  958. package/node_modules/resolve/bin/resolve +50 -0
  959. package/node_modules/resolve/example/async.js +5 -0
  960. package/node_modules/resolve/example/sync.js +3 -0
  961. package/node_modules/resolve/index.js +6 -0
  962. package/node_modules/resolve/lib/async.js +329 -0
  963. package/node_modules/resolve/lib/caller.js +8 -0
  964. package/node_modules/resolve/lib/core.js +52 -0
  965. package/node_modules/resolve/lib/core.json +153 -0
  966. package/node_modules/resolve/lib/homedir.js +24 -0
  967. package/node_modules/resolve/lib/is-core.js +5 -0
  968. package/node_modules/resolve/lib/node-modules-paths.js +42 -0
  969. package/node_modules/resolve/lib/normalize-options.js +10 -0
  970. package/node_modules/resolve/lib/sync.js +208 -0
  971. package/node_modules/resolve/package.json +71 -0
  972. package/node_modules/resolve/readme.markdown +301 -0
  973. package/node_modules/resolve/sync.js +3 -0
  974. package/node_modules/resolve/test/core.js +88 -0
  975. package/node_modules/resolve/test/dotdot/abc/index.js +2 -0
  976. package/node_modules/resolve/test/dotdot/index.js +1 -0
  977. package/node_modules/resolve/test/dotdot.js +29 -0
  978. package/node_modules/resolve/test/faulty_basedir.js +29 -0
  979. package/node_modules/resolve/test/filter.js +34 -0
  980. package/node_modules/resolve/test/filter_sync.js +33 -0
  981. package/node_modules/resolve/test/home_paths.js +127 -0
  982. package/node_modules/resolve/test/home_paths_sync.js +114 -0
  983. package/node_modules/resolve/test/mock.js +315 -0
  984. package/node_modules/resolve/test/mock_sync.js +214 -0
  985. package/node_modules/resolve/test/module_dir/xmodules/aaa/index.js +1 -0
  986. package/node_modules/resolve/test/module_dir/ymodules/aaa/index.js +1 -0
  987. package/node_modules/resolve/test/module_dir/zmodules/bbb/main.js +1 -0
  988. package/node_modules/resolve/test/module_dir/zmodules/bbb/package.json +3 -0
  989. package/node_modules/resolve/test/module_dir.js +56 -0
  990. package/node_modules/resolve/test/node-modules-paths.js +143 -0
  991. package/node_modules/resolve/test/node_path/x/aaa/index.js +1 -0
  992. package/node_modules/resolve/test/node_path/x/ccc/index.js +1 -0
  993. package/node_modules/resolve/test/node_path/y/bbb/index.js +1 -0
  994. package/node_modules/resolve/test/node_path/y/ccc/index.js +1 -0
  995. package/node_modules/resolve/test/node_path.js +70 -0
  996. package/node_modules/resolve/test/nonstring.js +9 -0
  997. package/node_modules/resolve/test/pathfilter/deep_ref/main.js +0 -0
  998. package/node_modules/resolve/test/pathfilter.js +75 -0
  999. package/node_modules/resolve/test/precedence/aaa/index.js +1 -0
  1000. package/node_modules/resolve/test/precedence/aaa/main.js +1 -0
  1001. package/node_modules/resolve/test/precedence/aaa.js +1 -0
  1002. package/node_modules/resolve/test/precedence/bbb/main.js +1 -0
  1003. package/node_modules/resolve/test/precedence/bbb.js +1 -0
  1004. package/node_modules/resolve/test/precedence.js +23 -0
  1005. package/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  1006. package/node_modules/resolve/test/resolver/baz/package.json +4 -0
  1007. package/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  1008. package/node_modules/resolve/test/resolver/browser_field/a.js +0 -0
  1009. package/node_modules/resolve/test/resolver/browser_field/b.js +0 -0
  1010. package/node_modules/resolve/test/resolver/browser_field/package.json +5 -0
  1011. package/node_modules/resolve/test/resolver/cup.coffee +1 -0
  1012. package/node_modules/resolve/test/resolver/dot_main/index.js +1 -0
  1013. package/node_modules/resolve/test/resolver/dot_main/package.json +3 -0
  1014. package/node_modules/resolve/test/resolver/dot_slash_main/index.js +1 -0
  1015. package/node_modules/resolve/test/resolver/dot_slash_main/package.json +3 -0
  1016. package/node_modules/resolve/test/resolver/false_main/index.js +0 -0
  1017. package/node_modules/resolve/test/resolver/false_main/package.json +4 -0
  1018. package/node_modules/resolve/test/resolver/foo.js +1 -0
  1019. package/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  1020. package/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  1021. package/node_modules/resolve/test/resolver/invalid_main/package.json +7 -0
  1022. package/node_modules/resolve/test/resolver/malformed_package_json/index.js +0 -0
  1023. package/node_modules/resolve/test/resolver/malformed_package_json/package.json +1 -0
  1024. package/node_modules/resolve/test/resolver/mug.coffee +0 -0
  1025. package/node_modules/resolve/test/resolver/mug.js +0 -0
  1026. package/node_modules/resolve/test/resolver/multirepo/lerna.json +6 -0
  1027. package/node_modules/resolve/test/resolver/multirepo/package.json +20 -0
  1028. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/index.js +35 -0
  1029. package/node_modules/resolve/test/resolver/multirepo/packages/package-a/package.json +14 -0
  1030. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/index.js +0 -0
  1031. package/node_modules/resolve/test/resolver/multirepo/packages/package-b/package.json +14 -0
  1032. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/async.js +26 -0
  1033. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/package.json +15 -0
  1034. package/node_modules/resolve/test/resolver/nested_symlinks/mylib/sync.js +12 -0
  1035. package/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  1036. package/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  1037. package/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  1038. package/node_modules/resolve/test/resolver/same_names/foo/index.js +1 -0
  1039. package/node_modules/resolve/test/resolver/same_names/foo.js +1 -0
  1040. package/node_modules/resolve/test/resolver/symlinked/_/node_modules/foo.js +0 -0
  1041. package/node_modules/resolve/test/resolver/symlinked/_/symlink_target/.gitkeep +0 -0
  1042. package/node_modules/resolve/test/resolver/symlinked/package/bar.js +1 -0
  1043. package/node_modules/resolve/test/resolver/symlinked/package/package.json +3 -0
  1044. package/node_modules/resolve/test/resolver/without_basedir/main.js +5 -0
  1045. package/node_modules/resolve/test/resolver.js +595 -0
  1046. package/node_modules/resolve/test/resolver_sync.js +726 -0
  1047. package/node_modules/resolve/test/shadowed_core/node_modules/util/index.js +0 -0
  1048. package/node_modules/resolve/test/shadowed_core.js +54 -0
  1049. package/node_modules/resolve/test/subdirs.js +13 -0
  1050. package/node_modules/resolve/test/symlinks.js +176 -0
  1051. package/node_modules/resolve-url/.jshintrc +44 -0
  1052. package/node_modules/resolve-url/LICENSE +21 -0
  1053. package/node_modules/resolve-url/bower.json +15 -0
  1054. package/node_modules/resolve-url/changelog.md +15 -0
  1055. package/node_modules/resolve-url/component.json +15 -0
  1056. package/node_modules/resolve-url/package.json +34 -0
  1057. package/node_modules/resolve-url/readme.md +83 -0
  1058. package/node_modules/resolve-url/resolve-url.js +47 -0
  1059. package/node_modules/resolve-url/test/resolve-url.js +70 -0
  1060. package/node_modules/safe-buffer/LICENSE +21 -0
  1061. package/node_modules/safe-buffer/README.md +584 -0
  1062. package/node_modules/safe-buffer/index.d.ts +187 -0
  1063. package/node_modules/safe-buffer/index.js +62 -0
  1064. package/node_modules/safe-buffer/package.json +37 -0
  1065. package/node_modules/source-map/CHANGELOG.md +301 -0
  1066. package/node_modules/source-map/LICENSE +28 -0
  1067. package/node_modules/source-map/README.md +742 -0
  1068. package/node_modules/source-map/dist/source-map.debug.js +3234 -0
  1069. package/node_modules/source-map/dist/source-map.js +3233 -0
  1070. package/node_modules/source-map/dist/source-map.min.js +2 -0
  1071. package/node_modules/source-map/dist/source-map.min.js.map +1 -0
  1072. package/node_modules/source-map/lib/array-set.js +121 -0
  1073. package/node_modules/source-map/lib/base64-vlq.js +140 -0
  1074. package/node_modules/source-map/lib/base64.js +67 -0
  1075. package/node_modules/source-map/lib/binary-search.js +111 -0
  1076. package/node_modules/source-map/lib/mapping-list.js +79 -0
  1077. package/node_modules/source-map/lib/quick-sort.js +114 -0
  1078. package/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  1079. package/node_modules/source-map/lib/source-map-generator.js +425 -0
  1080. package/node_modules/source-map/lib/source-node.js +413 -0
  1081. package/node_modules/source-map/lib/util.js +488 -0
  1082. package/node_modules/source-map/package.json +73 -0
  1083. package/node_modules/source-map/source-map.d.ts +98 -0
  1084. package/node_modules/source-map/source-map.js +8 -0
  1085. package/node_modules/source-map-resolve/LICENSE +22 -0
  1086. package/node_modules/source-map-resolve/changelog.md +108 -0
  1087. package/node_modules/source-map-resolve/lib/decode-uri-component.js +8 -0
  1088. package/node_modules/source-map-resolve/lib/resolve-url.js +9 -0
  1089. package/node_modules/source-map-resolve/lib/source-map-resolve-node.js +342 -0
  1090. package/node_modules/source-map-resolve/package.json +47 -0
  1091. package/node_modules/source-map-resolve/readme.md +231 -0
  1092. package/node_modules/source-map-resolve/source-map-resolve.js +348 -0
  1093. package/node_modules/source-map-url/LICENSE +21 -0
  1094. package/node_modules/source-map-url/changelog.md +57 -0
  1095. package/node_modules/source-map-url/package.json +39 -0
  1096. package/node_modules/source-map-url/readme.md +97 -0
  1097. package/node_modules/source-map-url/source-map-url.js +57 -0
  1098. package/node_modules/spdx-correct/LICENSE +202 -0
  1099. package/node_modules/spdx-correct/README.md +14 -0
  1100. package/node_modules/spdx-correct/index.js +364 -0
  1101. package/node_modules/spdx-correct/package.json +39 -0
  1102. package/node_modules/spdx-exceptions/README.md +36 -0
  1103. package/node_modules/spdx-exceptions/index.json +40 -0
  1104. package/node_modules/spdx-exceptions/package.json +17 -0
  1105. package/node_modules/spdx-expression-parse/AUTHORS +4 -0
  1106. package/node_modules/spdx-expression-parse/LICENSE +22 -0
  1107. package/node_modules/spdx-expression-parse/README.md +91 -0
  1108. package/node_modules/spdx-expression-parse/index.js +8 -0
  1109. package/node_modules/spdx-expression-parse/package.json +39 -0
  1110. package/node_modules/spdx-expression-parse/parse.js +138 -0
  1111. package/node_modules/spdx-expression-parse/scan.js +131 -0
  1112. package/node_modules/spdx-license-ids/README.md +52 -0
  1113. package/node_modules/spdx-license-ids/deprecated.json +27 -0
  1114. package/node_modules/spdx-license-ids/index.json +467 -0
  1115. package/node_modules/spdx-license-ids/package.json +39 -0
  1116. package/node_modules/stream-shift/.travis.yml +6 -0
  1117. package/node_modules/stream-shift/LICENSE +21 -0
  1118. package/node_modules/stream-shift/README.md +25 -0
  1119. package/node_modules/stream-shift/index.js +20 -0
  1120. package/node_modules/stream-shift/package.json +25 -0
  1121. package/node_modules/stream-shift/test.js +48 -0
  1122. package/node_modules/string_decoder/.travis.yml +50 -0
  1123. package/node_modules/string_decoder/LICENSE +48 -0
  1124. package/node_modules/string_decoder/README.md +47 -0
  1125. package/node_modules/string_decoder/lib/string_decoder.js +296 -0
  1126. package/node_modules/string_decoder/package.json +31 -0
  1127. package/node_modules/strip-bom-stream/index.js +10 -0
  1128. package/node_modules/strip-bom-stream/license +21 -0
  1129. package/node_modules/strip-bom-stream/node_modules/strip-bom/index.js +17 -0
  1130. package/node_modules/strip-bom-stream/node_modules/strip-bom/license +21 -0
  1131. package/node_modules/strip-bom-stream/node_modules/strip-bom/package.json +42 -0
  1132. package/node_modules/strip-bom-stream/node_modules/strip-bom/readme.md +39 -0
  1133. package/node_modules/strip-bom-stream/package.json +44 -0
  1134. package/node_modules/strip-bom-stream/readme.md +39 -0
  1135. package/node_modules/supports-preserve-symlinks-flag/.eslintrc +14 -0
  1136. package/node_modules/supports-preserve-symlinks-flag/.github/FUNDING.yml +12 -0
  1137. package/node_modules/supports-preserve-symlinks-flag/.nycrc +9 -0
  1138. package/node_modules/supports-preserve-symlinks-flag/CHANGELOG.md +22 -0
  1139. package/node_modules/supports-preserve-symlinks-flag/LICENSE +21 -0
  1140. package/node_modules/supports-preserve-symlinks-flag/README.md +42 -0
  1141. package/node_modules/supports-preserve-symlinks-flag/browser.js +3 -0
  1142. package/node_modules/supports-preserve-symlinks-flag/index.js +9 -0
  1143. package/node_modules/supports-preserve-symlinks-flag/package.json +70 -0
  1144. package/node_modules/supports-preserve-symlinks-flag/test/index.js +29 -0
  1145. package/node_modules/symbol/LICENSE +373 -0
  1146. package/node_modules/symbol/README.md +19 -0
  1147. package/node_modules/symbol/index.js +55 -0
  1148. package/node_modules/symbol/package.json +20 -0
  1149. package/node_modules/through2-filter/README.md +79 -0
  1150. package/node_modules/through2-filter/index.js +46 -0
  1151. package/node_modules/through2-filter/node_modules/through2/LICENSE.md +9 -0
  1152. package/node_modules/through2-filter/node_modules/through2/README.md +134 -0
  1153. package/node_modules/through2-filter/node_modules/through2/package.json +33 -0
  1154. package/node_modules/through2-filter/node_modules/through2/through2.js +96 -0
  1155. package/node_modules/through2-filter/package.json +48 -0
  1156. package/node_modules/tildify/index.js +9 -0
  1157. package/node_modules/tildify/license +21 -0
  1158. package/node_modules/tildify/package.json +41 -0
  1159. package/node_modules/tildify/readme.md +30 -0
  1160. package/node_modules/to-absolute-glob/LICENSE +21 -0
  1161. package/node_modules/to-absolute-glob/index.js +28 -0
  1162. package/node_modules/to-absolute-glob/package.json +41 -0
  1163. package/node_modules/to-absolute-glob/readme.md +134 -0
  1164. package/node_modules/typedarray/.travis.yml +4 -0
  1165. package/node_modules/typedarray/LICENSE +35 -0
  1166. package/node_modules/typedarray/example/tarray.js +4 -0
  1167. package/node_modules/typedarray/index.js +630 -0
  1168. package/node_modules/typedarray/package.json +55 -0
  1169. package/node_modules/typedarray/readme.markdown +61 -0
  1170. package/node_modules/typedarray/test/server/undef_globals.js +19 -0
  1171. package/node_modules/typedarray/test/tarray.js +10 -0
  1172. package/node_modules/unique-stream/LICENSE +20 -0
  1173. package/node_modules/unique-stream/README.md +134 -0
  1174. package/node_modules/unique-stream/index.js +48 -0
  1175. package/node_modules/unique-stream/node_modules/through2/LICENSE.md +9 -0
  1176. package/node_modules/unique-stream/node_modules/through2/README.md +134 -0
  1177. package/node_modules/unique-stream/node_modules/through2/package.json +33 -0
  1178. package/node_modules/unique-stream/node_modules/through2/through2.js +96 -0
  1179. package/node_modules/unique-stream/node_modules/through2-filter/LICENSE +9 -0
  1180. package/node_modules/unique-stream/node_modules/through2-filter/README.md +79 -0
  1181. package/node_modules/unique-stream/node_modules/through2-filter/index.js +50 -0
  1182. package/node_modules/unique-stream/node_modules/through2-filter/package.json +48 -0
  1183. package/node_modules/unique-stream/package.json +32 -0
  1184. package/node_modules/urix/.jshintrc +42 -0
  1185. package/node_modules/urix/LICENSE +21 -0
  1186. package/node_modules/urix/index.js +17 -0
  1187. package/node_modules/urix/package.json +25 -0
  1188. package/node_modules/urix/readme.md +46 -0
  1189. package/node_modules/urix/test/index.js +43 -0
  1190. package/node_modules/util-deprecate/History.md +16 -0
  1191. package/node_modules/util-deprecate/LICENSE +24 -0
  1192. package/node_modules/util-deprecate/README.md +53 -0
  1193. package/node_modules/util-deprecate/browser.js +67 -0
  1194. package/node_modules/util-deprecate/node.js +6 -0
  1195. package/node_modules/util-deprecate/package.json +27 -0
  1196. package/node_modules/vali-date/index.js +4 -0
  1197. package/node_modules/vali-date/license +21 -0
  1198. package/node_modules/vali-date/package.json +34 -0
  1199. package/node_modules/vali-date/readme.md +44 -0
  1200. package/node_modules/validate-npm-package-license/LICENSE +202 -0
  1201. package/node_modules/validate-npm-package-license/README.md +113 -0
  1202. package/node_modules/validate-npm-package-license/index.js +86 -0
  1203. package/node_modules/validate-npm-package-license/package.json +28 -0
  1204. package/node_modules/vinyl/CHANGELOG.md +163 -0
  1205. package/node_modules/vinyl/LICENSE +20 -0
  1206. package/node_modules/vinyl/README.md +265 -0
  1207. package/node_modules/vinyl/index.js +270 -0
  1208. package/node_modules/vinyl/lib/cloneBuffer.js +7 -0
  1209. package/node_modules/vinyl/lib/inspectStream.js +15 -0
  1210. package/node_modules/vinyl/lib/isBuffer.js +1 -0
  1211. package/node_modules/vinyl/lib/isNull.js +3 -0
  1212. package/node_modules/vinyl/lib/isStream.js +5 -0
  1213. package/node_modules/vinyl/node_modules/clone/.npmignore +4 -0
  1214. package/node_modules/vinyl/node_modules/clone/LICENSE +18 -0
  1215. package/node_modules/vinyl/node_modules/clone/README.md +126 -0
  1216. package/node_modules/vinyl/node_modules/clone/clone.iml +10 -0
  1217. package/node_modules/vinyl/node_modules/clone/clone.js +166 -0
  1218. package/node_modules/vinyl/node_modules/clone/package.json +51 -0
  1219. package/node_modules/vinyl/package.json +44 -0
  1220. package/node_modules/vinyl-fs/CHANGELOG.md +369 -0
  1221. package/node_modules/vinyl-fs/LICENSE +20 -0
  1222. package/node_modules/vinyl-fs/README.md +293 -0
  1223. package/node_modules/vinyl-fs/index.js +7 -0
  1224. package/node_modules/vinyl-fs/lib/dest/index.js +54 -0
  1225. package/node_modules/vinyl-fs/lib/dest/writeContents/index.js +59 -0
  1226. package/node_modules/vinyl-fs/lib/dest/writeContents/writeBuffer.js +26 -0
  1227. package/node_modules/vinyl-fs/lib/dest/writeContents/writeDir.js +53 -0
  1228. package/node_modules/vinyl-fs/lib/dest/writeContents/writeStream.js +57 -0
  1229. package/node_modules/vinyl-fs/lib/dest/writeContents/writeSymbolicLink.js +20 -0
  1230. package/node_modules/vinyl-fs/lib/fileOperations.js +206 -0
  1231. package/node_modules/vinyl-fs/lib/filterSince.js +16 -0
  1232. package/node_modules/vinyl-fs/lib/prepareWrite.js +69 -0
  1233. package/node_modules/vinyl-fs/lib/sink.js +53 -0
  1234. package/node_modules/vinyl-fs/lib/src/getContents/bufferFile.js +22 -0
  1235. package/node_modules/vinyl-fs/lib/src/getContents/index.js +31 -0
  1236. package/node_modules/vinyl-fs/lib/src/getContents/readDir.js +8 -0
  1237. package/node_modules/vinyl-fs/lib/src/getContents/readSymbolicLink.js +18 -0
  1238. package/node_modules/vinyl-fs/lib/src/getContents/streamFile.js +26 -0
  1239. package/node_modules/vinyl-fs/lib/src/index.js +62 -0
  1240. package/node_modules/vinyl-fs/lib/src/wrapWithVinylFile.js +51 -0
  1241. package/node_modules/vinyl-fs/lib/symlink/index.js +30 -0
  1242. package/node_modules/vinyl-fs/node_modules/merge-stream/LICENSE +21 -0
  1243. package/node_modules/vinyl-fs/node_modules/merge-stream/README.md +55 -0
  1244. package/node_modules/vinyl-fs/node_modules/merge-stream/index.js +41 -0
  1245. package/node_modules/vinyl-fs/node_modules/merge-stream/package.json +21 -0
  1246. package/node_modules/vinyl-fs/node_modules/strip-bom/index.js +17 -0
  1247. package/node_modules/vinyl-fs/node_modules/strip-bom/license +21 -0
  1248. package/node_modules/vinyl-fs/node_modules/strip-bom/package.json +42 -0
  1249. package/node_modules/vinyl-fs/node_modules/strip-bom/readme.md +39 -0
  1250. package/node_modules/vinyl-fs/node_modules/through2/LICENSE.md +9 -0
  1251. package/node_modules/vinyl-fs/node_modules/through2/README.md +134 -0
  1252. package/node_modules/vinyl-fs/node_modules/through2/package.json +33 -0
  1253. package/node_modules/vinyl-fs/node_modules/through2/through2.js +96 -0
  1254. package/node_modules/vinyl-fs/package.json +61 -0
  1255. package/node_modules/window-size/LICENSE +21 -0
  1256. package/node_modules/window-size/README.md +45 -0
  1257. package/node_modules/window-size/cli.js +30 -0
  1258. package/node_modules/window-size/index.js +32 -0
  1259. package/node_modules/window-size/package.json +48 -0
  1260. package/node_modules/wrappy/LICENSE +15 -0
  1261. package/node_modules/wrappy/README.md +36 -0
  1262. package/node_modules/wrappy/package.json +29 -0
  1263. package/node_modules/wrappy/wrappy.js +33 -0
  1264. package/node_modules/xtend/.jshintrc +30 -0
  1265. package/node_modules/xtend/LICENSE +20 -0
  1266. package/node_modules/xtend/README.md +32 -0
  1267. package/node_modules/xtend/immutable.js +19 -0
  1268. package/node_modules/xtend/mutable.js +17 -0
  1269. package/node_modules/xtend/package.json +55 -0
  1270. package/node_modules/xtend/test.js +103 -0
  1271. package/package.json +8 -4
  1272. package/tsconfig.tsbuildinfo +1276 -741
  1273. package/lib/bootstrapper/index.d.ts +0 -57
  1274. package/lib/bootstrapper/index.js +0 -73
  1275. package/lib/tipg-api/runtime/requirements.txt +0 -2
  1276. /package/lib/{bootstrapper/runtime → database/bootstrapper_runtime}/handler.py +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,22 @@
1
+ ## [6.0.1](https://github.com/developmentseed/eoapi-cdk/compare/v6.0.0...v6.0.1) (2023-11-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **ingestor-api-handler:** fix docs endpoint ([#82](https://github.com/developmentseed/eoapi-cdk/issues/82)) ([d134c77](https://github.com/developmentseed/eoapi-cdk/commit/d134c77f84363b3e4560176ccd810b55b6855f07))
7
+
8
+ # [6.0.0](https://github.com/developmentseed/eoapi-cdk/compare/v5.4.1...v6.0.0) (2023-10-31)
9
+
10
+
11
+ ### Features
12
+
13
+ * custom runtimes, optional VPC, python 3.11 ([#74](https://github.com/developmentseed/eoapi-cdk/issues/74)) ([ba6bf09](https://github.com/developmentseed/eoapi-cdk/commit/ba6bf09651caae8537df7ee737dbf6d0bf975f41))
14
+
15
+
16
+ ### BREAKING CHANGES
17
+
18
+ * the `bootstrapper` construct was deleted and is no longer available. In addition, we switched from `PythonFunction` to `Function` for all lambdas.
19
+
1
20
  ## [5.4.1](https://github.com/developmentseed/eoapi-cdk/compare/v5.4.0...v5.4.1) (2023-10-05)
2
21
 
3
22
 
@@ -158,5 +158,5 @@ class BastionHost extends constructs_1.Construct {
158
158
  }
159
159
  exports.BastionHost = BastionHost;
160
160
  _a = JSII_RTTI_SYMBOL_1;
161
- BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "5.4.1" };
161
+ BastionHost[_a] = { fqn: "eoapi-cdk.BastionHost", version: "6.0.1" };
162
162
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQU1xQjtBQUNyQiwyQ0FBdUM7QUFFdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpR0c7QUFDSCxNQUFhLFdBQVksU0FBUSxzQkFBUztJQUd4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkscUJBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGNBQWMsRUFBRTtZQUNyRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUscUJBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFO1lBQ2pELFlBQVksRUFBRSxHQUFHLFNBQVMsZUFBZTtZQUN6QyxZQUFZLEVBQUUscUJBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUMvQixxQkFBRyxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsRUFDckMscUJBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUN0QjtZQUNELFlBQVksRUFBRSxxQkFBRyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDL0MsVUFBVSxFQUFFLHFCQUFHLENBQUMscUJBQXFCLENBQUMsY0FBYztnQkFDcEQsT0FBTyxFQUFFLHFCQUFHLENBQUMsa0JBQWtCLENBQUMsTUFBTTthQUN2QyxDQUFDO1lBQ0YsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLHlCQUF5QixFQUFFLElBQUk7U0FDaEMsQ0FBQyxDQUFDO1FBRUgsb0JBQW9CO1FBQ3BCLElBQUksS0FBSyxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7WUFDakMsSUFBSSxxQkFBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO2dCQUN6QixVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO2dCQUNwQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO2FBQzFDLENBQUMsQ0FBQztTQUNKO1FBRUQsc0NBQXNDO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDL0IsS0FBSyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUN0QyxxQkFBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQ2xCLG9DQUFvQyxDQUNyQyxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQ2pDLHFCQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbkIscUJBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQ2pDLFlBQVksQ0FDYixDQUFDO1NBQ0g7UUFFRCxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQzNCLElBQUkscUJBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLGVBQWU7Z0JBQ2YsK0JBQStCO2dCQUMvQixlQUFlO2FBQ2hCO1lBQ0QsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1NBQ2pCLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSx1QkFBUyxDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUN4QyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO1lBQy9CLFVBQVUsRUFBRSxHQUFHLFNBQVMsY0FBYztTQUN2QyxDQUFDLENBQUM7UUFDSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFO1lBQy9DLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQjtZQUNyQyxVQUFVLEVBQUUsR0FBRyxTQUFTLHFCQUFxQjtTQUM5QyxDQUFDLENBQUM7UUFDSCxJQUFJLHVCQUFTLENBQUMsSUFBSSxFQUFFLGlDQUFpQyxFQUFFO1lBQ3JELEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLHFCQUFxQjtZQUMxQyxVQUFVLEVBQUUsR0FBRyxTQUFTLGtCQUFrQjtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXpFSCxrQ0EwRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdGFjayxcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfcmRzIGFzIHJkcyxcbiAgQ2ZuT3V0cHV0LFxufSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogVGhlIGRhdGFiYXNlIGlzIGxvY2F0ZWQgaW4gYW4gaXNvbGF0ZWQgc3VibmV0LCBtZWFuaW5nIHRoYXQgaXQgaXMgbm90IGFjY2Vzc2libGUgZnJvbSB0aGUgcHVibGljIGludGVybmV0LiBBcyBzdWNoLCB0byBpbnRlcmFjdCB3aXRoIHRoZSBkYXRhYmFzZSBkaXJlY3RseSwgYSB1c2VyIG11c3QgdHVubmVsIHRocm91Z2ggYSBiYXN0aW9uIGhvc3QuXG4gKlxuICogIyMjIENvbmZpZ3VyaW5nXG4gKlxuICogVGhpcyBjb2RlYmFzZSBjb250cm9scyBfd2hvXyBpcyBhbGxvd2VkIHRvIGNvbm5lY3QgdG8gdGhlIGJhc3Rpb24gaG9zdC4gVGhpcyByZXF1aXJlcyB0d28gc3RlcHM6XG4gKlxuICogMS4gQWRkaW5nIHRoZSBJUCBhZGRyZXNzIGZyb20gd2hpY2ggeW91IGFyZSBjb25uZWN0aW5nIHRvIHRoZSBgaXB2NEFsbG93bGlzdGAgYXJyYXlcbiAqIDEuIENyZWF0aW5nIGEgYmFzdGlvbiBob3N0IHN5c3RlbSB1c2VyIGJ5IGFkZGluZyB0aGUgdXNlcidzIGNvbmZpZ3VyYXRpb24gaW5mb3JtIHRvIGB1c2VyZGF0YS55YW1sYFxuICpcbiAqICMjIyMgQWRkaW5nIGFuIElQIGFkZHJlc3MgdG8gdGhlIGBpcHY0QWxsb3dsaXN0YCBhcnJheVxuICpcbiAqIFRoZSBgQmFzdGlvbkhvc3RgIGNvbnN0cnVjdCB0YWtlcyBpbiBhbiBgaXB2NEFsbG93bGlzdGAgYXJyYXkgYXMgYW4gYXJndW1lbnQuIEZpbmQgeW91ciBJUCBhZGRyZXNzIChlZyBgY3VybCBhcGkuaXBpZnkub3JnYCkgYW5kIGFkZCB0aGF0IHRvIHRoZSBhcnJheSBhbG9uZyB3aXRoIHRoZSB0cmFpbGluZyBDSURSIGJsb2NrIChsaWtlbHkgYC8zMmAgdG8gaW5kaWNhdGUgdGhhdCB5b3UgYXJlIGFkZGluZyBhIHNpbmdsZSBJUCBhZGRyZXNzKS5cbiAqXG4gKiAjIyMjIENyZWF0aW5nIGEgdXNlciB2aWEgYHVzZXJkYXRhLnlhbWxgXG4gKlxuICogQWRkIGFuIGVudHJ5IHRvIHRoZSBgdXNlcnNgIGFycmF5IHdpdGggYSB1c2VybmFtZSAobGlrZWx5IG1hdGNoaW5nIHlvdXIgbG9jYWwgc3lzdGVtcyB1c2VybmFtZSwgd2hpY2ggeW91IGNhbiBnZXQgYnkgcnVubmluZyB0aGUgYHdob2FtaWAgY29tbWFuZCBpbiB5b3VyIHRlcm1pbmFsKSBhbmQgYSBwdWJsaWMga2V5IChsaWtlbHkgeW91ciBkZWZhdWx0IHB1YmxpYyBrZXksIHdoaWNoIHlvdSBjYW4gZ2V0IGJ5IHJ1bm5pbmcgYGNhdCB+Ly5zc2gvaWRfKi5wdWJgIGluIHlvdXIgdGVybWluYWwpLlxuICpcbiAqICMjIyMgVGlwcyAmIFRyaWNrcyB3aGVuIHVzaW5nIHRoZSBCYXN0aW9uIEhvc3RcbiAqXG4gKiAqKkNvbm5lY3RpbmcgdG8gUkRTIEluc3RhbmNlIHZpYSBTU00qKlxuICpcbiAqIGBgYHNoXG4gKiBhd3Mgc3NtIHN0YXJ0LXNlc3Npb24gLS10YXJnZXQgJElOU1RBTkNFX0lEIFxcXG4gKiAtLWRvY3VtZW50LW5hbWUgQVdTLVN0YXJ0UG9ydEZvcndhcmRpbmdTZXNzaW9uVG9SZW1vdGVIb3N0IFxcXG4gKiAtLXBhcmFtZXRlcnMgJ3tcbiAqIFwiaG9zdFwiOiBbXG4gKiBcImV4YW1wbGUtZGIuYzVhYmNkZWZnaGlqLnVzLXdlc3QtMi5yZHMuYW1hem9uYXdzLmNvbVwiXG4gKiBdLFxuICogXCJwb3J0TnVtYmVyXCI6IFtcbiAqIFwiNTQzMlwiXG4gKiBdLFxuICogXCJsb2NhbFBvcnROdW1iZXJcIjogW1xuICogXCI5OTk5XCJcbiAqIF1cbiAqIH0nIFxcXG4gKiAtLXByb2ZpbGUgJEFXU19QUk9GSUxFXG4gKiBgYGBcbiAqXG4gKiBgYGBzaFxuICogcHNxbCAtaCBsb2NhbGhvc3QgLXAgOTk5OSAjIGNvbnRpbnVlIGFkZGluZyB1c2VybmFtZSAoLVUpIGFuZCBkYiAoLWQpIGhlcmUuLi5cbiAqIGBgYFxuICpcbiAqIENvbm5lY3QgZGlyZWN0bHkgdG8gQmFzdGlvbiBIb3N0OlxuICpcbiAqIGBgYHNoXG4gKiBhd3Mgc3NtIHN0YXJ0LXNlc3Npb24gLS10YXJnZXQgJElOU1RBTkNFX0lEIC0tcHJvZmlsZSAkQVdTX1BST0ZJTEVcbiAqIGBgYFxuICpcbiAqICoqU2V0dGluZyB1cCBhbiBTU0ggdHVubmVsKipcbiAqXG4gKiBJbiB5b3VyIGB+Ly5zc2gvY29uZmlnYCBmaWxlLCBhZGQgYW4gZW50cnkgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIEhvc3QgZGItdHVubmVsXG4gKiBIb3N0bmFtZSB7dGhlLWJhc3Rpb24taG9zdC1hZGRyZXNzfVxuICogTG9jYWxGb3J3YXJkIDk5OTkge3RoZS1kYi1ob3N0bmFtZX06NTQzMlxuICogYGBgXG4gKlxuICogVGhlbiBhIHR1bm5lbCBjYW4gYmUgb3BlbmVkIHZpYTpcbiAqXG4gKiBgYGBcbiAqIHNzaCAtTiBkYi10dW5uZWxcbiAqIGBgYFxuICpcbiAqIEFuZCBhIGNvbm5lY3Rpb24gdG8gdGhlIERCIGNhbiBiZSBtYWRlIHZpYTpcbiAqXG4gKiBgYGBcbiAqIHBzcWwgLWggMTI3LjAuMC4xIC1wIDk5OTkgLVUge3VzZXJuYW1lfSAtZCB7ZGF0YWJhc2V9XG4gKiBgYGBcbiAqXG4gKiAqKkhhbmRsaW5nIGBSRU1PVEUgSE9TVCBJREVOVElGSUNBVElPTiBIQVMgQ0hBTkdFRCFgIGVycm9yKipcbiAqXG4gKiBJZiB5b3UndmUgcmVkZXBsb3llZCBhIGJhc3Rpb24gaG9zdCB0aGF0IHlvdSd2ZSBwcmV2aW91c2x5IGNvbm5lY3RlZCB0bywgeW91IG1heSBzZWUgYW4gZXJyb3IgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAXG4gKiBAICAgIFdBUk5JTkc6IFJFTU9URSBIT1NUIElERU5USUZJQ0FUSU9OIEhBUyBDSEFOR0VEISAgICAgQFxuICogQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBcbiAqIElUIElTIFBPU1NJQkxFIFRIQVQgU09NRU9ORSBJUyBET0lORyBTT01FVEhJTkcgTkFTVFkhXG4gKiBTb21lb25lIGNvdWxkIGJlIGVhdmVzZHJvcHBpbmcgb24geW91IHJpZ2h0IG5vdyAobWFuLWluLXRoZS1taWRkbGUgYXR0YWNrKSFcbiAqIEl0IGlzIGFsc28gcG9zc2libGUgdGhhdCBhIGhvc3Qga2V5IGhhcyBqdXN0IGJlZW4gY2hhbmdlZC5cbiAqIFRoZSBmaW5nZXJwcmludCBmb3IgdGhlIEVDRFNBIGtleSBzZW50IGJ5IHRoZSByZW1vdGUgaG9zdCBpc1xuICogU0hBMjU2Om1QbnhBT1hUcGIwNlBGZ0kxUWM4VE1RMmU5Yjdnb1U4eTJOZFM1aHpJcjguXG4gKiBQbGVhc2UgY29udGFjdCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yLlxuICogQWRkIGNvcnJlY3QgaG9zdCBrZXkgaW4gL1VzZXJzL3VzZXJuYW1lLy5zc2gva25vd25faG9zdHMgdG8gZ2V0IHJpZCBvZiB0aGlzIG1lc3NhZ2UuXG4gKiBPZmZlbmRpbmcgRUNEU0Ega2V5IGluIC9Vc2Vycy91c2VybmFtZS8uc3NoL2tub3duX2hvc3RzOjI4XG4gKiBFQ0RTQSBob3N0IGtleSBmb3IgZWMyLTEyLTM0LTU2LTc4OS51cy13ZXN0LTIuY29tcHV0ZS5hbWF6b25hd3MuY29tIGhhcyBjaGFuZ2VkIGFuZCB5b3UgaGF2ZSByZXF1ZXN0ZWQgc3RyaWN0IGNoZWNraW5nLlxuICogSG9zdCBrZXkgdmVyaWZpY2F0aW9uIGZhaWxlZC5cbiAqIGBgYFxuICpcbiAqIFRoaXMgaXMgZHVlIHRvIHRoZSBzZXJ2ZXIncyBmaW5nZXJwcmludCBjaGFuZ2luZy4gV2UgY2FuIHNjcnViIHRoZSBmaW5nZXJwcmludCBmcm9tIG91ciBzeXN0ZW0gd2l0aCBhIGNvbW1hbmQgbGlrZTpcbiAqXG4gKiBgYGBcbiAqIHNzaC1rZXlnZW4gLVIgMTIuMzQuNTYuNzg5XG4gKiBgYGBcbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBCYXN0aW9uSG9zdCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGluc3RhbmNlOiBlYzIuSW5zdGFuY2U7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEJhc3Rpb25Ib3N0UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgeyBzdGFja05hbWUgfSA9IFN0YWNrLm9mKHRoaXMpO1xuXG4gICAgLy8gQnVpbGQgZWMyIGluc3RhbmNlXG4gICAgdGhpcy5pbnN0YW5jZSA9IG5ldyBlYzIuSW5zdGFuY2UodGhpcywgXCJiYXN0aW9uLWhvc3RcIiwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7IHN1Ym5ldFR5cGU6IGVjMi5TdWJuZXRUeXBlLlBVQkxJQyB9LFxuICAgICAgaW5zdGFuY2VOYW1lOiBgJHtzdGFja05hbWV9IGJhc3Rpb24gaG9zdGAsXG4gICAgICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGUub2YoXG4gICAgICAgIGVjMi5JbnN0YW5jZUNsYXNzLkJVUlNUQUJMRTRfR1JBVklUT04sXG4gICAgICAgIGVjMi5JbnN0YW5jZVNpemUuTkFOT1xuICAgICAgKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogZWMyLk1hY2hpbmVJbWFnZS5sYXRlc3RBbWF6b25MaW51eCh7XG4gICAgICAgIGdlbmVyYXRpb246IGVjMi5BbWF6b25MaW51eEdlbmVyYXRpb24uQU1BWk9OX0xJTlVYXzIsXG4gICAgICAgIGNwdVR5cGU6IGVjMi5BbWF6b25MaW51eENwdVR5cGUuQVJNXzY0LFxuICAgICAgfSksXG4gICAgICB1c2VyRGF0YTogcHJvcHMudXNlckRhdGEsXG4gICAgICB1c2VyRGF0YUNhdXNlc1JlcGxhY2VtZW50OiB0cnVlLFxuICAgIH0pO1xuXG4gICAgLy8gQXNzaWduIGVsYXN0aWMgSVBcbiAgICBpZiAocHJvcHMuY3JlYXRlRWxhc3RpY0lwID8/IHRydWUpIHtcbiAgICAgIG5ldyBlYzIuQ2ZuRUlQKHRoaXMsIFwiSVBcIiwge1xuICAgICAgICBpbnN0YW5jZUlkOiB0aGlzLmluc3RhbmNlLmluc3RhbmNlSWQsXG4gICAgICAgIHRhZ3M6IFt7IGtleTogXCJOYW1lXCIsIHZhbHVlOiBzdGFja05hbWUgfV0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBiYXN0aW9uIGhvc3QgdG8gY29ubmVjdCB0byBkYlxuICAgIHRoaXMuaW5zdGFuY2UuY29ubmVjdGlvbnMuYWxsb3dUbyhcbiAgICAgIHByb3BzLmRiLmNvbm5lY3Rpb25zLnNlY3VyaXR5R3JvdXBzWzBdLFxuICAgICAgZWMyLlBvcnQudGNwKDU0MzIpLFxuICAgICAgXCJBbGxvdyBjb25uZWN0aW9uIGZyb20gYmFzdGlvbiBob3N0XCJcbiAgICApO1xuXG4gICAgLy8gQWxsb3cgSVAgYWNjZXNzIHRvIGJhc3Rpb24gaG9zdFxuICAgIGZvciAoY29uc3QgaXB2NCBvZiBwcm9wcy5pcHY0QWxsb3dsaXN0KSB7XG4gICAgICB0aGlzLmluc3RhbmNlLmNvbm5lY3Rpb25zLmFsbG93RnJvbShcbiAgICAgICAgZWMyLlBlZXIuaXB2NChpcHY0KSxcbiAgICAgICAgZWMyLlBvcnQudGNwKHByb3BzLnNzaFBvcnQgfHwgMjIpLFxuICAgICAgICBcIlNTSCBBY2Nlc3NcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBJbnRlZ3JhdGUgd2l0aCBTU01cbiAgICB0aGlzLmluc3RhbmNlLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIFwic3NtbWVzc2FnZXM6KlwiLFxuICAgICAgICAgIFwic3NtOlVwZGF0ZUluc3RhbmNlSW5mb3JtYXRpb25cIixcbiAgICAgICAgICBcImVjMm1lc3NhZ2VzOipcIixcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcImluc3RhbmNlLWlkLW91dHB1dFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZS5pbnN0YW5jZUlkLFxuICAgICAgZXhwb3J0TmFtZTogYCR7c3RhY2tOYW1lfS1pbnN0YW5jZS1pZGAsXG4gICAgfSk7XG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBcImluc3RhbmNlLXB1YmxpYy1pcC1vdXRwdXRcIiwge1xuICAgICAgdmFsdWU6IHRoaXMuaW5zdGFuY2UuaW5zdGFuY2VQdWJsaWNJcCxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3N0YWNrTmFtZX0taW5zdGFuY2UtcHVibGljLWlwYCxcbiAgICB9KTtcbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiaW5zdGFuY2UtcHVibGljLWRucy1uYW1lLW91dHB1dFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pbnN0YW5jZS5pbnN0YW5jZVB1YmxpY0Ruc05hbWUsXG4gICAgICBleHBvcnROYW1lOiBgJHtzdGFja05hbWV9LXB1YmxpYy1kbnMtbmFtZWAsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYXN0aW9uSG9zdFByb3BzIHtcbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcbiAgcmVhZG9ubHkgZGI6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZTtcbiAgcmVhZG9ubHkgdXNlckRhdGE6IGVjMi5Vc2VyRGF0YTtcbiAgcmVhZG9ubHkgaXB2NEFsbG93bGlzdDogc3RyaW5nW107XG4gIHJlYWRvbmx5IHNzaFBvcnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IGFuIGVsYXN0aWMgSVAgc2hvdWxkIGJlIGNyZWF0ZWQgZm9yIHRoZSBiYXN0aW9uIGhvc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVFbGFzdGljSXA/OiBib29sZWFuO1xufVxuIl19
@@ -1,13 +1,15 @@
1
- FROM lambci/lambda:build-python3.8
1
+ ARG PYTHON_VERSION
2
+ FROM --platform=linux/amd64 public.ecr.aws/lambda/python:${PYTHON_VERSION}
2
3
 
3
4
  ARG PGSTAC_VERSION
4
- RUN echo "Using PGSTAC Version ${PGSTAC_VERSION}"
5
+ RUN echo "PGSTAC_VERSION: ${PGSTAC_VERSION}"
6
+ RUN echo "PYTHON_VERSION: ${PYTHON_VERSION}"
5
7
 
6
8
  WORKDIR /tmp
7
9
 
8
10
  RUN pip install httpx psycopg[binary,pool] pypgstac==${PGSTAC_VERSION} -t /asset
9
11
 
10
- COPY runtime/handler.py /asset/handler.py
12
+ COPY bootstrapper_runtime/handler.py /asset/handler.py
11
13
 
12
14
  # https://stackoverflow.com/a/61746719
13
15
  # Tip from eoAPI: turns out, asyncio is part of python
@@ -1,6 +1,6 @@
1
1
  import { aws_rds as rds, aws_secretsmanager as secretsmanager } from "aws-cdk-lib";
2
2
  import { Construct } from "constructs";
3
- import { BootstrapPgStacProps } from "../bootstrapper";
3
+ import { CustomLambdaFunctionProps } from "../utils";
4
4
  /**
5
5
  * An RDS instance with pgSTAC installed. This is a wrapper around the
6
6
  * `rds.DatabaseInstance` higher-level construct making use
@@ -13,10 +13,39 @@ export declare class PgStacDatabase extends Construct {
13
13
  getParameters(instanceType: string, parameters: PgStacDatabaseProps["parameters"]): DatabaseParameters;
14
14
  }
15
15
  export interface PgStacDatabaseProps extends rds.DatabaseInstanceProps {
16
- readonly pgstacDbName?: BootstrapPgStacProps["pgstacDbName"];
17
- readonly pgstacVersion?: BootstrapPgStacProps["pgstacVersion"];
18
- readonly pgstacUsername?: BootstrapPgStacProps["pgstacUsername"];
19
- readonly secretsPrefix?: BootstrapPgStacProps["secretsPrefix"];
16
+ /**
17
+ * Name of database that is to be created and onto which pgSTAC will be installed.
18
+ *
19
+ * @default pgstac
20
+ */
21
+ readonly pgstacDbName?: string;
22
+ /**
23
+ * Prefix to assign to the generated `secrets_manager.Secret`
24
+ *
25
+ * @default pgstac
26
+ */
27
+ readonly secretsPrefix?: string;
28
+ /**
29
+ * Name of user that will be generated for connecting to the pgSTAC database.
30
+ *
31
+ * @default pgstac_user
32
+ */
33
+ readonly pgstacUsername?: string;
34
+ /**
35
+ * Lambda function Custom Resource properties. A custom resource property is going to be created
36
+ * to trigger the boostrapping lambda function. This parameter allows the user to specify additional properties
37
+ * on top of the defaults ones.
38
+ *
39
+ */
40
+ readonly customResourceProperties?: {
41
+ [key: string]: any;
42
+ };
43
+ /**
44
+ * Optional settings for the bootstrapper lambda function. Can be anything that can be configured on the lambda function, but some will be overwritten by values defined here.
45
+ *
46
+ * @default - defined in the construct.
47
+ */
48
+ readonly bootstrapperLambdaFunctionOptions?: CustomLambdaFunctionProps;
20
49
  }
21
50
  export interface DatabaseParameters {
22
51
  /**
@@ -5,8 +5,11 @@ exports.PgStacDatabase = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
7
  const constructs_1 = require("constructs");
8
- const bootstrapper_1 = require("../bootstrapper");
9
8
  const instanceSizes = require("./instance-memory.json");
9
+ const DEFAULT_PGSTAC_VERSION = "0.7.10";
10
+ function hasVpc(instance) {
11
+ return instance.vpc !== undefined;
12
+ }
10
13
  /**
11
14
  * An RDS instance with pgSTAC installed. This is a wrapper around the
12
15
  * `rds.DatabaseInstance` higher-level construct making use
@@ -35,16 +38,67 @@ class PgStacDatabase extends constructs_1.Construct {
35
38
  parameterGroup,
36
39
  ...props,
37
40
  });
38
- const bootstrap = new bootstrapper_1.BootstrapPgStac(this, "bootstrap-pgstac-instance", {
39
- vpc: props.vpc,
40
- database: this.db,
41
- dbSecret: this.db.secret,
42
- pgstacDbName: props.pgstacDbName,
43
- pgstacVersion: props.pgstacVersion,
44
- pgstacUsername: props.pgstacUsername,
45
- secretsPrefix: props.secretsPrefix,
41
+ const handler = new aws_cdk_lib_1.aws_lambda.Function(this, "lambda", {
42
+ // defaults for configurable properties
43
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_11,
44
+ handler: "handler.handler",
45
+ memorySize: 128,
46
+ logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_WEEK,
47
+ timeout: aws_cdk_lib_1.Duration.minutes(2),
48
+ code: aws_cdk_lib_1.aws_lambda.Code.fromDockerBuild(__dirname, {
49
+ file: "bootstrapper_runtime/Dockerfile",
50
+ buildArgs: { PGSTAC_VERSION: DEFAULT_PGSTAC_VERSION, PYTHON_VERSION: "3.11" }
51
+ }),
52
+ // overwrites defaults with user-provided configurable properties
53
+ ...props.bootstrapperLambdaFunctionOptions,
54
+ // Non configurable properties that are going to be overwritten even if provided by the user
55
+ vpc: hasVpc(this.db) ? this.db.vpc : props.vpc,
56
+ allowPublicSubnet: true
57
+ });
58
+ this.pgstacSecret = new aws_cdk_lib_1.aws_secretsmanager.Secret(this, "bootstrappersecret", {
59
+ secretName: [
60
+ props.secretsPrefix || "pgstac",
61
+ id,
62
+ this.node.addr.slice(-8),
63
+ ].join("/"),
64
+ generateSecretString: {
65
+ secretStringTemplate: JSON.stringify({
66
+ dbname: props.pgstacDbName || "pgstac",
67
+ engine: "postgres",
68
+ port: 5432,
69
+ host: this.db.instanceEndpoint.hostname,
70
+ username: props.pgstacUsername || "pgstac_user",
71
+ }),
72
+ generateStringKey: "password",
73
+ excludePunctuation: true,
74
+ },
75
+ description: `PgSTAC database bootstrapped by ${aws_cdk_lib_1.Stack.of(this).stackName}`,
76
+ });
77
+ // Allow lambda to...
78
+ // read new user secret
79
+ this.pgstacSecret.grantRead(handler);
80
+ // read database secret
81
+ this.db.secret.grantRead(handler);
82
+ // connect to database
83
+ this.db.connections.allowFrom(handler, aws_cdk_lib_1.aws_ec2.Port.tcp(5432));
84
+ let customResourceProperties = {};
85
+ // if customResourceProperties are provided, fill in the values.
86
+ if (props.customResourceProperties) {
87
+ Object.assign(customResourceProperties, props.customResourceProperties);
88
+ }
89
+ // update properties
90
+ customResourceProperties["conn_secret_arn"] = this.db.secret.secretArn;
91
+ customResourceProperties["new_user_secret_arn"] = this.pgstacSecret.secretArn;
92
+ // if props.lambdaFunctionOptions doesn't have 'code' defined, update pgstac_version (needed for default runtime)
93
+ if (!props.bootstrapperLambdaFunctionOptions?.code) {
94
+ customResourceProperties["pgstac_version"] = DEFAULT_PGSTAC_VERSION;
95
+ }
96
+ // this.connections = props.database.connections;
97
+ new aws_cdk_lib_1.CustomResource(this, "bootstrapper", {
98
+ serviceToken: handler.functionArn,
99
+ properties: customResourceProperties,
100
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.RETAIN,
46
101
  });
47
- this.pgstacSecret = bootstrap.secret;
48
102
  }
49
103
  getParameters(instanceType, parameters) {
50
104
  // https://github.com/aws/aws-cli/issues/1279#issuecomment-909318236
@@ -80,5 +134,5 @@ class PgStacDatabase extends constructs_1.Construct {
80
134
  }
81
135
  exports.PgStacDatabase = PgStacDatabase;
82
136
  _a = JSII_RTTI_SYMBOL_1;
83
- PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "5.4.1" };
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUlxQjtBQUNyQiwyQ0FBdUM7QUFDdkMsa0RBQXdFO0FBRXhFLE1BQU0sYUFBYSxHQUEyQixPQUFPLENBQUMsd0JBQXdCLENBQUMsQ0FBQztBQUVoRjs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFJM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDMUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxVQUFVLEVBQzVDLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNwRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsVUFBVSxFQUFFO2dCQUNWLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhO2dCQUMvQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO2dCQUNuQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELHlCQUF5QixFQUFFLGlCQUFpQixDQUFDLHNCQUFzQjtnQkFDbkUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLFdBQVc7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxXQUFXO2dCQUM1QyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQyxjQUFjO2dCQUNsRCxHQUFHLEtBQUssQ0FBQyxVQUFVO2FBQ3BCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLHFCQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUM3QyxrQkFBa0IsRUFBRSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTO1lBQzVDLGNBQWM7WUFDZCxHQUFHLEtBQUs7U0FDVCxDQUFDLENBQUM7UUFFSCxNQUFNLFNBQVMsR0FBRyxJQUFJLDhCQUFlLENBQUMsSUFBSSxFQUFFLDJCQUEyQixFQUFFO1lBQ3ZFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFPO1lBQ3pCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDbEMsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLGFBQWEsRUFBRSxLQUFLLENBQUMsYUFBYTtTQUNuQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7SUFDdkMsQ0FBQztJQUVNLGFBQWEsQ0FDbEIsWUFBb0IsRUFDcEIsVUFBNkM7UUFFN0Msb0VBQW9FO1FBQ3BFLE1BQU0sWUFBWSxHQUFHLGFBQWEsQ0FBQyxZQUFZLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFeEQsa0ZBQWtGO1FBQ2xGLGtGQUFrRjtRQUNsRiwrQ0FBK0M7UUFDL0MsTUFBTSxjQUFjLEdBQUcsVUFBVSxFQUFFLGNBQWM7WUFDL0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQztZQUM1QyxDQUFDLENBQUMsb0dBQW9HO2dCQUNwRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEUsTUFBTSxhQUFhLEdBQUcsVUFBVSxFQUFFLFlBQVk7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztZQUMxQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFFcEMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsQ0FBQztRQUMzRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxjQUFjLENBQUMsQ0FBQztRQUMzRCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRTVELE1BQU0sV0FBVyxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7UUFDL0IsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLE1BQU0sY0FBYyxHQUFHLEdBQUcsQ0FBQztRQUUzQixPQUFPO1lBQ0wsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFO1lBQ25DLGFBQWEsRUFBRSxHQUFHLGFBQWEsR0FBRyxDQUFDLEVBQUU7WUFDckMsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRTtZQUMzQyxPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUU7WUFDckIsa0JBQWtCLEVBQUUsR0FBRyxrQkFBa0IsRUFBRTtZQUMzQyxzQkFBc0IsRUFBRSxNQUFNO1lBQzlCLFdBQVcsRUFBRSxHQUFHLFdBQVcsRUFBRTtZQUM3QixXQUFXLEVBQUUsR0FBRyxXQUFXLEVBQUU7WUFDN0IsY0FBYyxFQUFFLEdBQUcsY0FBYyxFQUFFO1NBQ3BDLENBQUM7SUFDSixDQUFDOztBQWxGSCx3Q0FtRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTdGFjayxcbiAgYXdzX3JkcyBhcyByZHMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzbWFuYWdlcixcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQm9vdHN0cmFwUGdTdGFjLCBCb290c3RyYXBQZ1N0YWNQcm9wcyB9IGZyb20gXCIuLi9ib290c3RyYXBwZXJcIjtcblxuY29uc3QgaW5zdGFuY2VTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHJlcXVpcmUoXCIuL2luc3RhbmNlLW1lbW9yeS5qc29uXCIpO1xuXG4vKipcbiAqIEFuIFJEUyBpbnN0YW5jZSB3aXRoIHBnU1RBQyBpbnN0YWxsZWQuIFRoaXMgaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGVcbiAqIGByZHMuRGF0YWJhc2VJbnN0YW5jZWAgaGlnaGVyLWxldmVsIGNvbnN0cnVjdCBtYWtpbmcgdXNlXG4gKiBvZiB0aGUgQm9vdHN0cmFwUGdTdGFjIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBnU3RhY0RhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZGI6IHJkcy5EYXRhYmFzZUluc3RhbmNlO1xuICBwZ3N0YWNTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBnU3RhY0RhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBhcmFtZXRlcnMgPSB0aGlzLmdldFBhcmFtZXRlcnMoXG4gICAgICBwcm9wcy5pbnN0YW5jZVR5cGU/LnRvU3RyaW5nKCkgfHwgXCJtNS5sYXJnZVwiLFxuICAgICAgcHJvcHMucGFyYW1ldGVyc1xuICAgICk7XG4gICAgY29uc3QgcGFyYW1ldGVyR3JvdXAgPSBuZXcgcmRzLlBhcmFtZXRlckdyb3VwKHRoaXMsIFwicGFyYW1ldGVyR3JvdXBcIiwge1xuICAgICAgZW5naW5lOiBwcm9wcy5lbmdpbmUsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIHNoYXJlZF9idWZmZXJzOiBkZWZhdWx0UGFyYW1ldGVycy5zaGFyZWRCdWZmZXJzLFxuICAgICAgICBlZmZlY3RpdmVfY2FjaGVfc2l6ZTogZGVmYXVsdFBhcmFtZXRlcnMuZWZmZWN0aXZlQ2FjaGVTaXplLFxuICAgICAgICB3b3JrX21lbTogZGVmYXVsdFBhcmFtZXRlcnMud29ya01lbSxcbiAgICAgICAgbWFpbnRlbmFuY2Vfd29ya19tZW06IGRlZmF1bHRQYXJhbWV0ZXJzLm1haW50ZW5hbmNlV29ya01lbSxcbiAgICAgICAgbWF4X2xvY2tzX3Blcl90cmFuc2FjdGlvbjogZGVmYXVsdFBhcmFtZXRlcnMubWF4TG9ja3NQZXJUcmFuc2FjdGlvbixcbiAgICAgICAgdGVtcF9idWZmZXJzOiBkZWZhdWx0UGFyYW1ldGVycy50ZW1wQnVmZmVycyxcbiAgICAgICAgc2VxX3BhZ2VfY29zdDogZGVmYXVsdFBhcmFtZXRlcnMuc2VxUGFnZUNvc3QsXG4gICAgICAgIHJhbmRvbV9wYWdlX2Nvc3Q6IGRlZmF1bHRQYXJhbWV0ZXJzLnJhbmRvbVBhZ2VDb3N0LFxuICAgICAgICAuLi5wcm9wcy5wYXJhbWV0ZXJzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGIgPSBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2UodGhpcywgXCJkYlwiLCB7XG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZSxcbiAgICAgIHBhcmFtZXRlckdyb3VwLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBib290c3RyYXAgPSBuZXcgQm9vdHN0cmFwUGdTdGFjKHRoaXMsIFwiYm9vdHN0cmFwLXBnc3RhYy1pbnN0YW5jZVwiLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGRhdGFiYXNlOiB0aGlzLmRiLFxuICAgICAgZGJTZWNyZXQ6IHRoaXMuZGIuc2VjcmV0ISxcbiAgICAgIHBnc3RhY0RiTmFtZTogcHJvcHMucGdzdGFjRGJOYW1lLFxuICAgICAgcGdzdGFjVmVyc2lvbjogcHJvcHMucGdzdGFjVmVyc2lvbixcbiAgICAgIHBnc3RhY1VzZXJuYW1lOiBwcm9wcy5wZ3N0YWNVc2VybmFtZSxcbiAgICAgIHNlY3JldHNQcmVmaXg6IHByb3BzLnNlY3JldHNQcmVmaXgsXG4gICAgfSk7XG5cbiAgICB0aGlzLnBnc3RhY1NlY3JldCA9IGJvb3RzdHJhcC5zZWNyZXQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGFyYW1ldGVycyhcbiAgICBpbnN0YW5jZVR5cGU6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzOiBQZ1N0YWNEYXRhYmFzZVByb3BzW1wicGFyYW1ldGVyc1wiXVxuICApOiBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNsaS9pc3N1ZXMvMTI3OSNpc3N1ZWNvbW1lbnQtOTA5MzE4MjM2XG4gICAgY29uc3QgbWVtb3J5X2luX2tiID0gaW5zdGFuY2VTaXplc1tpbnN0YW5jZVR5cGVdICogMTAyNDtcblxuICAgIC8vIEl0J3Mgb25seSBuZWNlc3NhcnkgdG8gY29uc2lkZXIgcGFzc2VkIGluIHBhcmFtZXRlcnMgZm9yIGFueSB2YWx1ZSB0aGF0IHVzZWQgdG9cbiAgICAvLyBkZXJpdmUgc3Vic2VxdWVudCB2YWx1ZXMuIFZhbHVlcyB0aGF0IGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzIHdpbGwgYmUgb3ZlcnJpZGVuXG4gICAgLy8gd2hlbiB3ZSB1bnBhY2sgdGhlIHBhc3NlZC1pbiB1c2VyIHBhcmFtZXRlcnNcbiAgICBjb25zdCBtYXhDb25uZWN0aW9ucyA9IHBhcmFtZXRlcnM/Lm1heENvbm5lY3Rpb25zXG4gICAgICA/IE51bWJlci5wYXJzZUludChwYXJhbWV0ZXJzLm1heENvbm5lY3Rpb25zKVxuICAgICAgOiAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUkRTL2xhdGVzdC9Vc2VyR3VpZGUvQ0hBUF9MaW1pdHMuaHRtbCNSRFNfTGltaXRzLk1heENvbm5lY3Rpb25zXG4gICAgICAgIE1hdGgubWluKE1hdGgucm91bmQoKG1lbW9yeV9pbl9rYiAqIDEwMjQpIC8gOTUzMTM5MiksIDUwMDApO1xuICAgIGNvbnN0IHNoYXJlZEJ1ZmZlcnMgPSBwYXJhbWV0ZXJzPy5zaGFyZWRCdWZlcnNcbiAgICAgID8gTnVtYmVyLnBhcnNlSW50KHBhcmFtZXRlcnMuc2hhcmVkQnVmZXJzKVxuICAgICAgOiBNYXRoLnJvdW5kKDAuMjUgKiBtZW1vcnlfaW5fa2IpO1xuXG4gICAgY29uc3QgZWZmZWN0aXZlQ2FjaGVTaXplID0gTWF0aC5yb3VuZCgwLjc1ICogbWVtb3J5X2luX2tiKTtcbiAgICBjb25zdCB3b3JrTWVtID0gTWF0aC5mbG9vcihzaGFyZWRCdWZmZXJzIC8gbWF4Q29ubmVjdGlvbnMpO1xuICAgIGNvbnN0IG1haW50ZW5hbmNlV29ya01lbSA9IE1hdGgucm91bmQoMC4yNSAqIHNoYXJlZEJ1ZmZlcnMpO1xuXG4gICAgY29uc3QgdGVtcEJ1ZmZlcnMgPSAxMjggKiAxMDI0O1xuICAgIGNvbnN0IHNlcVBhZ2VDb3N0ID0gMTtcbiAgICBjb25zdCByYW5kb21QYWdlQ29zdCA9IDEuMTtcblxuICAgIHJldHVybiB7XG4gICAgICBtYXhDb25uZWN0aW9uczogYCR7bWF4Q29ubmVjdGlvbnN9YCxcbiAgICAgIHNoYXJlZEJ1ZmZlcnM6IGAke3NoYXJlZEJ1ZmZlcnMgLyA4fWAsIC8vIFJlcHJlc2VudGVkIGluIDhrYiBibG9ja3NcbiAgICAgIGVmZmVjdGl2ZUNhY2hlU2l6ZTogYCR7ZWZmZWN0aXZlQ2FjaGVTaXplfWAsXG4gICAgICB3b3JrTWVtOiBgJHt3b3JrTWVtfWAsXG4gICAgICBtYWludGVuYW5jZVdvcmtNZW06IGAke21haW50ZW5hbmNlV29ya01lbX1gLFxuICAgICAgbWF4TG9ja3NQZXJUcmFuc2FjdGlvbjogXCIxMDI0XCIsXG4gICAgICB0ZW1wQnVmZmVyczogYCR7dGVtcEJ1ZmZlcnN9YCxcbiAgICAgIHNlcVBhZ2VDb3N0OiBgJHtzZXFQYWdlQ29zdH1gLFxuICAgICAgcmFuZG9tUGFnZUNvc3Q6IGAke3JhbmRvbVBhZ2VDb3N0fWAsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBnU3RhY0RhdGFiYXNlUHJvcHMgZXh0ZW5kcyByZHMuRGF0YWJhc2VJbnN0YW5jZVByb3BzIHtcbiAgcmVhZG9ubHkgcGdzdGFjRGJOYW1lPzogQm9vdHN0cmFwUGdTdGFjUHJvcHNbXCJwZ3N0YWNEYk5hbWVcIl07XG4gIHJlYWRvbmx5IHBnc3RhY1ZlcnNpb24/OiBCb290c3RyYXBQZ1N0YWNQcm9wc1tcInBnc3RhY1ZlcnNpb25cIl07XG4gIHJlYWRvbmx5IHBnc3RhY1VzZXJuYW1lPzogQm9vdHN0cmFwUGdTdGFjUHJvcHNbXCJwZ3N0YWNVc2VybmFtZVwiXTtcbiAgcmVhZG9ubHkgc2VjcmV0c1ByZWZpeD86IEJvb3RzdHJhcFBnU3RhY1Byb3BzW1wic2VjcmV0c1ByZWZpeFwiXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgLSBMRUFTVCh7REJJbnN0YW5jZUNsYXNzTWVtb3J5Lzk1MzEzOTJ9LCA1MDAwKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29ubmVjdGlvbnM6IHN0cmluZztcblxuICAvKipcbiAgICogTm90ZTogVGhpcyB2YWx1ZSBpcyBtZWFzdXJlZCBpbiA4S0IgYmxvY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAne0RCSW5zdGFuY2VDbGFzc01lbW9yeS8zMjc2OH0nIDI1JSBvZiBpbnN0YW5jZSBtZW1vcnksIGllIGB7KERCSW5zdGFuY2VDbGFzc01lbW9yeS8oMTAyNCo4KSkgKiAwLjI1fWBcbiAgICovXG4gIHJlYWRvbmx5IHNoYXJlZEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSA3NSUgb2YgaW5zdGFuY2UgbWVtb3J5XG4gICAqL1xuICByZWFkb25seSBlZmZlY3RpdmVDYWNoZVNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSBzaGFyZWQgYnVmZmVycyBkaXZpZGVkIGJ5IG1heCBjb25uZWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya01lbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIDI1JSBvZiBzaGFyZWQgYnVmZmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgbWFpbnRlbmFuY2VXb3JrTWVtOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEwMjRcbiAgICovXG4gIHJlYWRvbmx5IG1heExvY2tzUGVyVHJhbnNhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMTMxMTcyICgxMjggKiAxMDI0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgc2VxUGFnZUNvc3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMS4xXG4gICAqL1xuICByZWFkb25seSByYW5kb21QYWdlQ29zdDogc3RyaW5nO1xufVxuIl19
137
+ PgStacDatabase[_a] = { fqn: "eoapi-cdk.PgStacDatabase", version: "6.0.1" };
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVdxQjtBQUNyQiwyQ0FBdUM7QUFHdkMsTUFBTSxhQUFhLEdBQTJCLE9BQU8sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBQ2hGLE1BQU0sc0JBQXNCLEdBQUcsUUFBUSxDQUFDO0FBRXhDLFNBQVMsTUFBTSxDQUNiLFFBQXNEO0lBRXRELE9BQVEsUUFBaUMsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFDO0FBQzlELENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBYSxjQUFlLFNBQVEsc0JBQVM7SUFJM0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDMUMsS0FBSyxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsSUFBSSxVQUFVLEVBQzVDLEtBQUssQ0FBQyxVQUFVLENBQ2pCLENBQUM7UUFDRixNQUFNLGNBQWMsR0FBRyxJQUFJLHFCQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNwRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsVUFBVSxFQUFFO2dCQUNWLGNBQWMsRUFBRSxpQkFBaUIsQ0FBQyxhQUFhO2dCQUMvQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxPQUFPO2dCQUNuQyxvQkFBb0IsRUFBRSxpQkFBaUIsQ0FBQyxrQkFBa0I7Z0JBQzFELHlCQUF5QixFQUFFLGlCQUFpQixDQUFDLHNCQUFzQjtnQkFDbkUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLFdBQVc7Z0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxXQUFXO2dCQUM1QyxnQkFBZ0IsRUFB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QUFHLFVBQVUsRUFBRSxZQUFZO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUM7WUFDMUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLFlBQVksQ0FBQyxDQUFDO1FBRXBDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUM7UUFDM0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsY0FBYyxDQUFDLENBQUM7UUFDM0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxhQUFhLENBQUMsQ0FBQztRQUU1RCxNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBQy9CLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQztRQUN0QixNQUFNLGNBQWMsR0FBRyxHQUFHLENBQUM7UUFFM0IsT0FBTztZQUNMLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRTtZQUNuQyxhQUFhLEVBQUUsR0FBRyxhQUFhLEdBQUcsQ0FBQyxFQUFFO1lBQ3JDLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLEVBQUU7WUFDM0MsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFO1lBQ3JCLGtCQUFrQixFQUFFLEdBQUcsa0JBQWtCLEVBQUU7WUFDM0Msc0JBQXNCLEVBQUUsTUFBTTtZQUM5QixXQUFXLEVBQUUsR0FBRyxXQUFXLEVBQUU7WUFDN0IsV0FBVyxFQUFFLEdBQUcsV0FBVyxFQUFFO1lBQzdCLGNBQWMsRUFBRSxHQUFHLGNBQWMsRUFBRTtTQUNwQyxDQUFDO0lBQ0osQ0FBQzs7QUE3SUgsd0NBOElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU3RhY2ssXG4gIGF3c19yZHMgYXMgcmRzLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX3NlY3JldHNtYW5hZ2VyIGFzIHNlY3JldHNtYW5hZ2VyLFxuICBhd3NfbGFtYmRhLFxuICBDdXN0b21SZXNvdXJjZSxcbiAgUmVtb3ZhbFBvbGljeSxcbiAgRHVyYXRpb24sXG4gIGF3c19sb2dzLFxuXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi4vdXRpbHNcIjtcblxuY29uc3QgaW5zdGFuY2VTaXplczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHJlcXVpcmUoXCIuL2luc3RhbmNlLW1lbW9yeS5qc29uXCIpO1xuY29uc3QgREVGQVVMVF9QR1NUQUNfVkVSU0lPTiA9IFwiMC43LjEwXCI7XG5cbmZ1bmN0aW9uIGhhc1ZwYyhcbiAgaW5zdGFuY2U6IHJkcy5EYXRhYmFzZUluc3RhbmNlIHwgcmRzLklEYXRhYmFzZUluc3RhbmNlXG4pOiBpbnN0YW5jZSBpcyByZHMuRGF0YWJhc2VJbnN0YW5jZSB7XG4gIHJldHVybiAoaW5zdGFuY2UgYXMgcmRzLkRhdGFiYXNlSW5zdGFuY2UpLnZwYyAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEFuIFJEUyBpbnN0YW5jZSB3aXRoIHBnU1RBQyBpbnN0YWxsZWQuIFRoaXMgaXMgYSB3cmFwcGVyIGFyb3VuZCB0aGVcbiAqIGByZHMuRGF0YWJhc2VJbnN0YW5jZWAgaGlnaGVyLWxldmVsIGNvbnN0cnVjdCBtYWtpbmcgdXNlXG4gKiBvZiB0aGUgQm9vdHN0cmFwUGdTdGFjIGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFBnU3RhY0RhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZGI6IHJkcy5EYXRhYmFzZUluc3RhbmNlO1xuICBwZ3N0YWNTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFBnU3RhY0RhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgY29uc3QgZGVmYXVsdFBhcmFtZXRlcnMgPSB0aGlzLmdldFBhcmFtZXRlcnMoXG4gICAgICBwcm9wcy5pbnN0YW5jZVR5cGU/LnRvU3RyaW5nKCkgfHwgXCJtNS5sYXJnZVwiLFxuICAgICAgcHJvcHMucGFyYW1ldGVyc1xuICAgICk7XG4gICAgY29uc3QgcGFyYW1ldGVyR3JvdXAgPSBuZXcgcmRzLlBhcmFtZXRlckdyb3VwKHRoaXMsIFwicGFyYW1ldGVyR3JvdXBcIiwge1xuICAgICAgZW5naW5lOiBwcm9wcy5lbmdpbmUsXG4gICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgIHNoYXJlZF9idWZmZXJzOiBkZWZhdWx0UGFyYW1ldGVycy5zaGFyZWRCdWZmZXJzLFxuICAgICAgICBlZmZlY3RpdmVfY2FjaGVfc2l6ZTogZGVmYXVsdFBhcmFtZXRlcnMuZWZmZWN0aXZlQ2FjaGVTaXplLFxuICAgICAgICB3b3JrX21lbTogZGVmYXVsdFBhcmFtZXRlcnMud29ya01lbSxcbiAgICAgICAgbWFpbnRlbmFuY2Vfd29ya19tZW06IGRlZmF1bHRQYXJhbWV0ZXJzLm1haW50ZW5hbmNlV29ya01lbSxcbiAgICAgICAgbWF4X2xvY2tzX3Blcl90cmFuc2FjdGlvbjogZGVmYXVsdFBhcmFtZXRlcnMubWF4TG9ja3NQZXJUcmFuc2FjdGlvbixcbiAgICAgICAgdGVtcF9idWZmZXJzOiBkZWZhdWx0UGFyYW1ldGVycy50ZW1wQnVmZmVycyxcbiAgICAgICAgc2VxX3BhZ2VfY29zdDogZGVmYXVsdFBhcmFtZXRlcnMuc2VxUGFnZUNvc3QsXG4gICAgICAgIHJhbmRvbV9wYWdlX2Nvc3Q6IGRlZmF1bHRQYXJhbWV0ZXJzLnJhbmRvbVBhZ2VDb3N0LFxuICAgICAgICAuLi5wcm9wcy5wYXJhbWV0ZXJzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIHRoaXMuZGIgPSBuZXcgcmRzLkRhdGFiYXNlSW5zdGFuY2UodGhpcywgXCJkYlwiLCB7XG4gICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IFN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZSxcbiAgICAgIHBhcmFtZXRlckdyb3VwLFxuICAgICAgLi4ucHJvcHMsXG4gICAgfSk7XG5cbiAgICBjb25zdCBoYW5kbGVyID0gbmV3IGF3c19sYW1iZGEuRnVuY3Rpb24odGhpcywgXCJsYW1iZGFcIiwge1xuICAgICAgLy8gZGVmYXVsdHMgZm9yIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICBydW50aW1lOiBhd3NfbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfMTEsXG4gICAgICBoYW5kbGVyOiBcImhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgbWVtb3J5U2l6ZTogMTI4LFxuICAgICAgbG9nUmV0ZW50aW9uOiBhd3NfbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9XRUVLLFxuICAgICAgdGltZW91dDogRHVyYXRpb24ubWludXRlcygyKSxcbiAgICAgIGNvZGU6IGF3c19sYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQoX19kaXJuYW1lLCB7XG4gICAgICAgIGZpbGU6IFwiYm9vdHN0cmFwcGVyX3J1bnRpbWUvRG9ja2VyZmlsZVwiLFxuICAgICAgICBidWlsZEFyZ3M6IHtQR1NUQUNfVkVSU0lPTjogREVGQVVMVF9QR1NUQUNfVkVSU0lPTiwgUFlUSE9OX1ZFUlNJT046IFwiMy4xMVwifVxuICAgICAgfSksXG4gICAgICAvLyBvdmVyd3JpdGVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBjb25maWd1cmFibGUgcHJvcGVydGllc1xuICAgICAgLi4ucHJvcHMuYm9vdHN0cmFwcGVyTGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgICAgLy8gTm9uIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIG92ZXJ3cml0dGVuIGV2ZW4gaWYgcHJvdmlkZWQgYnkgdGhlIHVzZXJcbiAgICAgIHZwYzogaGFzVnBjKHRoaXMuZGIpID8gdGhpcy5kYi52cGMgOiBwcm9wcy52cGMsXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgdGhpcy5wZ3N0YWNTZWNyZXQgPSBuZXcgc2VjcmV0c21hbmFnZXIuU2VjcmV0KHRoaXMsIFwiYm9vdHN0cmFwcGVyc2VjcmV0XCIsIHtcbiAgICAgIHNlY3JldE5hbWU6IFtcbiAgICAgICAgcHJvcHMuc2VjcmV0c1ByZWZpeCB8fCBcInBnc3RhY1wiLFxuICAgICAgICBpZCxcbiAgICAgICAgdGhpcy5ub2RlLmFkZHIuc2xpY2UoLTgpLFxuICAgICAgXS5qb2luKFwiL1wiKSxcbiAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgZGJuYW1lOiBwcm9wcy5wZ3N0YWNEYk5hbWUgfHwgXCJwZ3N0YWNcIixcbiAgICAgICAgICBlbmdpbmU6IFwicG9zdGdyZXNcIixcbiAgICAgICAgICBwb3J0OiA1NDMyLFxuICAgICAgICAgIGhvc3Q6IHRoaXMuZGIuaW5zdGFuY2VFbmRwb2ludC5ob3N0bmFtZSxcbiAgICAgICAgICB1c2VybmFtZTogcHJvcHMucGdzdGFjVXNlcm5hbWUgfHwgXCJwZ3N0YWNfdXNlclwiLFxuICAgICAgICB9KSxcbiAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIixcbiAgICAgICAgZXhjbHVkZVB1bmN0dWF0aW9uOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGRlc2NyaXB0aW9uOiBgUGdTVEFDIGRhdGFiYXNlIGJvb3RzdHJhcHBlZCBieSAke1xuICAgICAgICBTdGFjay5vZih0aGlzKS5zdGFja05hbWVcbiAgICAgIH1gLFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgbGFtYmRhIHRvLi4uXG4gICAgLy8gcmVhZCBuZXcgdXNlciBzZWNyZXRcbiAgICB0aGlzLnBnc3RhY1NlY3JldC5ncmFudFJlYWQoaGFuZGxlcik7XG4gICAgLy8gcmVhZCBkYXRhYmFzZSBzZWNyZXRcbiAgICB0aGlzLmRiLnNlY3JldCEuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuICAgIC8vIGNvbm5lY3QgdG8gZGF0YWJhc2VcbiAgICB0aGlzLmRiLmNvbm5lY3Rpb25zLmFsbG93RnJvbShoYW5kbGVyLCBlYzIuUG9ydC50Y3AoNTQzMikpO1xuXG4gICAgbGV0IGN1c3RvbVJlc291cmNlUHJvcGVydGllcyA6IHsgW2tleTogc3RyaW5nXTogYW55fSA9IHt9O1xuXG4gICAgLy8gaWYgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzIGFyZSBwcm92aWRlZCwgZmlsbCBpbiB0aGUgdmFsdWVzLiBcbiAgICBpZiAocHJvcHMuY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGN1c3RvbVJlc291cmNlUHJvcGVydGllcywgcHJvcHMuY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzKTtcbiAgICB9XG5cbiAgICAvLyB1cGRhdGUgcHJvcGVydGllc1xuICAgIGN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcImNvbm5fc2VjcmV0X2FyblwiXSA9IHRoaXMuZGIuc2VjcmV0IS5zZWNyZXRBcm47XG4gICAgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1wibmV3X3VzZXJfc2VjcmV0X2FyblwiXSA9IHRoaXMucGdzdGFjU2VjcmV0LnNlY3JldEFybjtcblxuICAgIC8vIGlmIHByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyBkb2Vzbid0IGhhdmUgJ2NvZGUnIGRlZmluZWQsIHVwZGF0ZSBwZ3N0YWNfdmVyc2lvbiAobmVlZGVkIGZvciBkZWZhdWx0IHJ1bnRpbWUpXG4gICAgaWYgKCFwcm9wcy5ib290c3RyYXBwZXJMYW1iZGFGdW5jdGlvbk9wdGlvbnM/LmNvZGUpIHtcbiAgICAgIGN1c3RvbVJlc291cmNlUHJvcGVydGllc1tcInBnc3RhY192ZXJzaW9uXCJdID0gREVGQVVMVF9QR1NUQUNfVkVSU0lPTjtcbiAgICB9XG4gICAgLy8gdGhpcy5jb25uZWN0aW9ucyA9IHByb3BzLmRhdGFiYXNlLmNvbm5lY3Rpb25zO1xuICAgIG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCBcImJvb3RzdHJhcHBlclwiLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IGhhbmRsZXIuZnVuY3Rpb25Bcm4sXG4gICAgICBwcm9wZXJ0aWVzOiBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXMsXG4gICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlJFVEFJTiwgLy8gVGhpcyByZXRhaW5zIHRoZSBjdXN0b20gcmVzb3VyY2UgKHdoaWNoIGRvZXNuJ3QgcmVhbGx5IGV4aXN0KSwgbm90IHRoZSBkYXRhYmFzZVxuICAgIH0pO1xuXG4gIH1cblxuICBwdWJsaWMgZ2V0UGFyYW1ldGVycyhcbiAgICBpbnN0YW5jZVR5cGU6IHN0cmluZyxcbiAgICBwYXJhbWV0ZXJzOiBQZ1N0YWNEYXRhYmFzZVByb3BzW1wicGFyYW1ldGVyc1wiXVxuICApOiBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNsaS9pc3N1ZXMvMTI3OSNpc3N1ZWNvbW1lbnQtOTA5MzE4MjM2XG4gICAgY29uc3QgbWVtb3J5X2luX2tiID0gaW5zdGFuY2VTaXplc1tpbnN0YW5jZVR5cGVdICogMTAyNDtcblxuICAgIC8vIEl0J3Mgb25seSBuZWNlc3NhcnkgdG8gY29uc2lkZXIgcGFzc2VkIGluIHBhcmFtZXRlcnMgZm9yIGFueSB2YWx1ZSB0aGF0IHVzZWQgdG9cbiAgICAvLyBkZXJpdmUgc3Vic2VxdWVudCB2YWx1ZXMuIFZhbHVlcyB0aGF0IGRvbid0IGhhdmUgZGVwZW5kZW5jaWVzIHdpbGwgYmUgb3ZlcnJpZGVuXG4gICAgLy8gd2hlbiB3ZSB1bnBhY2sgdGhlIHBhc3NlZC1pbiB1c2VyIHBhcmFtZXRlcnNcbiAgICBjb25zdCBtYXhDb25uZWN0aW9ucyA9IHBhcmFtZXRlcnM/Lm1heENvbm5lY3Rpb25zXG4gICAgICA/IE51bWJlci5wYXJzZUludChwYXJhbWV0ZXJzLm1heENvbm5lY3Rpb25zKVxuICAgICAgOiAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uUkRTL2xhdGVzdC9Vc2VyR3VpZGUvQ0hBUF9MaW1pdHMuaHRtbCNSRFNfTGltaXRzLk1heENvbm5lY3Rpb25zXG4gICAgICAgIE1hdGgubWluKE1hdGgucm91bmQoKG1lbW9yeV9pbl9rYiAqIDEwMjQpIC8gOTUzMTM5MiksIDUwMDApO1xuICAgIGNvbnN0IHNoYXJlZEJ1ZmZlcnMgPSBwYXJhbWV0ZXJzPy5zaGFyZWRCdWZlcnNcbiAgICAgID8gTnVtYmVyLnBhcnNlSW50KHBhcmFtZXRlcnMuc2hhcmVkQnVmZXJzKVxuICAgICAgOiBNYXRoLnJvdW5kKDAuMjUgKiBtZW1vcnlfaW5fa2IpO1xuXG4gICAgY29uc3QgZWZmZWN0aXZlQ2FjaGVTaXplID0gTWF0aC5yb3VuZCgwLjc1ICogbWVtb3J5X2luX2tiKTtcbiAgICBjb25zdCB3b3JrTWVtID0gTWF0aC5mbG9vcihzaGFyZWRCdWZmZXJzIC8gbWF4Q29ubmVjdGlvbnMpO1xuICAgIGNvbnN0IG1haW50ZW5hbmNlV29ya01lbSA9IE1hdGgucm91bmQoMC4yNSAqIHNoYXJlZEJ1ZmZlcnMpO1xuXG4gICAgY29uc3QgdGVtcEJ1ZmZlcnMgPSAxMjggKiAxMDI0O1xuICAgIGNvbnN0IHNlcVBhZ2VDb3N0ID0gMTtcbiAgICBjb25zdCByYW5kb21QYWdlQ29zdCA9IDEuMTtcblxuICAgIHJldHVybiB7XG4gICAgICBtYXhDb25uZWN0aW9uczogYCR7bWF4Q29ubmVjdGlvbnN9YCxcbiAgICAgIHNoYXJlZEJ1ZmZlcnM6IGAke3NoYXJlZEJ1ZmZlcnMgLyA4fWAsIC8vIFJlcHJlc2VudGVkIGluIDhrYiBibG9ja3NcbiAgICAgIGVmZmVjdGl2ZUNhY2hlU2l6ZTogYCR7ZWZmZWN0aXZlQ2FjaGVTaXplfWAsXG4gICAgICB3b3JrTWVtOiBgJHt3b3JrTWVtfWAsXG4gICAgICBtYWludGVuYW5jZVdvcmtNZW06IGAke21haW50ZW5hbmNlV29ya01lbX1gLFxuICAgICAgbWF4TG9ja3NQZXJUcmFuc2FjdGlvbjogXCIxMDI0XCIsXG4gICAgICB0ZW1wQnVmZmVyczogYCR7dGVtcEJ1ZmZlcnN9YCxcbiAgICAgIHNlcVBhZ2VDb3N0OiBgJHtzZXFQYWdlQ29zdH1gLFxuICAgICAgcmFuZG9tUGFnZUNvc3Q6IGAke3JhbmRvbVBhZ2VDb3N0fWAsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBnU3RhY0RhdGFiYXNlUHJvcHMgZXh0ZW5kcyByZHMuRGF0YWJhc2VJbnN0YW5jZVByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgZGF0YWJhc2UgdGhhdCBpcyB0byBiZSBjcmVhdGVkIGFuZCBvbnRvIHdoaWNoIHBnU1RBQyB3aWxsIGJlIGluc3RhbGxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgcGdzdGFjXG4gICAqL1xuICByZWFkb25seSBwZ3N0YWNEYk5hbWU/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICogUHJlZml4IHRvIGFzc2lnbiB0byB0aGUgZ2VuZXJhdGVkIGBzZWNyZXRzX21hbmFnZXIuU2VjcmV0YFxuICAgKlxuICAgKiBAZGVmYXVsdCBwZ3N0YWNcbiAgICovXG4gICAgcmVhZG9ubHkgc2VjcmV0c1ByZWZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB1c2VyIHRoYXQgd2lsbCBiZSBnZW5lcmF0ZWQgZm9yIGNvbm5lY3RpbmcgdG8gdGhlIHBnU1RBQyBkYXRhYmFzZS5cbiAgICpcbiAgICogQGRlZmF1bHQgcGdzdGFjX3VzZXJcbiAgICovXG4gIHJlYWRvbmx5IHBnc3RhY1VzZXJuYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYW1iZGEgZnVuY3Rpb24gQ3VzdG9tIFJlc291cmNlIHByb3BlcnRpZXMuIEEgY3VzdG9tIHJlc291cmNlIHByb3BlcnR5IGlzIGdvaW5nIHRvIGJlIGNyZWF0ZWRcbiAgICogdG8gdHJpZ2dlciB0aGUgYm9vc3RyYXBwaW5nIGxhbWJkYSBmdW5jdGlvbi4gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHRoZSB1c2VyIHRvIHNwZWNpZnkgYWRkaXRpb25hbCBwcm9wZXJ0aWVzXG4gICAqIG9uIHRvcCBvZiB0aGUgZGVmYXVsdHMgb25lcy4gXG4gICAqXG4gICAqL1xuICByZWFkb25seSBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzZXR0aW5ncyBmb3IgdGhlIGJvb3RzdHJhcHBlciBsYW1iZGEgZnVuY3Rpb24uIENhbiBiZSBhbnl0aGluZyB0aGF0IGNhbiBiZSBjb25maWd1cmVkIG9uIHRoZSBsYW1iZGEgZnVuY3Rpb24sIGJ1dCBzb21lIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkgdmFsdWVzIGRlZmluZWQgaGVyZS4gXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgYm9vdHN0cmFwcGVyTGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZVBhcmFtZXRlcnMge1xuICAvKipcbiAgICogQGRlZmF1bHQgLSBMRUFTVCh7REJJbnN0YW5jZUNsYXNzTWVtb3J5Lzk1MzEzOTJ9LCA1MDAwKVxuICAgKi9cbiAgcmVhZG9ubHkgbWF4Q29ubmVjdGlvbnM6IHN0cmluZztcblxuICAvKipcbiAgICogTm90ZTogVGhpcyB2YWx1ZSBpcyBtZWFzdXJlZCBpbiA4S0IgYmxvY2tzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAne0RCSW5zdGFuY2VDbGFzc01lbW9yeS8zMjc2OH0nIDI1JSBvZiBpbnN0YW5jZSBtZW1vcnksIGllIGB7KERCSW5zdGFuY2VDbGFzc01lbW9yeS8oMTAyNCo4KSkgKiAwLjI1fWBcbiAgICovXG4gIHJlYWRvbmx5IHNoYXJlZEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSA3NSUgb2YgaW5zdGFuY2UgbWVtb3J5XG4gICAqL1xuICByZWFkb25seSBlZmZlY3RpdmVDYWNoZVNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgLSBzaGFyZWQgYnVmZmVycyBkaXZpZGVkIGJ5IG1heCBjb25uZWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgd29ya01lbTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIDI1JSBvZiBzaGFyZWQgYnVmZmVyc1xuICAgKi9cbiAgcmVhZG9ubHkgbWFpbnRlbmFuY2VXb3JrTWVtOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZWZhdWx0IDEwMjRcbiAgICovXG4gIHJlYWRvbmx5IG1heExvY2tzUGVyVHJhbnNhY3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMTMxMTcyICgxMjggKiAxMDI0KVxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcEJ1ZmZlcnM6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMVxuICAgKi9cbiAgcmVhZG9ubHkgc2VxUGFnZUNvc3Q6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlZmF1bHQgMS4xXG4gICAqL1xuICByZWFkb25seSByYW5kb21QYWdlQ29zdDogc3RyaW5nO1xufVxuIl19
package/lib/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export * from "./bastion-host";
2
- export * from "./bootstrapper";
3
2
  export * from "./database";
4
3
  export * from "./ingestor-api";
5
4
  export * from "./stac-api";
6
5
  export * from "./titiler-pgstac-api";
7
6
  export * from "./stac-browser";
8
7
  export * from "./tipg-api";
8
+ export * from "./utils";
package/lib/index.js CHANGED
@@ -11,11 +11,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./bastion-host"), exports);
14
- __exportStar(require("./bootstrapper"), exports);
15
14
  __exportStar(require("./database"), exports);
16
15
  __exportStar(require("./ingestor-api"), exports);
17
16
  __exportStar(require("./stac-api"), exports);
18
17
  __exportStar(require("./titiler-pgstac-api"), exports);
19
18
  __exportStar(require("./stac-browser"), exports);
20
19
  __exportStar(require("./tipg-api"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsaURBQStCO0FBQy9CLDZDQUEyQjtBQUMzQixpREFBK0I7QUFDL0IsNkNBQTJCO0FBQzNCLHVEQUFxQztBQUNyQyxpREFBK0I7QUFDL0IsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYmFzdGlvbi1ob3N0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ib290c3RyYXBwZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RhdGFiYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pbmdlc3Rvci1hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YWMtYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90aXRpbGVyLXBnc3RhYy1hcGlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0YWMtYnJvd3NlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGlwZy1hcGlcIjtcbiJdfQ==
20
+ __exportStar(require("./utils"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxpREFBK0I7QUFDL0IsNkNBQTJCO0FBQzNCLGlEQUErQjtBQUMvQiw2Q0FBMkI7QUFDM0IsdURBQXFDO0FBQ3JDLGlEQUErQjtBQUMvQiw2Q0FBMkI7QUFDM0IsMENBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vYmFzdGlvbi1ob3N0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW5nZXN0b3ItYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFjLWFwaVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGl0aWxlci1wZ3N0YWMtYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdGFjLWJyb3dzZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RpcGctYXBpXCI7XG5leHBvcnQgKiBmcm9tIFwiLi91dGlsc1wiOyJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { aws_apigateway as apigateway, aws_dynamodb as dynamodb, aws_ec2 as ec2, aws_iam as iam, aws_secretsmanager as secretsmanager } from "aws-cdk-lib";
2
- import { PythonFunctionProps } from "@aws-cdk/aws-lambda-python-alpha";
3
2
  import { Construct } from "constructs";
3
+ import { CustomLambdaFunctionProps } from "../utils";
4
4
  export declare class StacIngestor extends Construct {
5
5
  table: dynamodb.Table;
6
6
  handlerRole: iam.Role;
@@ -31,15 +31,15 @@ export interface StacIngestorProps {
31
31
  /**
32
32
  * VPC running pgSTAC DB
33
33
  */
34
- readonly vpc: ec2.IVpc;
34
+ readonly vpc?: ec2.IVpc;
35
35
  /**
36
36
  * Security Group used by pgSTAC DB
37
37
  */
38
38
  readonly stacDbSecurityGroup: ec2.ISecurityGroup;
39
39
  /**
40
- * Boolean indicating whether or not pgSTAC DB is in a public subnet
40
+ * Subnet into which the lambda should be deployed if using a VPC
41
41
  */
42
- readonly subnetSelection: ec2.SubnetSelection;
42
+ readonly subnetSelection?: ec2.SubnetSelection;
43
43
  /**
44
44
  * Environment variables to be sent to Lambda.
45
45
  */
@@ -57,43 +57,15 @@ export interface StacIngestorProps {
57
57
  */
58
58
  readonly ingestorDomainNameOptions?: apigateway.DomainNameOptions;
59
59
  /**
60
- * Custom code for the ingestor api.
61
- *
62
- * @default - default in the runtime folder.
63
- */
64
- readonly apiCode?: ApiCode;
65
- /**
66
- * Custom code for the ingestor.
67
- *
68
- * @default - default in the runtime folder.
69
- */
70
- readonly ingestorCode?: IngestorCode;
71
- }
72
- export interface ApiCode {
73
- /**
74
- * Path to the source of the function or the location for dependencies, for the api lambda.
75
- */
76
- readonly entry: PythonFunctionProps["entry"];
77
- /**
78
- * Path to the index file containing the exported handler, relative to `api_lambda_entry`.
79
- */
80
- readonly index: PythonFunctionProps["index"];
81
- /**
82
- * The name of the exported handler in the `api_lambda_index` file.
83
- */
84
- readonly handler: PythonFunctionProps["handler"];
85
- }
86
- export interface IngestorCode {
87
- /**
88
- * Path to the source of the function or the location for dependencies, for the ingestor lambda.
89
- */
90
- readonly entry: PythonFunctionProps["entry"];
91
- /**
92
- * Path to the index file containing the exported handler, relative to `ingestor_lambda_entry`.
93
- */
94
- readonly index: PythonFunctionProps["index"];
95
- /**
96
- * The name of the exported handler in the `ingestor_lambda_index` file.
97
- */
98
- readonly handler: PythonFunctionProps["handler"];
60
+ * Optional settings for the lambda function. Can be anything that can be configured on the lambda function, but some will be overwritten by values defined here.
61
+ *
62
+ * @default - default settings are defined in the construct.
63
+ */
64
+ readonly apiLambdaFunctionOptions?: CustomLambdaFunctionProps;
65
+ /**
66
+ * Optional settings for the lambda function. Can be anything that can be configured on the lambda function, but some will be overwritten by values defined here.
67
+ *
68
+ * @default - default settings are defined in the construct.
69
+ */
70
+ readonly ingestorLambdaFunctionOptions?: CustomLambdaFunctionProps;
99
71
  }
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.StacIngestor = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
7
- const aws_lambda_python_alpha_1 = require("@aws-cdk/aws-lambda-python-alpha");
8
7
  const constructs_1 = require("constructs");
9
8
  class StacIngestor extends constructs_1.Construct {
10
9
  constructor(scope, id, props) {
@@ -35,7 +34,7 @@ class StacIngestor extends constructs_1.Construct {
35
34
  dbVpc: props.vpc,
36
35
  dbSecurityGroup: props.stacDbSecurityGroup,
37
36
  subnetSelection: props.subnetSelection,
38
- apiCode: props.apiCode,
37
+ lambdaFunctionOptions: props.apiLambdaFunctionOptions,
39
38
  });
40
39
  this.buildApiEndpoint({
41
40
  handler,
@@ -51,7 +50,7 @@ class StacIngestor extends constructs_1.Construct {
51
50
  dbVpc: props.vpc,
52
51
  dbSecurityGroup: props.stacDbSecurityGroup,
53
52
  subnetSelection: props.subnetSelection,
54
- ingestorCode: props.ingestorCode,
53
+ lambdaFunctionOptions: props.ingestorLambdaFunctionOptions
55
54
  });
56
55
  this.registerSsmParameter({
57
56
  name: "dynamodb_table",
@@ -75,49 +74,62 @@ class StacIngestor extends constructs_1.Construct {
75
74
  return table;
76
75
  }
77
76
  buildApiLambda(props) {
78
- const apiCode = props.apiCode || {
79
- entry: `${__dirname}/runtime`,
80
- index: "src/handler.py",
81
- handler: "handler",
82
- };
83
- const handler = new aws_lambda_python_alpha_1.PythonFunction(this, "api-handler", {
84
- ...apiCode,
85
- runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_9,
77
+ const handler = new aws_cdk_lib_1.aws_lambda.Function(this, "api-handler", {
78
+ // defaults for configurable properties
79
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_11,
80
+ handler: "src.handler.handler",
81
+ memorySize: 2048,
82
+ logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_WEEK,
86
83
  timeout: aws_cdk_lib_1.Duration.seconds(30),
87
- environment: { DB_SECRET_ARN: props.dbSecret.secretArn, ...props.env },
84
+ code: aws_cdk_lib_1.aws_lambda.Code.fromDockerBuild(__dirname, {
85
+ file: "runtime/Dockerfile",
86
+ buildArgs: { PYTHON_VERSION: '3.11' },
87
+ }),
88
+ // overwrites defaults with user-provided configurable properties
89
+ ...props.lambdaFunctionOptions,
90
+ // Non configurable properties that are going to be overwritten even if provided by the user
88
91
  vpc: props.dbVpc,
89
92
  vpcSubnets: props.subnetSelection,
90
93
  allowPublicSubnet: true,
91
- role: this.handlerRole,
92
- memorySize: 2048,
94
+ environment: { DB_SECRET_ARN: props.dbSecret.secretArn, ...props.env },
95
+ role: this.handlerRole
93
96
  });
94
97
  // Allow handler to read DB secret
95
98
  props.dbSecret.grantRead(handler);
96
99
  // Allow handler to connect to DB
97
- props.dbSecurityGroup.addIngressRule(handler.connections.securityGroups[0], aws_cdk_lib_1.aws_ec2.Port.tcp(5432), "Allow connections from STAC Ingestor");
100
+ if (props.dbVpc) {
101
+ props.dbSecurityGroup.addIngressRule(handler.connections.securityGroups[0], aws_cdk_lib_1.aws_ec2.Port.tcp(5432), "Allow connections from STAC Ingestor");
102
+ }
98
103
  props.table.grantReadWriteData(handler);
99
104
  return handler;
100
105
  }
101
106
  buildIngestor(props) {
102
- const ingestorCode = props.ingestorCode || {
103
- entry: `${__dirname}/runtime`,
104
- index: "src/ingestor.py",
105
- handler: "handler",
106
- };
107
- const handler = new aws_lambda_python_alpha_1.PythonFunction(this, "stac-ingestor", {
108
- ...ingestorCode,
109
- runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_9,
107
+ const handler = new aws_cdk_lib_1.aws_lambda.Function(this, "stac-ingestor", {
108
+ // defaults for configurable properties
109
+ runtime: aws_cdk_lib_1.aws_lambda.Runtime.PYTHON_3_11,
110
+ handler: "src.ingestor.handler",
111
+ memorySize: 2048,
112
+ logRetention: aws_cdk_lib_1.aws_logs.RetentionDays.ONE_WEEK,
110
113
  timeout: aws_cdk_lib_1.Duration.seconds(180),
111
- environment: { DB_SECRET_ARN: props.dbSecret.secretArn, ...props.env },
114
+ code: aws_cdk_lib_1.aws_lambda.Code.fromDockerBuild(__dirname, {
115
+ file: "runtime/Dockerfile",
116
+ buildArgs: { PYTHON_VERSION: '3.11' },
117
+ }),
118
+ // overwrites defaults with user-provided configurable properties
119
+ ...props.lambdaFunctionOptions,
120
+ // Non configurable properties that are going to be overwritten even if provided by the user
112
121
  vpc: props.dbVpc,
113
122
  vpcSubnets: props.subnetSelection,
114
123
  allowPublicSubnet: true,
115
- memorySize: 2048,
124
+ environment: { DB_SECRET_ARN: props.dbSecret.secretArn, ...props.env },
125
+ role: this.handlerRole
116
126
  });
117
127
  // Allow handler to read DB secret
118
128
  props.dbSecret.grantRead(handler);
119
129
  // Allow handler to connect to DB
120
- props.dbSecurityGroup.addIngressRule(handler.connections.securityGroups[0], aws_cdk_lib_1.aws_ec2.Port.tcp(5432), "Allow connections from STAC Ingestor");
130
+ if (props.dbVpc) {
131
+ props.dbSecurityGroup.addIngressRule(handler.connections.securityGroups[0], aws_cdk_lib_1.aws_ec2.Port.tcp(5432), "Allow connections from STAC Ingestor");
132
+ }
121
133
  // Allow handler to write results back to DBƒ
122
134
  props.table.grantWriteData(handler);
123
135
  // Trigger handler from writes to DynamoDB table
@@ -158,5 +170,5 @@ class StacIngestor extends constructs_1.Construct {
158
170
  }
159
171
  exports.StacIngestor = StacIngestor;
160
172
  _a = JSII_RTTI_SYMBOL_1;
161
- StacIngestor[_a] = { fqn: "eoapi-cdk.StacIngestor", version: "5.4.1" };
162
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQVlxQjtBQUNyQiw4RUFBdUY7QUFDdkYsMkNBQXVDO0FBRXZDLE1BQWEsWUFBYSxTQUFRLHNCQUFTO0lBSXpDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBd0I7UUFDaEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUUvQixNQUFNLEdBQUcsR0FBMkI7WUFDbEMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUztZQUNwQyxTQUFTLEVBQUUsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQzVCLHdCQUF3QixFQUFFLEdBQUc7WUFDN0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPO1lBQ3ZCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTztZQUM5QyxHQUFHLEtBQUssQ0FBQyxNQUFNO1NBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkscUJBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ3RELFdBQVcsRUFDVCxtSUFBbUk7WUFDckksU0FBUyxFQUFFLElBQUkscUJBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsQ0FBQztZQUMzRCxlQUFlLEVBQUU7Z0JBQ2YscUJBQUcsQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQ3hDLDBDQUEwQyxDQUMzQztnQkFDRCxxQkFBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDeEMsOENBQThDLENBQy9DO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztZQUNq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WCxjQUFjLEVBQUUsSUFBSTtZQUNwQixhQUFhLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRTtZQUN6QyxrQkFBa0IsRUFBRSxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBRXBELHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7WUFDbEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBRXBCLFVBQVUsRUFBRyxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQyxDQUFDO2dCQUM3QyxVQUFVLEVBQUUsS0FBSyxDQUFDLHlCQUF5QixDQUFDLFVBQVU7Z0JBQ3RELFdBQVcsRUFBRSxLQUFLLENBQUMseUJBQXlCLENBQUMsV0FBVzthQUN6RCxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ2QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVPLG9CQUFvQixDQUFDLEtBSTVCO1FBQ0MsTUFBTSxrQkFBa0IsR0FBRyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDcEQsT0FBTyxJQUFJLHFCQUFHLENBQUMsZUFBZSxDQUM1QixJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLFlBQVksRUFDM0M7WUFDRSxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsYUFBYSxFQUFFLElBQUksa0JBQWtCLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtZQUNyRCxXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUs7U0FDekIsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7QUEzT0gsb0NBNE9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXdzX2FwaWdhdGV3YXkgYXMgYXBpZ2F0ZXdheSxcbiAgYXdzX2R5bmFtb2RiIGFzIGR5bmFtb2RiLFxuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19sYW1iZGEgYXMgbGFtYmRhLFxuICBhd3NfbGFtYmRhX2V2ZW50X3NvdXJjZXMgYXMgZXZlbnRzLFxuICBhd3Nfc2VjcmV0c21hbmFnZXIgYXMgc2VjcmV0c21hbmFnZXIsXG4gIGF3c19zc20gYXMgc3NtLFxuICBEdXJhdGlvbixcbiAgUmVtb3ZhbFBvbGljeSxcbiAgU3RhY2ssXG59IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgUHl0aG9uRnVuY3Rpb24sIFB5dGhvbkZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiQGF3cy1jZGsvYXdzLWxhbWJkYS1weXRob24tYWxwaGFcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbmV4cG9ydCBjbGFzcyBTdGFjSW5nZXN0b3IgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICB0YWJsZTogZHluYW1vZGIuVGFibGU7XG4gIHB1YmxpYyBoYW5kbGVyUm9sZTogaWFtLlJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YWNJbmdlc3RvclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMudGFibGUgPSB0aGlzLmJ1aWxkVGFibGUoKTtcblxuICAgIGNvbnN0IGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgIERZTkFNT0RCX1RBQkxFOiB0aGlzLnRhYmxlLnRhYmxlTmFtZSxcbiAgICAgIFJPT1RfUEFUSDogYC8ke3Byb3BzLnN0YWdlfWAsXG4gICAgICBOT19QWURBTlRJQ19TU01fU0VUVElOR1M6IFwiMVwiLFxuICAgICAgU1RBQ19VUkw6IHByb3BzLnN0YWNVcmwsXG4gICAgICBEQVRBX0FDQ0VTU19ST0xFOiBwcm9wcy5kYXRhQWNjZXNzUm9sZS5yb2xlQXJuLFxuICAgICAgLi4ucHJvcHMuYXBpRW52LFxuICAgIH07XG5cbiAgICB0aGlzLmhhbmRsZXJSb2xlID0gbmV3IGlhbS5Sb2xlKHRoaXMsIFwiZXhlY3V0aW9uLXJvbGVcIiwge1xuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiUm9sZSB1c2VkIGJ5IFNUQUMgSW5nZXN0b3IuIE1hbnVhbGx5IGRlZmluZWQgc28gdGhhdCB3ZSBjYW4gY2hvb3NlIGEgbmFtZSB0aGF0IGlzIHN1cHBvcnRlZCBieSB0aGUgZGF0YSBhY2Nlc3Mgcm9sZXMgdHJ1c3QgcG9saWN5XCIsXG4gICAgICBhc3N1bWVkQnk6IG5ldyBpYW0uU2VydmljZVByaW5jaXBhbChcImxhbWJkYS5hbWF6b25hd3MuY29tXCIpLFxuICAgICAgbWFuYWdlZFBvbGljaWVzOiBbXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICBcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFCYXNpY0V4ZWN1dGlvblJvbGVcIixcbiAgICAgICAgKSxcbiAgICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKFxuICAgICAgICAgIFwic2VydmljZS1yb2xlL0FXU0xhbWJkYVZQQ0FjY2Vzc0V4ZWN1dGlvblJvbGVcIixcbiAgICAgICAgKSxcbiAgICAgIF0sXG4gICAgfSk7XG4gICAgXG4gICAgY29uc3QgaGFuZGxlciA9IHRoaXMuYnVpbGRBcGlMYW1iZGEoe1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBlbnYsXG4gICAgICBkYXRhQWNjZXNzUm9sZTogcHJvcHMuZGF0YUFjY2Vzc1JvbGUsXG4gICAgICBzdGFnZTogcHJvcHMuc3RhZ2UsXG4gICAgICBkYlNlY3JldDogcHJvcHMuc3RhY0RiU2VjcmV0LFxuICAgICAgZGJWcGM6IHByb3BzLnZwYyxcbiAgICAgIGRiU2VjdXJpdHlHcm91cDogcHJvcHMuc3RhY0RiU2VjdXJpdHlHcm91cCxcbiAgICAgIHN1Ym5ldFNlbGVjdGlvbjogcHJvcHMuc3VibmV0U2VsZWN0aW9uLFxuICAgICAgYXBpQ29kZTogcHJvcHMuYXBpQ29kZSxcbiAgICB9KTtcblxuICAgIHRoaXMuYnVpbGRBcGlFbmRwb2ludCh7XG4gICAgICBoYW5kbGVyLFxuICAgICAgc3RhZ2U6IHByb3BzLnN0YWdlLFxuICAgICAgZW5kcG9pbnRDb25maWd1cmF0aW9uOiBwcm9wcy5hcGlFbmRwb2ludENvbmZpZ3VyYXRpb24sXG4gICAgICBwb2xpY3k6IHByb3BzLmFwaVBvbGljeSxcbiAgICAgIGluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnM6IHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmJ1aWxkSW5nZXN0b3Ioe1xuICAgICAgdGFibGU6IHRoaXMudGFibGUsXG4gICAgICBlbnY6IGVudixcbiAgICAgIGRiU2VjcmV0OiBwcm9wcy5zdGFjRGJTZWNyZXQsXG4gICAgICBkYlZwYzogcHJvcHMudnBjLFxuICAgICAgZGJTZWN1cml0eUdyb3VwOiBwcm9wcy5zdGFjRGJTZWN1cml0eUdyb3VwLFxuICAgICAgc3VibmV0U2VsZWN0aW9uOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBpbmdlc3RvckNvZGU6IHByb3BzLmluZ2VzdG9yQ29kZSxcbiAgICB9KTtcblxuICAgIHRoaXMucmVnaXN0ZXJTc21QYXJhbWV0ZXIoe1xuICAgICAgbmFtZTogXCJkeW5hbW9kYl90YWJsZVwiLFxuICAgICAgdmFsdWU6IHRoaXMudGFibGUudGFibGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0YWJsZSB1c2VkIHRvIHN0b3JlIGluZ2VzdGlvbnNcIixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUYWJsZSgpOiBkeW5hbW9kYi5UYWJsZSB7XG4gICAgY29uc3QgdGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUodGhpcywgXCJpbmdlc3Rpb25zLXRhYmxlXCIsIHtcbiAgICAgIHBhcnRpdGlvbktleTogeyBuYW1lOiBcImNyZWF0ZWRfYnlcIiwgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcgfSxcbiAgICAgIHNvcnRLZXk6IHsgbmFtZTogXCJpZFwiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgICAgYmlsbGluZ01vZGU6IGR5bmFtb2RiLkJpbGxpbmdNb2RlLlBBWV9QRVJfUkVRVUVTVCxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIHN0cmVhbTogZHluYW1vZGIuU3RyZWFtVmlld1R5cGUuTkVXX0lNQUdFLFxuICAgIH0pO1xuXG4gICAgdGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoe1xuICAgICAgaW5kZXhOYW1lOiBcInN0YXR1c1wiLFxuICAgICAgcGFydGl0aW9uS2V5OiB7IG5hbWU6IFwic3RhdHVzXCIsIHR5cGU6IGR5bmFtb2RiLkF0dHJpYnV0ZVR5cGUuU1RSSU5HIH0sXG4gICAgICBzb3J0S2V5OiB7IG5hbWU6IFwiY3JlYXRlZF9hdFwiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEFwaUxhbWJkYShwcm9wczoge1xuICAgIHRhYmxlOiBkeW5hbW9kYi5JVGFibGU7XG4gICAgZW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGRhdGFBY2Nlc3NSb2xlOiBpYW0uSVJvbGU7XG4gICAgc3RhZ2U6IHN0cmluZztcbiAgICBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcbiAgICBkYlZwYzogZWMyLklWcGM7XG4gICAgZGJTZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG4gICAgc3VibmV0U2VsZWN0aW9uOiBlYzIuU3VibmV0U2VsZWN0aW9uXG4gICAgYXBpQ29kZT86IEFwaUNvZGU7XG4gIH0pOiBQeXRob25GdW5jdGlvbiB7XG4gICAgXG4gICAgY29uc3QgYXBpQ29kZSA9IHByb3BzLmFwaUNvZGUgfHwge1xuICAgICAgZW50cnk6IGAke19fZGlybmFtZX0vcnVudGltZWAsXG4gICAgICBpbmRleDogXCJzcmMvaGFuZGxlci5weVwiLFxuICAgICAgaGFuZGxlcjogXCJoYW5kbGVyXCIsXG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgUHl0aG9uRnVuY3Rpb24odGhpcywgXCJhcGktaGFuZGxlclwiLCB7XG4gICAgICAuLi5hcGlDb2RlLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgZW52aXJvbm1lbnQ6IHsgREJfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLCAuLi5wcm9wcy5lbnYgfSxcbiAgICAgIHZwYzogcHJvcHMuZGJWcGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIHJvbGU6IHRoaXMuaGFuZGxlclJvbGUsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byByZWFkIERCIHNlY3JldFxuICAgIHByb3BzLmRiU2VjcmV0LmdyYW50UmVhZChoYW5kbGVyKTtcblxuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gY29ubmVjdCB0byBEQlxuICAgIHByb3BzLmRiU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIGhhbmRsZXIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF0sXG4gICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICBcIkFsbG93IGNvbm5lY3Rpb25zIGZyb20gU1RBQyBJbmdlc3RvclwiXG4gICAgKTtcblxuICAgIHByb3BzLnRhYmxlLmdyYW50UmVhZFdyaXRlRGF0YShoYW5kbGVyKTtcblxuICAgIHJldHVybiBoYW5kbGVyO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEluZ2VzdG9yKHByb3BzOiB7XG4gICAgdGFibGU6IGR5bmFtb2RiLklUYWJsZTtcbiAgICBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gICAgZGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG4gICAgZGJWcGM6IGVjMi5JVnBjO1xuICAgIGRiU2VjdXJpdHlHcm91cDogZWMyLklTZWN1cml0eUdyb3VwO1xuICAgIHN1Ym5ldFNlbGVjdGlvbjogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcbiAgICBpbmdlc3RvckNvZGU/OiBJbmdlc3RvckNvZGU7XG4gIH0pOiBQeXRob25GdW5jdGlvbiB7XG5cblxuXG4gICAgY29uc3QgaW5nZXN0b3JDb2RlID0gcHJvcHMuaW5nZXN0b3JDb2RlIHx8IHtcbiAgICAgIGVudHJ5OiBgJHtfX2Rpcm5hbWV9L3J1bnRpbWVgLFxuICAgICAgaW5kZXg6IFwic3JjL2luZ2VzdG9yLnB5XCIsXG4gICAgICBoYW5kbGVyOiBcImhhbmRsZXJcIixcbiAgICB9O1xuXG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBQeXRob25GdW5jdGlvbih0aGlzLCBcInN0YWMtaW5nZXN0b3JcIiwge1xuICAgICAgLi4uaW5nZXN0b3JDb2RlLFxuICAgICAgcnVudGltZTogbGFtYmRhLlJ1bnRpbWUuUFlUSE9OXzNfOSxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMTgwKSxcbiAgICAgIGVudmlyb25tZW50OiB7IERCX1NFQ1JFVF9BUk46IHByb3BzLmRiU2VjcmV0LnNlY3JldEFybiwgLi4ucHJvcHMuZW52IH0sXG4gICAgICB2cGM6IHByb3BzLmRiVnBjLFxuICAgICAgdnBjU3VibmV0czogcHJvcHMuc3VibmV0U2VsZWN0aW9uLFxuICAgICAgYWxsb3dQdWJsaWNTdWJuZXQ6IHRydWUsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgIH0pO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byByZWFkIERCIHNlY3JldFxuICAgIHByb3BzLmRiU2VjcmV0LmdyYW50UmVhZChoYW5kbGVyKTtcblxuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gY29ubmVjdCB0byBEQlxuICAgIHByb3BzLmRiU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIGhhbmRsZXIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF0sXG4gICAgICBlYzIuUG9ydC50Y3AoNTQzMiksXG4gICAgICBcIkFsbG93IGNvbm5lY3Rpb25zIGZyb20gU1RBQyBJbmdlc3RvclwiXG4gICAgKTtcblxuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gd3JpdGUgcmVzdWx0cyBiYWNrIHRvIERCxpJcbiAgICBwcm9wcy50YWJsZS5ncmFudFdyaXRlRGF0YShoYW5kbGVyKTtcblxuICAgIC8vIFRyaWdnZXIgaGFuZGxlciBmcm9tIHdyaXRlcyB0byBEeW5hbW9EQiB0YWJsZVxuICAgIGhhbmRsZXIuYWRkRXZlbnRTb3VyY2UoXG4gICAgICBuZXcgZXZlbnRzLkR5bmFtb0V2ZW50U291cmNlKHByb3BzLnRhYmxlLCB7XG4gICAgICAgIC8vIFJlYWQgd2hlbiBiYXRjaGVzIHJlYWNoIHNpemUuLi5cbiAgICAgICAgYmF0Y2hTaXplOiAxMDAwLFxuICAgICAgICAvLyAuLi4gb3Igd2hlbiB3aW5kb3cgaXMgcmVhY2hlZC5cbiAgICAgICAgbWF4QmF0Y2hpbmdXaW5kb3c6IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgICAvLyBSZWFkIG9sZGVzdCBkYXRhIGZpcnN0LlxuICAgICAgICBzdGFydGluZ1Bvc2l0aW9uOiBsYW1iZGEuU3RhcnRpbmdQb3NpdGlvbi5UUklNX0hPUklaT04sXG4gICAgICAgIHJldHJ5QXR0ZW1wdHM6IDEsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBcGlFbmRwb2ludChwcm9wczoge1xuICAgIGhhbmRsZXI6IGxhbWJkYS5JRnVuY3Rpb247XG4gICAgc3RhZ2U6IHN0cmluZztcbiAgICBwb2xpY3k/OiBpYW0uUG9saWN5RG9jdW1lbnQ7XG4gICAgZW5kcG9pbnRDb25maWd1cmF0aW9uPzogYXBpZ2F0ZXdheS5FbmRwb2ludENvbmZpZ3VyYXRpb247XG4gICAgaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucz86IGFwaWdhdGV3YXkuRG9tYWluTmFtZU9wdGlvbnM7XG4gIH0pOiBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGkge1xuXG4gICAgcmV0dXJuIG5ldyBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS1pbmdlc3Rvci1hcGlgLFxuICAgICAge1xuICAgICAgICBoYW5kbGVyOiBwcm9wcy5oYW5kbGVyLFxuICAgICAgICBwcm94eTogdHJ1ZSxcblxuICAgICAgICBjbG91ZFdhdGNoUm9sZTogdHJ1ZSxcbiAgICAgICAgZGVwbG95T3B0aW9uczogeyBzdGFnZU5hbWU6IHByb3BzLnN0YWdlIH0sXG4gICAgICAgIGVuZHBvaW50RXhwb3J0TmFtZTogYCR7U3RhY2sub2YodGhpcyl9LWluZ2VzdG9yLWFwaWAsXG5cbiAgICAgICAgZW5kcG9pbnRDb25maWd1cmF0aW9uOiBwcm9wcy5lbmRwb2ludENvbmZpZ3VyYXRpb24sXG4gICAgICAgIHBvbGljeTogcHJvcHMucG9saWN5LFxuXG4gICAgICAgIGRvbWFpbk5hbWU6ICBwcm9wcy5pbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zID8ge1xuICAgICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMuZG9tYWluTmFtZSxcbiAgICAgICAgICBjZXJ0aWZpY2F0ZTogcHJvcHMuaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucy5jZXJ0aWZpY2F0ZSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNzbVBhcmFtZXRlcihwcm9wczoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIH0pOiBzc20uSVN0cmluZ1BhcmFtZXRlciB7XG4gICAgY29uc3QgcGFyYW1ldGVyTmFtZXNwYWNlID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIHJldHVybiBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcihcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5uYW1lLnJlcGxhY2UoXCJfXCIsIFwiLVwiKX0tcGFyYW1ldGVyYCxcbiAgICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICBwYXJhbWV0ZXJOYW1lOiBgLyR7cGFyYW1ldGVyTmFtZXNwYWNlfS8ke3Byb3BzLm5hbWV9YCxcbiAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnZhbHVlLFxuICAgICAgfVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFjSW5nZXN0b3JQcm9wcyB7XG4gIC8qKlxuICAgKiBBUk4gb2YgQVdTIFJvbGUgdXNlZCB0byB2YWxpZGF0ZSBhY2Nlc3MgdG8gUzMgZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUFjY2Vzc1JvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVVJMIG9mIFNUQUMgQVBJXG4gICAqL1xuICByZWFkb25seSBzdGFjVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0YWdlIG9mIGRlcGxveW1lbnQgKGUuZy4gYGRldmAsIGBwcm9kYClcbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlY3JldCBjb250YWluaW5nIHBnU1RBQyBEQiBjb25uZWN0aW9uIGluZm9ybWF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFjRGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIFZQQyBydW5uaW5nIHBnU1RBQyBEQlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjOiBlYzIuSVZwYztcblxuICAvKipcbiAgICogU2VjdXJpdHkgR3JvdXAgdXNlZCBieSBwZ1NUQUMgREJcbiAgICovXG4gIHJlYWRvbmx5IHN0YWNEYlNlY3VyaXR5R3JvdXA6IGVjMi5JU2VjdXJpdHlHcm91cDtcblxuICAvKipcbiAgICogQm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgb3Igbm90IHBnU1RBQyBEQiBpcyBpbiBhIHB1YmxpYyBzdWJuZXRcbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldFNlbGVjdGlvbjogZWMyLlN1Ym5ldFNlbGVjdGlvbjtcblxuICAvKipcbiAgICogRW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIGJlIHNlbnQgdG8gTGFtYmRhLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQVBJIEVuZHBvaW50IENvbmZpZ3VyYXRpb24sIHVzZWZ1bCBmb3IgY3JlYXRpbmcgcHJpdmF0ZSBBUElzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpRW5kcG9pbnRDb25maWd1cmF0aW9uPzogYXBpZ2F0ZXdheS5FbmRwb2ludENvbmZpZ3VyYXRpb247XG5cbiAgLyoqXG4gICAqIEFQSSBQb2xpY3kgRG9jdW1lbnQsIHVzZWZ1bCBmb3IgY3JlYXRpbmcgcHJpdmF0ZSBBUElzLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBpUG9saWN5PzogaWFtLlBvbGljeURvY3VtZW50O1xuXG4gIC8qKlxuICAgKiBDdXN0b20gRG9tYWluIE5hbWUgT3B0aW9ucyBmb3IgSW5nZXN0b3IgQVBJXG4gICAqL1xuICAgcmVhZG9ubHkgaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucz86IGFwaWdhdGV3YXkuRG9tYWluTmFtZU9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBjb2RlIGZvciB0aGUgaW5nZXN0b3IgYXBpLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRlZmF1bHQgaW4gdGhlIHJ1bnRpbWUgZm9sZGVyLiBcbiAgICovXG4gICByZWFkb25seSBhcGlDb2RlPzogQXBpQ29kZTtcblxuICAgLyoqXG4gICAqIEN1c3RvbSBjb2RlIGZvciB0aGUgaW5nZXN0b3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBpbiB0aGUgcnVudGltZSBmb2xkZXIuIFxuICAgKi9cbiAgIHJlYWRvbmx5IGluZ2VzdG9yQ29kZT86IEluZ2VzdG9yQ29kZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcGlDb2RlIHtcblxuICAvKipcbiAgICogUGF0aCB0byB0aGUgc291cmNlIG9mIHRoZSBmdW5jdGlvbiBvciB0aGUgbG9jYXRpb24gZm9yIGRlcGVuZGVuY2llcywgZm9yIHRoZSBhcGkgbGFtYmRhLiBcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5OiBQeXRob25GdW5jdGlvblByb3BzW1wiZW50cnlcIl07XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGluZGV4IGZpbGUgY29udGFpbmluZyB0aGUgZXhwb3J0ZWQgaGFuZGxlciwgcmVsYXRpdmUgdG8gYGFwaV9sYW1iZGFfZW50cnlgLiBcbiAgICovXG4gIHJlYWRvbmx5IGluZGV4OiBQeXRob25GdW5jdGlvblByb3BzW1wiaW5kZXhcIl07XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBleHBvcnRlZCBoYW5kbGVyIGluIHRoZSBgYXBpX2xhbWJkYV9pbmRleGAgZmlsZS4gXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyOiBQeXRob25GdW5jdGlvblByb3BzW1wiaGFuZGxlclwiXTtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluZ2VzdG9yQ29kZSB7XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHNvdXJjZSBvZiB0aGUgZnVuY3Rpb24gb3IgdGhlIGxvY2F0aW9uIGZvciBkZXBlbmRlbmNpZXMsIGZvciB0aGUgaW5nZXN0b3IgbGFtYmRhLiBcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5OiBQeXRob25GdW5jdGlvblByb3BzW1wiZW50cnlcIl07XG5cbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIGluZGV4IGZpbGUgY29udGFpbmluZyB0aGUgZXhwb3J0ZWQgaGFuZGxlciwgcmVsYXRpdmUgdG8gYGluZ2VzdG9yX2xhbWJkYV9lbnRyeWAuIFxuICAgKi9cbiAgcmVhZG9ubHkgaW5kZXg6IFB5dGhvbkZ1bmN0aW9uUHJvcHNbXCJpbmRleFwiXTtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGV4cG9ydGVkIGhhbmRsZXIgaW4gdGhlIGBpbmdlc3Rvcl9sYW1iZGFfaW5kZXhgIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBoYW5kbGVyOiBQeXRob25GdW5jdGlvblByb3BzW1wiaGFuZGxlclwiXTtcblxufSJdfQ==
173
+ StacIngestor[_a] = { fqn: "eoapi-cdk.StacIngestor", version: "6.0.1" };
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQWFxQjtBQUNyQiwyQ0FBdUM7QUFHdkMsTUFBYSxZQUFhLFNBQVEsc0JBQVM7SUFJekMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF3QjtRQUNoRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRS9CLE1BQU0sR0FBRyxHQUEyQjtZQUNsQyxjQUFjLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTO1lBQ3BDLFNBQVMsRUFBRSxJQUFJLEtBQUssQ0FBQyxLQUFLLEVBQUU7WUFDNUIsd0JBQXdCLEVBQUUsR0FBRztZQUM3QixRQUFRLEVBQUUsS0FBSyxDQUFDLE9BQU87WUFDdkIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPO1lBQzlDLEdBQUcsS0FBSyxDQUFDLE1BQU07U0FDaEIsQ0FBQztRQUVGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxxQkFBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDdEQsV0FBVyxFQUNULG1JQUFtSTtZQUNySSxTQUFTLEVBQUUsSUFBSSxxQkFBRyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixDQUFDO1lBQzNELGVBQWUsRUFBRTtnQkFDZixxQkFBRyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FDeEMsMENBQTBDLENBQzNDO2dCQUNELHFCQUFHLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUN4Qyw4Q0FBOEMsQ0FDL0M7YUFDRjtTQUNGLENBQUMsQ0FBQztRQUVILE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLEdBQUc7WUFDSCxj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QUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQzNDO1lBQ0UsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLGFBQWEsRUFBRSxJQUFJLGtCQUFrQixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDckQsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLO1NBQ3pCLENBQ0YsQ0FBQztJQUNKLENBQUM7O0FBdlBILG9DQXdQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGF3c19hcGlnYXRld2F5IGFzIGFwaWdhdGV3YXksXG4gIGF3c19keW5hbW9kYiBhcyBkeW5hbW9kYixcbiAgYXdzX2VjMiBhcyBlYzIsXG4gIGF3c19pYW0gYXMgaWFtLFxuICBhd3NfbGFtYmRhIGFzIGxhbWJkYSxcbiAgYXdzX2xvZ3MsXG4gIGF3c19sYW1iZGFfZXZlbnRfc291cmNlcyBhcyBldmVudHMsXG4gIGF3c19zZWNyZXRzbWFuYWdlciBhcyBzZWNyZXRzbWFuYWdlcixcbiAgYXdzX3NzbSBhcyBzc20sXG4gIER1cmF0aW9uLFxuICBSZW1vdmFsUG9saWN5LFxuICBTdGFjayxcbn0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcyB9IGZyb20gXCIuLi91dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgU3RhY0luZ2VzdG9yIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgdGFibGU6IGR5bmFtb2RiLlRhYmxlO1xuICBwdWJsaWMgaGFuZGxlclJvbGU6IGlhbS5Sb2xlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBTdGFjSW5nZXN0b3JQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnRhYmxlID0gdGhpcy5idWlsZFRhYmxlKCk7XG5cbiAgICBjb25zdCBlbnY6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBEWU5BTU9EQl9UQUJMRTogdGhpcy50YWJsZS50YWJsZU5hbWUsXG4gICAgICBST09UX1BBVEg6IGAvJHtwcm9wcy5zdGFnZX1gLFxuICAgICAgTk9fUFlEQU5USUNfU1NNX1NFVFRJTkdTOiBcIjFcIixcbiAgICAgIFNUQUNfVVJMOiBwcm9wcy5zdGFjVXJsLFxuICAgICAgREFUQV9BQ0NFU1NfUk9MRTogcHJvcHMuZGF0YUFjY2Vzc1JvbGUucm9sZUFybixcbiAgICAgIC4uLnByb3BzLmFwaUVudixcbiAgICB9O1xuXG4gICAgdGhpcy5oYW5kbGVyUm9sZSA9IG5ldyBpYW0uUm9sZSh0aGlzLCBcImV4ZWN1dGlvbi1yb2xlXCIsIHtcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlJvbGUgdXNlZCBieSBTVEFDIEluZ2VzdG9yLiBNYW51YWxseSBkZWZpbmVkIHNvIHRoYXQgd2UgY2FuIGNob29zZSBhIG5hbWUgdGhhdCBpcyBzdXBwb3J0ZWQgYnkgdGhlIGRhdGEgYWNjZXNzIHJvbGVzIHRydXN0IHBvbGljeVwiLFxuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoXCJsYW1iZGEuYW1hem9uYXdzLmNvbVwiKSxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoXG4gICAgICAgICAgXCJzZXJ2aWNlLXJvbGUvQVdTTGFtYmRhQmFzaWNFeGVjdXRpb25Sb2xlXCIsXG4gICAgICAgICksXG4gICAgICAgIGlhbS5NYW5hZ2VkUG9saWN5LmZyb21Bd3NNYW5hZ2VkUG9saWN5TmFtZShcbiAgICAgICAgICBcInNlcnZpY2Utcm9sZS9BV1NMYW1iZGFWUENBY2Nlc3NFeGVjdXRpb25Sb2xlXCIsXG4gICAgICAgICksXG4gICAgICBdLFxuICAgIH0pO1xuICAgIFxuICAgIGNvbnN0IGhhbmRsZXIgPSB0aGlzLmJ1aWxkQXBpTGFtYmRhKHtcbiAgICAgIHRhYmxlOiB0aGlzLnRhYmxlLFxuICAgICAgZW52LFxuICAgICAgZGF0YUFjY2Vzc1JvbGU6IHByb3BzLmRhdGFBY2Nlc3NSb2xlLFxuICAgICAgc3RhZ2U6IHByb3BzLnN0YWdlLFxuICAgICAgZGJTZWNyZXQ6IHByb3BzLnN0YWNEYlNlY3JldCxcbiAgICAgIGRiVnBjOiBwcm9wcy52cGMsXG4gICAgICBkYlNlY3VyaXR5R3JvdXA6IHByb3BzLnN0YWNEYlNlY3VyaXR5R3JvdXAsXG4gICAgICBzdWJuZXRTZWxlY3Rpb246IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGxhbWJkYUZ1bmN0aW9uT3B0aW9uczogcHJvcHMuYXBpTGFtYmRhRnVuY3Rpb25PcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5idWlsZEFwaUVuZHBvaW50KHtcbiAgICAgIGhhbmRsZXIsXG4gICAgICBzdGFnZTogcHJvcHMuc3RhZ2UsXG4gICAgICBlbmRwb2ludENvbmZpZ3VyYXRpb246IHByb3BzLmFwaUVuZHBvaW50Q29uZmlndXJhdGlvbixcbiAgICAgIHBvbGljeTogcHJvcHMuYXBpUG9saWN5LFxuICAgICAgaW5nZXN0b3JEb21haW5OYW1lT3B0aW9uczogcHJvcHMuaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIHRoaXMuYnVpbGRJbmdlc3Rvcih7XG4gICAgICB0YWJsZTogdGhpcy50YWJsZSxcbiAgICAgIGVudjogZW52LFxuICAgICAgZGJTZWNyZXQ6IHByb3BzLnN0YWNEYlNlY3JldCxcbiAgICAgIGRiVnBjOiBwcm9wcy52cGMsXG4gICAgICBkYlNlY3VyaXR5R3JvdXA6IHByb3BzLnN0YWNEYlNlY3VyaXR5R3JvdXAsXG4gICAgICBzdWJuZXRTZWxlY3Rpb246IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGxhbWJkYUZ1bmN0aW9uT3B0aW9uczogcHJvcHMuaW5nZXN0b3JMYW1iZGFGdW5jdGlvbk9wdGlvbnNcbiAgICB9KTtcblxuICAgIHRoaXMucmVnaXN0ZXJTc21QYXJhbWV0ZXIoe1xuICAgICAgbmFtZTogXCJkeW5hbW9kYl90YWJsZVwiLFxuICAgICAgdmFsdWU6IHRoaXMudGFibGUudGFibGVOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IFwiTmFtZSBvZiB0YWJsZSB1c2VkIHRvIHN0b3JlIGluZ2VzdGlvbnNcIixcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRUYWJsZSgpOiBkeW5hbW9kYi5UYWJsZSB7XG4gICAgY29uc3QgdGFibGUgPSBuZXcgZHluYW1vZGIuVGFibGUodGhpcywgXCJpbmdlc3Rpb25zLXRhYmxlXCIsIHtcbiAgICAgIHBhcnRpdGlvbktleTogeyBuYW1lOiBcImNyZWF0ZWRfYnlcIiwgdHlwZTogZHluYW1vZGIuQXR0cmlidXRlVHlwZS5TVFJJTkcgfSxcbiAgICAgIHNvcnRLZXk6IHsgbmFtZTogXCJpZFwiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgICAgYmlsbGluZ01vZGU6IGR5bmFtb2RiLkJpbGxpbmdNb2RlLlBBWV9QRVJfUkVRVUVTVCxcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuREVTVFJPWSxcbiAgICAgIHN0cmVhbTogZHluYW1vZGIuU3RyZWFtVmlld1R5cGUuTkVXX0lNQUdFLFxuICAgIH0pO1xuXG4gICAgdGFibGUuYWRkR2xvYmFsU2Vjb25kYXJ5SW5kZXgoe1xuICAgICAgaW5kZXhOYW1lOiBcInN0YXR1c1wiLFxuICAgICAgcGFydGl0aW9uS2V5OiB7IG5hbWU6IFwic3RhdHVzXCIsIHR5cGU6IGR5bmFtb2RiLkF0dHJpYnV0ZVR5cGUuU1RSSU5HIH0sXG4gICAgICBzb3J0S2V5OiB7IG5hbWU6IFwiY3JlYXRlZF9hdFwiLCB0eXBlOiBkeW5hbW9kYi5BdHRyaWJ1dGVUeXBlLlNUUklORyB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRhYmxlO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZEFwaUxhbWJkYShwcm9wczoge1xuICAgIHRhYmxlOiBkeW5hbW9kYi5JVGFibGU7XG4gICAgZW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGRhdGFBY2Nlc3NSb2xlOiBpYW0uSVJvbGU7XG4gICAgc3RhZ2U6IHN0cmluZztcbiAgICBkYlNlY3JldDogc2VjcmV0c21hbmFnZXIuSVNlY3JldDtcbiAgICBkYlZwYzogdW5kZWZpbmVkIHwgZWMyLklWcGM7XG4gICAgZGJTZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG4gICAgc3VibmV0U2VsZWN0aW9uOiB1bmRlZmluZWQgfCBlYzIuU3VibmV0U2VsZWN0aW9uXG4gICAgbGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbiAgfSk6IGxhbWJkYS5GdW5jdGlvbiB7XG4gICAgICAgIFxuICAgIGNvbnN0IGhhbmRsZXIgPSBuZXcgbGFtYmRhLkZ1bmN0aW9uKHRoaXMsIFwiYXBpLWhhbmRsZXJcIiwge1xuICAgICAgLy8gZGVmYXVsdHMgZm9yIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICBydW50aW1lOiBsYW1iZGEuUnVudGltZS5QWVRIT05fM18xMSxcbiAgICAgIGhhbmRsZXI6IFwic3JjLmhhbmRsZXIuaGFuZGxlclwiLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMzApLFxuICAgICAgY29kZTpsYW1iZGEuQ29kZS5mcm9tRG9ja2VyQnVpbGQoX19kaXJuYW1lLCB7XG4gICAgICAgIGZpbGU6IFwicnVudGltZS9Eb2NrZXJmaWxlXCIsXG4gICAgICAgIGJ1aWxkQXJnczogeyBQWVRIT05fVkVSU0lPTjogJzMuMTEnIH0sXG4gICAgICB9KSxcbiAgICAgIC8vIG92ZXJ3cml0ZXMgZGVmYXVsdHMgd2l0aCB1c2VyLXByb3ZpZGVkIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzXG4gICAgICAuLi5wcm9wcy5sYW1iZGFGdW5jdGlvbk9wdGlvbnMsXG4gICAgICAvLyBOb24gY29uZmlndXJhYmxlIHByb3BlcnRpZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgb3ZlcndyaXR0ZW4gZXZlbiBpZiBwcm92aWRlZCBieSB0aGUgdXNlclxuICAgICAgdnBjOiBwcm9wcy5kYlZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnN1Ym5ldFNlbGVjdGlvbixcbiAgICAgIGFsbG93UHVibGljU3VibmV0OiB0cnVlLFxuICAgICAgZW52aXJvbm1lbnQ6IHsgREJfU0VDUkVUX0FSTjogcHJvcHMuZGJTZWNyZXQuc2VjcmV0QXJuLCAuLi5wcm9wcy5lbnYgfSxcbiAgICAgIHJvbGU6IHRoaXMuaGFuZGxlclJvbGVcbiAgICB9KTtcblxuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gcmVhZCBEQiBzZWNyZXRcbiAgICBwcm9wcy5kYlNlY3JldC5ncmFudFJlYWQoaGFuZGxlcik7XG5cbiAgICAvLyBBbGxvdyBoYW5kbGVyIHRvIGNvbm5lY3QgdG8gREJcblxuICAgIGlmIChwcm9wcy5kYlZwYyl7XG4gICAgICBwcm9wcy5kYlNlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICAgIGhhbmRsZXIuY29ubmVjdGlvbnMuc2VjdXJpdHlHcm91cHNbMF0sXG4gICAgICAgIGVjMi5Qb3J0LnRjcCg1NDMyKSxcbiAgICAgICAgXCJBbGxvdyBjb25uZWN0aW9ucyBmcm9tIFNUQUMgSW5nZXN0b3JcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm9wcy50YWJsZS5ncmFudFJlYWRXcml0ZURhdGEoaGFuZGxlcik7XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRJbmdlc3Rvcihwcm9wczoge1xuICAgIHRhYmxlOiBkeW5hbW9kYi5JVGFibGU7XG4gICAgZW52OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGRiU2VjcmV0OiBzZWNyZXRzbWFuYWdlci5JU2VjcmV0O1xuICAgIGRiVnBjOiB1bmRlZmluZWQgfCBlYzIuSVZwYztcbiAgICBkYlNlY3VyaXR5R3JvdXA6IGVjMi5JU2VjdXJpdHlHcm91cDtcbiAgICBzdWJuZXRTZWxlY3Rpb246IHVuZGVmaW5lZCB8IGVjMi5TdWJuZXRTZWxlY3Rpb247XG4gICAgbGFtYmRhRnVuY3Rpb25PcHRpb25zPzogQ3VzdG9tTGFtYmRhRnVuY3Rpb25Qcm9wcztcbiAgfSk6IGxhbWJkYS5GdW5jdGlvbiB7XG5cbiAgICBcbiAgICBjb25zdCBoYW5kbGVyID0gbmV3IGxhbWJkYS5GdW5jdGlvbih0aGlzLCBcInN0YWMtaW5nZXN0b3JcIix7XG4gICAgICAvLyBkZWZhdWx0cyBmb3IgY29uZmlndXJhYmxlIHByb3BlcnRpZXNcbiAgICAgIHJ1bnRpbWU6IGxhbWJkYS5SdW50aW1lLlBZVEhPTl8zXzExLFxuICAgICAgaGFuZGxlcjogXCJzcmMuaW5nZXN0b3IuaGFuZGxlclwiLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGxvZ1JldGVudGlvbjogYXdzX2xvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfV0VFSyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLnNlY29uZHMoMTgwKSxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Eb2NrZXJCdWlsZChfX2Rpcm5hbWUsIHtcbiAgICAgICAgZmlsZTogXCJydW50aW1lL0RvY2tlcmZpbGVcIixcbiAgICAgICAgYnVpbGRBcmdzOiB7IFBZVEhPTl9WRVJTSU9OOiAnMy4xMScgfSxcbiAgICAgIH0pLFxuICAgICAgLy8gb3ZlcndyaXRlcyBkZWZhdWx0cyB3aXRoIHVzZXItcHJvdmlkZWQgY29uZmlndXJhYmxlIHByb3BlcnRpZXNcbiAgICAgIC4uLnByb3BzLmxhbWJkYUZ1bmN0aW9uT3B0aW9ucyxcblxuICAgICAgLy8gTm9uIGNvbmZpZ3VyYWJsZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIG92ZXJ3cml0dGVuIGV2ZW4gaWYgcHJvdmlkZWQgYnkgdGhlIHVzZXJcbiAgICAgIHZwYzogcHJvcHMuZGJWcGMsXG4gICAgICB2cGNTdWJuZXRzOiBwcm9wcy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBhbGxvd1B1YmxpY1N1Ym5ldDogdHJ1ZSxcbiAgICAgIGVudmlyb25tZW50OiB7IERCX1NFQ1JFVF9BUk46IHByb3BzLmRiU2VjcmV0LnNlY3JldEFybiwgLi4ucHJvcHMuZW52IH0sXG4gICAgICByb2xlOiB0aGlzLmhhbmRsZXJSb2xlXG4gICAgfSk7XG5cbiAgICAvLyBBbGxvdyBoYW5kbGVyIHRvIHJlYWQgREIgc2VjcmV0XG4gICAgcHJvcHMuZGJTZWNyZXQuZ3JhbnRSZWFkKGhhbmRsZXIpO1xuXG4gICAgLy8gQWxsb3cgaGFuZGxlciB0byBjb25uZWN0IHRvIERCXG4gICAgaWYgKHByb3BzLmRiVnBjKXtcbiAgICAgIHByb3BzLmRiU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgICAgaGFuZGxlci5jb25uZWN0aW9ucy5zZWN1cml0eUdyb3Vwc1swXSxcbiAgICAgICAgZWMyLlBvcnQudGNwKDU0MzIpLFxuICAgICAgICBcIkFsbG93IGNvbm5lY3Rpb25zIGZyb20gU1RBQyBJbmdlc3RvclwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGhhbmRsZXIgdG8gd3JpdGUgcmVzdWx0cyBiYWNrIHRvIERCxpJcbiAgICBwcm9wcy50YWJsZS5ncmFudFdyaXRlRGF0YShoYW5kbGVyKTtcblxuICAgIC8vIFRyaWdnZXIgaGFuZGxlciBmcm9tIHdyaXRlcyB0byBEeW5hbW9EQiB0YWJsZVxuICAgIGhhbmRsZXIuYWRkRXZlbnRTb3VyY2UoXG4gICAgICBuZXcgZXZlbnRzLkR5bmFtb0V2ZW50U291cmNlKHByb3BzLnRhYmxlLCB7XG4gICAgICAgIC8vIFJlYWQgd2hlbiBiYXRjaGVzIHJlYWNoIHNpemUuLi5cbiAgICAgICAgYmF0Y2hTaXplOiAxMDAwLFxuICAgICAgICAvLyAuLi4gb3Igd2hlbiB3aW5kb3cgaXMgcmVhY2hlZC5cbiAgICAgICAgbWF4QmF0Y2hpbmdXaW5kb3c6IER1cmF0aW9uLnNlY29uZHMoMTApLFxuICAgICAgICAvLyBSZWFkIG9sZGVzdCBkYXRhIGZpcnN0LlxuICAgICAgICBzdGFydGluZ1Bvc2l0aW9uOiBsYW1iZGEuU3RhcnRpbmdQb3NpdGlvbi5UUklNX0hPUklaT04sXG4gICAgICAgIHJldHJ5QXR0ZW1wdHM6IDEsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4gaGFuZGxlcjtcbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRBcGlFbmRwb2ludChwcm9wczoge1xuICAgIGhhbmRsZXI6IGxhbWJkYS5JRnVuY3Rpb247XG4gICAgc3RhZ2U6IHN0cmluZztcbiAgICBwb2xpY3k/OiBpYW0uUG9saWN5RG9jdW1lbnQ7XG4gICAgZW5kcG9pbnRDb25maWd1cmF0aW9uPzogYXBpZ2F0ZXdheS5FbmRwb2ludENvbmZpZ3VyYXRpb247XG4gICAgaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucz86IGFwaWdhdGV3YXkuRG9tYWluTmFtZU9wdGlvbnM7XG4gIH0pOiBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGkge1xuXG4gICAgcmV0dXJuIG5ldyBhcGlnYXRld2F5LkxhbWJkYVJlc3RBcGkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfS1pbmdlc3Rvci1hcGlgLFxuICAgICAge1xuICAgICAgICBoYW5kbGVyOiBwcm9wcy5oYW5kbGVyLFxuICAgICAgICBwcm94eTogdHJ1ZSxcblxuICAgICAgICBjbG91ZFdhdGNoUm9sZTogdHJ1ZSxcbiAgICAgICAgZGVwbG95T3B0aW9uczogeyBzdGFnZU5hbWU6IHByb3BzLnN0YWdlIH0sXG4gICAgICAgIGVuZHBvaW50RXhwb3J0TmFtZTogYCR7U3RhY2sub2YodGhpcyl9LWluZ2VzdG9yLWFwaWAsXG5cbiAgICAgICAgZW5kcG9pbnRDb25maWd1cmF0aW9uOiBwcm9wcy5lbmRwb2ludENvbmZpZ3VyYXRpb24sXG4gICAgICAgIHBvbGljeTogcHJvcHMucG9saWN5LFxuXG4gICAgICAgIGRvbWFpbk5hbWU6ICBwcm9wcy5pbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zID8ge1xuICAgICAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmluZ2VzdG9yRG9tYWluTmFtZU9wdGlvbnMuZG9tYWluTmFtZSxcbiAgICAgICAgICBjZXJ0aWZpY2F0ZTogcHJvcHMuaW5nZXN0b3JEb21haW5OYW1lT3B0aW9ucy5jZXJ0aWZpY2F0ZSxcbiAgICAgICAgfSA6IHVuZGVmaW5lZCxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSByZWdpc3RlclNzbVBhcmFtZXRlcihwcm9wczoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIH0pOiBzc20uSVN0cmluZ1BhcmFtZXRlciB7XG4gICAgY29uc3QgcGFyYW1ldGVyTmFtZXNwYWNlID0gU3RhY2sub2YodGhpcykuc3RhY2tOYW1lO1xuICAgIHJldHVybiBuZXcgc3NtLlN0cmluZ1BhcmFtZXRlcihcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5uYW1lLnJlcGxhY2UoXCJfXCIsIFwiLVwiKX0tcGFyYW1ldGVyYCxcbiAgICAgIHtcbiAgICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICBwYXJhbWV0ZXJOYW1lOiBgLyR7cGFyYW1ldGVyTmFtZXNwYWNlfS8ke3Byb3BzLm5hbWV9YCxcbiAgICAgICAgc3RyaW5nVmFsdWU6IHByb3BzLnZhbHVlLFxuICAgICAgfVxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGFjSW5nZXN0b3JQcm9wcyB7XG4gIC8qKlxuICAgKiBBUk4gb2YgQVdTIFJvbGUgdXNlZCB0byB2YWxpZGF0ZSBhY2Nlc3MgdG8gUzMgZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgZGF0YUFjY2Vzc1JvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVVJMIG9mIFNUQUMgQVBJXG4gICAqL1xuICByZWFkb25seSBzdGFjVXJsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFN0YWdlIG9mIGRlcGxveW1lbnQgKGUuZy4gYGRldmAsIGBwcm9kYClcbiAgICovXG4gIHJlYWRvbmx5IHN0YWdlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlY3JldCBjb250YWluaW5nIHBnU1RBQyBEQiBjb25uZWN0aW9uIGluZm9ybWF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdGFjRGJTZWNyZXQ6IHNlY3JldHNtYW5hZ2VyLklTZWNyZXQ7XG5cbiAgLyoqXG4gICAqIFZQQyBydW5uaW5nIHBnU1RBQyBEQlxuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IEdyb3VwIHVzZWQgYnkgcGdTVEFDIERCXG4gICAqL1xuICByZWFkb25seSBzdGFjRGJTZWN1cml0eUdyb3VwOiBlYzIuSVNlY3VyaXR5R3JvdXA7XG5cbiAgLyoqXG4gICAqIFN1Ym5ldCBpbnRvIHdoaWNoIHRoZSBsYW1iZGEgc2hvdWxkIGJlIGRlcGxveWVkIGlmIHVzaW5nIGEgVlBDXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYmUgc2VudCB0byBMYW1iZGEuXG4gICAqL1xuICByZWFkb25seSBhcGlFbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBBUEkgRW5kcG9pbnQgQ29uZmlndXJhdGlvbiwgdXNlZnVsIGZvciBjcmVhdGluZyBwcml2YXRlIEFQSXMuXG4gICAqL1xuICByZWFkb25seSBhcGlFbmRwb2ludENvbmZpZ3VyYXRpb24/OiBhcGlnYXRld2F5LkVuZHBvaW50Q29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogQVBJIFBvbGljeSBEb2N1bWVudCwgdXNlZnVsIGZvciBjcmVhdGluZyBwcml2YXRlIEFQSXMuXG4gICAqL1xuICByZWFkb25seSBhcGlQb2xpY3k/OiBpYW0uUG9saWN5RG9jdW1lbnQ7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBEb21haW4gTmFtZSBPcHRpb25zIGZvciBJbmdlc3RvciBBUElcbiAgICovXG4gICByZWFkb25seSBpbmdlc3RvckRvbWFpbk5hbWVPcHRpb25zPzogYXBpZ2F0ZXdheS5Eb21haW5OYW1lT3B0aW9ucztcblxuICAvKipcbiAgICAgKiBPcHRpb25hbCBzZXR0aW5ncyBmb3IgdGhlIGxhbWJkYSBmdW5jdGlvbi4gQ2FuIGJlIGFueXRoaW5nIHRoYXQgY2FuIGJlIGNvbmZpZ3VyZWQgb24gdGhlIGxhbWJkYSBmdW5jdGlvbiwgYnV0IHNvbWUgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSB2YWx1ZXMgZGVmaW5lZCBoZXJlLiBcbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IC0gZGVmYXVsdCBzZXR0aW5ncyBhcmUgZGVmaW5lZCBpbiB0aGUgY29uc3RydWN0LlxuICAgICAqL1xuICByZWFkb25seSBhcGlMYW1iZGFGdW5jdGlvbk9wdGlvbnM/OiBDdXN0b21MYW1iZGFGdW5jdGlvblByb3BzO1xuXG4gIC8qKlxuICAgICAqIE9wdGlvbmFsIHNldHRpbmdzIGZvciB0aGUgbGFtYmRhIGZ1bmN0aW9uLiBDYW4gYmUgYW55dGhpbmcgdGhhdCBjYW4gYmUgY29uZmlndXJlZCBvbiB0aGUgbGFtYmRhIGZ1bmN0aW9uLCBidXQgc29tZSB3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IHZhbHVlcyBkZWZpbmVkIGhlcmUuIFxuICAgICAqXG4gICAgICogQGRlZmF1bHQgLSBkZWZhdWx0IHNldHRpbmdzIGFyZSBkZWZpbmVkIGluIHRoZSBjb25zdHJ1Y3QuXG4gICAgICovXG5yZWFkb25seSBpbmdlc3RvckxhbWJkYUZ1bmN0aW9uT3B0aW9ucz86IEN1c3RvbUxhbWJkYUZ1bmN0aW9uUHJvcHM7XG4gIFxufSJdfQ==
@@ -0,0 +1,16 @@
1
+ ARG PYTHON_VERSION
2
+ FROM --platform=linux/amd64 public.ecr.aws/lambda/python:${PYTHON_VERSION}
3
+
4
+ WORKDIR /tmp
5
+
6
+ RUN yum install -y git
7
+
8
+ RUN python -m pip install pip -U
9
+
10
+ COPY runtime/requirements.txt requirements.txt
11
+ RUN python -m pip install -r requirements.txt "mangum>=0.14,<0.15" -t /asset --no-binary pydantic
12
+
13
+ RUN mkdir -p /asset/src
14
+ COPY runtime/src/*.py /asset/src/
15
+
16
+ CMD ["echo", "hello world"]